395: Portal arrows. Updated for 1.21 multiplayer. [Minecraft Map Making]
Membership: / @infernaldevice
Ep395: Updating our old portal arrows from Episode 72 to work in 1.21 and multiplayer.
00:00 Intro
01:30 Setup
02:00 Give items
04:20 Controller - player id
06:15 Controller - arrow id
08:45 Controller - entrance
20:10 Controller - exit
23:15 Adding distance despawn
26:10 Controller - teleport
29:40 Waffling
Version: 1.21
Requested by: Vestium
1.19 version - Episode 72: • 72: Portal bow [Minecraft Map Making]
Commands, builds, hacks and ideas for people making their own Minecraft maps.
Check out my collabs on Coppit's channel: / coppitj
Join the CoppitCraft server that I play on and the Discord where I hang out.
Server IP: 51.81.246.145:25588
Discord: / discord
The following commands are prefixed with three letters which represent the settings of the command block. E.g IUN: = Impulse Unconditional Needs_Redstone. These prefixes need to be removed if copying the commands.
Since angled brackets are not allowed in YouTube descriptions you will have to replace "greater than" and "less than" with the appropriate angled bracket.
Commands used:
Setup:
IUN: scoreboard objectives add id dummy
CUA: scoreboard objectives add used_bow used:bow
Give:
IUN: give @p bow[item_name='"Portal Bow"',lore=['"An ordinary bow with a name."']]
CUA: give @p tipped_arrow[item_name='"Portal arrow: Entrance"',lore=['"Creates a portal entrance."'],custom_data={arrow:entrance},potion_contents={custom_color:2527540}] 64
CUA: give @p tipped_arrow[item_name='"Portal arrow: Exit"',lore=['"Creates a portal exit."'],custom_data={arrow:exit},potion_contents={custom_color:14381848}] 64
Controller- Assign ID:
RUA: execute as @a unless score @s id = @s id store result score @s id run scoreboard players add #idHolder id 1
Controller - Assign arrow ID:
RUA: execute as @a[scores={used_bow=1..}] at @s as @e[type=arrow, sort=nearest, limit=1] unless score @s id = @s id run scoreboard players operation @s id = @a[distance=..0.1, limit=1, sort=nearest] id
CUA: scoreboard players reset @a[scores={used_bow=1..}] used_bow
Controller - Entrance
RUA: execute as @e[type=arrow] if items entity @s contents *[custom_data~{arrow:"entrance"}] if entity @s[nbt={inGround:true}] run tag @s add check_me
CCA: execute as @e[type=arrow, tag=check_me] at @s as @e[type=marker, tag=portal_entrance] if score @s id = @e[type=arrow, tag=check_me, distance=..0.1, limit=1] id run kill @s
CUA: execute at @e[type=arrow, tag=check_me] if block ~ ~ ~ #minecraft:air if block ~ ~1 ~ #minecraft:air run summon marker ~ ~ ~ {Tags:["portal_marker", "portal_entrance"]}
CUA: execute as @e[type=arrow, tag=check_me] at @s as @e[type=marker, tag=portal_entrance] unless score @s id = @s id run scoreboard players operation @s id = @e[type=arrow, tag=check_me, distance=..0.1, limit=1] id
CUA: kill @e[type=arrow, tag=check_me]
CUA: execute at @e[type=marker, tag=portal_entrance] run particle dust{color:[0,1,0],scale:1} ~ ~1 ~ 0.2 0.3 0.2 0 5
CUA: execute as @e[type=marker, tag=portal_entrance] at @s at @a[distance=20..] if score @s id = @a[distance=..0.1, limit=1] id run kill @s
Controller - Exit
RUA: execute as @e[type=arrow] if items entity @s contents *[custom_data~{arrow:"exit"}] if entity @s[nbt={inGround:true}] run tag @s add check_me
CCA: execute as @e[type=arrow, tag=check_me] at @s as @e[type=marker, tag=portal_exit] if score @s id = @e[type=arrow, tag=check_me, distance=..0.1, limit=1] id run kill @s
CUA: execute at @e[type=arrow, tag=check_me] if block ~ ~ ~ #minecraft:air if block ~ ~1 ~ #minecraft:air run summon marker ~ ~ ~ {Tags:["portal_marker", "portal_exit"]}
CUA: execute as @e[type=arrow, tag=check_me] at @s as @e[type=marker, tag=portal_exit] unless score @s id = @s id run scoreboard players operation @s id = @e[type=arrow, tag=check_me, distance=..0.1, limit=1] id
CUA: kill @e[type=arrow, tag=check_me]
CUA: execute at @e[type=marker, tag=portal_exit] run particle dust{color:[1,0,0],scale:1} ~ ~1 ~ 0.2 0.3 0.2 0 5
CUA: execute as @e[type=marker, tag=portal_exit] at @s at @a[distance=20..] if score @s id = @a[distance=..0.1, limit=1] id run kill @s
Controller - Teleport:
RUA: execute as @e[tag=portal_entrance] at @s as @e[tag=portal_exit] if score @s id = @e[tag=portal_entrance, limit=1, distance=..0.1] id run tp @a[distance=..1] @s
Other Videos By Infernal Device
Other Statistics
Minecraft Statistics For Infernal Device
At present, Infernal Device has 182,428 views spread across 865 videos for Minecraft, accounting for over 10 days of watchable video on his channel. This is 94.82% of the total watchable video for Minecraft on Infernal Device's YouTube channel.