IceSpike:
type: world
events:
on player starts sneaking:
- if <player.flag[element]> == water && <player.has_flag[element_toggled].not> {
- define blocks li@
- define loc1 <player.location.cursor_on[3]>
- define material <player.location.cursor_on[4].material>
- wait 2s
- define loc2 <player.location.cursor_on[12]>
- if <def[loc1]> == <def[loc2]> && <li@ice|packed_ice.contains[<player.location.cursor_on[3].material.name>]> {
- repeat 4 {
- define blocks <def[blocks].include[<player.location.cursor_on[3].add[0,<def[value]>,0]>]>
}
- foreach <def[blocks]> {
- modifyblock <def[value]> <def[material]>
}
}
else if <def[loc1]> != <def[loc2]> {
- define radius <player.flag[waterindex].div[3].round_up>
- - foreach <def[loc1].as_location.points_between[<def[loc2].as_location>]> {
- - note ellipsoid@<def[value]>,<def[radius]>,<def[radius]>,<def[radius]>,<player.world.name> as:<def[loop_index]>_<player>
+ - foreach <def[loc1].as_location.points_between[<def[loc2].as_location>].parse[simple]> {
+ - note ellipsoid@<def[value].after[l@]>,<def[radius]>,<def[radius]>,<def[radius]>,<player.world.name> as:<def[loop_index]>_<player>
- modifyblock ellipsoid@<def[loop_index]>_<player> <def[material]>
- note remove as:<def[loop_index]>_<player>
}
}
}