Jump to content

Cant figure out how to pass Entity targetPos to task AIGoto


clowcadia

Recommended Posts

Link to comment
Share on other sites

19 minutes ago, clowcadia said:
                if(nbt==null) nbt = new NBTTagCompound();
                if(nbt.hasKey("targetX")){

When you create a brand new tag compound, it's never going to already have a given key - perhaps you meant to check if it doesn't have that key?

 

In gameplay terms, how do you want the ItemStack's target information to be given to the entity? Do you put the stack in the entity's inventory? Is the information sent to the entity as soon as the target is clicked?

Link to comment
Share on other sites

What this mod is supposed to do is allow the user to have a Target Item that is used by right clicking on a block/block position where the item internal nbt records the block position xyz. An entity that has a container with the gui where the player can then insert the Target item after a location in the Target item has been set to pass the location to the entity to go to. Once the entity reaches the target item target position the player then can take the target item back reset to a new target location to the items nbt and again insert to the entity s gui/container to pass another location to have the entity move to( this is where my mod is not functioning, the reset values of my target item are not passing to entity ai like they have the first time), this can be repeated unlimited times

Link to comment
Share on other sites

Then how do i read the items nbt from the task ai, everything i tried this far bring null on the calling of the nbt

i tried ItemStack.getItem().getSharedNBTTag().getInteger("targetX")

ItemStack.getNBTCompoundTag().getInteger("targetX")

top of my head examples of what i tried

Link to comment
Share on other sites

7 minutes ago, diesieben07 said:
  • Why are you calling getNBTShareTag? I don't think you know what it does...
  • In onItemUse you check if the stack already has an NBT tag. If it doesn't, you create a new NBT tag, put data into it and then just forget about it.

ShareTag i was using ealrier it work for the first time , and yes no idea what exactly it does, i do have the other option getNBTTagCompount as well though and it also returns null

 

and what do u mean forget about it, what else is supposed to be done?

 

https://github.com/Clowcadia/MinecraftForge/blob/master/1.11/NPCTesting/src/main/java/com/clowcadia/test/entities/living/ai/AIGoto.java#L36

Edited by clowcadia
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.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I'm trying to make my own modpack, but sometimes, in certain areas of the world, the game just says "server closed". Minecraft doesn't close, it just returns to the menu. When I tried to figure it out on my own and understand the logs, I didn't understand anything (English is not my native language, so it's difficult for me). I've been trying to solve the problem for the third month. So I ask if anyone is good at this and it's not difficult for you, to help me with this. If you need details, ask. I'll describe everything. What it looks like Logs
    • Hi i installed modpack to my server, it starts but when i join it crashes everytime, im running 1.20.1 forge version, all client mods are deleted from the server.   java.lang.NoClassDefFoundError: Could not initialize class sun.security.ssl.SSLContextImpl$DefaultSSLContext at java.lang.Class.forName0(Native Method) ~[?:?] {re:mixin} at java.lang.Class.forName(Class.java:390) ~[?:?] {re:mixin} at java.lang.Class.forName(Class.java:381) ~[?:?] {re:mixin} at java.security.Provider$Service.getImplClass(Provider.java:1967) ~[?:?] {} at java.security.Provider$Service.getDefaultConstructor(Provider.java:1998) ~[?:?] {} at java.security.Provider$Service.newInstanceOf(Provider.java:1912) ~[?:?] {} at java.security.Provider$Service.newInstanceUtil(Provider.java:1920) ~[?:?] {} at java.security.Provider$Service.newInstance(Provider.java:1895) ~[?:?] {} at sun.security.jca.GetInstance.getInstance(GetInstance.java:236) ~[?:?] {} at sun.security.jca.GetInstance.getInstance(GetInstance.java:164) ~[?:?] {} at javax.net.ssl.SSLContext.getInstance(SSLContext.java:185) ~[?:?] {} at javax.net.ssl.SSLContext.getDefault(SSLContext.java:110) ~[?:?] {} at javax.net.ssl.SSLSocketFactory.getDefault(SSLSocketFactory.java:83) ~[?:?] {} at javax.net.ssl.HttpsURLConnection.getDefaultSSLSocketFactory(HttpsURLConnection.java:336) ~[?:?] {} at javax.net.ssl.HttpsURLConnection.<init>(HttpsURLConnection.java:292) ~[?:?] {} at sun.net.www.protocol.https.HttpsURLConnectionImpl.&lt;init&gt;(HttpsURLConnectionImpl.java:81) ~[?:?] {} at sun.net.www.protocol.https.Handler.openConnection(Handler.java:62) ~[?:?] {} at sun.net.www.protocol.https.Handler.openConnection(Handler.java:57) ~[?:?] {} at java.net.URL.openConnection(URL.java:1095) ~[?:?] {re:mixin} at java.net.URL.openStream(URL.java:1162) ~[?:?] {re:mixin} at xxrexraptorxx.additionalstructures.utils.Events.SupporterCheck(Events.java:129) ~[AdditionalStructures-1.20.x-(v.4.2.2).jar%23401!/:4.2.2] {re:classloading} at xxrexraptorxx.additionalstructures.utils.Events.SupporterRewards(Events.java:86) ~[AdditionalStructures-1.20.x-(v.4.2.2).jar%23401!/:4.2.2] {re:classloading} at xxrexraptorxx.additionalstructures.utils.__Events_SupporterRewards_PlayerLoggedInEvent.invoke(.dynamic) ~[AdditionalStructures-1.20.x-(v.4.2.2).jar%23401!/:4.2.2] {re:classloading,pl:eventbus:B} at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:73) ~[eventbus-6.0.5.jar%2352!/:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) ~[eventbus-6.0.5.jar%2352!/:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) ~[eventbus-6.0.5.jar%2352!/:?] {} at net.minecraftforge.event.ForgeEventFactory.firePlayerLoggedIn(ForgeEventFactory.java:875) ~[forge-1.20.1-47.3.0-universal.jar%23694!/:?] {re:mixin,re:classloading,pl:mixin:A} at net.minecraft.server.players.PlayerList.m_11261_(PlayerList.java:261) ~[server-1.20.1-20230612.114412-srg.jar%23689!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A} at net.minecraft.server.network.ServerLoginPacketListenerImpl.m_143699_(ServerLoginPacketListenerImpl.java:139) ~[server-1.20.1-20230612.114412-srg.jar%23689!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:krypton.mixins.json:shared.network.pipeline.encryption.ServerLoginNetworkHandlerMixin,pl:mixin:APP:connectivity.mixins.json:ServerLoginNetHandlerMixin,pl:mixin:A} at net.minecraft.server.network.ServerLoginPacketListenerImpl.m_10055_(ServerLoginPacketListenerImpl.java:126) ~[server-1.20.1-20230612.114412-srg.jar%23689!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:krypton.mixins.json:shared.network.pipeline.encryption.ServerLoginNetworkHandlerMixin,pl:mixin:APP:connectivity.mixins.json:ServerLoginNetHandlerMixin,pl:mixin:A} at net.minecraft.server.network.ServerLoginPacketListenerImpl.m_9933_(ServerLoginPacketListenerImpl.java:70) ~[server-1.20.1-20230612.114412-srg.jar%23689!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:krypton.mixins.json:shared.network.pipeline.encryption.ServerLoginNetworkHandlerMixin,pl:mixin:APP:connectivity.mixins.json:ServerLoginNetHandlerMixin,pl:mixin:A} at net.minecraft.network.Connection.m_129483_(Connection.java:263) ~[server-1.20.1-20230612.114412-srg.jar%23689!/:?] {re:mixin,re:classloading,pl:mixin:APP:connectivity.mixins.json:AdvancedPacketErrorLogging,pl:mixin:APP:krypton.mixins.json:shared.network.flushconsolidation.ClientConnectionMixin,pl:mixin:APP:krypton.mixins.json:shared.network.pipeline.compression.ClientConnectionMixin,pl:mixin:APP:krypton.mixins.json:shared.network.pipeline.encryption.ClientConnectionMixin,pl:mixin:APP:connectivity.mixins.json:ConnectionErrorMixin,pl:mixin:APP:connectivity.mixins.json:NetworkManagerMixin,pl:mixin:A} at net.minecraft.server.network.ServerConnectionListener.m_9721_(ServerConnectionListener.java:142) ~[server-1.20.1-20230612.114412-srg.jar%23689!/:?] {re:mixin,re:classloading} at net.minecraft.server.MinecraftServer.m_5703_(MinecraftServer.java:907) ~[server-1.20.1-20230612.114412-srg.jar%23689!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:core.MinecraftServerMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftServerMixin,pl:mixin:APP:balm.mixins.json:MinecraftServerMixin,pl:mixin:APP:neruina.mixins.json:MinecraftServerMixin,pl:mixin:A} at net.minecraft.server.dedicated.DedicatedServer.m_5703_(DedicatedServer.java:283) ~[server-1.20.1-20230612.114412-srg.jar%23689!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:lithostitched.mixins.json:server.DedicatedServerMixin,pl:mixin:APP:mixins/common/nochatreports.mixins.json:server.MixinDedicatedServer,pl:mixin:APP:tombstone.mixins.json:DedicatedServerMixin,pl:mixin:A} at net.minecraft.server.MinecraftServer.m_5705_(MinecraftServer.java:814) ~[server-1.20.1-20230612.114412-srg.jar%23689!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:core.MinecraftServerMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftServerMixin,pl:mixin:APP:balm.mixins.json:MinecraftServerMixin,pl:mixin:APP:neruina.mixins.json:MinecraftServerMixin,pl:mixin:A} at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:661) ~[server-1.20.1-20230612.114412-srg.jar%23689!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:core.MinecraftServerMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftServerMixin,pl:mixin:APP:balm.mixins.json:MinecraftServerMixin,pl:mixin:APP:neruina.mixins.json:MinecraftServerMixin,pl:mixin:A} at net.minecraft.server.MinecraftServer.m_206580_(MinecraftServer.java:251) ~[server-1.20.1-20230612.114412-srg.jar%23689!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:core.MinecraftServerMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.dedicated_reload_executor.MinecraftServerMixin,pl:mixin:APP:balm.mixins.json:MinecraftServerMixin,pl:mixin:APP:neruina.mixins.json:MinecraftServerMixin,pl:mixin:A} at java.lang.Thread.run(Thread.java:1589) ~[?:?] {re:mixin} Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.ExceptionInInitializerError [in thread " Iron Furnaces Update Checker"] at javax.crypto.Cipher.getInstance(Cipher.java:548) ~[?:?] {re:mixin} at sun.security.ssl.SSLCipher.isTransformationAvailable(SSLCipher.java:523) ~[?:?] {} at sun.security.ssl.SSLCipher.<init>(SSLCipher.java:512) ~[?:?] {} at sun.security.ssl.SSLCipher.<clinit>(SSLCipher.java:93) ~[?:?] {} at sun.security.ssl.CipherSuite.<clinit>(CipherSuite.java:65) ~[?:?] {} at sun.security.ssl.SSLContextImpl.getApplicableSupportedCipherSuites(SSLContextImpl.java:343) ~[?:?] {} at sun.security.ssl.SSLContextImpl$AbstractTLSContext.<clinit>(SSLContextImpl.java:556) ~[?:?] {} at java.lang.Class.forName0(Native Method) ~[?:?] {re:mixin} at java.lang.Class.forName(Class.java:390) ~[?:?] {re:mixin} at java.lang.Class.forName(Class.java:381) ~[?:?] {re:mixin} at java.security.Provider$Service.getImplClass(Provider.java:1967) ~[?:?] {} at java.security.Provider$Service.getDefaultConstructor(Provider.java:1998) ~[?:?] {} at java.security.Provider$Service.newInstanceOf(Provider.java:1912) ~[?:?] {} at java.security.Provider$Service.newInstanceUtil(Provider.java:1920) ~[?:?] {} at java.security.Provider$Service.newInstance(Provider.java:1895) ~[?:?] {} at sun.security.jca.GetInstance.getInstance(GetInstance.java:236) ~[?:?] {} at sun.security.jca.GetInstance.getInstance(GetInstance.java:164) ~[?:?] {} at javax.net.ssl.SSLContext.getInstance(SSLContext.java:185) ~[?:?] {} at javax.net.ssl.SSLContext.getDefault(SSLContext.java:110) ~[?:?] {} at javax.net.ssl.SSLSocketFactory.getDefault(SSLSocketFactory.java:83) ~[?:?] {} at javax.net.ssl.HttpsURLConnection.getDefaultSSLSocketFactory(HttpsURLConnection.java:336) ~[?:?] {} at javax.net.ssl.HttpsURLConnection.<init>(HttpsURLConnection.java:292) ~[?:?] {} at sun.net.www.protocol.https.HttpsURLConnectionImpl.&lt;init&gt;(HttpsURLConnectionImpl.java:81) ~[?:?] {} at sun.net.www.protocol.https.Handler.openConnection(Handler.java:62) ~[?:?] {} at sun.net.www.protocol.https.Handler.openConnection(Handler.java:57) ~[?:?] {} at java.net.URL.openConnection(URL.java:1095) ~[?:?] {re:mixin} at java.net.URL.openStream(URL.java:1162) ~[?:?] {re:mixin} at ironfurnaces.update.ThreadUpdateChecker.run(ThreadUpdateChecker.java:30) ~[ironfurnaces-1.20.1-4.1.6.jar%23534!/:4.1.6] {re:classloading}
    • If anyone is wanting to know, the solution looked like this:   // Helper method to check sunlight conditions (including daylight) private static boolean isSufficientSunlight(Level world, BlockPos pos) { int skyLight = world.getBrightness(LightLayer.SKY, pos); long dayTime = world.getDayTime() % 24000; // Check if it's daytime and if there is enough sunlight return dayTime < 12000 && skyLight >= 5; } @SubscribeEvent public static void onCropGrow(BlockEvent.CropGrowEvent.Post event) { Level world = (Level) event.getLevel(); if (world.isClientSide) return; // Don't run logic on the client side BlockPos pos = event.getPos(); // Check if the block is a glowberry vine, skip destruction if it is if (event.getState().getBlock() == Blocks.CAVE_VINES || event.getState().getBlock() == Blocks.CAVE_VINES_PLANT) { // Skip glowberry vines return; } // Check sunlight and time restrictions if (world.getBrightness(LightLayer.SKY, pos) < 13) { // Destroy the crop (turn it into air) if there is not strong sunlight world.removeBlock(pos, false); } } // Doesn't let animals breed if there is no sunlight @SubscribeEvent public static void onAnimalBreed(BabyEntitySpawnEvent event) { Level world = event.getParentA().getCommandSenderWorld(); if (world.isClientSide) return; // Don't run logic on the client side if (!(event.getParentA() instanceof Animal) || !(event.getParentB() instanceof Animal)) { return; // Ensure it is animals breeding } Animal parentA = (Animal) event.getParentA(); Animal parentB = (Animal) event.getParentB(); // Doesn't let chicken breed if (parentA instanceof Chicken || parentB instanceof Chicken){ event.setCanceled(true); return; } if (!isSufficientSunlight(world, parentA.blockPosition())) { // Cancel the breeding event event.setCanceled(true); return; } if (!isSufficientSunlight(world, parentB.blockPosition())) { // Cancel the breeding event event.setCanceled(true); } }  
  • Topics

×
×
  • Create New...

Important Information

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