diff --git a/pom.xml b/pom.xml
index 8aa94d1..27ed900 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,8 +20,8 @@
25
25
UTF-8
- 2026.02.19-1a311a592
- 1.3.0
+ 2026.03.26-89796e57b
+ 1.4.0
diff --git a/src/main/java/me/youhavetrouble/quickerstacker/QuickerStacker.java b/src/main/java/me/youhavetrouble/quickerstacker/QuickerStacker.java
index 0006f60..aa48af7 100644
--- a/src/main/java/me/youhavetrouble/quickerstacker/QuickerStacker.java
+++ b/src/main/java/me/youhavetrouble/quickerstacker/QuickerStacker.java
@@ -97,7 +97,7 @@ public class QuickerStacker extends JavaPlugin {
InteractionManager interactionManager = new InteractionManager(player, playerRef, new InteractionSimulationHandler());
BlockType blockType = world.getBlockType(x, y, z);
if (blockType == null) return false;
- var event = new UseBlockEvent.Pre(InteractionType.Use, InteractionContext.forProxyEntity(interactionManager, player, ref), new Vector3i(x, y, z), blockType);
+ var event = new UseBlockEvent.Pre(InteractionType.Use, InteractionContext.forProxyEntity(interactionManager, ref, ref, ref.getStore()), new Vector3i(x, y, z), blockType);
ref.getStore().invoke(ref, event);
return !event.isCancelled();
}
diff --git a/src/main/java/me/youhavetrouble/quickerstacker/interaction/QuickStackToChestInteraction.java b/src/main/java/me/youhavetrouble/quickerstacker/interaction/QuickStackToChestInteraction.java
index 9236120..fcad3f4 100644
--- a/src/main/java/me/youhavetrouble/quickerstacker/interaction/QuickStackToChestInteraction.java
+++ b/src/main/java/me/youhavetrouble/quickerstacker/interaction/QuickStackToChestInteraction.java
@@ -2,7 +2,6 @@ package me.youhavetrouble.quickerstacker.interaction;
import com.hypixel.hytale.codec.builder.BuilderCodec;
import com.hypixel.hytale.component.CommandBuffer;
-import com.hypixel.hytale.component.ComponentType;
import com.hypixel.hytale.component.Ref;
import com.hypixel.hytale.math.util.ChunkUtil;
import com.hypixel.hytale.math.vector.Vector3i;
@@ -13,16 +12,16 @@ import com.hypixel.hytale.server.core.entity.InteractionContext;
import com.hypixel.hytale.server.core.entity.entities.Player;
import com.hypixel.hytale.server.core.inventory.Inventory;
import com.hypixel.hytale.server.core.inventory.ItemStack;
+import com.hypixel.hytale.server.core.inventory.container.SimpleItemContainer;
import com.hypixel.hytale.server.core.inventory.transaction.ItemStackTransaction;
import com.hypixel.hytale.server.core.inventory.transaction.ListTransaction;
import com.hypixel.hytale.server.core.inventory.transaction.MoveTransaction;
+import com.hypixel.hytale.server.core.modules.block.components.ItemContainerBlock;
import com.hypixel.hytale.server.core.modules.interaction.interaction.CooldownHandler;
import com.hypixel.hytale.server.core.modules.interaction.interaction.config.client.SimpleBlockInteraction;
import com.hypixel.hytale.server.core.universe.PlayerRef;
import com.hypixel.hytale.server.core.universe.world.World;
import com.hypixel.hytale.server.core.universe.world.chunk.WorldChunk;
-import com.hypixel.hytale.server.core.universe.world.meta.BlockStateModule;
-import com.hypixel.hytale.server.core.universe.world.meta.state.ItemContainerState;
import com.hypixel.hytale.server.core.universe.world.storage.ChunkStore;
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
import com.hypixel.hytale.server.core.util.NotificationUtil;
@@ -51,13 +50,12 @@ public class QuickStackToChestInteraction extends SimpleBlockInteraction {
if (chunk == null) return;
Ref blockRef = chunk.getBlockComponentEntity(x, y, z);
if (blockRef == null) return;
- ComponentType stashComponentType = BlockStateModule.get().getComponentType(ItemContainerState.class);
- if (stashComponentType == null) return;
- ItemContainerState containerState = blockRef.getStore().getComponent(blockRef, stashComponentType);
- if (containerState == null) return;
+ ItemContainerBlock containerBlock = blockRef.getStore().getComponent(blockRef, ItemContainerBlock.getComponentType());
+ if (containerBlock == null) return;
+ SimpleItemContainer container = containerBlock.getItemContainer();
Inventory playerInventory = player.getInventory();
if (playerInventory == null) return;
- ListTransaction> transaction = playerInventory.getCombinedHotbarFirst().quickStackTo(containerState.getItemContainer());
+ ListTransaction> transaction = playerInventory.getCombinedHotbarFirst().quickStackTo(container);
if (transaction.size() <= 0) return;
PlayerRef playerRef = ref.getStore().getComponent(ref, PlayerRef.getComponentType());
if (playerRef == null) return;
diff --git a/src/main/java/me/youhavetrouble/quickerstacker/interaction/QuickStackToNearbyChestsInteraction.java b/src/main/java/me/youhavetrouble/quickerstacker/interaction/QuickStackToNearbyChestsInteraction.java
index 0d141bd..c4eff98 100644
--- a/src/main/java/me/youhavetrouble/quickerstacker/interaction/QuickStackToNearbyChestsInteraction.java
+++ b/src/main/java/me/youhavetrouble/quickerstacker/interaction/QuickStackToNearbyChestsInteraction.java
@@ -2,7 +2,6 @@ package me.youhavetrouble.quickerstacker.interaction;
import com.hypixel.hytale.codec.builder.BuilderCodec;
import com.hypixel.hytale.component.CommandBuffer;
-import com.hypixel.hytale.component.ComponentType;
import com.hypixel.hytale.component.Ref;
import com.hypixel.hytale.component.Store;
import com.hypixel.hytale.math.util.ChunkUtil;
@@ -19,14 +18,13 @@ import com.hypixel.hytale.server.core.inventory.container.ItemContainer;
import com.hypixel.hytale.server.core.inventory.transaction.ItemStackTransaction;
import com.hypixel.hytale.server.core.inventory.transaction.ListTransaction;
import com.hypixel.hytale.server.core.inventory.transaction.MoveTransaction;
+import com.hypixel.hytale.server.core.modules.block.components.ItemContainerBlock;
import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
import com.hypixel.hytale.server.core.modules.interaction.interaction.CooldownHandler;
import com.hypixel.hytale.server.core.modules.interaction.interaction.config.client.SimpleBlockInteraction;
import com.hypixel.hytale.server.core.universe.PlayerRef;
import com.hypixel.hytale.server.core.universe.world.World;
import com.hypixel.hytale.server.core.universe.world.chunk.WorldChunk;
-import com.hypixel.hytale.server.core.universe.world.meta.BlockStateModule;
-import com.hypixel.hytale.server.core.universe.world.meta.state.ItemContainerState;
import com.hypixel.hytale.server.core.universe.world.storage.ChunkStore;
import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
import com.hypixel.hytale.server.core.util.NotificationUtil;
@@ -52,12 +50,12 @@ public class QuickStackToNearbyChestsInteraction extends SimpleBlockInteraction
if (playerRef == null) return;
BlockPosition targetBlockPosition = interactionContext.getTargetBlock();
if (targetBlockPosition == null) return;
- Collection nearbyContainers = getNearbyContainers(world, ref, ref.getStore(), 10);
+ Collection nearbyContainers = getNearbyContainers(world, ref, ref.getStore(), 10);
if (nearbyContainers.isEmpty()) return;
Inventory playerInventory = player.getInventory();
if (playerInventory == null) return;
int itemsMoved = 0;
- for (ItemContainerState containerState : nearbyContainers) {
+ for (ItemContainerBlock containerState : nearbyContainers) {
ItemContainer itemContainer = containerState.getItemContainer();
ListTransaction> transaction = playerInventory.getCombinedHotbarFirst().quickStackTo(itemContainer);
for (var tr : transaction.getList()) {
@@ -83,13 +81,11 @@ public class QuickStackToNearbyChestsInteraction extends SimpleBlockInteraction
* @param range Range to search in
* @return Collection of found item containers
*/
- private Collection getNearbyContainers(World world, Ref ref, Store store, int range) {
- ArrayList foundContainers = new ArrayList<>();
+ private Collection getNearbyContainers(World world, Ref ref, Store store, int range) {
+ ArrayList foundContainers = new ArrayList<>();
TransformComponent transformComponent = store.getComponent(ref, TransformComponent.getComponentType());
if (transformComponent == null) return foundContainers;
Vector3d position = transformComponent.getPosition();
- ComponentType stashComponentType = BlockStateModule.get().getComponentType(ItemContainerState.class);
- if (stashComponentType == null) return foundContainers;
for (int x = -range; x <= range; x++) {
for (int y = -range; y < range; y++) {
for (int z = -range; z <= range; z++) {
@@ -104,9 +100,9 @@ public class QuickStackToNearbyChestsInteraction extends SimpleBlockInteraction
if (chunk == null) continue;
Ref blockRef = chunk.getBlockComponentEntity((int) position.getX() + x, (int) position.getY() + y, (int) position.getZ() + z);
if (blockRef == null) continue;
- ItemContainerState containerState = blockRef.getStore().getComponent(blockRef, stashComponentType);
- if (containerState == null) continue;
- foundContainers.add(containerState);
+ ItemContainerBlock containerBlock = blockRef.getStore().getComponent(blockRef, ItemContainerBlock.getComponentType());
+ if (containerBlock == null) continue;
+ foundContainers.add(containerBlock);
}
}
}