coolkiddo Posted October 25, 2016 Share Posted October 25, 2016 Hi, I've been trying to set world border upon creating a new world in that world, and didn't have any success. Basically, all I did for testing was creating a new class ModEventHandler and putting this there: @SubscribeEvent public void oregen(OreGenEvent.Post event) { boolean placed = false; if(placed != true) { World world = event.getWorld(); int x = world.getSpawnPoint().getX(); int z = world.getSpawnPoint().getZ(); WorldBorder worldborder = world.getWorldBorder(); worldborder.setCenter(x, z); worldborder.setSize(10); System.out.println("Border set at coordinates "+x + "/" +z+ " and of size "+ worldborder.getSize()); placed = true; } System.out.println("Am I being called?"); } When I get into the game, I die in a second and it says that I suffocated in a wall (just like if I was stuck in world border). But /worldborder get says that the world border is still 60000000 blocks wide. And the border itself can't be seen. I suppose something is wrong with setSize but in source files it is a very plain setter function. And by the way, is there an event that only runs once on creating new world? OreGenEvent was called really many times and I'm not sure putting that boolean there is a good thing. Quote Link to comment Share on other sites More sharing options...
Animefan8888 Posted October 26, 2016 Share Posted October 26, 2016 Use the WorldLoadEvent instead of OreGenEvent.Post as that will get called a lot. Quote VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect. Forge and vanilla BlockState generator. Link to comment Share on other sites More sharing options...
coolkiddo Posted October 26, 2016 Author Share Posted October 26, 2016 Use the WorldLoadEvent instead of OreGenEvent.Post as that will get called a lot. Yep, only gets called three times now for all three dimensions. Still, the border won't work. Inb4: I was looking through CommandWorldBorder and realized setCenter arguments are double and they get incremented by 0.5. With hope that this is the problem, I changed the line in my code to this worldborder.setCenter((double)x+0.5D, (double)z+0.5D); And it still won't work. Quote Link to comment Share on other sites More sharing options...
Animefan8888 Posted October 26, 2016 Share Posted October 26, 2016 Use the WorldLoadEvent instead of OreGenEvent.Post as that will get called a lot. Yep, only gets called three times now for all three dimensions. Still, the border won't work. Inb4: I was looking through CommandWorldBorder and realized setCenter arguments are double and they get incremented by 0.5. With hope that this is the problem, I changed the line in my code to this worldborder.setCenter((double)x+0.5D, (double)z+0.5D); And it still won't work. I'm pretty sure set center does not change the length of the world border. Quote VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect. Forge and vanilla BlockState generator. Link to comment Share on other sites More sharing options...
coolkiddo Posted October 26, 2016 Author Share Posted October 26, 2016 I'm pretty sure set center does not change the length of the world border. It has to change its center (clearly). But in game it won't. I found out that the border will remain at 0,0 no matter what coordinates I specify in setCenter. Moreover, I'm unable to move the border with in-game commands. This is really weird. Basically, I need a world border that would start from the world spawn and have size of ~16 chunks (8 chunks radius). Maybe it's been coded in someone else's mod? Quote Link to comment Share on other sites More sharing options...
coolkiddo Posted October 26, 2016 Author Share Posted October 26, 2016 Had to use setTransition instead of setSize, which was pretty unobvious. Now everything works perfectly though. Quote Link to comment Share on other sites More sharing options...
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.