Failender Posted June 15, 2015 Posted June 15, 2015 Hello everyone, I am triing to safe another TileEntity inside another. I do this because I need a reference to "drain energy" from it. I am doing it this way because I am building a mod which based on each player having his own base, which is storing all the stuff like energy. That means that each "machine" needs a reference to the base to drain energy from it. So I thought about setting the TileEntity and saving it. Problem is if I want to read it I need a worldObj to get the TileEntity from at a saved BlockPos. To sum things up: I need to get a worldObj on client and server side. Client side should be easy, use Minecraft.getMinecraft().thePlayer. For Server I have no idea. Also I need a way to find out if I am on Server or Client Side, because otherway it will crash when I try to access Minecraft.getMinecraft. Of course one way would be a try catch around Minecraft.getMinecraft , catching the ClassNotFoundException, but that feels shitty.. Quote
larsgerrits Posted June 15, 2015 Posted June 15, 2015 Never make a direct reference to a TileEntity over a long period! It can change and you will crash/bug out. Instead, just have a BlockPos variable you save to and read from NBT, and whenever you need to get the TileEntity, use IBlockAccess#getTileEntity() to get it. This makes sure you don't change a TileEntity that doesn't exist anymore. Quote Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support. 1.12 -> 1.13 primer by williewillus. 1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support. http://www.howoldisminecraft1710.today/
Failender Posted June 15, 2015 Author Posted June 15, 2015 First of all, thank you for the information larsgerrits. Second I just realized that I am totally dumb, since tileEntites have a worldObj inside them Quote
Recommended Posts
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.