Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class MyImmutableInventoryData extends AbstractImmutableData<MyImmutableInventoryData, MyInventoryData> {
- private Map<Integer, ItemStack> inventory;
- public MyImmutableInventoryData(Map<Integer, ItemStack> inventory) {
- this.inventory = inventory;
- registerGetters();
- }
- @Override
- protected void registerGetters() {
- registerFieldGetter(ToolKeys.INVENTORY, () -> this.inventory);
- registerKeyValue(ToolKeys.INVENTORY, this::inventory);
- }
- public ImmutableMapValue<Integer, ItemStack> inventory() {
- return Sponge.getRegistry().getValueFactory().createMapValue(ToolKeys.INVENTORY, inventory).asImmutable();
- }
- @Override
- public MyInventoryData asMutable() {
- return new MyInventoryData(inventory);
- }
- @Override
- public int getContentVersion() {
- return 1;
- }
- @Override
- public DataContainer toContainer() {
- return super.toContainer()
- .set(ToolKeys.INVENTORY.getQuery(), this.inventory);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement