diff options
-rw-r--r-- | .github/workflows/beta.yml | 4 | ||||
-rw-r--r-- | .github/workflows/webhook_translate.yml | 1 | ||||
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java | 11 | ||||
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java | 13 |
4 files changed, 24 insertions, 5 deletions
diff --git a/.github/workflows/beta.yml b/.github/workflows/beta.yml index 3dac97b4..cbb98c36 100644 --- a/.github/workflows/beta.yml +++ b/.github/workflows/beta.yml @@ -4,6 +4,8 @@ on: push: branches: - master + paths-ignore: + - 'src/main/resources/assets/skyblocker/lang/**' pull_request: @@ -60,4 +62,4 @@ jobs: - uses: actions/upload-artifact@v3 with: name: ${{ steps.fname.outputs.result }} - path: build/libs/
\ No newline at end of file + path: build/libs/ diff --git a/.github/workflows/webhook_translate.yml b/.github/workflows/webhook_translate.yml index 00534eef..146cc704 100644 --- a/.github/workflows/webhook_translate.yml +++ b/.github/workflows/webhook_translate.yml @@ -35,6 +35,7 @@ jobs: run: | OUTPUT=$(go run github.com/josephburnett/jd@latest <(git show HEAD^:src/main/resources/assets/skyblocker/lang/en_us.json) <(git show HEAD:src/main/resources/assets/skyblocker/lang/en_us.json) || true) OUTPUT=$(echo "$OUTPUT" | sed 's/"/\\"/g') + OUTPUT=$(echo "$OUTPUT" | sed 's/\\n/\\\\n/g') OUTPUT="\`\`\`diff $OUTPUT \`\`\`" diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java index d420d54f..9808cfc7 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java @@ -5,6 +5,7 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import me.xmrvizzy.skyblocker.utils.NEURepo; +import net.minecraft.item.FireworkRocketItem; import net.minecraft.item.ItemStack; import net.minecraft.nbt.*; import net.minecraft.text.Text; @@ -89,6 +90,16 @@ public class ItemStackBuilder { enchantments.add(new NbtCompound()); tag.put("Enchantments", enchantments); } + + // Add firework star color + Matcher explosionColorMatcher = Pattern.compile("\\{Explosion:\\{(?:Type:[0-9a-z]+,)?Colors:\\[(?<color>[0-9]+)\\]\\}").matcher(nbttag); + if (explosionColorMatcher.find()) { + NbtCompound explosion = new NbtCompound(); + + explosion.putInt("Type", FireworkRocketItem.Type.SMALL_BALL.getId()); //Forget about the actual ball type because it probably doesn't matter + explosion.putIntArray("Colors", new int[] { Integer.parseInt(explosionColorMatcher.group("color")) }); + tag.put("Explosion", explosion); + } return ItemStack.fromNbt(root); } diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java index 149004c4..755e191d 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java @@ -49,7 +49,7 @@ public class Utils { private static String map = ""; private static long clientWorldJoinTime = 0; private static boolean sentLocRaw = false; - private static long lastLocRaw = 0; + private static boolean canSendLocRaw = false; public static boolean isOnHypixel() { return isOnHypixel; @@ -293,10 +293,10 @@ public class Utils { private static void updateLocRaw() { if (isOnSkyblock) { long currentTime = System.currentTimeMillis(); - if (!sentLocRaw && currentTime > clientWorldJoinTime + 1000 && currentTime > lastLocRaw + 15000) { + if (!sentLocRaw && canSendLocRaw && currentTime > clientWorldJoinTime + 1000) { MessageScheduler.INSTANCE.sendMessageAfterCooldown("/locraw"); sentLocRaw = true; - lastLocRaw = currentTime; + canSendLocRaw = false; } } else { resetLocRawInfo(); @@ -323,7 +323,11 @@ public class Utils { if (locRaw.has("map")) { map = locRaw.get("map").getAsString(); } - return !sentLocRaw; + + boolean shouldFilter = !sentLocRaw; + sentLocRaw = false; + + return shouldFilter; } } return true; @@ -331,6 +335,7 @@ public class Utils { private static void resetLocRawInfo() { sentLocRaw = false; + canSendLocRaw = true; server = ""; gameType = ""; locationRaw = ""; |