Custom TNT Crash the server

Hi !

I created a mod with alot of items/blocks. Everything works on singleplayer and multiplayer except my nuke only works in singleplayer : there’s a screen of the logs when the nuke explodes and make crash the server instantly

I really need help please

It looks like you’re using SpongeForge for 1.8, SpongeForge has since been updated and many bugs have been fixed in 1.8.9. None of the changes are being back ported to 1.8 at the present time.

2 Likes

I upgraded to the latest version of SpongeForge, now, nothing works anymore on multi, when I to place a block, it disapear from my hand, I can’t drop my items.

Help please…

Could you paste the entire log file?

1 Like

So, I fixed the problem.

Except for the tnts, they still crash the server when I fused them.

The crash report : http://pastebin.com/dM2LFJVd

Someone please?

As a temporary fix, you can disable entity-activation-range in your Sponge config.

Is this crash happening when you ignite regular TNT, or just your custom entity?

1 Like

Thanks for the answer,

It happens only with the custom entity.

Is it possible I could see the code for your mod with the custom entity? I’d like to see if the problem is your mod or spongeforge.

1 Like

The class Entity Nuke Primed > http://pastebin.com/WwbJKx8K

The class TNT extends BlockTNT > http://pastebin.com/t1yD0AV3

How are you registering the entity? I need to see where it gets registered.

1 Like

class RenderNuke http://pastebin.com/SRZwj0P8

class EntityNukePrimed http://pastebin.com/G9nHy9e8

class Main http://pastebin.com/R0Ha57m4

class CommonProxy http://pastebin.com/VPvsaFCu

class ClientProxy http://pastebin.com/PEdGBZFK

Its the RegisterMod?
Or the Render thing

In your TNT class, you create an entity “EntityIceTNTPrimed”, however I don’t see that being registered anywhere. Add the registration for it and retest (enable entity-activation-range again first so that you know the crash is reproducible).

1 Like

Should i use this in the clientproxy ?

EntityRegistry.registerModEntity(EntityNukePrimed.class, “Nuke”, 25000, Main.instance, 256, 1, false );

Do it in either the main mod class or in the common proxy

1 Like

So, I write that in the Init of the main class >

RenderManager renderManager = Minecraft.getMinecraft().getRenderManager();

private void Render(Class<EntityNukePrimed> entityNukePrimedClass, RenderNuke renderNuke)
{
	Render(EntityNukePrimed.class, new RenderNuke(renderManager));

}


@EventHandler
public void preInit(FMLPreInitializationEvent e) {
	proxy.preInit(e);

}
@EventHandler
public void init(FMLInitializationEvent e) {
	proxy.init(e);

	EntityRegistry.registerModEntity(EntityNukePrimed.class, "Nuke", 25000, this.instance, 256, 1, false);
}
@EventHandler
public void postInit(FMLPostInitializationEvent e) 
{
	proxy.postInit(e);
    System.out.println("Done loading TheMod");	}

and it crash the server instantly:

http://pastebin.com/bdZvUJmC

maybe the Render, renderManager?

Don’t touch the rendering, that’s just client side - that crash is because you moved it on the server.
All I suggested you do is make sure the entity is registered in the EntityRegistry

1 Like

So what I do?

Delete that ? = RenderManager renderManager = Minecraft.getMinecraft().getRenderManager();

private void Render(Class entityNukePrimedClass, RenderNuke renderNuke)
{
Render(EntityNukePrimed.class, new RenderNuke(renderManager));

}

EDIT : Great, that seems to work to fix the crash instant. But still crash when they fuse on

So in your Main class the init method registers all entities?

registerModEntity(EntityNukePrimed.class, "Nuke", 20000, this.instance, 256, 1, false);
registerModEntity(EntityTitaniteArrow.class, "Titanite_Arrow", 21058, this.instance, 40, 1, true);
registerModEntity(EntityIceTNTPrimed.class, [...], [...], this.instance, [...], [...], [...]);
1 Like