Jump to content

NBT not saving


ss7

Recommended Posts

Hello,

 

My problem is, that my values that are stored in nbt data are not saving. I need to save the power of my machines, but every time i close minecraft and restart it, the power is 0.

 

Here is my code:

 

http://gw.minecraftforge.net/bDuT

 

And my updateEntity code if it has something to do with that:

 

http://gw.minecraftforge.net/zbSV

 

And no, my vars are not static.

 

ss7

You sir are a god damn hero.

Link to comment
Share on other sites

Hello,

 

Thank you very much! One of my machines is now saving the power, but it looks like the others are saving, but the power is not displayed at the client until i give the machine more power. Then the machine updates and shows even the saved power.

 

Do i need to send packets to update the gui of the machine?

 

ss7

You sir are a god damn hero.

Link to comment
Share on other sites

Hello,

 

Oh sorry, i missed that updateProgressBar thingy. But how should i do this with my other block, it has a TESR that renders the power on top of the block? And when i place one machine and destroy it and place another machine it crashes with a ClassCastException. It's because the TileEntity still exist, but i made a tileentity = null in the breakBlock method.

 

ss7

You sir are a god damn hero.

Link to comment
Share on other sites

Hello,

 

Thank you, that works perfectly. But with the TESR i've got that code in the TileEntity, but it's a little bit buggy:

 

@Override
public Packet getDescriptionPacket() 
{
	System.out.println("getDescriptionPacket");

	NBTTagCompound tag = new NBTTagCompound();

	writeToNBT(tag);

	return new Packet132TileEntityData(xCoord, yCoord, zCoord, 1, tag);
}

@Override
public void onDataPacket(INetworkManager net, Packet132TileEntityData pkt) 
{
	System.out.println("onDataPacket");

	readFromNBT(pkt.customParam1);
}

 

ss7

You sir are a god damn hero.

Link to comment
Share on other sites

And where are you sending your packet (PacketDispatcher.sendPacketToAllPlayers(getDescriptionPacket())) ? I would put that just after you set the progress to 13. Or you can move the checking for progressticks being 0 to only be executed by the server as well, and send the packet when you change the power.

Author of PneumaticCraft, MineChess, Minesweeper Mod and Sokoban Mod. Visit www.minemaarten.com to take a look at them.

Link to comment
Share on other sites

Hello,

 

So should i do a world.markBlockForUpdate() each render call?

 

And what should i put in getDescriptionPacket() and onDataPacket()? Should i just do writeToNbt() and readFromNbt()?

 

ss7

You sir are a god damn hero.

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.