This repository has been archived on 2023-11-26. You can view files and clone it, but cannot push or open issues or pull requests.
ScriptCraft/scriptcraft/src/main/java/com/thebrokenrail/scriptcraft/api/bridge/ItemStackBridges.java

43 lines
2.0 KiB
Java

package com.thebrokenrail.scriptcraft.api.bridge;
import com.thebrokenrail.scriptcraft.core.ScriptCraftCore;
import com.thebrokenrail.scriptcraft.api.util.ValueUtil;
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() {
ScriptCraftCore.addBridge("ItemStack.create", args -> new ItemStack(Registry.ITEM.get(new Identifier((String) args[0])), ((Double) args[1]).intValue()));
ScriptCraftCore.addBridge("ItemStack.getItem", args -> Registry.ITEM.getId(((ItemStack) args[0]).getItem()).toString());
ScriptCraftCore.addBridge("ItemStack.setCount", args -> {
((ItemStack) args[0]).setCount((int) ValueUtil.toDouble(args[1], 0));
return null;
});
ScriptCraftCore.addBridge("ItemStack.getCount", args -> ((ItemStack) args[0]).getCount());
ScriptCraftCore.addBridge("ItemStack.setDamage", args -> {
((ItemStack) args[0]).setDamage((int) ValueUtil.toDouble(args[1], 0));
return null;
});
ScriptCraftCore.addBridge("ItemStack.getDamage", args -> ((ItemStack) args[0]).getDamage());
ScriptCraftCore.addBridge("ItemStack.isDamageable", args -> ((ItemStack) args[0]).isDamageable());
ScriptCraftCore.addBridge("ItemStack.getTag", args -> ((ItemStack) args[0]).getTag());
ScriptCraftCore.addBridge("ItemStack.setTag", args -> {
((ItemStack) args[0]).setTag((CompoundTag) args[1]);
return null;
});
ScriptCraftCore.addBridge("ItemStack.toTag", args -> ((ItemStack) args[0]).toTag(new CompoundTag()));
ScriptCraftCore.addBridge("ItemStack.fromTag", args -> ItemStack.fromTag((CompoundTag) args[1]));
ScriptCraftCore.addBridge("ItemStack.split", args -> ((ItemStack) args[0]).split((int) ValueUtil.toDouble(args[1], 0)));
ScriptCraftCore.addBridge("ItemStack.isValid", args -> args[0] instanceof ItemStack);
}
}