Posted May 17, 201312 yr I have a ArrayList that stores info about blocks that are changed and a method to restore them. But only two types of block are stored, waterMoving and waterStill. The ArrayList stores a object with ID, x, y and z values of each block. When the method is called, the blocks are replaced but, in game, if I jump to one I get stuck and if I place a block on top the water, it turns into the old block. Here's the code of restoreBlocks method. Can anyone tell me what's wrong/missing? public void restoreBlocks(World par1World){ if(!blocksChanged.isEmpty()){ for(int i=0;i<blocksChanged.size();i++){ par1World.setBlockToAir(blocksChanged.get(i).getX(), blocksChanged.get(i).getY(), blocksChanged.get(i).getZ()); par1World.setBlock(blocksChanged.get(i).getX(), blocksChanged.get(i).getY(), blocksChanged.get(i).getZ(), blocksChanged.get(i).getID()); } blocksChanged.clear(); } }
May 17, 201312 yr Author Seems to me like you are doing the changes client-side. Modify the world only on the server. I tried to replace the blocks on the server, but I think that I need something to control the replacement speed because it's crashing the game.
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.