Jump to content

1.7.10 - Server does not show information in log on


Casual Dutchman

Recommended Posts

I have made a mob which you can give an item and then the model will change a bit.

Everytime I log on to my world, that change is not shown on screen.

I create a simple println() to show if the item is stored in it and it does.

 

How can I make the World or Server render the change when starting the world.

Coding, Testing, Smiling, Publishing!

Link to comment
Share on other sites

  • 2 weeks later...

You will have to synchronize the data via Packets.

Try to do it, but how do I check if an item is added to an itemstack or removed.

Let me be more specific.

When you right click, a gui will open.

There is an slot that will need an item.

When this item is placed in there, there will be something added to the model.

This works fine, but when on a server, the added thing to the model does not show an other client.

 

Ho do I check this?

Coding, Testing, Smiling, Publishing!

Link to comment
Share on other sites

You need to check every tick if the value changed (in onUpdate of your Entity for example). If it did indeed change (you will need a 2nd field to track if the value has changed) you send a packet to all players tracking your entity (see EntityTracker#func_151247_a) which tells the client about the new value.

So, i'm sending stuf through packages with the Message stuff. (followed your thread on that)

But how do I tell the other clients that something has changed?

Coding, Testing, Smiling, Publishing!

Link to comment
Share on other sites

Show your code, if you followed what I posted it should update all players.

That is a bit of a problem.

I have no clue on how to do that thing.

Should I just check it and then send a package to the server telling the item is changed so the model can be changed on all clients.

Would that work, gonna test it right away

Coding, Testing, Smiling, Publishing!

Link to comment
Share on other sites

Nonono... the Server would send packets to all clients.

I mean when I checked if the itemstack and then use network.sendToServer() to change the itemstack again but then use by server so the server will change the itemstack.

 

Maybe I could also modify the Slot class, the OnSlotChanged methode. So it will send a package to the server.

Coding, Testing, Smiling, Publishing!

Link to comment
Share on other sites

So it does not change a thing. for the way I does it.

 

if(message.code == 10){
			WorldServer worldserver = (WorldServer)ctx.getServerHandler().playerEntity.worldObj;
			EntityTracker track = worldserver.getEntityTracker();
			Entity entity = ctx.getServerHandler().playerEntity.worldObj.getEntityByID(message.entityID);
			EntityHireable hire = (EntityHireable)entity;
			hire.Backpack = -1;
			track.func_151247_a(entity, Core.network.getPacketFrom(message));
		}

 

I this is text from the console:

 

[19:43:28] [Client thread/ERROR] [FML]: Detected ongoing potential memory leak. 100 packets have leaked. Top offenders
[19:43:28] [Client thread/ERROR] [FML]: 	 comp101.channel : 100

Coding, Testing, Smiling, Publishing!

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



×
×
  • Create New...

Important Information

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