Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.halestormxv.numinous.common.items;
- import com.halestormxv.numinous.NuminousMod;
- import com.halestormxv.numinous.common.containers.MaterialPouchContainer;
- import net.minecraft.entity.player.PlayerEntity;
- import net.minecraft.inventory.container.SimpleNamedContainerProvider;
- import net.minecraft.item.DyeColor;
- import net.minecraft.item.Item;
- import net.minecraft.item.ItemGroup;
- import net.minecraft.item.ItemStack;
- import net.minecraft.network.PacketBuffer;
- import net.minecraft.util.ActionResult;
- import net.minecraft.util.ActionResultType;
- import net.minecraft.util.Hand;
- import net.minecraft.util.NonNullList;
- import net.minecraft.util.text.TranslationTextComponent;
- import net.minecraft.world.World;
- import net.minecraftforge.items.IItemHandler;
- import net.minecraftforge.items.ItemStackHandler;
- public class MaterialPouch extends Item {
- private static final String NBT_COLOR = "PouchColor";
- public MaterialPouch(){
- super(new Properties().group(NuminousMod.NuminousItemTab.instance).maxStackSize(1));
- }
- public int getInventorySize(ItemStack stack){
- return 27;
- }
- public IItemHandler getInventory(ItemStack stack){
- ItemStackHandler stackHandler = new ItemStackHandler(getInventorySize(stack));
- stackHandler.deserializeNBT(stack.getOrCreateTag().getCompound("Inventory"));
- return stackHandler;
- }
- public void saveInventory(ItemStack stack, IItemHandler itemHandler){
- if (itemHandler instanceof ItemStackHandler){
- stack.getOrCreateTag().put("Inventory", ((ItemStackHandler)itemHandler).serializeNBT());
- }
- }
- @Override
- public ActionResult<ItemStack> onItemRightClick(World worldIn, PlayerEntity playerIn, Hand handIn) {
- if (!worldIn.isRemote()){
- playerIn.openContainer(new SimpleNamedContainerProvider((windowId, playerInventory, player) ->
- new MaterialPouchContainer(windowId, playerInventory, null), new TranslationTextComponent("container.halestormxv_numinous.material_pouch")));
- }
- return new ActionResult<>(ActionResultType.SUCCESS, playerIn.getHeldItem(handIn));
- }
- public static int getPouchColor(ItemStack stack){
- return stack.getOrCreateTag().getInt(NBT_COLOR);
- }
- public static void setPouchColor(ItemStack stack, int color){
- stack.getOrCreateTag().putInt(NBT_COLOR, color);
- }
- public static int getItemColor(ItemStack stack, int tintIndex){
- if (tintIndex ==0){
- return getPouchColor(stack);
- }
- return 0XFFFFFF;
- }
- @Override
- public void fillItemGroup(ItemGroup group, NonNullList<ItemStack> items) {
- if (isInGroup(group)){
- for (DyeColor color : DyeColor.values()){
- ItemStack stack = new ItemStack(this);
- setPouchColor(stack, color.getFireworkColor());
- items.add(stack);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement