Posted September 7, 201312 yr Hello Guys! I have a little problem with a mod I am developing. It is my first mod to include a tile entity. I have registered the tile entity in the main mod file, and the block interacts with the tile entity perfectly. If I close the world and open it again, the data is reloaded and it is great! However, whenever you close the game and open the world again, the tile entity throws this exception: 2013-09-07 22:13:27 [sEVERE] [ForgeModLoader] A TileEntity fortress_teleporter_tile_ent(assets.fortress.romejanic.common.tileentity.TileEntityTeleporter) has thrown an exception during loading, its state cannot be restored. Report this to the mod author net.minecraft.util.ReportedException: Reading NBT data at net.minecraft.nbt.NBTTagCompound.getDouble(NBTTagCompound.java:282) at assets.fortress.romejanic.common.tileentity.TileEntityTeleporter.readFromNBT(TileEntityTeleporter.java:46) at net.minecraft.tileentity.TileEntity.createAndLoadEntity(TileEntity.java:152) at net.minecraft.world.chunk.storage.AnvilChunkLoader.readChunkFromNBT(AnvilChunkLoader.java:440) at net.minecraft.world.chunk.storage.AnvilChunkLoader.checkedReadChunkFromNBT(AnvilChunkLoader.java:103) at net.minecraft.world.chunk.storage.AnvilChunkLoader.loadChunk(AnvilChunkLoader.java:83) at net.minecraft.world.gen.ChunkProviderServer.safeLoadChunk(ChunkProviderServer.java:182) at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:118) at net.minecraft.server.MinecraftServer.initialWorldChunkLoad(MinecraftServer.java:292) at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:90) at net.minecraft.server.integrated.IntegratedServer.startServer(IntegratedServer.java:107) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:443) at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16) Caused by: java.lang.ClassCastException: net.minecraft.nbt.NBTTagInt cannot be cast to net.minecraft.nbt.NBTTagDouble at net.minecraft.nbt.NBTTagCompound.getDouble(NBTTagCompound.java:278) ... 12 more and it's data is lost. For some reason when the game restarts, it has problems reading the block's NBT data from the world save files, resulting in the tile entity's complete file loss. It would be brilliant of someone could help me out with this! I would really appreciate it and you would help a good mod reach the goal of release! Here is some of my code... Registry in main mod file: GameRegistry.registerTileEntity(TileEntityTeleporter.class, "fortress_teleporter_tile_ent"); Tile Entity Code: package assets.fortress.romejanic.common.tileentity; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; public class TileEntityTeleporter extends TileEntity{ public boolean onlyOwner = false; public boolean hasBeenSetUp = false; public String owner = null; public double x = 0d; public double y = 0d; public double z = 0d; @Override public void writeToNBT(NBTTagCompound par1) { par1.setBoolean("onlyOwnerCanTeleport", onlyOwner); par1.setBoolean("hasBeenSetUp", hasBeenSetUp); if(owner != null){ par1.setString("owner", owner); } else{ par1.setString("owner", ""); } par1.setDouble("x", x); par1.setDouble("y", y); par1.setDouble("z", z); super.writeToNBT(par1); } @Override public void readFromNBT(NBTTagCompound par1) { onlyOwner = par1.getBoolean("onlyOwnerCanTeleport"); hasBeenSetUp = par1.getBoolean("hasBeenSetUp"); owner = par1.getString("owner"); x = par1.getDouble("x"); y = par1.getDouble("y"); z = par1.getDouble("z"); super.readFromNBT(par1); } } Thanks Guys! Hope you can help out! Romejanic Romejanic Creator of Witch Hats, Explosive Chickens and Battlefield!
September 7, 201312 yr You aren't allowed to use "x","y","z" entries. They are used for storing tile entity coordinates.
September 7, 201312 yr Author MY GOD It works! Thank you so much for that! I really appreciate it! Thanks! Romejanic Romejanic Creator of Witch Hats, Explosive Chickens and Battlefield!
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.