Open qouteall opened 1 year ago
/portal cb_make_portal {x} {y} {z} {x destination} {y destination} {z destination} {x rot} {y rot} {z rot} {optional: portal nbt data} {optional: destination dim} {optional: scale}
Rotation: allow using euler angle and copy entity's rotation
If you want the commands simple, i got a idea to shorten the number of commands down to just 2 for basic interactions. With some cool interactions.
/portal cb_make_portal {x} {y} {z} {x rot} {y rot} {z rot} {x size} {y size} {optional: portal nbt data}
/portal cb_set_pos {destination/portal} {x} {y} {z} {scale} {x rot} {y rot} {optional: z rot}
/execute as @e[name=portal] at @s rotated as @s in minecraft:the_nether run portal cb_set_pos portal ~ ~ ~ 8 ~ ~
/portal cb_setz {scoreholder} {scoreboard}
Now, i think that is a elegant solution for the commands.
Here are some other ideas for command changes: portal specific accessor
/portal set_portal_specific_accessor {entities}
/portal set_portal_specific_accessor @e[type=pig,name=guy]
/portal clear_portal_specific_accessor
For Box Portals
/portal cb_box {x1} {y1} {z1} {x2} {y2} {z2} {out facing/in facing} {optional: north data} {optional: south data} {optional: east data} {optional: west data} {optional: top data} {optional: bottom data} {optional: empty}
Shape Commands another idea, is to add the ability to edit portal shape more then just making it round like:
/portal reset_shape
/portal make_circle
/portal set_shape <list of shape points, <x> <y>>
/portal set_shape 0.5 0.5 -0.5 0.5 -0.5 -0.5 0.5 -0.5 0.5 0.5 # this would make the portal a square or rectangle.
As another idea: Outputs
/portal get_value {value} {scale}
/portal get_value x_rot 1
/portal get_value y_rot 1
/portal get_value z_rot 1
/portal get_value x_rot_des 1
/portal get_value y_rot_des 1
/portal get_value z_rot_des 1
/portal get_value x_size 1
/portal get_value y_size 1
/execute store result score @s num run portal get_value x_rot 10
/portal get_value x_rot 10 -> 122
/portal get_value x_rot 1 -> 12
/portal get_value x_rot 0.1 -> 1
My current design: As it's using euler angles, I want to put it into the euler subcommand. And there is already /portal set_portal_position that changes only position. To avoid confusion, I am going to change that to "this side" and "other side"
/portal euler make_portal <x> <y> <z> <pitch> <yaw> <width> <height> <scale> <nbt>
/portal euler set_this_side <x> <y> <z> <pitch> <yaw> <width> <height> <nbt>
/portal euler set_other_side <x> <y> <z> <pitch> <yaw> <nbt>
/portal euler set_this_side_roll <scoreHolder> <objective>
/portal euler set_other_side_roll <scoreHolder> <objective>
The dimension is grabbed from source.
Yeah, looks great!
https://discord.com/channels/662271867431682058/671895772265971712/1057659434064695336