UserMC123 Posted July 26, 2021 Posted July 26, 2021 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. Quote
UserMC123 Posted July 27, 2021 Author Posted July 27, 2021 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 Quote
UserMC123 Posted July 27, 2021 Author Posted July 27, 2021 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); } } Quote
UserMC123 Posted July 27, 2021 Author Posted July 27, 2021 Its static so I can use it in a different class. Quote
Luis_ST Posted July 27, 2021 Posted July 27, 2021 (edited) 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, 2021 by Luis_ST Quote
UserMC123 Posted July 27, 2021 Author Posted July 27, 2021 Ok please explain how to properly use it. Quote
Luis_ST Posted July 27, 2021 Posted July 27, 2021 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/ Quote
UserMC123 Posted July 27, 2021 Author Posted July 27, 2021 (edited) 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, 2021 by UserMC123 Quote
Draco18s Posted July 28, 2021 Posted July 28, 2021 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. Quote 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.
Recommended Posts
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.