From a46b38920e425203a9aa4fc4edcf45483c8a8613 Mon Sep 17 00:00:00 2001 From: Stankman Date: Thu, 20 Jul 2023 18:33:30 -0500 Subject: [PATCH] Item Pick up fix --- .../java/com/eu/habbo/habbohotel/rooms/Room.java | 6 +----- .../eu/habbo/habbohotel/rooms/RoomItemManager.java | 4 ++++ .../incoming/rooms/items/PickupObjectEvent.java | 13 ++++++------- 3 files changed, 11 insertions(+), 12 deletions(-) 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 fb9804fa..090d7336 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/Room.java @@ -801,7 +801,7 @@ public class Room implements Comparable, ISerialize, Runnable { */ if (habbo.getRoomUnit().getEffectId() > 0 && millis / 1000 > habbo.getRoomUnit().getEffectEndTimestamp()) { - habbo.getRoomUnit().giveEffect(0, -1) + habbo.getRoomUnit().giveEffect(0, -1); } if (habbo.getRoomUnit().isKicked()) { @@ -2892,10 +2892,6 @@ public class Room implements Comparable, ISerialize, Runnable { } } - public void ejectUserItem(RoomItem item) { - this.getRoomItemManager().pickUpItem(item, null); - } - public void ejectAll() { this.ejectAll(null); } diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomItemManager.java b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomItemManager.java index cf99396d..de49838e 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomItemManager.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomItemManager.java @@ -574,6 +574,10 @@ public class RoomItemManager { Emulator.getThreading().run(item); } + public void ejectUserItem(RoomItem item) { + this.pickUpItem(item, null); + } + public FurnitureMovementError furnitureFitsAt(RoomTile tile, RoomItem item, int rotation, boolean checkForUnits) { if (!this.room.getLayout().fitsOnMap(tile, item.getBaseItem().getWidth(), item.getBaseItem().getLength(), rotation)) return FurnitureMovementError.INVALID_MOVE; diff --git a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PickupObjectEvent.java b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PickupObjectEvent.java index 6c75a2e4..7d9564cf 100644 --- a/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PickupObjectEvent.java +++ b/src/main/java/com/eu/habbo/messages/incoming/rooms/items/PickupObjectEvent.java @@ -14,16 +14,15 @@ public class PickupObjectEvent extends MessageHandler { Room room = this.client.getHabbo().getRoomUnit().getRoom(); - if (room == null) + if (room == null) { return; + } RoomItem item = room.getHabboItem(itemId); - if (item == null) - return; - - if (item instanceof InteractionPostIt) + if (item == null || item instanceof InteractionPostIt) { return; + } if (item.getUserId() == this.client.getHabbo().getHabboInfo().getId()) { room.getRoomItemManager().pickUpItem(item, this.client.getHabbo()); @@ -32,14 +31,14 @@ public class PickupObjectEvent extends MessageHandler { if (this.client.getHabbo().hasRight(Permission.ACC_ANYROOMOWNER)) { item.setUserId(this.client.getHabbo().getHabboInfo().getId()); } else { - if (this.client.getHabbo().getHabboInfo().getId() != room.getRoomInfo().getOwnerInfo().getId()) { + if (!room.getRoomInfo().isRoomOwner(this.client.getHabbo())) { if (item.getUserId() == room.getRoomInfo().getOwnerInfo().getId()) { return; } } } - room.ejectUserItem(item); + room.getRoomItemManager().ejectUserItem(item); } } }