Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

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.

  • Author

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.

 

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.

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.

  • Author

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?

  • Author

Had to use setTransition instead of setSize, which was pretty unobvious. Now everything works perfectly though.

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.