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

    • Every time i try and open the game i get this   Description: Rendering overlay com.electronwill.nightconfig.core.io.WritingException: Unsupported value type: class net.minecraft.resources.ResourceLocation     at com.electronwill.nightconfig.toml.ValueWriter.write(ValueWriter.java:66) ~[toml-3.6.7.jar:?] {}     at com.electronwill.nightconfig.toml.ArrayWriter.write(ArrayWriter.java:34) ~[toml-3.6.7.jar:?] {}     at com.electronwill.nightconfig.toml.ValueWriter.write(ValueWriter.java:42) ~[toml-3.6.7.jar:?] {}     at com.electronwill.nightconfig.toml.TableWriter.writeNormal(TableWriter.java:75) ~[toml-3.6.7.jar:?] {}     at com.electronwill.nightconfig.toml.TableWriter.writeNormal(TableWriter.java:46) ~[toml-3.6.7.jar:?] {}     at com.electronwill.nightconfig.toml.TomlWriter.write(TomlWriter.java:31) ~[toml-3.6.7.jar:?] {}     at com.electronwill.nightconfig.core.io.ConfigWriter.write(ConfigWriter.java:42) ~[core-3.6.7.jar:?] {}     at com.electronwill.nightconfig.core.io.ConfigWriter.write(ConfigWriter.java:88) ~[core-3.6.7.jar:?] {}     at com.electronwill.nightconfig.core.file.WriteSyncFileConfig.save(WriteSyncFileConfig.java:61) ~[core-3.6.7.jar:?] {}     at com.electronwill.nightconfig.core.file.AutosaveCommentedFileConfig.save(AutosaveCommentedFileConfig.java:80) ~[core-3.6.7.jar:?] {}     at com.electronwill.nightconfig.core.utils.ObservedMap.put(ObservedMap.java:48) ~[core-3.6.7.jar:?] {}     at net.minecraftforge.common.ForgeConfigSpec.correct(ForgeConfigSpec.java:216) ~[forge-1.20.4-49.1.0-universal.jar:?] {re:classloading,pl:accesstransformer:B}     at net.minecraftforge.common.ForgeConfigSpec.correct(ForgeConfigSpec.java:162) ~[forge-1.20.4-49.1.0-universal.jar:?] {re:classloading,pl:accesstransformer:B}     at net.minecraftforge.common.ForgeConfigSpec.setConfig(ForgeConfigSpec.java:85) ~[forge-1.20.4-49.1.0-universal.jar:?] {re:classloading,pl:accesstransformer:B}     at net.minecraftforge.common.ForgeConfigSpec.acceptConfig(ForgeConfigSpec.java:100) ~[forge-1.20.4-49.1.0-universal.jar:?] {re:classloading,pl:accesstransformer:B}     at net.minecraftforge.fml.config.ModConfig.setConfigData(ModConfig.java:73) ~[fmlcore-1.20.4-49.1.0.jar:?] {}     at net.minecraftforge.fml.config.ConfigTracker.openConfig(ConfigTracker.java:61) ~[fmlcore-1.20.4-49.1.0.jar:?] {}     at net.minecraftforge.fml.config.ConfigTracker.lambda$loadConfigs$1(ConfigTracker.java:50) ~[fmlcore-1.20.4-49.1.0.jar:?] {}     at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {re:mixin}     at java.util.Collections$SynchronizedCollection.forEach(Collections.java:2131) ~[?:?] {}     at net.minecraftforge.fml.config.ConfigTracker.loadConfigs(ConfigTracker.java:50) ~[fmlcore-1.20.4-49.1.0.jar:?] {}     at net.minecraftforge.fml.core.ModStateProvider.lambda$new$3(ModStateProvider.java:68) ~[forge-1.20.4-49.1.0-universal.jar:?] {re:classloading}     at net.minecraftforge.fml.ModLoader.handleInlineTransition(ModLoader.java:219) ~[fmlcore-1.20.4-49.1.0.jar!/:1.0] {}     at net.minecraftforge.fml.ModLoader.lambda$dispatchAndHandleError$19(ModLoader.java:211) ~[fmlcore-1.20.4-49.1.0.jar!/:1.0] {}     at java.util.Optional.ifPresent(Optional.java:178) ~[?:?] {re:mixin}     at net.minecraftforge.fml.ModLoader.dispatchAndHandleError(ModLoader.java:211) ~[fmlcore-1.20.4-49.1.0.jar!/:1.0] {}     at net.minecraftforge.fml.ModLoader.lambda$loadMods$15(ModLoader.java:192) ~[fmlcore-1.20.4-49.1.0.jar!/:1.0] {}     at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {re:mixin}     at net.minecraftforge.fml.ModLoader.loadMods(ModLoader.java:192) ~[fmlcore-1.20.4-49.1.0.jar!/:1.0] {}     at net.minecraftforge.client.loading.ClientModLoader.lambda$startModLoading$5(ClientModLoader.java:80) ~[forge-1.20.4-49.1.0-universal.jar!/:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraftforge.client.loading.ClientModLoader.lambda$createRunnableWithCatch$4(ClientModLoader.java:72) ~[forge-1.20.4-49.1.0-universal.jar!/:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraftforge.client.loading.ClientModLoader.startModLoading(ClientModLoader.java:80) ~[forge-1.20.4-49.1.0-universal.jar!/:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraftforge.client.loading.ClientModLoader.lambda$onResourceReload$2(ClientModLoader.java:63) ~[forge-1.20.4-49.1.0-universal.jar!/:?] {re:classloading,pl:runtimedistcleaner:A}     at net.minecraftforge.client.loading.ClientModLoader.lambda$createRunnableWithCatch$4(ClientModLoader.java:72) ~[forge-1.20.4-49.1.0-universal.jar!/:?] {re:classloading,pl:runtimedistcleaner:A}     at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?] {}     at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796) ~[?:?] {}     at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] {}     at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] {}     at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] {re:computing_frames}     at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] {re:computing_frames}     at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] {} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Suspected Mods: NONE Stacktrace:     at com.electronwill.nightconfig.toml.ValueWriter.write(ValueWriter.java:66) ~[toml-3.6.7.jar:?] {}     at com.electronwill.nightconfig.toml.ArrayWriter.write(ArrayWriter.java:34) ~[toml-3.6.7.jar:?] {}     at com.electronwill.nightconfig.toml.ValueWriter.write(ValueWriter.java:42) ~[toml-3.6.7.jar:?] {}     at com.electronwill.nightconfig.toml.TableWriter.writeNormal(TableWriter.java:75) ~[toml-3.6.7.jar:?] {}     at com.electronwill.nightconfig.toml.TableWriter.writeNormal(TableWriter.java:46) ~[toml-3.6.7.jar:?] {}     at com.electronwill.nightconfig.toml.TomlWriter.write(TomlWriter.java:31) ~[toml-3.6.7.jar:?] {}     at com.electronwill.nightconfig.core.io.ConfigWriter.write(ConfigWriter.java:42) ~[core-3.6.7.jar:?] {}     at com.electronwill.nightconfig.core.io.ConfigWriter.write(ConfigWriter.java:88) ~[core-3.6.7.jar:?] {}     at com.electronwill.nightconfig.core.file.WriteSyncFileConfig.save(WriteSyncFileConfig.java:61) ~[core-3.6.7.jar:?] {}     at com.electronwill.nightconfig.core.file.AutosaveCommentedFileConfig.save(AutosaveCommentedFileConfig.java:80) ~[core-3.6.7.jar:?] {}     at com.electronwill.nightconfig.core.utils.ObservedMap.put(ObservedMap.java:48) ~[core-3.6.7.jar:?] {}     at net.minecraftforge.common.ForgeConfigSpec.correct(ForgeConfigSpec.java:216) ~[forge-1.20.4-49.1.0-universal.jar:?] {re:classloading,pl:accesstransformer:B}     at net.minecraftforge.common.ForgeConfigSpec.correct(ForgeConfigSpec.java:162) ~[forge-1.20.4-49.1.0-universal.jar:?] {re:classloading,pl:accesstransformer:B}     at net.minecraftforge.common.ForgeConfigSpec.setConfig(ForgeConfigSpec.java:85) ~[forge-1.20.4-49.1.0-universal.jar:?] {re:classloading,pl:accesstransformer:B}     at net.minecraftforge.common.ForgeConfigSpec.acceptConfig(ForgeConfigSpec.java:100) ~[forge-1.20.4-49.1.0-universal.jar:?] {re:classloading,pl:accesstransformer:B}     at net.minecraftforge.fml.config.ModConfig.setConfigData(ModConfig.java:73) ~[fmlcore-1.20.4-49.1.0.jar!/:?] {}     at net.minecraftforge.fml.config.ConfigTracker.openConfig(ConfigTracker.java:61) ~[fmlcore-1.20.4-49.1.0.jar!/:?] {}     at net.minecraftforge.fml.config.ConfigTracker.lambda$loadConfigs$1(ConfigTracker.java:50) ~[fmlcore-1.20.4-49.1.0.jar!/:?] {} -- Overlay render details -- Details:     Overlay name: net.minecraftforge.client.loading.ForgeLoadingOverlay Stacktrace:     at net.minecraft.client.renderer.GameRenderer.m_109093_(GameRenderer.java:934) ~[forge-1.20.4-49.1.0-client.jar:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:forge-DistantHorizons.forge.mixins.json:client.MixinGameRenderer,pl:mixin:APP:mixins.essential.json:client.renderer.MixinEntityRenderer_Zoom,pl:mixin:APP:mixins.essential.json:events.Mixin_RenderTickEvent,pl:mixin:APP:mixins.essential.json:events.Mixin_GuiDrawScreenEvent_Priority,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1250) ~[forge-1.20.4-49.1.0-client.jar:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:bookshelf.common.mixins.json:accessors.client.AccessorMinecraft,pl:mixin:APP:balm.forge.mixins.json:MinecraftMixin,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin,pl:mixin:APP:betterf3.mixins.json:ClientAccessor,pl:mixin:APP:mixins.essential.json:client.Mixin_RunEssentialTasks,pl:mixin:APP:mixins.essential.json:client.MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_FixKeybindUnpressedInEmoteWheel,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_RecalculateMenuScale,pl:mixin:APP:mixins.essential.json:compatibility.vanilla.Mixin_WorkaroundBrokenFramebufferBlitBlending,pl:mixin:APP:mixins.essential.json:feature.emote.Mixin_AllowMovementDuringEmoteWheel_HandleKeybinds,pl:mixin:APP:mixins.essential.json:feature.skin_overwrites.Mixin_InstallTrustingServicesKeyInfo,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:801) ~[forge-1.20.4-49.1.0-client.jar:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:bookshelf.common.mixins.json:accessors.client.AccessorMinecraft,pl:mixin:APP:balm.forge.mixins.json:MinecraftMixin,pl:mixin:APP:iceberg.mixins.json:MinecraftMixin,pl:mixin:APP:betterf3.mixins.json:ClientAccessor,pl:mixin:APP:mixins.essential.json:client.Mixin_RunEssentialTasks,pl:mixin:APP:mixins.essential.json:client.MixinMinecraft,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_FixKeybindUnpressedInEmoteWheel,pl:mixin:APP:mixins.essential.json:client.gui.Mixin_RecalculateMenuScale,pl:mixin:APP:mixins.essential.json:compatibility.vanilla.Mixin_WorkaroundBrokenFramebufferBlitBlending,pl:mixin:APP:mixins.essential.json:feature.emote.Mixin_AllowMovementDuringEmoteWheel_HandleKeybinds,pl:mixin:APP:mixins.essential.json:feature.skin_overwrites.Mixin_InstallTrustingServicesKeyInfo,pl:mixin:A,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:234) ~[forge-1.20.4-49.1.0-client.jar:?] {re:classloading,pl:runtimedistcleaner:A}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}     at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:91) ~[fmlloader-1.20.4-49.1.0.jar:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.lambda$makeService$0(CommonLaunchHandler.java:75) ~[fmlloader-1.20.4-49.1.0.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) ~[modlauncher-10.1.2.jar:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:74) ~[modlauncher-10.1.2.jar:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:114) ~[modlauncher-10.1.2.jar:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:73) ~[modlauncher-10.1.2.jar:?] {}     at cpw.mods.modlauncher.BootstrapEntry.main(BootstrapEntry.java:17) ~[modlauncher-10.1.2.jar:?] {}     at net.minecraftforge.bootstrap.Bootstrap.moduleMain(Bootstrap.java:188) ~[bootstrap-2.1.0.jar!/:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}     at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}     at net.minecraftforge.bootstrap.Bootstrap.bootstrapMain(Bootstrap.java:133) ~[bootstrap-2.1.0.jar!/:?] {}     at net.minecraftforge.bootstrap.Bootstrap.start(Bootstrap.java:53) ~[bootstrap-2.1.0.jar!/:?] {}     at net.minecraftforge.bootstrap.ForgeBootstrap.main(ForgeBootstrap.java:19) ~[bootstrap-2.1.0.jar!/:?] {} -- Uptime -- Details:     JVM uptime: 41.449s     Wall uptime: 9.802s     High-res time: 33.664s     Client ticks: 20 ticks / 1.000s -- Last reload -- Details:     Reload number: 1     Reload reason: initial     Finished: No     Packs: vanilla, mod_resources, Essential Assets, essential   how can i fix this ?
    • Hello there! I'm here today to invite you to join us in an experience like no other. We play on a server that aims to simulate civilization in minecraft and we invite you to join us. Become part of an expansive nation, grow your power and influence or perhaps simply assist your countrymen in their own endeavors. With enough effort here you can do anything you can imagine. Lead an army into battle, rule over bustling towns, create a company and become rich, or perhaps retire to a simple life of farming with a small group of friends and simply enjoy the days as they come. We also host events regularly so I promise it won't get boring for a while. If your even slightly interested I highly recommend you join the discord! We can answer any questions you have there. Thank you for your time and interest and I hope to see you soon! https://discord.com/invite/VGxhdF2V56
    • i have been trying to play a modpack created by my boyfriend , but it keeps crashing for me. it’ll open on the narrator or the main menu and then it’ll just freeze up fully and crash. it works for him and his friends. i have tried everything from uninstalling cursedforge and forge and reinstalling them , to uninstalling my drivers and reinstalling and updating them , even deleting minecraft and reinstalling it. please help me out , it is only forge. fabric works just fine for everyone version. i even downloaded it to my laptop and forge works fine on there. any suggestions on what to do??  
    • I installed the minecraft mod package server, but I cannot enter the server, a message appears. I would be glad if you could help me. .
    • i can't connect to my minecraft realm with forge it says: invalid session please try restarting minecraft, it works without forge...
  • Topics

×
×
  • Create New...

Important Information

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