Posted November 29, 201212 yr I've build a furnace and it works properly.BUT every time the client restarts,its burntime data will differ from that of server's.How can I deal with this?or what method should I choose?...hehe
November 29, 201212 yr I've build a furnace and it works properly.BUT every time the client restarts,its burntime data will differ from that of server's.How can I deal with this?or what method should I choose?...hehe Datawatchers. Look into datawatchers, and everytime the burn time changes(server side) update the datawatcher for those who are listening(the clients)
November 29, 201212 yr I've build a furnace and it works properly.BUT every time the client restarts,its burntime data will differ from that of server's.How can I deal with this?or what method should I choose?...hehe Datawatchers. Look into datawatchers, and everytime the burn time changes(server side) update the datawatcher for those who are listening(the clients) I assume he uses a block as furnace with a TileEntity. There isn't a DataWatcher available. What you can do is the build-in methods for sending/receiving packets in the TileEntity. Just look at the vanilla TileEntity class for the methods onDataPacket and getDescriptionPacket and override them in your TileEntity class. Here's an example code: @Override public void onDataPacket(INetworkManager net, Packet132TileEntityData pkt) { this.burnTime = par1Compound.getInteger("BurnTime"); } @Override public Packet getDescriptionPacket() { NBTTagCompound nbt = new NBTTagCompound(); nbt.setInteger("BurnTime", this.burnTime); return new Packet132TileEntityData(this.xCoord, this.yCoord, this.zCoord, 0, nbt); } 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 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.
November 29, 201212 yr I've build a furnace and it works properly.BUT every time the client restarts,its burntime data will differ from that of server's.How can I deal with this?or what method should I choose?...hehe Datawatchers. Look into datawatchers, and everytime the burn time changes(server side) update the datawatcher for those who are listening(the clients) I assume he uses a block as furnace with a TileEntity. There isn't a DataWatcher available. What you can do is the build-in methods for sending/receiving packets in the TileEntity. Just look at the vanilla TileEntity class for the methods onDataPacket and getDescriptionPacket and override them in your TileEntity class. Here's an example code: @Override public void onDataPacket(INetworkManager net, Packet132TileEntityData pkt) { this.burnTime = par1Compound.getInteger("BurnTime"); } @Override public Packet getDescriptionPacket() { NBTTagCompound nbt = new NBTTagCompound(); nbt.setInteger("BurnTime", this.burnTime); return new Packet132TileEntityData(this.xCoord, this.yCoord, this.zCoord, 0, nbt); } Yes you are right. My bad, I have been doing too much work with entities lately and not enough tile entities. San Andreas is correct And that is the same method I use for various information storage related blocks I made that he showed above.
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.