38 int registerItemsFromJson(
const std::string &json);
40 void clearItemDefinitions();
42 int getItemDefinitionCount();
44 bool hasItemDefinition(
const std::string &
itemId);
46 std::string getItemDisplayName(
const std::string &
itemId);
48 int getItemMaxStack(
const std::string &
itemId);
50 float getItemWeight(
const std::string &
itemId);
52 float getItemVolume(
const std::string &
itemId);
54 std::string getItemCategory(
const std::string &
itemId);
56 std::string getItemEquipSlot(
const std::string &
itemId);
58 bool itemHasTag(
const std::string &
itemId,
const std::string &
tag);
60 std::string getItemExtra(
const std::string &
itemId,
const std::string &
key,
61 const std::string &fallback = {});
64 Bag *newBag(
int slotCount);
71 int transferSlot(
Bag *
from,
int fromSlot,
Bag *
to,
int quantity);
74 bool hasAcceptRule(
const std::string &
name);
76 bool hasCapacityPolicy(
const std::string &
name);
78 bool hasStackRule(
const std::string &
name);
81 void clearChangeEvents();
83 int getChangeEventCount()
const;
85 std::string getChangeEventAction(
int index)
const;
87 std::string getChangeEventBagId(
int index)
const;
89 std::string getChangeEventOtherBagId(
int index)
const;
91 std::string getChangeEventItemId(
int index)
const;
93 int getChangeEventQuantity(
int index)
const;
95 int getChangeEventSlot(
int index)
const;
97 int getChangeEventOtherSlot(
int index)
const;
99 std::string getChangeEventEquipSlot(
int index)
const;
119 [[nodiscard]]
eve::Result<void> publishGameplay(
const std::string &instanceId,
const std::string &ownerId,
Bag *bag,
122 [[nodiscard]]
eve::Result<void> unpublishGameplay(
const std::string &instanceId);
124 void clearGameplayControls();
126 [[nodiscard]]
int gameplayControlCount()
const;
128 [[nodiscard]] std::vector<std::string> gameplayInstances()
const;
132 std::unique_ptr<InventoryControl> gameplay_;