Jump to content

Giving an entity an inventory.


kenny2810

Recommended Posts

After creating a custom entity ( a new zombie) , I wish to give it a small inventory where it can hold random items apart from the usual sword and armour. Is there a method that specifically allows me to add/create inventory slots for the entity?

Link to comment
Share on other sites

Another option may be to simply add an InventoryBasic field to your entity, similar to how EntityPlayer has an InventoryPlayer field. Then you don't have to worry about the specifics of the inventory, but simply provide access to it and remember to save/load it from NBT. I'm not aware of any specific downsides to doing it this way, though I haven't done it myself.

Link to comment
Share on other sites

If you don't need any sort of Gui or other interaction with the player, you could just as well give your entity a List<ItemStack> field and shove whatever items it comes across into that... you might not even need to bother with an IInventory, it really depends on the exact details of how you want your entity to behave and interact with the rest of the Minecraft world.

Link to comment
Share on other sites

It's not that hard to add armor from a list...

 

If you are saying what I think your saying, please go learn Java.

 

If not, well... Wake up I guess... ?

We all stuff up sometimes... But I seem to be at the bottom of that pot.

Link to comment
Share on other sites

It's not that hard to add armor from a list...

 

If you are saying what I think your saying, please go learn Java.

 

If not, well... Wake up I guess... ?

 

Firstly I've  been studying java for 3 years+ now so I am rather vell versed in how it works. I have released a mod as well, however I have never created entities in Minecraft before; hence why I seem so confused as to how such things work.

Link to comment
Share on other sites

It's not that hard to add armor from a list...

 

If you are saying what I think your saying, please go learn Java.

 

If not, well... Wake up I guess... ?

 

Firstly I've  been studying java for 3 years+ now so I am rather vell versed in how it works. I have released a mod as well, however I have never created entities in Minecraft before; hence why I seem so confused as to how such things work.

 

I apologize.

 

If you have studied Java for 3+ years, then you should know quite easily several ways to go about such a thing. And I also apologize for misjudging you.

We all stuff up sometimes... But I seem to be at the bottom of that pot.

Link to comment
Share on other sites

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • the world capability works for the current world and its different for every dimension  sound like what you need  the only thing is you cannot access data from a diferent world things like reading a data of the overworld from the nether would nwork
    • use inventorytick() whit the slot number you can know if its into an armour slot         //########## ########## ##########     public void inventoryTick(ItemStack helditem, Level warudo, Entity en, int slot, boolean value) {         Long wtick = 0L;         int tick = 0;         // System.out.println("\n#inventoryTick#\n");         if( !warudo.isClientSide ){             wtick = warudo.dayTime();             if( wtick % 20 == 0 && en instanceof Player ) {                 item_handler ih = get_itemhandler(helditem);                 //inicializar tiempo                 if (ih.start_time < 1L) {                     ih.start_time = wtick;                 }                 ih.time = (int) ( wtick - ih.start_time );                 tick = ih.time;                 //cada 5 seg causar daño por fuego al player                 if (tick > 0 && tick % 100 == 0) {                     en.setSecondsOnFire(1);                 }                 //despues de un minuto el lingote se enfria y vielve a ser hierro                 if ( tick > 1200 ) { //                     helditem = new ItemStack( Items.IRON_INGOT, helditem.getCount() );                     ((Player) en).getInventory().setItem(slot, helditem );                 }             }         }     }
    • i have not test it but  you must extend the slot class overriding the max stack size to 1  public int getMaxStackSize() { return this.container.getMaxStackSize(); }   then in the menu class use your custome slot class to declare the slot    this.addSlot(new SlotItemHandler(handler00, 6, 62, 35));//slot zero this.addSlot(new ArmourSlotItemHandler(handler00, null,5, 80, 8));//head  
    • I have java, jarfix, Minecraft java, and forge all downloaded/installed, however I've been trying to make forge work for literal weeks now, and it quite literally just wont load. My primary launcher is Modrinth and when I try to launch a game with forge instead of fabric it'll just stop loading, no error message or anything in the logs, and when I try to launch directly from the Minecraft launcher I just get "Exit Code: 1". I also do not have anything in my mods folder. I'm at a loss... I've tried with practically every version at this point, but the specific versions I'm trying to get into are 1.20.1 and 1.19.2
    • My forge 1.12.2 server is very slow and laggy. The reason is probably because every 5 seconds, the console spits out this message (or smth like it):   Running 15ms behind! Is the server overloaded? Skipping 60 ticks (example, but keeps sending messages just like it)   I've been trying to allocate ram to fix this issue. How can I do this on 1.12.2? There is no jvm args.txt, like in 1.20.1.  
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.