Flayr Posted October 9, 2013 Posted October 9, 2013 I cannot believe that I have to post this, but I can't seem to find the answer by looking through the source. How do I get the coordinates of a block inside it's class as variables that I can use outside of a method that has x y and z as parameters. Quote
Mazetar Posted October 9, 2013 Posted October 9, 2013 Without a TileEntity then you can't. Unless you store a reference to every block placed in a list etc. But then a TE is what you would want You really can't store ANYTHING inside a block except for metadata. If you need to store more than that then you need a TE. For a full explanation as to why see: http://greyminecraftcoder.blogspot.com.au/2013/07/blocks.html Quote If you guys dont get it.. then well ya.. try harder...
Flayr Posted October 10, 2013 Author Posted October 10, 2013 Without a TileEntity then you can't. Unless you store a reference to every block placed in a list etc. But then a TE is what you would want You really can't store ANYTHING inside a block except for metadata. If you need to store more than that then you need a TE. For a full explanation as to why see: http://greyminecraftcoder.blogspot.com.au/2013/07/blocks.html I don't want to store any data I just need to get the coordinates of the block for use in methods, here is an example that would require the x coordinate of the block: public TileEntity createNewTileEntity(World par1world){ if(x>0){ return new TileEntityExample(); }else{ return new TileEntityExample2(); } Quote
Mazetar Posted October 10, 2013 Posted October 10, 2013 That's impossible mate. But what you could do is create a new tileEntityA which in it's update method checks the Xcoord and then repalces its self with either TileEntityB or TileEntityC ((TE's get their positions set during their construction)) Quote If you guys dont get it.. then well ya.. try harder...
thebest108 Posted October 11, 2013 Posted October 11, 2013 The block coords aren't static so you can't. Also block pos is stored somewhere is World Quote "you seem to be THE best modder I've seen imo." ~spynathan ლ(́◉◞౪◟◉‵ლ
coolAlias Posted October 11, 2013 Posted October 11, 2013 The block coords aren't static so you can't. Also block pos is stored somewhere is World Static means that there is only one instance of a variable for all members of a class, so if block coordinates were static, all blocks would have the same coordinates. If a member variable is not static, that means you need an instance of the class to access the variable. In other words, the object has to exist in order for you to access its data; in this case, you need an existing TileEntity object in order to access its x/y/z coordinates, because if it doesn't exist, how could it have a position? In a nutshell, this is not a case in which you want to use static objects, and Mazetar's suggestion is your best bet. Quote http://i.imgur.com/NdrFdld.png[/img]
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.