HyCodeYourTale

Inventory Events

Inventory Events

Eventy související s inventářem - crafting, pickup, drop.

---

LivingEntityInventoryChangeEvent

Vyvolán při změně inventáře živé entity (hráč, mob).

Typ: Synchronní
Registrace: register() / registerGlobal()
Cancellable: Ne

getEventRegistry().register(LivingEntityInventoryChangeEvent.class, event -> {
// Inventář byl změněn
getLogger().atInfo().log("Inventář změněn");
});

---

CraftRecipeEvent

Vyvolán když hráč craftí recept.

Typ: Synchronní
Registrace: register() / registerGlobal()
Cancellable: Ano

getEventRegistry().register(CraftRecipeEvent.class, event -> {
// Hráč craftí položku

// Zrušení craftingu
// event.cancel();
});

---

InteractivelyPickupItemEvent

Vyvolán když hráč interaktivně sebere položku.

Typ: Synchronní
Registrace: register() / registerGlobal()
Cancellable: Ano

getEventRegistry().register(InteractivelyPickupItemEvent.class, event -> {
// Hráč sebral položku

// Zrušení sebrání
// event.cancel();
});

---

DropItemEvent

Vyvolán když hráč zahodí položku.

Typ: Synchronní
Registrace: register() / registerGlobal()
Cancellable: Ano

getEventRegistry().register(DropItemEvent.class, event -> {
// Hráč zahodil položku

// Zrušení zahození
// event.cancel();
});

---

Shrnutí Inventory Eventů

| Event | Cancellable | Popis |
|-------|-------------|-------|
| LivingEntityInventoryChangeEvent | Ne | Změna inventáře |
| CraftRecipeEvent | Ano | Crafting receptu |
| InteractivelyPickupItemEvent | Ano | Sebrání položky |
| DropItemEvent | Ano | Zahození položky |

---

Práce s Inventory

Container komponenta

Z dekompilovaného kódu - Container je komponenta pro inventáře:

// V ECS kontextu
Ref ref = player.getRef();
Store store = ref.getStore();

// Container může být na různých entitách (hráč, truhla, atd.)
Container container = store.getComponent(ref, Container.getComponentType());

Poznámky z komunity

> "Each item container is associated to an 'entity' in our ECS and they have entity ids... You can register a new component on those container entities" - Slikey

Kontejnery (truhly, inventáře) jsou v Hytale reprezentovány jako ECS entity s komponentami.

Last updated: 20. ledna 2026