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.