Posted July 26, 20214 yr I have a custom inventory that uses capabilities and it works I just need to know how would I be able to get if ex slot 1 has dirt.
July 27, 20214 yr Author Ok I've tried that in @SubscribeEvent public void ClientsTick(TickEvent.ClientTickEvent event) { if (event.phase == TickEvent.Phase.END) { if (!(TESTInventory.container.getStackInSlot(1).isEmpty())) { LOGGER.info("Is Not Empty"); } } } And TESTInventory.container get the IItemHandler from the capability and when I load a world I get a java.lang.NullPointerException: null
July 27, 20214 yr Author public interface ITESTInv extends IItemHandlerModifiable { } And public class TESTInventory extends ItemStackHandler implements ITESTInv { public static ITESTInv container; public TESTInventory () { super(8); } @Override protected void onContentsChanged(int slot) { super.onContentsChanged(slot); } @Override public CompoundNBT serializeNBT() { return super.serializeNBT(); } @Override public void deserializeNBT(CompoundNBT nbt) { super.deserializeNBT(nbt); } }
July 27, 20214 yr 5 minutes ago, UserMC123 said: Its static so I can use it in a different class. this is not the way you use a capability you bind the capability to an object for example the World an Entity or an Item, than you get the capability via getCapability, then do your stuff https://mcforge.readthedocs.io/en/latest/datastorage/capabilities/ Edited July 27, 20214 yr by Luis_ST
July 27, 20214 yr Just now, UserMC123 said: Ok please explain how to properly use it. see my edit: 2 minutes ago, Luis_ST said: you bind the capability to an object for example the World an Entity or an Item, than you get the capability via getCapability, then do your stuff https://mcforge.readthedocs.io/en/latest/datastorage/capabilities/
July 27, 20214 yr Author My capability works It saves and loads the items in the slots. I need to know how do i get .getStackInSlot(1) in a different class or somthing like it. Edited July 27, 20214 yr by UserMC123
July 28, 20214 yr 5 hours ago, UserMC123 said: I need to know how do i get .getStackInSlot(1) in a different class or somthing like it. This is basic OOP, you need a reference to the object that has the capability. Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.