From 3326a55baa9af1a0ae8c9e90fba94e45060067b5 Mon Sep 17 00:00:00 2001 From: Patbox Date: Thu, 30 May 2024 12:31:15 +0200 Subject: [PATCH] Bug fix Co-authored-by: TheNikLev --- .github/workflows/build.yml | 2 +- .github/workflows/release.yml | 2 +- build.gradle | 21 ++++++++++++++++++- gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- .../legacy/LegacyEditorGuis.java | 10 ++++++++- .../util/ItemFrameInventory.java | 17 ++++++++++++++- 7 files changed, 49 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f2c5218..c76edee 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -28,7 +28,7 @@ jobs: if: ${{ runner.os != 'Windows' }} run: chmod +x ./gradlew - name: build - run: ./gradlew build + run: ./gradlew downloadTranslations build - name: capture build artifacts if: ${{ runner.os == 'Linux' && matrix.java == '17' }} # Only upload artifacts built from LTS java on one OS uses: actions/upload-artifact@v2 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1611bed..82cba68 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -30,7 +30,7 @@ jobs: run: chmod +x gradlew - name: Build and publish with Gradle - run: ./gradlew build publish + run: ./gradlew downloadTranslations build publish env: MAVEN_URL: ${{ secrets.MAVEN_URL }} MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} diff --git a/build.gradle b/build.gradle index eb3c260..5c5821b 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,17 @@ +buildscript { + dependencies { + classpath "de.guntram.mcmod:crowdin-translate:1.4+1.19.3" + } + repositories { + maven { + name = 'CrowdinTranslate source' + url = "https://minecraft.guntram.de/maven/" + } + } +} + plugins { - id 'fabric-loom' version '0.12-SNAPSHOT' + id 'fabric-loom' version '1.6.+' id 'maven-publish' id "com.modrinth.minotaur" version "2.+" id 'com.matthewprenger.cursegradle' version '1.4.0' @@ -12,6 +24,13 @@ archivesBaseName = project.archives_base_name version = project.mod_version + '+' + project.minecraft_version group = project.maven_group +apply plugin: 'de.guntram.mcmod.crowdin-translate' +crowdintranslate.crowdinProjectName = 'patbox-mods' +crowdintranslate.jsonSourceName = 'armor_stand_editor' +crowdintranslate.minecraftProjectName = '../data/armor_stand_editor' +crowdintranslate.verbose = false + + repositories { // Add repositories to retrieve artifacts from in here. // You should only use this when depending on other mods because diff --git a/gradle.properties b/gradle.properties index 2d397bb..2655e33 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ loader_version=0.14.19 fabric_version=0.83.0+1.20.1 # Mod Properties -mod_version = 2.1.2 +mod_version = 2.1.3 maven_group = eu.pb4 archives_base_name = armor-stand-editor diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e750102..48c0a02 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/java/eu/pb4/armorstandeditor/legacy/LegacyEditorGuis.java b/src/main/java/eu/pb4/armorstandeditor/legacy/LegacyEditorGuis.java index 019a6a7..286b67c 100644 --- a/src/main/java/eu/pb4/armorstandeditor/legacy/LegacyEditorGuis.java +++ b/src/main/java/eu/pb4/armorstandeditor/legacy/LegacyEditorGuis.java @@ -398,7 +398,15 @@ public void onClose() { public static void openItemFrameEditor(ServerPlayerEntity player, ItemFrameEntity entity) { ItemFrameEntityAccessor ifa = (ItemFrameEntityAccessor) entity; - SimpleGui gui = new SimpleGui(ScreenHandlerType.GENERIC_9X1, player, false); + SimpleGui gui = new SimpleGui(ScreenHandlerType.GENERIC_9X1, player, false) { + @Override + public void onTick() { + if (entity.isRemoved() || entity.getPos().squaredDistanceTo(player.getPos()) > 24 * 24) { + this.close(); + } + super.onTick(); + } + };; ItemFrameInventory inventory = new ItemFrameInventory(entity); diff --git a/src/main/java/eu/pb4/armorstandeditor/util/ItemFrameInventory.java b/src/main/java/eu/pb4/armorstandeditor/util/ItemFrameInventory.java index 2d0c344..477f1e1 100644 --- a/src/main/java/eu/pb4/armorstandeditor/util/ItemFrameInventory.java +++ b/src/main/java/eu/pb4/armorstandeditor/util/ItemFrameInventory.java @@ -18,7 +18,7 @@ public ItemFrameInventory(ItemFrameEntity entity) { @Override public int size() { - return 6; + return 1; } @Override @@ -32,11 +32,17 @@ public List getItems() { @Override public ItemStack getStack(int slot) { + if (this.entity.isRemoved()) { + return ItemStack.EMPTY; + } return entity.getHeldItemStack(); } @Override public ItemStack removeStack(int slot, int amount) { + if (this.entity.isRemoved()) { + return ItemStack.EMPTY; + } ItemStack result = Inventories.splitStack(this.getItems(), slot, amount); if (!result.isEmpty()) { markDirty(); @@ -46,11 +52,17 @@ public ItemStack removeStack(int slot, int amount) { @Override public ItemStack removeStack(int slot) { + if (this.entity.isRemoved()) { + return ItemStack.EMPTY; + } return Inventories.removeStack(this.getItems(), slot); } @Override public void setStack(int slot, ItemStack stack) { + if (this.entity.isRemoved()) { + return; + } this.entity.setHeldItemStack(stack); } @@ -66,6 +78,9 @@ public boolean canPlayerUse(PlayerEntity player) { @Override public void clear() { + if (this.entity.isRemoved()) { + return; + } this.entity.setHeldItemStack(ItemStack.EMPTY); } }