From e730507674c3ea84289823083047a0aa21770c60 Mon Sep 17 00:00:00 2001 From: ceze88 Date: Mon, 25 Mar 2024 13:41:14 +0100 Subject: [PATCH 1/3] Fix plugin not loading properly if spawner is removed while the plugin was disabled --- .../stackable/spawner/SpawnerStackImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/UltimateStacker-Plugin/src/main/java/com.craftaro.ultimatestacker/stackable/spawner/SpawnerStackImpl.java b/UltimateStacker-Plugin/src/main/java/com.craftaro.ultimatestacker/stackable/spawner/SpawnerStackImpl.java index f427d13..3b4a000 100644 --- a/UltimateStacker-Plugin/src/main/java/com.craftaro.ultimatestacker/stackable/spawner/SpawnerStackImpl.java +++ b/UltimateStacker-Plugin/src/main/java/com.craftaro.ultimatestacker/stackable/spawner/SpawnerStackImpl.java @@ -159,6 +159,9 @@ public class SpawnerStackImpl implements SpawnerStack { return null; } CreatureSpawner creatureSpawner = (CreatureSpawner) this.location.getBlock().getState(); + if (creatureSpawner.getSpawnedType() == null) { + return null; + } return Methods.compileSpawnerName(creatureSpawner.getSpawnedType(), this.amount); } From 8be8867e48a6dbdd04e8f5537ee1d0701cc0b561 Mon Sep 17 00:00:00 2001 From: Brianna O'Keefe Date: Fri, 29 Mar 2024 11:10:18 -0500 Subject: [PATCH 2/3] Can't use NamespacedKey on 1.13- --- .../stackable/entity/EntityStackManagerImpl.java | 14 ++++++-------- .../stackable/item/StackedItemManagerImpl.java | 2 -- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/UltimateStacker-Plugin/src/main/java/com.craftaro.ultimatestacker/stackable/entity/EntityStackManagerImpl.java b/UltimateStacker-Plugin/src/main/java/com.craftaro.ultimatestacker/stackable/entity/EntityStackManagerImpl.java index 0db4cd6..fc36a46 100644 --- a/UltimateStacker-Plugin/src/main/java/com.craftaro.ultimatestacker/stackable/entity/EntityStackManagerImpl.java +++ b/UltimateStacker-Plugin/src/main/java/com.craftaro.ultimatestacker/stackable/entity/EntityStackManagerImpl.java @@ -5,25 +5,23 @@ import com.craftaro.ultimatestacker.UltimateStacker; import com.craftaro.ultimatestacker.api.stack.entity.EntityStack; import com.craftaro.ultimatestacker.api.stack.entity.EntityStackManager; import org.bukkit.Bukkit; -import org.bukkit.NamespacedKey; import org.bukkit.entity.Entity; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.metadata.FixedMetadataValue; -import org.bukkit.persistence.PersistentDataContainer; import org.bukkit.persistence.PersistentDataType; -import uk.antiperson.stackmob.api.StackedEntity; import java.util.UUID; public class EntityStackManagerImpl implements EntityStackManager { private final UltimateStacker plugin; - private final NamespacedKey STACKED_ENTITY_KEY; + private Object STACKED_ENTITY_KEY; public EntityStackManagerImpl(UltimateStacker plugin) { this.plugin = plugin; - this.STACKED_ENTITY_KEY = new NamespacedKey(plugin, "US_AMOUNT"); + if (ServerVersion.isServerVersionAtLeast(ServerVersion.V1_14)) + this.STACKED_ENTITY_KEY = new org.bukkit.NamespacedKey(plugin, "US_AMOUNT"); } @Override @@ -39,7 +37,7 @@ public class EntityStackManagerImpl implements EntityStackManager { return true; } if (ServerVersion.isServerVersionAtLeast(ServerVersion.V1_14)) { - return entity.getPersistentDataContainer().has(STACKED_ENTITY_KEY, PersistentDataType.INTEGER); + return entity.getPersistentDataContainer().has((org.bukkit.NamespacedKey) STACKED_ENTITY_KEY, PersistentDataType.INTEGER); } return false; } @@ -88,7 +86,7 @@ public class EntityStackManagerImpl implements EntityStackManager { public EntityStack transferStack(LivingEntity oldEntity, LivingEntity newEntity, boolean takeOne) { EntityStack stack = getStackedEntity(oldEntity); if (stack == null) return null; - EntityStack newStack = new EntityStackImpl(newEntity, takeOne ? stack.getAmount()-1 : stack.getAmount()); + EntityStack newStack = new EntityStackImpl(newEntity, takeOne ? stack.getAmount() - 1 : stack.getAmount()); newStack.updateNameTag(); stack.destroy(); return newStack; @@ -98,7 +96,7 @@ public class EntityStackManagerImpl implements EntityStackManager { public EntityStack updateStack(LivingEntity oldEntity, LivingEntity newEntity) { EntityStack stack = getStackedEntity(oldEntity); if (stack == null) return null; - int amount = stack.getAmount()-1; + int amount = stack.getAmount() - 1; stack.destroy(); if (amount == 0 && newEntity != null) { newEntity.remove(); diff --git a/UltimateStacker-Plugin/src/main/java/com.craftaro.ultimatestacker/stackable/item/StackedItemManagerImpl.java b/UltimateStacker-Plugin/src/main/java/com.craftaro.ultimatestacker/stackable/item/StackedItemManagerImpl.java index ae9365e..5cce068 100644 --- a/UltimateStacker-Plugin/src/main/java/com.craftaro.ultimatestacker/stackable/item/StackedItemManagerImpl.java +++ b/UltimateStacker-Plugin/src/main/java/com.craftaro.ultimatestacker/stackable/item/StackedItemManagerImpl.java @@ -1,6 +1,5 @@ package com.craftaro.ultimatestacker.stackable.item; -import com.craftaro.core.compatibility.ServerVersion; import com.craftaro.ultimatestacker.UltimateStacker; import com.craftaro.ultimatestacker.api.events.entity.StackedItemSpawnEvent; import com.craftaro.ultimatestacker.api.stack.item.ItemMergeCallback; @@ -18,7 +17,6 @@ import org.jetbrains.annotations.Nullable; import java.util.List; import java.util.concurrent.Future; -import java.util.concurrent.atomic.AtomicReference; public class StackedItemManagerImpl implements StackedItemManager { From c747cdab2f285d4cca25240c9d7d0a87da1feb96 Mon Sep 17 00:00:00 2001 From: Brianna O'Keefe Date: Fri, 29 Mar 2024 11:10:48 -0500 Subject: [PATCH 3/3] version 3.1.6 --- UltimateStacker-API/pom.xml | 2 +- UltimateStacker-Plugin/pom.xml | 2 +- pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/UltimateStacker-API/pom.xml b/UltimateStacker-API/pom.xml index f4e6e5b..1c2e7b2 100644 --- a/UltimateStacker-API/pom.xml +++ b/UltimateStacker-API/pom.xml @@ -7,7 +7,7 @@ com.craftaro UltimateStacker-Parent - 3.1.5 + 3.1.6 UltimateStacker-API 1.0.0-SNAPSHOT diff --git a/UltimateStacker-Plugin/pom.xml b/UltimateStacker-Plugin/pom.xml index 9e7997f..9e881e4 100644 --- a/UltimateStacker-Plugin/pom.xml +++ b/UltimateStacker-Plugin/pom.xml @@ -7,7 +7,7 @@ com.craftaro UltimateStacker-Parent - 3.1.5 + 3.1.6 UltimateStacker-Plugin diff --git a/pom.xml b/pom.xml index 92b56b4..e8ba77e 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ com.craftaro UltimateStacker-Parent pom - 3.1.5 + 3.1.6 UltimateStacker-API