Merge branch 'development'

This commit is contained in:
Brianna O'Keefe 2024-03-29 11:10:55 -05:00
commit 36ff6aa10f
6 changed files with 12 additions and 13 deletions

View File

@ -7,7 +7,7 @@
<parent> <parent>
<groupId>com.craftaro</groupId> <groupId>com.craftaro</groupId>
<artifactId>UltimateStacker-Parent</artifactId> <artifactId>UltimateStacker-Parent</artifactId>
<version>3.1.5</version> <version>3.1.6</version>
</parent> </parent>
<artifactId>UltimateStacker-API</artifactId> <artifactId>UltimateStacker-API</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>1.0.0-SNAPSHOT</version>

View File

@ -7,7 +7,7 @@
<parent> <parent>
<groupId>com.craftaro</groupId> <groupId>com.craftaro</groupId>
<artifactId>UltimateStacker-Parent</artifactId> <artifactId>UltimateStacker-Parent</artifactId>
<version>3.1.5</version> <version>3.1.6</version>
</parent> </parent>
<artifactId>UltimateStacker-Plugin</artifactId> <artifactId>UltimateStacker-Plugin</artifactId>

View File

@ -5,25 +5,23 @@ import com.craftaro.ultimatestacker.UltimateStacker;
import com.craftaro.ultimatestacker.api.stack.entity.EntityStack; import com.craftaro.ultimatestacker.api.stack.entity.EntityStack;
import com.craftaro.ultimatestacker.api.stack.entity.EntityStackManager; import com.craftaro.ultimatestacker.api.stack.entity.EntityStackManager;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.NamespacedKey;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.metadata.FixedMetadataValue; import org.bukkit.metadata.FixedMetadataValue;
import org.bukkit.persistence.PersistentDataContainer;
import org.bukkit.persistence.PersistentDataType; import org.bukkit.persistence.PersistentDataType;
import uk.antiperson.stackmob.api.StackedEntity;
import java.util.UUID; import java.util.UUID;
public class EntityStackManagerImpl implements EntityStackManager { public class EntityStackManagerImpl implements EntityStackManager {
private final UltimateStacker plugin; private final UltimateStacker plugin;
private final NamespacedKey STACKED_ENTITY_KEY; private Object STACKED_ENTITY_KEY;
public EntityStackManagerImpl(UltimateStacker plugin) { public EntityStackManagerImpl(UltimateStacker plugin) {
this.plugin = 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 @Override
@ -39,7 +37,7 @@ public class EntityStackManagerImpl implements EntityStackManager {
return true; return true;
} }
if (ServerVersion.isServerVersionAtLeast(ServerVersion.V1_14)) { 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; return false;
} }
@ -88,7 +86,7 @@ public class EntityStackManagerImpl implements EntityStackManager {
public EntityStack transferStack(LivingEntity oldEntity, LivingEntity newEntity, boolean takeOne) { public EntityStack transferStack(LivingEntity oldEntity, LivingEntity newEntity, boolean takeOne) {
EntityStack stack = getStackedEntity(oldEntity); EntityStack stack = getStackedEntity(oldEntity);
if (stack == null) return null; 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(); newStack.updateNameTag();
stack.destroy(); stack.destroy();
return newStack; return newStack;
@ -98,7 +96,7 @@ public class EntityStackManagerImpl implements EntityStackManager {
public EntityStack updateStack(LivingEntity oldEntity, LivingEntity newEntity) { public EntityStack updateStack(LivingEntity oldEntity, LivingEntity newEntity) {
EntityStack stack = getStackedEntity(oldEntity); EntityStack stack = getStackedEntity(oldEntity);
if (stack == null) return null; if (stack == null) return null;
int amount = stack.getAmount()-1; int amount = stack.getAmount() - 1;
stack.destroy(); stack.destroy();
if (amount == 0 && newEntity != null) { if (amount == 0 && newEntity != null) {
newEntity.remove(); newEntity.remove();

View File

@ -1,6 +1,5 @@
package com.craftaro.ultimatestacker.stackable.item; package com.craftaro.ultimatestacker.stackable.item;
import com.craftaro.core.compatibility.ServerVersion;
import com.craftaro.ultimatestacker.UltimateStacker; import com.craftaro.ultimatestacker.UltimateStacker;
import com.craftaro.ultimatestacker.api.events.entity.StackedItemSpawnEvent; import com.craftaro.ultimatestacker.api.events.entity.StackedItemSpawnEvent;
import com.craftaro.ultimatestacker.api.stack.item.ItemMergeCallback; import com.craftaro.ultimatestacker.api.stack.item.ItemMergeCallback;
@ -18,7 +17,6 @@ import org.jetbrains.annotations.Nullable;
import java.util.List; import java.util.List;
import java.util.concurrent.Future; import java.util.concurrent.Future;
import java.util.concurrent.atomic.AtomicReference;
public class StackedItemManagerImpl implements StackedItemManager { public class StackedItemManagerImpl implements StackedItemManager {

View File

@ -159,6 +159,9 @@ public class SpawnerStackImpl implements SpawnerStack {
return null; return null;
} }
CreatureSpawner creatureSpawner = (CreatureSpawner) this.location.getBlock().getState(); CreatureSpawner creatureSpawner = (CreatureSpawner) this.location.getBlock().getState();
if (creatureSpawner.getSpawnedType() == null) {
return null;
}
return Methods.compileSpawnerName(creatureSpawner.getSpawnedType(), this.amount); return Methods.compileSpawnerName(creatureSpawner.getSpawnedType(), this.amount);
} }

View File

@ -7,7 +7,7 @@
<groupId>com.craftaro</groupId> <groupId>com.craftaro</groupId>
<artifactId>UltimateStacker-Parent</artifactId> <artifactId>UltimateStacker-Parent</artifactId>
<packaging>pom</packaging> <packaging>pom</packaging>
<version>3.1.5</version> <version>3.1.6</version>
<modules> <modules>
<module>UltimateStacker-API</module> <module>UltimateStacker-API</module>