From b86a47f3846436c794efcc94a17e83fe583f6d2e Mon Sep 17 00:00:00 2001 From: Jikoo Date: Wed, 25 Nov 2020 14:49:49 -0500 Subject: [PATCH 1/6] Initial CI action --- .github/workflows/ci.yml | 93 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..3dca2ce --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,93 @@ +name: OpenInv CI + +on: + push: + create: + types: [tag] + pull_request_target: + +jobs: + build: + runs-on: ubuntu-latest + strategy: + fail-fast: true + steps: + - name: Checkout Code + uses: actions/checkout@v2 + + - name: Set Up Java + uses: actions/setup-java@v1 + with: + java-version: 1.8 + + # Use cache to speed up build + - name: Cache Maven Repo + uses: actions/cache@v2 + id: cache + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + + # If the cache was not present, run BuildTools to install the relevant versions to Maven. + # This will take approximately forever. + - name: Install Spigot Dependencies + if: steps.cache.outputs.cache-hit != 'true' + run: | + mkdir ~/buildtools + cd ~/buildtools + wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar + java -jar BuildTools.jar --rev 1.8.8 + java -jar BuildTools.jar --rev 1.15.2 + java -jar BuildTools.jar --rev 1.16.3 + java -jar BuildTools.jar --rev 1.16.4 + + - name: Build With Maven + run: mvn -e clean package -am -P all + + # Upload artifacts + - name: Upload Distributable Jar + id: upload-final + uses: actions/upload-artifact@v2 + with: + name: dist + path: ./target/OpenInv.jar + - name: Upload API Jar + id: upload-api + uses: actions/upload-artifact@v2 + with: + name: api + path: ./api/target/openinvapi*.jar + + release: + name: Create Github Release + needs: [ build ] + if: github.event_name == 'create' && github.event.ref_type == 'tag' + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@v2 + + - name: Download Artifacts + uses: actions/download-artifact@v2 + + - name: Create Release + id: create-release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.ref }} + release_name: Release ${{ github.ref }} + draft: true + prerelease: false + + - name: Upload Release Asset + id: upload-release-asset + uses: actions/upload-release-asset@v1.0.2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create-release.outputs.upload_url }} + asset_path: ./target/OpenInv.jar + asset_name: OpenInv.jar + asset_content_type: application/java-archive \ No newline at end of file -- 2.49.1 From 1246556878df9223d86f3ec67b6f34dff5deb5f6 Mon Sep 17 00:00:00 2001 From: Jikoo Date: Wed, 25 Nov 2020 14:51:23 -0500 Subject: [PATCH 2/6] Fix indentation --- .github/workflows/ci.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3dca2ce..31ad894 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,15 +48,15 @@ jobs: - name: Upload Distributable Jar id: upload-final uses: actions/upload-artifact@v2 - with: - name: dist - path: ./target/OpenInv.jar + with: + name: dist + path: ./target/OpenInv.jar - name: Upload API Jar id: upload-api uses: actions/upload-artifact@v2 - with: - name: api - path: ./api/target/openinvapi*.jar + with: + name: api + path: ./api/target/openinvapi*.jar release: name: Create Github Release -- 2.49.1 From 2b3f26536c435b6351ce45b9a7dc67e4821ce29d Mon Sep 17 00:00:00 2001 From: Jikoo Date: Wed, 25 Nov 2020 15:05:18 -0500 Subject: [PATCH 3/6] Ever wait 11 minutes for a build And then it fails because you didn't check version numbers first? --- internal/v1_15_R1/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/v1_15_R1/pom.xml b/internal/v1_15_R1/pom.xml index eddab53..2000c76 100644 --- a/internal/v1_15_R1/pom.xml +++ b/internal/v1_15_R1/pom.xml @@ -32,7 +32,7 @@ org.spigotmc spigot - 1.15.1-R0.1-SNAPSHOT + 1.15.2-R0.1-SNAPSHOT provided -- 2.49.1 From def7e1806068afacfefb4d187d606f6e337722ee Mon Sep 17 00:00:00 2001 From: Jikoo Date: Wed, 25 Nov 2020 15:24:39 -0500 Subject: [PATCH 4/6] Fix 1.15 adapter for 1.15.2 --- .../internal/v1_15_R1/SpecialEnderChest.java | 5 +++-- .../v1_15_R1/SpecialPlayerInventory.java | 20 +++++++++---------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/internal/v1_15_R1/src/main/java/com/lishid/openinv/internal/v1_15_R1/SpecialEnderChest.java b/internal/v1_15_R1/src/main/java/com/lishid/openinv/internal/v1_15_R1/SpecialEnderChest.java index 52a5546..de70b04 100644 --- a/internal/v1_15_R1/src/main/java/com/lishid/openinv/internal/v1_15_R1/SpecialEnderChest.java +++ b/internal/v1_15_R1/src/main/java/com/lishid/openinv/internal/v1_15_R1/SpecialEnderChest.java @@ -33,6 +33,7 @@ import org.bukkit.entity.HumanEntity; import org.bukkit.entity.Player; import org.bukkit.inventory.InventoryHolder; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public class SpecialEnderChest extends InventoryEnderChest implements ISpecialEnderChest { @@ -115,7 +116,7 @@ public class SpecialEnderChest extends InventoryEnderChest implements ISpecialEn } @Override - public Location getLocation() { + public @Nullable Location getLocation() { return null; } @@ -204,7 +205,7 @@ public class SpecialEnderChest extends InventoryEnderChest implements ISpecialEn } @Override - public boolean isNotEmpty() { + public boolean isEmpty() { for (ItemStack itemstack : this.items) { if (!itemstack.isEmpty()) { diff --git a/internal/v1_15_R1/src/main/java/com/lishid/openinv/internal/v1_15_R1/SpecialPlayerInventory.java b/internal/v1_15_R1/src/main/java/com/lishid/openinv/internal/v1_15_R1/SpecialPlayerInventory.java index 19d2de6..ff59d3c 100644 --- a/internal/v1_15_R1/src/main/java/com/lishid/openinv/internal/v1_15_R1/SpecialPlayerInventory.java +++ b/internal/v1_15_R1/src/main/java/com/lishid/openinv/internal/v1_15_R1/SpecialPlayerInventory.java @@ -326,7 +326,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP } if (!this.a(itemstack, itemstack1)) { - remains -= (itemstack1.getMaxStackSize() < this.getMaxStackSize() ? itemstack1.getMaxStackSize() : this.getMaxStackSize()) - itemstack1.getCount(); + remains -= Math.min(itemstack1.getMaxStackSize(), this.getMaxStackSize()) - itemstack1.getCount(); } if (remains <= 0) { @@ -461,14 +461,12 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP k = this.getMaxStackSize() - itemstack1.getCount(); } - if (k == 0) { - return j; - } else { + if (k != 0) { j -= k; itemstack1.add(k); itemstack1.d(5); - return j; } + return j; } @Override @@ -656,12 +654,12 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP } @Override - public boolean isNotEmpty() { - Iterator iterator = this.items.iterator(); + public boolean isEmpty() { + Iterator iterator = this.items.iterator(); ItemStack itemstack; while (iterator.hasNext()) { - itemstack = (ItemStack)iterator.next(); + itemstack = iterator.next(); if (!itemstack.isEmpty()) { return false; } @@ -670,7 +668,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP iterator = this.armor.iterator(); while (iterator.hasNext()) { - itemstack = (ItemStack)iterator.next(); + itemstack = iterator.next(); if (!itemstack.isEmpty()) { return false; } @@ -679,7 +677,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP iterator = this.extraSlots.iterator(); while (iterator.hasNext()) { - itemstack = (ItemStack)iterator.next(); + itemstack = iterator.next(); if (!itemstack.isEmpty()) { return false; } @@ -711,7 +709,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP ItemStack itemstack = this.armor.get(0); int index = i; if (itemstack.getItem() instanceof ItemArmor) { - itemstack.damage((int) f, this.player, (entityhuman) -> entityhuman.c(EnumItemSlot.a(EnumItemSlot.Function.ARMOR, index))); + itemstack.damage((int) f, this.player, (entityhuman) -> entityhuman.broadcastItemBreak(EnumItemSlot.a(EnumItemSlot.Function.ARMOR, index))); } } } -- 2.49.1 From 502f661be39ee85d300851dd571f3da226f12345 Mon Sep 17 00:00:00 2001 From: Jikoo Date: Wed, 25 Nov 2020 15:24:39 -0500 Subject: [PATCH 5/6] fix: Update 1.15 adapter to 1.15.2 --- internal/v1_15_R1/pom.xml | 2 +- .../internal/v1_15_R1/SpecialEnderChest.java | 5 +++-- .../v1_15_R1/SpecialPlayerInventory.java | 20 +++++++++---------- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/internal/v1_15_R1/pom.xml b/internal/v1_15_R1/pom.xml index eddab53..2000c76 100644 --- a/internal/v1_15_R1/pom.xml +++ b/internal/v1_15_R1/pom.xml @@ -32,7 +32,7 @@ org.spigotmc spigot - 1.15.1-R0.1-SNAPSHOT + 1.15.2-R0.1-SNAPSHOT provided diff --git a/internal/v1_15_R1/src/main/java/com/lishid/openinv/internal/v1_15_R1/SpecialEnderChest.java b/internal/v1_15_R1/src/main/java/com/lishid/openinv/internal/v1_15_R1/SpecialEnderChest.java index 52a5546..de70b04 100644 --- a/internal/v1_15_R1/src/main/java/com/lishid/openinv/internal/v1_15_R1/SpecialEnderChest.java +++ b/internal/v1_15_R1/src/main/java/com/lishid/openinv/internal/v1_15_R1/SpecialEnderChest.java @@ -33,6 +33,7 @@ import org.bukkit.entity.HumanEntity; import org.bukkit.entity.Player; import org.bukkit.inventory.InventoryHolder; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public class SpecialEnderChest extends InventoryEnderChest implements ISpecialEnderChest { @@ -115,7 +116,7 @@ public class SpecialEnderChest extends InventoryEnderChest implements ISpecialEn } @Override - public Location getLocation() { + public @Nullable Location getLocation() { return null; } @@ -204,7 +205,7 @@ public class SpecialEnderChest extends InventoryEnderChest implements ISpecialEn } @Override - public boolean isNotEmpty() { + public boolean isEmpty() { for (ItemStack itemstack : this.items) { if (!itemstack.isEmpty()) { diff --git a/internal/v1_15_R1/src/main/java/com/lishid/openinv/internal/v1_15_R1/SpecialPlayerInventory.java b/internal/v1_15_R1/src/main/java/com/lishid/openinv/internal/v1_15_R1/SpecialPlayerInventory.java index 19d2de6..ff59d3c 100644 --- a/internal/v1_15_R1/src/main/java/com/lishid/openinv/internal/v1_15_R1/SpecialPlayerInventory.java +++ b/internal/v1_15_R1/src/main/java/com/lishid/openinv/internal/v1_15_R1/SpecialPlayerInventory.java @@ -326,7 +326,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP } if (!this.a(itemstack, itemstack1)) { - remains -= (itemstack1.getMaxStackSize() < this.getMaxStackSize() ? itemstack1.getMaxStackSize() : this.getMaxStackSize()) - itemstack1.getCount(); + remains -= Math.min(itemstack1.getMaxStackSize(), this.getMaxStackSize()) - itemstack1.getCount(); } if (remains <= 0) { @@ -461,14 +461,12 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP k = this.getMaxStackSize() - itemstack1.getCount(); } - if (k == 0) { - return j; - } else { + if (k != 0) { j -= k; itemstack1.add(k); itemstack1.d(5); - return j; } + return j; } @Override @@ -656,12 +654,12 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP } @Override - public boolean isNotEmpty() { - Iterator iterator = this.items.iterator(); + public boolean isEmpty() { + Iterator iterator = this.items.iterator(); ItemStack itemstack; while (iterator.hasNext()) { - itemstack = (ItemStack)iterator.next(); + itemstack = iterator.next(); if (!itemstack.isEmpty()) { return false; } @@ -670,7 +668,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP iterator = this.armor.iterator(); while (iterator.hasNext()) { - itemstack = (ItemStack)iterator.next(); + itemstack = iterator.next(); if (!itemstack.isEmpty()) { return false; } @@ -679,7 +677,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP iterator = this.extraSlots.iterator(); while (iterator.hasNext()) { - itemstack = (ItemStack)iterator.next(); + itemstack = iterator.next(); if (!itemstack.isEmpty()) { return false; } @@ -711,7 +709,7 @@ public class SpecialPlayerInventory extends PlayerInventory implements ISpecialP ItemStack itemstack = this.armor.get(0); int index = i; if (itemstack.getItem() instanceof ItemArmor) { - itemstack.damage((int) f, this.player, (entityhuman) -> entityhuman.c(EnumItemSlot.a(EnumItemSlot.Function.ARMOR, index))); + itemstack.damage((int) f, this.player, (entityhuman) -> entityhuman.broadcastItemBreak(EnumItemSlot.a(EnumItemSlot.Function.ARMOR, index))); } } } -- 2.49.1 From ceb1381613a29532cae9a374c2ad2fec7fd3b40f Mon Sep 17 00:00:00 2001 From: Jikoo Date: Thu, 26 Nov 2020 10:34:20 -0500 Subject: [PATCH 6/6] fix: Upload doesn't preserve paths for single files --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 31ad894..6489274 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -88,6 +88,6 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create-release.outputs.upload_url }} - asset_path: ./target/OpenInv.jar + asset_path: ./OpenInv.jar asset_name: OpenInv.jar asset_content_type: application/java-archive \ No newline at end of file -- 2.49.1