Posted September 1, 201510 yr Is there a way to efficiently check if a specific block is within the range of a player, without checking every block?. (Atleast 100 blocks)
September 1, 201510 yr I've done a quick test. In the constructor add this this.setTickRandomly(true); And then override the randomDisplayTick method like this @Override public void randomDisplayTick(World worldIn, BlockPos pos, IBlockState state, Random rand) { EntityPlayer player = worldIn.getClosestPlayer(pos.getX(), pos.getY(), pos.getZ(), 100); if(player == null) System.out.println("PLAYER FAR"); else System.out.println("PLAYER NEAR"); } Unfortunately this will not work on multiplayer (it takes only the closest player, not ALL the players in that radius, but i will do more tests Don't blame me if i always ask for your help. I just want to learn to be better
September 1, 201510 yr checking from the block isnt the best idea. give us some more information please. why do you need to check that, when do you need to check that and how common is ur block
September 1, 201510 yr Author I haven't got the exact idea down or what my "wasteland" idea is, so lets use a silly example. Lets say the world is really hot and I have air conditioning blocks. The closer you are to this ac block, the less hot you are. The further away you are, the more hot you are and the more chance you have of losing health. While that's not exactly how the player will see it, that is exactly what the code will be doing. (Kinda like your health could be the number of potatoes you have, and if you have 0 potatoes, you die... Idek hahaha!)
September 1, 201510 yr Author Your best choice is probably a TileEntity. What methods would help me within the TileEntity?
September 1, 201510 yr well. One way to do that would be to make the conditioner ticking tileentities. every tick check how far every player is away (get their position and use gud simple math to calculate the distance) and give them benefits depending on the distance
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.