package com.thebrokenrail.scriptcraft.bridge; import com.thebrokenrail.scriptcraft.util.Util; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundTag; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; class ItemStackBridges { static void register() { Bridges.addBridge("ItemStack.create", args -> new ItemStack(Registry.ITEM.get(new Identifier((String) args[0])), ((Double) args[1]).intValue())); Bridges.addBridge("ItemStack.getItem", args -> Registry.ITEM.getId(((ItemStack) args[0]).getItem()).toString()); Bridges.addBridge("ItemStack.setCount", args -> { ((ItemStack) args[0]).setCount((int) Util.toDouble(args[1], 0)); return null; }); Bridges.addBridge("ItemStack.getCount", args -> (double) ((ItemStack) args[0]).getCount()); Bridges.addBridge("ItemStack.setDamage", args -> { ((ItemStack) args[0]).setDamage((int) Util.toDouble(args[1], 0)); return null; }); Bridges.addBridge("ItemStack.getDamage", args -> (double) ((ItemStack) args[0]).getDamage()); Bridges.addBridge("ItemStack.isDamageable", args -> ((ItemStack) args[0]).isDamageable()); Bridges.addBridge("ItemStack.getTag", args -> ((ItemStack) args[0]).getTag()); Bridges.addBridge("ItemStack.setTag", args -> { ((ItemStack) args[0]).setTag((CompoundTag) args[1]); return null; }); } }