Jump to content

Recommended Posts

Posted

Whenever my custom boss uses one of it's attacks, it stops the internal server. The client is still working, though, and when I exit game it never saves properly.

 

EntityGlitch:

https://github.com/Nimbleguy/The-Void/blob/dev/aj/Java/Nullvoid/Entity/EntityGlitch.java

GlitchReach(The attack that I think is crashing):

https://github.com/Nimbleguy/The-Void/blob/dev/aj/Java/Nullvoid/Entity/Attack/GlitchReach.java

 

It uses the attack, then after a second the server stops. Nothing appears in the logs, but particle packets stop being sent, chat won't work, and nothing moves.

Posted

Make a breakpoint at the first line of the use() method and run MC in debug mode. When it reaches the breakpoint, step forward each line until it stops working.

Debug mode is one of the most powerful tools you can get with an IDE and you should always use it whenever something is not entirely obvious.

Don't ask for support per PM! They'll get ignored! | If a post helped you, click the "Thank You" button at the top right corner of said post! |

mah twitter

  Quote

This thread makes me sad because people just post copy-paste-ready code when it's obvious that the OP has little to no programming experience. This is not how learning works.

Posted

After further investigation, it seems like it is GlitchCorrupt that might be doing it.

https://github.com/Nimbleguy/The-Void/blob/dev/aj/Java/Nullvoid/Entity/Attack/GlitchCorrupt.java

 

When GlitchCorrupt is called, it does not teleport to the target's location. I think the server-crash might be causing that.

 

There are also a few more problems that if I don't figure out I will put in another thread.

 

It keeps sysouting, but the symptoms I described still happens. It seems like onLivingUpdate stops being called.

I will try using breakpoints for it, but from my testing it stops right when GlitchCorrupt is called.

Posted

And after even further testing, it seems like the attacks are not the problem. The server-shutdown seems to happen regardless of which attack it does. It could be something in onLivingUpdate.

Posted

I tested on a dedicated server. It seems like it only freezes the server, not crash. I cannot connect back to the server when I test it. What I think is happening is the main thread gets in an infinite loop. Debug says that the thread is still running when on client. Not sure on server.

Any help?

Posted

Hi

 

If the server is stuck in an infinite loop, use your debugger to pause execution and look at the stack frames (i.e. the method it is currently in on the server thread) to see what it is doing-?

 

-TGG

Posted

Here is the stack trace:

 

  Reveal hidden contents

 

 

Ok, I don't even know the cause anymore. The thread seems to be executing perfectly. I checked at multiple times and it was not freezing.

Posted

Hi

 

Hmmm

 

      Thread [server thread] (Suspended)   
         WorldServer(World).selectEntitiesWithinAABB(Class, AxisAlignedBB, IEntitySelector) line: 3489   
         WorldServer(World).getEntitiesWithinAABB(Class, AxisAlignedBB) line: 3476   
         WorldServer(World).findNearestEntityWithinAABB(Class, AxisAlignedBB, Entity) line: 3503   
         EntityAIWatchClosest.shouldExecute() line: 59  
// ... etc //
         EntityGlitch(EntityLivingBase).onLivingUpdate() line: 1993   
         EntityGlitch(EntityLiving).onLivingUpdate() line: 431   
         EntityGlitch(EntityMob).onLivingUpdate() line: 39   
         EntityGlitch.onLivingUpdate() line: 177   
         EntityGlitch(EntityLivingBase).onUpdate() line: 1826   
         EntityGlitch(EntityLiving).onUpdate() line: 250   
         EntityGlitch(EntityMob).onUpdate() line: 47   

The fact that it paused in a method related to your Entity makes me suspicious.  If you pause it several times, is it always in your onUpdate()?

 

-TGG

 

 

 

 

Posted

Yes, it is. In the last few times I paused it, it was on this:

 

  Reveal hidden contents

 

Posted

I wonder if you have done something wrong with the entity AI.

 

When you have paused it, if you step out of the methods one at a time, does it eventually go all the way back out to WorldServer.updateEntities?

If not, what method is it stuck in?

 

-TGG

Posted

I fixed it!

 

I think doing EntityAIWatchClosest with a model that is basically nothing does not work...

I just removed it and it worked. I don't even know why I put in that watch closest.

Thank you!

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

    • Managed to solve the issue myself. Solved by a fresh modpack instance.
    • Hello, so straight to the problem. Today i wanted to startup Enigmatica as usual and it just wont startup. Last night everything worked fine, i didnt even turn off my pc. Crash log: https://mclo.gs/GJ6Kcy1
    • Rubidium and Embeddium are versions of the same mod, you can only have one. I believe Embeddium is the one that's actively maintained.
    • Hello, New to modding, but have a solid CS foundation. I've created multiple custom BlockEntities that all have the same issue, which is that the inventory only updates on right click (overriding the useItemOn method). I've seen multiple posts on here outlining a similar issue to mine, but I've already implemented the solution of: overriding the correct methods in the BlockEntity class and calling setChanged(). I've tried every different place for setChanged() to no success. I'm wondering if I'm missing something else or if there was some change to sending data to the client in 1.21.5? Or will I have to use a custom packet sender? Here is the code for one of my BlockEntity classes with a single inventory slot: public class MyCustomBlockEntity extends BlockEntity { public final ItemStackHandler inventory = new ItemStackHandler(1) { @Override protected int getStackLimit(int slot, @NotNull ItemStack stack) { return 1; } @Override protected void onContentsChanged(int slot) { setChanged(); if (!level.isClientSide()) { level.setBlockAndUpdate(getBlockPos(), getBlockState()); } } }; public MyCustomBlockEntity(BlockPos pPos, BlockState pBlockState) { super(ModBlockEntities.MY_CUSTOM_BE.get(), pPos, pBlockState); } public void clearContents() { inventory.setStackInSlot(0, ItemStack.EMPTY); } public void dropItem() { SimpleContainer inv = new SimpleContainer(inventory.getSlots()); inv.setItem(0, inventory.getStackInSlot(0)); Containers.dropContents(this.level, this.worldPosition, inv); } @Override public void setRemoved() { dropItem(); super.setRemoved(); } @Override protected void saveAdditional(CompoundTag pTag, HolderLookup.Provider pRegistries) { super.saveAdditional(pTag, pRegistries); pTag.put("inventory", inventory.serializeNBT(pRegistries)); } @Override protected void loadAdditional(CompoundTag pTag, HolderLookup.Provider pRegistries) { super.loadAdditional(pTag, pRegistries); inventory.deserializeNBT(pRegistries, pTag.getCompound("inventory").get()); } @Override public Packet<ClientGamePacketListener> getUpdatePacket() { return ClientboundBlockEntityDataPacket.create(this); } @Override public CompoundTag getUpdateTag(HolderLookup.Provider pRegistries) { return saveWithoutMetadata(pRegistries); } } Mostly encountering the issue when calling the clearContents() method anywhere outside of useItemOn() in the Block class. I've also tried overriding both the handleUpdateTag() and onDataPacket() methods, calling their super along with loadAdditional(), but neither changed the outcome. Thanks in advance for any replies.
    • Hi all! I’m working on a Jurassic Park-themed mod for Minecraft 1.20.1, aiming to include dinosaurs, fossils, DNA extraction, and cool machines. This is a free project, mainly passion-driven, and I’ll give full credit to everyone involved. this is the perfect opportunity for beginners of modeling and coding. This project will give you experience and a creative freedom If you love dinosaurs and Minecraft modding, hit me up! Thanks! Add Me ogfrost. <--- Discord
  • Topics

  • Who's Online (See full list)

    • There are no registered users currently online
×
×
  • Create New...

Important Information

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