TransWikia.com

How can I block people getting onto the roof of the Nether in Minecraft?

Arqade Asked by kanosereg on December 15, 2020

I’m building a Minecraft "War" server where there are 2 teams. Each has a 750×750 area of the Nether to gain resources from. However, I don’t want them getting onto the Nether roof and then breaking bedrock to gain access into the other team’s side. I can use command blocks and commands.

2 Answers

Note: The following method is for a finite area.

1.13+

Command (obviously adjust the coordinates for your needs):

/execute as @a[x=0,y=123,z=0,dx=750,dy=200,dz=750] at @s run tp @s ~ 121 ~
  • x=0..y=..z=... - Corner 1
  • dx=750..dy=..dz=... - Corner 2
  • ~ 121 ~ - Location of player, but at Y 121

1.8 - 1.12

Command (obviously adjust the coordinates for your needs):

/execute @a[x=0,y=123,z=0,dx=750,dy=200,dz=750] tp @s ~ 121 ~
  • x=0..y=..z=... - Corner 1
  • dx=750..dy=..dz=... - Corner 2
  • ~ 121 ~ - Location of player, but at Y 121

1.7-

The selector arguments dx, dy, and dz did not exist pre-1.8.

Answered by Penguin on December 15, 2020

My method uses scoreboards for detecting position. Since with scoreboards you can execute if a score is in a range.

Note: This will work in a infinite area, and may cause less lag then some other methods

Hovering your mouse over italicized words will give you a short explanation/tooltip

Important: You must be in a Minecraft version of at least 1.13 for this method to work

Preparation

In Minecraft, you need to create a scoreboard objective with a dummy critera. You can do that with the following command.

scoreboard objectives create ypos dummy

After Preparation

Next, you need to have in a Repeating Command Block or a Ticking Function a command that gets the Pos[1] of all players/entities and stores it in our ypos scoreboard. The following command will accomplish that.

execute as @a at @s store result score @s ypos run data get entity @s Pos[1]

If you want it to work for all entities, replace @a with @e. Next, you need a Repeating Command Block or a Ticking Function with a command testing for players that have a ypos score of 122 or more and teleport them to 121 or lower. The following command accomplishes that.

execute as @a[scores={ypos=122..}] at @s run tp ~ 121 ~

Again, if you want this to work with entities, change the @a to @e

Summary

This method stores the ypos of every player/entity in a scoreboard, then checks to see if the ypos value is greater than or equal to 122 and if so, it will teleport them down.

Answered by randomuser922 on December 15, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP