# aAirDrop 3.0 by astranaar # ZMIENNE variables: {airdrop.status} = false {airdrop.edit.%player%} = false # OPCJE options: line: &6&l» &e time: 2 # CZAS POMIEDZY ZRZUTAMI W MINUTACH amount: 6 # ILOSC PRZEDMIOTOW W ZRZUCIE world: bud # MAPA NA KTOREJ BEDA ZRZUTY W TRYBIE "RANDOM" # WYWOLYWANIE ZRZUTU command /aairdrop [] []: aliases: /adrop, /airdrop, /aadrop trigger: if player has permission "aairdrop.admin": set {_tag} to coloured {airdrop.tag} set {_lang_coming} to coloured {airdrop.lang_coming} set {_lang_ended} to coloured {airdrop.lang_ended} set {_lang_nopermission} to coloured {airdrop.lang_nopermission} set {_lang_wrong_arg} to coloured {airdrop.lang_wrong_arg} set {_lang_no_loc} to coloured {airdrop.lang_no_loc} set {_lang_no_amount} to coloured {airdrop.lang_no_amount} set {_lang_status_active} to coloured {airdrop.lang_status_active} set {_lang_items_edit} to coloured {airdrop.lang_items_edit} set {_lang_items_saved} to coloured {airdrop.lang_items_saved} set {_lang_loc_add} to coloured {airdrop.lang_loc_add} set {_lang_loc_clear} to coloured {airdrop.lang_loc_clear} replace all "_COMMAND_" with "/adrop" in {_lang_wrong_arg} if arg 1 is not "start" or "items" or "locadd" or "locclear" or "loclist": send "%{_tag}%%{_lang_wrong_arg}%" if arg 1 is not set: send "" send "%{_tag}% &eby &6astranaar&e:" send "{@line}Wywolanie zrzutu - &6/adrop start " send "" send "{@line}Edycja przedmiotow do zrzutu - &6/adrop items" send "{@line}Dodanie lokacji do zrzutu - &6/adrop locadd" send "{@line}Czyszczenie lokacji zrzutu - &6/adrop locclear" send "{@line}Lista lokacji zrzutu - &6/adrop loclist" send "" if arg 1 is "start": if {airdrop.status} is false: if arg 2 is set: if {airdrop::loc::*} is set: set {airdrop.status} to true set {_amount} to arg 2 set {_loc} to random element out of {airdrop::loc::*} if block at {_loc} is not air: clear inventory of block at {_loc} set block at {_loc} to air add 200 to y-coordinate of {_loc} spawn falling block of chest at {_loc} remove 200 from y-coordinate of {_loc} broadcast "" broadcast "%{_tag}%%{_lang_coming}%" broadcast "%{_tag}%&e--> &8(&6%{_loc}%&8) &e<--" broadcast "" wait 7.7 seconds loop {_amount} times: set {_item} to random element out of {airdrop::items::*} add {_item} to block at {_loc} loop 5 times: launch burst firework colored green at {_loc} timed 3 broadcast "" broadcast "%{_tag}%%{_lang_ended}%" broadcast "%{_tag}%&e--> &8(&6%{_loc}%&8) &e<--" broadcast "" set {airdrop.status} to false stop else: send "%{_tag}%%{_lang_no_loc}%" else: send "%{_tag}%%{_lang_no_amount}%" else: send "%{_tag}%%{_lang_status_active}%" if arg 1 is "items": set {airdrop.edit.%player%} to true open chest with 6 rows named "%{_tag}%&ePrzedmioty:" to player wait 1 tick set {_slot} to 0 loop {airdrop::items::*}: set slot {_slot} of current inventory of player to loop-value-1 add 1 to {_slot} send "%{_tag}%%{_lang_items_edit}%" to player while inventory name of player is "%{_tag}%&ePrzedmioty:": set {airdrop.edit.%player%} to true wait 5 tick stop if arg 1 is "locadd": set {_loc} to location of the player add {_loc} to {airdrop::loc::*} send "%{_tag}%%{_lang_loc_add}%" send "%{_tag}%&e--> &8(&6%{_loc}%&8) &e<--" if arg 1 is "locclear": delete {airdrop::loc::*} send "%{_tag}%%{_lang_loc_clear}%" if arg 1 is "loclist": if {airdrop::loc::*} is set: send "%{_tag}%&eLokacje zrzutu:" loop {airdrop::loc::*}: send "{@line}&e%loop-index%. &6%loop-value%" stop else: send "%{_tag}%%{_lang_no_loc}%" else: send "%{_tag}%%{_lang_nopermission}%" # SPRAWDZANIE MIEJSCA ZRZUTU command /zrzut []: trigger: set {_tag} to coloured {airdrop.tag} if arg 1 is not set: send "%{_tag}%&eMiejsce ostatniego zrzutu: &6%{airdrop.lastdroploc}%" stop if arg 1 is "tp": if player has permission "aairdrop.tp": teleport the player to {airdrop.lastdroploc} send "%{_tag}%&eZostales przeniesiony do miejsca zrzutu!" # TWORZENIE PLIKU KONFIGURACYJNEGO on load: if folder "plugins/aAirDrop" doesn't exists: send "[aAirDrop] Nie odnaleziono folderu z plikiem konfiguracyjnym!" to console send "[aAirDrop] Tworze folder z plikiem konfiguracyjnym." to console create folder "plugins/aAirDrop" send "[aAirDrop] Folder z plikiem konfiguracyjnym zostal utworzony!" to console if file "plugins/aAirDrop/config.yml" doesn't exists: send "[aAirDrop] Nie odnaleziono pliku konfiguracyjnego!" to console send "[aAirDrop] Tworze plik konfiguracyjny." to console download "http://pastebin.com/raw/ds9yRBLD" to "plugins/aAirDrop/config.yml" send "[aAirDrop] Plik konfiguracyjny zostal utworzony!" to console stop # POBIERANIE INFORMACJI Z PLIKU KONFIGURACYJNEGO set {airdrop.mode} to single value "airdrop_mode" get of "plugins/aAirDrop/config.yml" set {airdrop.x-max} to single value "airdrop_x-max" get of "plugins/aAirDrop/config.yml" set {airdrop.x-min} to single value "airdrop_x-min" get of "plugins/aAirDrop/config.yml" set {airdrop.z-max} to single value "airdrop_z-max" get of "plugins/aAirDrop/config.yml" set {airdrop.z-min} to single value "airdrop_z-min" get of "plugins/aAirDrop/config.yml" set {airdrop.tag} to single value "tag" get of "plugins/aAirDrop/config.yml" set {airdrop.lang_coming} to single value "airdrop_coming" get of "plugins/aAirDrop/config.yml" set {airdrop.lang_ended} to single value "airdrop_ended" get of "plugins/aAirDrop/config.yml" set {airdrop.lang_nopermission} to single value "nopermission" get of "plugins/aAirDrop/config.yml" set {airdrop.lang_wrong_arg} to single value "wrong_arg" get of "plugins/aAirDrop/config.yml" set {airdrop.lang_no_loc} to single value "no_loc" get of "plugins/aAirDrop/config.yml" set {airdrop.lang_no_amount} to single value "no_amount" get of "plugins/aAirDrop/config.yml" set {airdrop.lang_status_active} to single value "status_active" get of "plugins/aAirDrop/config.yml" set {airdrop.lang_items_edit} to single value "items_edit" get of "plugins/aAirDrop/config.yml" set {airdrop.lang_items_saved} to single value "items_saved" get of "plugins/aAirDrop/config.yml" set {airdrop.lang_loc_add} to single value "loc_add" get of "plugins/aAirDrop/config.yml" set {airdrop.lang_loc_clear} to single value "loc_clear" get of "plugins/aAirDrop/config.yml" # AUTOMATYCZNE ZRZUTY every {@time} minute: if {airdrop.status} is false: if {airdrop.mode} is "adminloc": if {airdrop::loc::*} is set: if {airdrop::items::*} is set: delete {airdrop.lastdroploc} set {_tag} to coloured {airdrop.tag} set {_lang_coming} to coloured {airdrop.lang_coming} set {_lang_ended} to coloured {airdrop.lang_ended} set {airdrop.status} to true set {_loc} to random element out of {airdrop::loc::*} if block at {_loc} is not air: clear inventory of block at {_loc} set block at {_loc} to air add 200 to y-coordinate of {_loc} spawn falling block of chest at {_loc} remove 200 from y-coordinate of {_loc} set {airdrop.lastdroploc} to {_loc} broadcast "" broadcast "%{_tag}%%{_lang_coming}%" broadcast "%{_tag}%&e--> &8(&6%{_loc}%&8) &e<--" broadcast "" wait 7.7 seconds loop {@amount} times: set {_item} to random element out of {airdrop::items::*} add {_item} to block at {_loc} loop 5 times: launch burst firework colored green at {_loc} timed 3 broadcast "" broadcast "%{_tag}%%{_lang_ended}%" broadcast "%{_tag}%&e--> &8(&6%{_loc}%&8) &e<--" broadcast "" set {airdrop.status} to false stop every {@time} minute in "{@world}": if {airdrop.status} is false: if {airdrop.mode} is "random": delete {airdrop.lastdroploc} set {_airdrop_x-max} to {airdrop.x-max} parsed as number set {_airdrop_x-min} to {airdrop.x-min} parsed as number set {_airdrop_z-max} to {airdrop.z-max} parsed as number set {_airdrop_z-min} to {airdrop.z-min} parsed as number set {_pos-x} to a random integer between {_airdrop_x-min} and {_airdrop_x-max} set {_pos-z} to a random integer between {_airdrop_z-min} and {_airdrop_z-max} set {_pos-y} to 64 set {_loc} to location at {_pos-x}, {_pos-y}, {_pos-z} loop blocks below {_loc}: if loop-block is air: remove 1 from y-coordinate of {_loc} if {airdrop::items::*} is set: set {_tag} to coloured {airdrop.tag} set {_lang_coming} to coloured {airdrop.lang_coming} set {_lang_ended} to coloured {airdrop.lang_ended} set {airdrop.status} to true add 200 to y-coordinate of {_loc} spawn falling block of chest at {_loc} remove 199 from y-coordinate of {_loc} set {airdrop.lastdroploc} to {_loc} broadcast "" broadcast "%{_tag}%%{_lang_coming}%" broadcast "%{_tag}%&e--> &8(&6%{_loc}%&8) &e<--" broadcast "" wait 7.7 seconds loop {@amount} times: set {_item} to random element out of {airdrop::items::*} add {_item} to block at {_loc} loop 5 times: launch burst firework colored green at {_loc} timed 3 broadcast "" broadcast "%{_tag}%%{_lang_ended}%" broadcast "%{_tag}%&e--> &8(&6%{_loc}%&8) &e<--" broadcast "" set {airdrop.status} to false stop # KONCZENIE EDYCJI PRZEDMIOTOW on inventory close: if {airdrop.edit.%player%} is true: clear {airdrop::items::*} loop 27 times: if slot "%loop-number - 1%" parsed as an integer of current inventory of player is not air: set {_item} to slot loop-number - 1 of current inventory of player add {_item} to {airdrop::items::*} set {airdrop.edit.%player%} to false set {_lang_items_saved} to coloured {airdrop.lang_items_saved} set {_tag} to coloured {airdrop.tag} send "%{_tag}%%{_lang_items_saved}%" on disconnect: if {airdrop.edit.%player%} is true: set {airdrop.edit.%player%} to false # KONIEC KODU