4

In vanilla Minecraft, is it possible to block creation of new Nether portals? This is for a Survival/Adventure hybrid map; I want the player to have a great deal of freedom, but to control access to the Nether to portals I've placed in the world. I can ask players to not build new portals, but it would be nice to have the rule mechanically enforced.

Possibilities include: somehow detecting and destroying the Nether portal blocks when they appear; not allowing the portal to be activated in the first place, and damaging the obsidian frame; somehow "tainting" any obsidian in the world or created so it's no longer eligible to be part of a port.

I'm at a loss for what a solution might look like beyond "Probably some command blocks." Trying to /testforblock every block in the world seems impractical.

3
  • 1
    Crazy thought, but how about making the Nether totally destroyed so someone cannot build anything in it? Like, flooding everywhere with lava, spawn a ton of Zombie Pigmen, etc.
    – 54D
    Commented Sep 19, 2015 at 7:44
  • 2
    This should definitely be doable, but it will take some command-block-fu.
    – MBraedley
    Commented Sep 19, 2015 at 11:08
  • That's not a bad fallback plan, although since I do want to use the Nether in controlled ways, the player could open a portal and end up in the area that does exist. If you mean fill it with, say, lava, then clear it for the "correct" portal, also intriguing... Commented Sep 19, 2015 at 19:23

2 Answers 2

3

You should use the /fill command to replace nether portal blocks with air. You don't want this running all of the time though, only when a player uses flint and steel. First, create an objective to track when flint and steel is used:

/scoreboard objectives add usedFaS stat.useItem.minecraft.flint_and_steel

Then, run these two commands on a clock in this order to clear nether portals around the player who just used a flint and steel:

/execute @a[score_usedFaS_min=1] ~ ~ ~ /fill ~-6 ~-6 ~-6 ~6 ~6 ~6 air 0 replace portal
/scoreboard players set @a[score_usedFaS_min=1] usedFaS 0

Note that this will replace any portals nearby, so you should have something to relight the portals that you want to stay lit.

5
  • 1
    There are other ways to light a nether portal...
    – MBraedley
    Commented Sep 19, 2015 at 19:32
  • @MBraedley True, forgot about that. Obsidian can also be created indirectly, so I don't think it'd be completely and practically possible (without something like keeping coords/entities at where every proper portal should be) to detect and remove player-made portals.
    – SirBenet
    Commented Sep 19, 2015 at 20:37
  • 1
    That's my idea, and come to think of it, you could set a up a marker armor stand atop each valid portal, and then execute a scoreboard update for players within range of it.
    – MBraedley
    Commented Sep 19, 2015 at 20:47
  • @MBraedley Should work, might also need to also set the score for enderpearls.
    – SirBenet
    Commented Sep 19, 2015 at 21:06
  • Make sure the selector is @a[score_usedFaS_min=1,name=!username] so that the asker can place their portal without it being destroyed. Another option is @a[score_usedFaS_min=1,m=!1] so that anyone in Creative Mode can make a portal without its destruction. Commented Aug 20, 2016 at 0:45
0

Removing flint and steel or obsidian from the inventory would require a simple /clear command like the following

/clear @a flint_and_steel /clear @a obsidian /clear @a fire_charge

1
  • Not a valid answer: portals can be casted in-place, and there are other ways to light a portal (lava, for instance)
    – pppery
    Commented Aug 11, 2018 at 18:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.