Skip to content

Commit d02f2f7

Browse files
authored
Merge pull request #69 from ghost-xx/n
fix 饲料槽已满
2 parents 41be07b + 0d7feb5 commit d02f2f7

4 files changed

Lines changed: 61 additions & 30 deletions

File tree

.github/workflows/android.yml

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -103,16 +103,23 @@ jobs:
103103
sha256sum ${{ steps.extract_apks.outputs.signed_normal }} > CHECKSUMS-Sesame-Normal-${{ steps.extract_info.outputs.version }}.${{ env.SHORT_SHA }}-signed.apk.sha256
104104
sha256sum ${{ steps.extract_apks.outputs.signed_compatible }} > CHECKSUMS-Sesame-Compatible-${{ steps.extract_info.outputs.version }}.${{ env.SHORT_SHA }}-signed.apk.sha256
105105
106-
- name: 根据版本创建标签
107-
if: startsWith(github.ref, 'refs/heads/main') && github.event_name == 'push'
106+
- name: 根据版本创建标签(仅当未存在时)
107+
env:
108+
VERSION_TAG: "v${{ steps.extract_info.outputs.version }}"
108109
run: |
109-
VERSION_TAG="v${{ steps.extract_info.outputs.version }}"
110-
echo "创建标签: $VERSION_TAG"
111-
git tag "$VERSION_TAG"
112-
git push origin "$VERSION_TAG"
110+
echo "尝试创建标签: $VERSION_TAG"
111+
# 检查远程是否已有该 tag,避免冲突
112+
if git ls-remote --tags origin "$VERSION_TAG" | grep -q "$VERSION_TAG"; then
113+
echo "Tag $VERSION_TAG 已存在,跳过创建。"
114+
else
115+
git config --global user.name "github-actions[bot]"
116+
git config --global user.email "github-actions[bot]@users.noreply.github.com"
117+
git tag "$VERSION_TAG"
118+
git push origin "$VERSION_TAG"
119+
echo "✅ 标签 $VERSION_TAG 创建成功!"
120+
fi
113121
114122
- name: 发布到频道
115-
if: github.ref == 'refs/heads/main'
116123
env:
117124
CHANNEL_ID: ${{ secrets.TG_CHAT_ID }}
118125
BOT_TOKEN: ${{ secrets.TG_BOT_TOKEN }}
@@ -130,6 +137,7 @@ jobs:
130137
-F "normal.apk=@${NORMAL_FILE}" \
131138
-F "compatible.apk=@${COMPATIBLE_FILE}"
132139
140+
133141
- name: 上传资源到源代码发布
134142
uses: softprops/action-gh-release@v2
135143
with:

app/src/main/java/fansirsqi/xposed/sesame/task/antFarm/AntFarm.java

Lines changed: 36 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ public class AntFarm extends ModelTask {
7272
/**
7373
* 小鸡饲料g
7474
*/
75-
private int foodStock;
76-
private int foodStockLimit;
75+
public static int foodStock;
76+
public static int foodStockLimit;
7777
private String rewardProductNum;
7878
private RewardFriend[] rewardList;
7979
/**
@@ -1467,10 +1467,6 @@ private void receiveFarmAwards() {
14671467

14681468
for (int i = 0; i < farmTaskList.length(); i++) {
14691469
// 如果饲料槽已满,跳过后续任务的领取
1470-
if (isFeedFull) {
1471-
break;
1472-
}
1473-
14741470
JSONObject task = farmTaskList.getJSONObject(i);
14751471
String taskStatus = task.getString("taskStatus");
14761472
String taskTitle = task.optString("title", "未知任务");
@@ -1482,26 +1478,16 @@ private void receiveFarmAwards() {
14821478
if (awardCount + foodStock > foodStockLimit) {
14831479
unreceiveTaskAward++;
14841480
Log.record(TAG, taskTitle + "领取" + awardCount + "g饲料后将超过[" + foodStockLimit + "g]上限!终止领取");
1481+
isFeedFull = true;
14851482
break;
14861483
}
14871484
}
1488-
14891485
JSONObject receiveTaskAwardjo = new JSONObject(AntFarmRpcCall.receiveFarmTaskAward(taskId));
1490-
14911486
if (ResChecker.checkRes(TAG + "领取庄园任务奖励失败:", receiveTaskAwardjo)) {
14921487
add2FoodStock(awardCount);
14931488
Log.farm("庄园奖励[" + taskTitle + "]#" + awardCount + "g");
14941489
doubleCheck = true;
14951490
if (unreceiveTaskAward > 0) unreceiveTaskAward--;
1496-
} else {
1497-
// 检查是否是饲料槽已满的错误
1498-
String resultCode = receiveTaskAwardjo.optString("resultCode", "");
1499-
String memo = receiveTaskAwardjo.optString("memo", "");
1500-
if ("331".equals(resultCode)) {
1501-
isFeedFull = true;
1502-
Log.record(TAG, "检测到饲料槽已满,停止领取任务奖励: " + memo);
1503-
break;
1504-
}
15051491
}
15061492
}
15071493
GlobalThreadPools.sleepCompat(1000);
@@ -2736,11 +2722,40 @@ public enum SubAnimalType {
27362722
WORK // 工作:小鸡被雇佣去工作
27372723
}
27382724

2725+
/**
2726+
* 道具类型枚举
2727+
* STEALTOOL:蹭饭卡
2728+
* ACCELERATETOOL:加速卡
2729+
* SHARETOOL:救济卡
2730+
* FENCETOOL:篱笆卡
2731+
* NEWEGGTOOL:新蛋卡
2732+
* DOLLTOOL:公仔补签卡
2733+
* ORDINARY_ORNAMENT_TOOL:普通装扮补签卡
2734+
* ADVANCE_ORNAMENT_TOOL:高级装扮补签卡
2735+
* BIG_EATER_TOOL:加饭卡
2736+
* RARE_ORNAMENT_TOOL:稀有装扮补签卡
2737+
*/
27392738
public enum ToolType {
2740-
STEALTOOL, ACCELERATETOOL, SHARETOOL, FENCETOOL, NEWEGGTOOL, DOLLTOOL, ORDINARY_ORNAMENT_TOOL, ADVANCE_ORNAMENT_TOOL, BIG_EATER_TOOL,RARE_ORNAMENT_TOOL;
2741-
2742-
public static final CharSequence[] nickNames = {"蹭饭卡", "加速卡", "救济卡", "篱笆卡", "新蛋卡", "公仔补签卡", "普通装扮补签卡", "高级装扮补签卡", "加饭卡", "稀有装扮补签卡"};
2743-
2739+
STEALTOOL, // 蹭饭卡
2740+
ACCELERATETOOL, // 加速卡
2741+
SHARETOOL, // 救济卡
2742+
FENCETOOL, // 篱笆卡
2743+
NEWEGGTOOL, // 新蛋卡
2744+
DOLLTOOL, // 公仔补签卡
2745+
ORDINARY_ORNAMENT_TOOL, // 普通装扮补签卡
2746+
ADVANCE_ORNAMENT_TOOL, // 高级装扮补签卡
2747+
BIG_EATER_TOOL, // 加饭卡
2748+
RARE_ORNAMENT_TOOL; // 稀有装扮补签卡
2749+
2750+
// 道具类型对应的中文名称
2751+
public static final CharSequence[] nickNames = {
2752+
"蹭饭卡", "加速卡", "救济卡", "篱笆卡", "新蛋卡", "公仔补签卡", "普通装扮补签卡", "高级装扮补签卡", "加饭卡", "稀有装扮补签卡"
2753+
};
2754+
2755+
/**
2756+
* 获取道具类型的中文名称
2757+
* @return 对应的中文名称
2758+
*/
27442759
public CharSequence nickName() {
27452760
return nickNames[ordinal()];
27462761
}

app/src/main/java/fansirsqi/xposed/sesame/task/antFarm/ChouChouLe.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ private static class TaskInfo {
2626
String innerAction;
2727
int rightsTimes;
2828
int rightsTimesLimit;
29+
String awardType;
30+
int awardCount;
2931

3032
int getRemainingTimes() {
3133
return Math.max(0, rightsTimesLimit - rightsTimes);
@@ -78,6 +80,10 @@ private void doChouchoule(String drawType) {
7880
List<TaskInfo> tasks = parseTasks(farmTaskList);
7981
for (TaskInfo task : tasks) {
8082
if (TaskStatus.FINISHED.name().equals(task.taskStatus)) {
83+
if (task.awardType.equals("ALLPURPOSE") && task.awardCount + AntFarm.foodStock > AntFarm.foodStockLimit) {
84+
Log.record(TAG, "抽抽乐任务[" + task.title + "]的奖励领取后会使饲料超出上限,暂不领取");
85+
continue;
86+
}
8187
if (receiveTaskAward(drawType, task.taskId)) {//领取奖励
8288
GlobalThreadPools.sleepCompat(5 * 1000L);
8389
doubleCheck = true;
@@ -113,6 +119,8 @@ private List<TaskInfo> parseTasks(JSONArray array) throws Exception {
113119
info.innerAction = item.optString("innerAction");
114120
info.rightsTimes = item.optInt("rightsTimes", 0);
115121
info.rightsTimesLimit = item.optInt("rightsTimesLimit", 0);
122+
info.awardType = item.optString("awardType");
123+
info.awardCount = item.optInt("awardCount", 0);
116124
list.add(info);
117125
}
118126
return list;
@@ -125,7 +133,7 @@ private Boolean doChouTask(String drawType, TaskInfo task) {
125133
if (ResChecker.checkRes(TAG, jo)) {
126134
Log.farm((drawType.equals("ipDraw") ? "IP抽抽乐" : "抽抽乐") + "🧾️[任务: " + task.title + "]");
127135
if(task.title.equals("消耗饲料换机会")) {
128-
GlobalThreadPools.sleepCompat(1 * 1000L);
136+
GlobalThreadPools.sleepCompat(1000L);
129137
} else {
130138
GlobalThreadPools.sleepCompat(5 * 1000L);
131139
}

app/src/main/java/fansirsqi/xposed/sesame/task/antMember/AntMember.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,7 @@ private void doAllAvailableSesameTask() {
341341
return;
342342
}
343343

344-
Log.record(TAG, "芝麻信用💳[查询任务响应]#" + s);
344+
// Log.record(TAG, "芝麻信用💳[查询任务响应]#" + s);
345345

346346
JSONObject taskObj = jo.getJSONObject("data");
347347
int totalTasks = 0;

0 commit comments

Comments
 (0)