Custom Portals
In this tutorial, I will be making mario warp pipes in order to show off how to make custom portals and how to use freshcoal. If you are here for the commands rather than learning they are all at the bottom of the page.
The commands I will be using to achieve this are:
• Summon
• Execute
• Effect
• Tp
Method / Explanation:
Firstly, we need to decide what kind of portal you want and how they go through it. I am going to create mario warp pipes but if you want one big like a nether portal etc the same system should work but depending on what you want another system may work better. First of all if you want a warp pipe or something similar I am going to use a Custom Head on an armor stand again. However to expand on this concept more than last time, I am going to use a website called FreshCoal.
The commands I will be using to achieve this are:
• Summon
• Execute
• Effect
• Tp
Method / Explanation:
Firstly, we need to decide what kind of portal you want and how they go through it. I am going to create mario warp pipes but if you want one big like a nether portal etc the same system should work but depending on what you want another system may work better. First of all if you want a warp pipe or something similar I am going to use a Custom Head on an armor stand again. However to expand on this concept more than last time, I am going to use a website called FreshCoal.
FreshCoal has a massive collection of custom heads as you can see and all you have to do to find what you want is use the search bar. When you click on a head it copies the code you need. It comes out with something like this:
/give @p player_head{display:{Name:"Warp Pipe"},SkullOwner:{Id:[I;207564088,234898911,-1529712739,42103763],Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjE5NTQ0NTYxOTdmZGVjMjJmNDgwYWM1M2U3MWM2YTY4YTFhODYyN2M2MDgwZGY1N2RiODNkZmMzNDY2ZiJ9fX0="}]}}} 1
As you can see it is a lot more complicated than last time with the SkullOwner data tag and the MHF skulls but you do not need to understand this code to convert it to a head on an armor stand. We are converting it to an armor stand because we can not execute from a block but if we have an armor stand we can.
With this code copied we then need to go to McStacker, the summoning command generator, if you haven't worked it out already, I love this website!
/give @p player_head{display:{Name:"Warp Pipe"},SkullOwner:{Id:[I;207564088,234898911,-1529712739,42103763],Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjE5NTQ0NTYxOTdmZGVjMjJmNDgwYWM1M2U3MWM2YTY4YTFhODYyN2M2MDgwZGY1N2RiODNkZmMzNDY2ZiJ9fX0="}]}}} 1
As you can see it is a lot more complicated than last time with the SkullOwner data tag and the MHF skulls but you do not need to understand this code to convert it to a head on an armor stand. We are converting it to an armor stand because we can not execute from a block but if we have an armor stand we can.
With this code copied we then need to go to McStacker, the summoning command generator, if you haven't worked it out already, I love this website!
Once on there set the mob to armor stand, and add some of the data tags you want. You will need Invisible, Marker, NoGravity, a Tag called 'Warp1' or any name but make sure you change the commands later appropriately. Once this is done go to the heat slot and select player head. Where it has the SkullOwner tag just paste your code - Although your code is not just a SkullOwner tag McStacker extracts what it needs from it. Once you have done this you should have a command something like this:
/summon armor_stand ~ ~-1.95 ~ {NoGravity:1b,Invulnerable:1b,Invisible:1b,Tags:["Warp1"],ArmorItems:[{},{},{},{id:"minecraft:player_head",Count:1b,tag:{SkullOwner:{Id:[I;207564088,234898911,-1529712739,42103763],Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjE5NTQ0NTYxOTdmZGVjMjJmNDgwYWM1M2U3MWM2YTY4YTFhODYyN2M2MDgwZGY1N2RiODNkZmMzNDY2ZiJ9fX0="}]}}}}]}
|
If yours is different, that is fine so long as you have looked at mine and can not see anything in yours which is needed. Also make sure to adjust you y coordinates to ~-1.95 as I have done so it fits in the ground perfectly.
Then do the same thing but the tag or name is Warp2:
Then do the same thing but the tag or name is Warp2:
/summon armor_stand ~ ~-1.95 ~ {NoGravity:1b,Invulnerable:1b,Invisible:1b,Tags:["Warp2"],ArmorItems:[{},{},{},{id:"minecraft:player_head",Count:1b,tag:{SkullOwner:{Id:[I;207564088,234898911,-1529712739,42103763],Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjE5NTQ0NTYxOTdmZGVjMjJmNDgwYWM1M2U3MWM2YTY4YTFhODYyN2M2MDgwZGY1N2RiODNkZmMzNDY2ZiJ9fX0="}]}}}}]}
|
This can have a different player head if you want to but I decided to keep it the same. Then go to your game if you have not already and place the commands down and activate them. Break the command blocks and the armor stands should be underneath. Note: do not worry if the correct head isn't showing yet. This sometimes happens for no reason and it is a bug with minecraft.
1.12 Image but you still get the idea ^
Once you have done that it is time to make it functional! To begin we want it so if they walk into the first pipe it teleports them to the second, hopefully we can all work out how to do that as it isn't to complicated but if you do not know how the execute or tp commands work just check their usages page.
/execute at @e[tag=Warp1] run tp @a[distance=..2] @e[tag=Warp2,limit=1]
Now it should teleport you but once you get their nothing happens! To fix this we can just execute from our second warp pipe (Warp2 or whatever you named it) and add our commands:
/execute at @e[tag=Warp2] at @a[distance=..2] run tp @s ~ ~0.02 ~
/execute at @e[tag=Warp2] run effect give @a[distance=..2] minecraft:levitation 1 1 true
/execute at @e[tag=Warp2] run effect give @a[distance=..2] minecraft:resistance 3 3 true
Now we have these it should all work! None of the commands will need to be conditional because we are not depending on any event to happen. I hope you found this helpful! ~Blue
Once you have done that it is time to make it functional! To begin we want it so if they walk into the first pipe it teleports them to the second, hopefully we can all work out how to do that as it isn't to complicated but if you do not know how the execute or tp commands work just check their usages page.
/execute at @e[tag=Warp1] run tp @a[distance=..2] @e[tag=Warp2,limit=1]
Now it should teleport you but once you get their nothing happens! To fix this we can just execute from our second warp pipe (Warp2 or whatever you named it) and add our commands:
/execute at @e[tag=Warp2] at @a[distance=..2] run tp @s ~ ~0.02 ~
/execute at @e[tag=Warp2] run effect give @a[distance=..2] minecraft:levitation 1 1 true
/execute at @e[tag=Warp2] run effect give @a[distance=..2] minecraft:resistance 3 3 true
Now we have these it should all work! None of the commands will need to be conditional because we are not depending on any event to happen. I hope you found this helpful! ~Blue
Your commands should look like this: