Jump to content

Recommended Posts

Posted

Hello everyone,

I'm the creator of the Train and Zeppelin mod (http://trains-and-zeppelin.wikispaces.com/), and I'm currently having a rather odd problem with my mod in SMP.

This problem has been there since the first FML version and I though perhaps this would be solved with time and updates, but it hasn't. (I'm using forge version 3.3.7 now)

So here is the problem in pictures:

 

This is the first start of the server:

2012-06-17_14.35.40.png

 

After restarting the server:

2012-06-17_14.34.51.png

 

Restarting again:

2012-06-17_14.36.45.png

 

IDs:

 

  Reveal hidden contents

 

 

This is how I register the entities (I'm just showing one here, but all are registered like that)

 

  Reveal hidden contents

 

 

I have seen this post, so all my IDs are under 128, but that didn't helped

http://minecraftforge.net/forum/index.php?topic=49.0

 

So, any ideas?

Posted

Things should work fine, Try debugging it and seeing if you are receiving the entity spawn packets like you should.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Posted

I have solved my problem :)

 

Let me explain how

The packet seems to work well, so that's not the problem:

I have added a System.out.println in PacketEntitySpawn

public PacketEntitySpawn(Entity ent, NetworkMod mod, int type)
    {
            entityID = ent.entityId;
            posX = MathHelper.floor_double(ent.posX * 32D);
            posY = MathHelper.floor_double(ent.posY * 32D);
            posZ = MathHelper.floor_double(ent.posZ * 32D);
            typeID = type;
            modID = MinecraftForge.getModID(mod);
            yaw   = (byte)(ent.rotationYaw * 256.0F / 360.0F);
            pitch    = (byte)(ent.rotationPitch * 256.0F / 360.0F);
            yawHead  = (byte)(ent instanceof EntityLiving ? ((EntityLiving)ent).rotationYawHead * 256.0F / 360.0F : 0);
            metadata = ent.getDataWatcher();
            System.out.println("spawn packet ent="+ent + " entitiyID="+entityID);

And things work correctly

spawn packet ent=net.minecraft.src.TrainMod.RollingStock.EntityLocoSteamBig@47b entitiyID=1147
spawn packet ent=net.minecraft.src.TrainMod.Zeppelin.EntityZepplin@47c entitiyID=1148

 

I have realised that the Zeppelin is never invisible

 

In my code the Zeppelin just extends Entity

My trains however are more complicated:

[*]EntityMinecart extends Entity (notch code)

[*]AbstractTrains extends EntityMinecart

[*]EntityRollingStock extends AbstractTrains

[*]DieselTrain extends EntityRollingStock

[*]finally EntityLocoGP40 extends DieselTrain

I realised that I had by mistake registered EntityRollingStock:

MinecraftForge.registerEntity(EntityRollingStock.class,this, EntityIds.ROLLINGSTOCK, 200, 2, true);

Removing that line solved my problem.

So it seems that some entities were randomly registered as EntityRollingStock and some others were registered under their own name.

 

Sorry for bothering you with my stupid mistake

And thanks for your help

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



×
×
  • Create New...

Important Information

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