diff --git a/src/main/java/cz/jzitnik/game/Player.java b/src/main/java/cz/jzitnik/game/Player.java index 5f5a310..2d9439b 100644 --- a/src/main/java/cz/jzitnik/game/Player.java +++ b/src/main/java/cz/jzitnik/game/Player.java @@ -1,11 +1,14 @@ package cz.jzitnik.game; +import cz.jzitnik.game.items.GameItem; import cz.jzitnik.game.utils.RoomCords; import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.Setter; import lombok.extern.slf4j.Slf4j; +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; @@ -16,6 +19,7 @@ import java.util.concurrent.TimeUnit; public class Player { private final RoomCords playerCords; private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); + private final List inventory = new CopyOnWriteArrayList<>(); private boolean swinging = false; @Setter diff --git a/src/main/java/cz/jzitnik/game/objects/Chest.java b/src/main/java/cz/jzitnik/game/objects/Chest.java index da679db..663344d 100644 --- a/src/main/java/cz/jzitnik/game/objects/Chest.java +++ b/src/main/java/cz/jzitnik/game/objects/Chest.java @@ -285,7 +285,9 @@ public final class Chest extends GameObject implements UIClickHandler { return; } - items.remove(part); + var item = items.get(part); + gameState.getPlayer().getInventory().add(item); + items.remove(item); if (items.isEmpty()) { uiClickHandlerRepository.removeHandlerForCurrentRoom(listenerHashCode, this);