diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java b/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java index 66afe4f9..5ceafdff 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java @@ -5425,23 +5425,24 @@ public class Room implements Comparable, ISerialize, Runnable if (this.hasPetsAt(t.x, t.y)) return FurnitureMovementError.TILE_HAS_PETS; } - List>> tileFurniList = new ArrayList<>(); - for (RoomTile t : occupiedTiles) - { - tileFurniList.add(Pair.create(t, this.getItemsAt(t))); + boolean magicTile = item instanceof InteractionStackHelper; - HabboItem topItem = this.getTopItemAt(t.x, t.y, item); - if (topItem != null && !topItem.getBaseItem().allowStack()) - { + if(!magicTile) { + List>> tileFurniList = new ArrayList<>(); + for (RoomTile t : occupiedTiles) { + tileFurniList.add(Pair.create(t, this.getItemsAt(t))); + + HabboItem topItem = this.getTopItemAt(t.x, t.y, item); + if (topItem != null && !topItem.getBaseItem().allowStack() && !t.getAllowStack()) { + return FurnitureMovementError.CANT_STACK; + } + } + + if (!item.canStackAt(this, tileFurniList)) { return FurnitureMovementError.CANT_STACK; } } - if (!item.canStackAt(this, tileFurniList)) - { - return FurnitureMovementError.CANT_STACK; - } - return FurnitureMovementError.NONE; } public FurnitureMovementError placeFloorFurniAt(HabboItem item, RoomTile tile, int rotation, Habbo owner) throws Exception