Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Guilde_Event_Piston_Extends_Retracts:
- type: world
- debug: false
- events:
- on piston extends:
- - if <context.location.world.is[!=].to[w@Centre]> queue clear
- ## si pas le meme nombre de cuboid cancelled
- - if <context.location.cuboids.size.is[==].to[0]>:
- - determine cancelled
- - if <context.relative.cuboids.size.is[==].to[2]> && <context.location.cuboids.size.is[==].to[2]>:
- - if <context.relative.cuboids.alphanumeric.get[2].is[!=].to[<context.location.cuboids.alphanumeric.get[2]>]>:
- - determine cancelled
- - if <context.relative.cuboids.size.is[!=].to[<context.location.cuboids.size>]||false>:
- - determine cancelled
- - if <context.blocks.size.is[==].to[0]||false>:
- - queue clear
- - else:
- - define RuinePistonCheck <context.location.cuboids.replace_text[_].with[|]||false>
- - define listP <def[RuinePistonCheck].as_list.get[1].after[cu@]||false>
- - flag server PistonPushes:1
- - define LocationX2 <context.relative.x>
- - define LocationZ2 <context.relative.z>
- - define LocationY2 <context.relative.y>
- - flag server PistonPushes2:1
- - define VectorX <context.location.x.sub[<def[LocationX2]>]>
- - define VectorY <context.location.y.sub[<def[LocationY2]>]>
- - define VectorZ <context.location.z.sub[<def[LocationZ2]>]>
- - define LocSaveZ l@<context.relative.x>,<context.relative.y>,<context.relative.z.sub[<def[VectorZ]>]>,<context.relative.world.after[w@]>
- - define LocSaveY l@<context.relative.x>,<context.relative.y.sub[<def[VectorY]>]>,<context.relative.z>,<context.relative.world.after[w@]>
- - define LocSaveX l@<context.relative.x.sub[<def[VectorX]>]>,<context.relative.y>,<context.relative.z>,<context.relative.world.after[w@]>
- - define NombreAction <context.blocks.size>
- - define NombreDel <context.location.cuboids.size>
- - define listcheck li@
- - define listcheck <def[listcheck].include[<def[listP]>]>
- - if <def[LocSaveX].cuboids.size.is[==].to[2]||false> && <context.location.cuboids.size.is[==].to[2]||false>:
- - if <def[LocSaveX].cuboids.alphanumeric.get[2].is[!=].to[<context.location.cuboids.alphanumeric.get[2]>]||false>:
- - determine cancelled
- - if <def[LocSaveZ].cuboids.size.is[==].to[2]||false> && <context.location.cuboids.size.is[==].to[2]||false>:
- - if <def[LocSaveZ].cuboids.alphanumeric.get[2].is[!=].to[<context.location.cuboids.alphanumeric.get[2]>]||false>:
- - determine cancelled
- - if <def[LocSaveX].cuboids.size.is[!=].to[<context.location.cuboids.size||0>]||false>:
- - determine cancelled
- - if <def[LocSaveX].cuboids.size.is[!=].to[<context.location.cuboids.size||0>]||false>:
- - determine cancelled
- - if <def[LocSaveZ].cuboids.size.is[!=].to[<context.location.cuboids.size||0>]||false>:
- - determine cancelled
- - if <context.blocks.size.is[==].to[1]> && <context.location.cuboids.get[1].is[==].to[<context.relative.cuboids.get[1]>]||false>:
- - if <def[VectorX].is[!=].to[0]||false>:
- - if <def[LocSaveX].cuboids.size.is[!=].to[<context.relative.cuboids.size||0>]||false>:
- - determine cancelled
- - if <def[LocSaveX].cuboids.alphanumeric.get[1].starts_with[cu@ruine]||false> && <context.relative.cuboids.alphanumeric.get[1].starts_with[cu@guilde]||false>:
- - determine cancelled
- - if <def[LocSaveX].cuboids.alphanumeric.get[1].starts_with[cu@guilde]||false> && <context.relative.cuboids.alphanumeric.get[1].starts_with[cu@ruine]||false>:
- - determine cancelled
- - if <def[VectorY].is[!=].to[0]||false>:
- - if <def[LocSaveY].cuboids.size.is[!=].to[<context.relative.cuboids.size||0>]||false>:
- - determine cancelled
- - if <def[VectorZ].is[!=].to[0]||false>:
- - if <def[LocSaveZ].cuboids.size.is[!=].to[<context.relative.cuboids.size||0>]||false>:
- - determine cancelled
- - if <def[LocSaveZ].cuboids.alphanumeric.get[1].starts_with[cu@ruine]||false> && <context.relative.cuboids.alphanumeric.get[1].starts_with[cu@guilde]||false>:
- - determine cancelled
- - if <def[LocSaveZ].cuboids.alphanumeric.get[1].starts_with[cu@guilde]||false> && <context.relative.cuboids.alphanumeric.get[1].starts_with[cu@ruine]||false>:
- - determine cancelled
- - else:
- ##boucle magique
- - repeat <def[NombreAction]>:
- - flag server PistonPushes2:++
- - if <context.blocks.get[<server.flag[PistonPushes2]>].as_location.cuboids.size.is[==].to[2]||false> && <context.location.cuboids.size.is[==].to[2]>:
- - if <context.blocks.get[<server.flag[PistonPushes2]>].as_location.cuboids.alphanumeric.get[2].is[!=].to[<context.location.cuboids.alphanumeric.get[2]>]>:
- - determine cancelled
- - if <context.blocks.get[<server.flag[PistonPushes]>].as_location.cuboids.size.is[!=].to[<def[NombreDel]>]||false>:
- - determine cancelled
- - else:
- - if <context.blocks.get[<server.flag[PistonPushes]>].as_location.cuboids.alphanumeric.get[1].starts_with[cu@]||false>:
- - define RuineCheck <context.blocks.get[<server.flag[PistonPushes]>].as_location.cuboids.replace_text[_].with[|]||false>
- - define list <def[RuineCheck].as_list.get[1].after[cu@]||false>
- - flag server PistonPushes:++
- - define listcheck <def[listcheck].include[<def[list]>]>
- - define NombreServ <def[listcheck].get[<server.flag[PistonPushes]>]>
- - define NombreServ2 <def[listcheck].get[<server.flag[PistonPushes].sub[1]>]>
- - define NombreServ3 <def[listcheck].get[<server.flag[PistonPushes].sub[2]>]>
- - if <context.blocks.get[<server.flag[PistonPushes]>].as_location.cuboids.size.is[==].to[0]||false>:
- - determine cancelled
- - if !<def[listcheck].contains_text[parcelle]>:
- - if <def[NombreServ].is[!=].to[<def[NombreServ2]>]> && <def[NombreServ].is[!=].to[<def[NombreServ3]>]||false>:
- - determine cancelled
- on piston retracts:
- - if <context.location.world.is[!=].to[w@Centre]> queue clear
- - if <context.sticky> == false queue clear
- - if <context.blocks.size.is[OR_MORE].to[2]||false>:
- - define RuinePistonCheck2 <context.location.cuboids.replace_text[_].with[|]||false>
- - define listPR <def[RuinePistonCheck2].as_list.get[1].after[cu@]||false>
- - define NombreDel2 <context.location.cuboids.size>
- - flag server PistonRetract:1
- - flag server PistonRetract2:1
- - define listcheckr li@
- - define listcheckr <def[listcheckr].include[<def[listPR]>]>
- - repeat <context.blocks.size>:
- - flag server PistonRetract2:++
- - if <context.blocks.get[<server.flag[PistonRetract2]>].as_location.cuboids.size.is[!=].to[<context.location.cuboids.size>]>:
- - determine cancelled
- - if <context.blocks.get[<server.flag[PistonRetract2]>].as_location.cuboids.size.is[==].to[2]> && <context.location.cuboids.size.is[==].to[2]>:
- - if <context.blocks.get[<server.flag[PistonRetract2]>].as_location.cuboids.alphanumeric.get[2].is[!=].to[<context.location.cuboids.alphanumeric.get[2]>]>:
- - determine cancelled
- - if <context.blocks.get[<server.flag[PistonRetract]>].as_location.cuboids.alphanumeric.get[1].starts_with[cu@]||false>:
- - define RuineCheck <context.blocks.get[<server.flag[PistonRetract]>].as_location.cuboids.replace_text[_].with[|].as_list||false>
- - define list <def[RuineCheck].get[1].after[cu@]>
- - flag server PistonRetract:++
- - define listcheckr <def[listcheckr].include[<def[list]>]>
- - define NombreServ <def[listcheckr].get[<server.flag[PistonRetract]>]>
- - define NombreServ2 <def[listcheckr].get[<server.flag[PistonRetract].sub[1]>]>
- - define NombreServ3 <def[listcheckr].get[<server.flag[PistonRetract].sub[2]>]>
- - if !<def[listcheckr].contains_text[parcelle]>:
- - if <def[NombreServ].is[!=].to[<def[NombreServ2]>]> && <def[NombreServ].is[!=].to[<def[NombreServ3]>]||false>:
- - determine cancelled
- - if <context.blocks.get[<server.flag[PistonRetract]>].as_location.cuboids.size.is[!=].to[<def[NombreDel2]>]||false>:
- - if <context.blocks.get[<server.flag[PistonRetract]>].as_location.cuboids.size.is[==].to[0]||false>:
- - determine cancelled
- - if <context.blocks.size.is[==].to[0]||false:
- - queue clear
- - if <context.relative.cuboids.size.is[!=].to[<context.location.cuboids.size>]||false>:
- - determine cancelled
- - if <context.relative.cuboids.size.is[==].to[<context.location.cuboids.size>]||false>:
- - if <context.relative.cuboids.is[==].to[2]||false>:
- - if <context.relative.cuboids.alphanumeric.get[2].is[!=].to[<context.location.cuboids.alphanumeric.get[2]>]||false>:
- - determine cancelled
- - else:
- - if <context.relative.cuboids.alphanumeric.get[1].is[!=].to[<context.location.cuboids.alphanumeric.get[1]>]||false>:
- - determine cancelled
- - define LocationX2 <context.relative.x>
- - define LocationZ2 <context.relative.z>
- - define LocationY2 <context.relative.y>
- - define VectorX <context.location.x.sub[<def[LocationX2]>]>
- - define VectorY <context.location.y.sub[<def[LocationY2]>]>
- - define VectorZ <context.location.z.sub[<def[LocationZ2]>]>
- - define LocSaveZ l@<context.relative.x>,<context.relative.y>,<context.relative.z.sub[<def[VectorZ]>]>,<context.relative.world.after[w@]>
- - define LocSaveY l@<context.relative.x>,<context.relative.y.sub[<def[VectorY]>]>,<context.relative.z>,<context.relative.world.after[w@]>
- - define LocSaveX l@<context.relative.x.sub[<def[VectorX]>]>,<context.relative.y>,<context.relative.z>,<context.relative.world.after[w@]>
- - if <def[LocSaveX].cuboids.size.is[==].to[2]||false> && <context.location.cuboids.size.is[==].to[2]||false>:
- - if <def[LocSaveX].cuboids.alphanumeric.get[2].is[!=].to[<context.location.cuboids.alphanumeric.get[2]>]||false>:
- - determine cancelled
- - if <def[LocSaveZ].cuboids.size.is[==].to[2]||false> && <context.location.cuboids.size.is[==].to[2]||false>:
- - if <def[LocSaveZ].cuboids.alphanumeric.get[2].is[!=].to[<context.location.cuboids.alphanumeric.get[2]>]||false>:
- - determine cancelled
- - if <def[VectorX].is[!=].to[0]||false>:
- - if <def[LocSaveX].cuboids.size.is[!=].to[<context.relative.cuboids.size||0>]||false>:
- - determine cancelled
- - if <def[LocSaveX].cuboids.alphanumeric.get[1].starts_with[cu@ruine]||false> && <context.relative.cuboids.alphanumeric.get[1].starts_with[cu@guilde]||false>:
- - determine cancelled
- - if <def[LocSaveX].cuboids.alphanumeric.get[1].starts_with[cu@guilde]||false> && <context.relative.cuboids.alphanumeric.get[1].starts_with[cu@ruine]||false>:
- - determine cancelled
- - if <def[VectorY].is[!=].to[0]||false>:
- - if <def[LocSaveY].cuboids.size.is[!=].to[<context.relative.cuboids.size||0>]||false>:
- - determine cancelled
- - if <def[VectorZ].is[!=].to[0]||false>:
- - if <def[LocSaveZ].cuboids.size.is[!=].to[<context.relative.cuboids.size||0>]||false>:
- - determine cancelled
- - if <def[LocSaveZ].cuboids.alphanumeric.get[1].starts_with[cu@ruine]||false> && <context.relative.cuboids.alphanumeric.get[1].starts_with[cu@guilde]||false>:
- - determine cancelled
- - if <def[LocSaveZ].cuboids.alphanumeric.get[1].starts_with[cu@guilde]||false> && <context.relative.cuboids.alphanumeric.get[1].starts_with[cu@ruine]||false>:
- - determine cancelled
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement