Guest User

Mine

a guest
Jul 25th, 2015
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 6.88 KB | None | 0 0
  1. options:
  2.     logo : &7[&6Mine&7]&r
  3.  
  4. command /setp1:
  5.     trigger:
  6.         set {mine.p1} to location of player
  7.         message "&bPosition 1 set"
  8.         stop
  9.        
  10. command /setp2:
  11.     trigger:
  12.         set {mine.p2} to location of player
  13.         message "&bPosition 2 set"
  14.         stop
  15.        
  16. command /fillloc:
  17.     trigger:
  18.         loop blocks within {mine.p2} to {mine.p1}:
  19.             chance of 100%:
  20.                 set loop-block to stone
  21.             chance of 15%:
  22.                 set loop-block to coal ore
  23.             chance of 2%:
  24.                 set loop-block to redstone ore
  25.             chance of 5%:
  26.                 set loop-block to iron ore
  27.             chance of 1%:
  28.                 set loop-block to gold ore
  29.             chance of 0.3%:
  30.                 set loop-block to diamond ore
  31.             chance of 0.1%:
  32.                 set loop-block to emerald ore
  33.         stop
  34. command /remove:
  35.     trigger:
  36.         loop blocks within {mine.p2} to {mine.p1}:
  37.             set loop-block to air
  38.         stop
  39. on break coal ore:
  40.     if {mine.%player%.join} is true:
  41.         if {mine.start} is true:
  42.             add 1 to {mine.score.%player%}
  43.             send player title "&3+1" for 1 seconds
  44.             cancel event
  45.             set event-block to air 
  46. on break iron ore:
  47.     if {mine.%player%.join} is true:
  48.         if {mine.start} is true:
  49.             add 2 to {mine.score.%player%}
  50.             send player title "&a+2" for 1 seconds
  51.             cancel event
  52.             set event-block to air
  53. on break gold ore:
  54.     if {mine.%player%.join} is true:
  55.         if {mine.start} is true:
  56.             add 3 to {mine.score.%player%}
  57.             send player title "&a+3" for 1 seconds
  58.             cancel event
  59.             set event-block to air
  60. on break diamond ore:
  61.     if {mine.%player%.join} is true:
  62.         if {mine.start} is true:
  63.             add 5 to {mine.score.%player%}
  64.             send player title "&a+5" for 1 seconds
  65.             cancel event
  66.             set event-block to air
  67. on break emerald ore:
  68.     if {mine.%player%.join} is true:
  69.         if {mine.start} is true:
  70.             add 10 to {mine.score.%player%}
  71.             send player title "&a+10" for 1 seconds
  72.             cancel event
  73.             set event-block to air
  74. on break redstone ore:
  75.     if {mine.%player%.join} is true:
  76.         if {mine.start} is true:
  77.             set {mine.score.%player%} to 0
  78.             send player title "&4RESET !" for 1 seconds
  79.             cancel event
  80.             set event-block to air
  81. on break stone:
  82.     cancel event
  83.     set event-block to air
  84. every 10 ticks:
  85.     loop all players:
  86.         if {mine.%loop-player%.join} is true:
  87.             if {mine.start} is true:
  88.                 display board named "{@logo}" to loop-player
  89.                 make score "&6Points:" in board of loop-player to 3
  90.                 make score "&6%{mine.score.%loop-player%}%" in board of loop-player to 2
  91.                 make score "&6Temps restant" in board of loop-player to 1
  92.                 make score "&6%{mine.time}%" in board of loop-player to 0
  93.                 move display of loop-player to sidebar
  94.             else:
  95.                 display board named "{@logo}" to loop-player
  96.                 make score "&6Temps" in board of loop-player to 3
  97.                 make score "&6D'attente" in board of loop-player to 2
  98.                 make score "&6Restant:" in board of loop-player to 1
  99.                 make score "&6%{mine.remaining}%" in board of loop-player to 0
  100.                 move display of loop-player to sidebar
  101. command /mine <text>:
  102.     trigger:
  103.         if arg 1 is "join":
  104.             if {mine.%player%.join} is true:
  105.                 message "{@logo}&6 Tu es déjà dans la partie !"
  106.             else if {mine.slots} is 10:
  107.                 message "{@logo}&6 La partie est complète !"
  108.             else if {mine.start} is true:
  109.                 message "{@logo}&6 La partie a déjà commencé !"
  110.             else:
  111.                 add 1 to {mine.slots}
  112.                 set {mine.%player%.join} to true
  113.                 if {mine.slots} is 1:
  114.                     set {mine.remaining} to 1
  115.                     execute console command "/fillloc"
  116.                 teleport player to {mine.spawn}
  117.                 message "{@logo} &6Tu as rejoins la partie !"
  118.                 message "{@logo} &6Temps d'attente restant: %{mine.remaining}%"
  119.                 message "{@logo} &6Il y a &9%{mine.slots}%&6 joueurs !"
  120.         if arg 1 is "leave":
  121.             if {mine.%player%.join} is true:
  122.                 message "{@logo} &6Tu as bien quitté la partie !"
  123.                 set {mine.%player%.join} to false
  124.                 clear {mine.score.%player%}
  125.                 remove 1 from {mine.slots}
  126.                 wipe player sidebar
  127.                 teleport player to {spawn.location}
  128.             else:
  129.                 message "{@logo}&6 Tu n'es pas dans une partie !"
  130.         if arg 1 is "setspawn":
  131.             if player has permission "mine.setspawn":
  132.                 set {mine.spawn} to location of player
  133.                 message "{@logo} &6Le spawn a bien été mis en: &9%{mine.spawn}% !"
  134.         if arg 1 is "forcestart":
  135.             set {mine.remaining} to 0
  136.             set {mine.start} to true
  137.             loop all players:
  138.                 if {mine.%loop-player%.join} is true:
  139.                     message "{@logo}Démarrage forcé par %player%"
  140.         if arg 1 is "clear":
  141.             set {mine.slots} to 0
  142.             set {mine.start} to false
  143.             loop all players:
  144.                 set {mine.%loop-player%.join} to false
  145.                 set {mine.score.%loop-player%} to 0
  146.                 wipe loop-player sidebar
  147. every 1 second:
  148.     if {mine.remaining} is 0:
  149.         if {mine.start} is false:
  150.             loop all players:
  151.                 if {mine.%loop-player%.join} is true:
  152.                     message "{@logo}&6 La partie commence !" to loop-player
  153.                     message "{@logo}&6 Bonne chance !" to loop-player
  154.                     set tool of loop-player to diamond pickaxe
  155.                     wait 1 tick
  156.                     enchant the loop-player's tool with efficiency 5
  157.                     enchant the loop-player's tool with unbreaking 10000
  158.                     set {mine.start} to true
  159.                     set {mine.time} to 180
  160.     else if {mine.start} is false:
  161.         if {mine.slots} is 1:
  162.             stop
  163.         if {mine.slots} is 0:
  164.             stop
  165.     if {mine.remaining} is not 0:
  166.         remove 1 from {mine.remaining}
  167. every 1 second:
  168.     if {mine.start} is true:
  169.         if {mine.time} is 0:
  170.             loop all players:
  171.                 if {mine.score.%loop-player%} is greater than {mine.leader.score}:
  172.                     set {mine.leader.score} to {mine.score.%loop-player%}
  173.                     set {mine.leader} to loop-player
  174.             loop all players:
  175.                 if {mine.%loop-player%.join} is true:
  176.                     message "{@logo}&6 La partie est terminée !" to loop-player
  177.                     message "{@logo}&6 Le gagnant est: &9%{mine.leader}%&6 avec &9%{mine.leader.score}% points !" to loop-player
  178.                     clear loop-player's inventory
  179.                     set {mine.%loop-player%.join} to false
  180.                     set {mine.start} to false
  181.                     set {mine.score.%loop-player%} to 0
  182.                     set {mine.slots} to 0
  183.                     wipe loop-player sidebar
  184.                     teleport loop-player to {spawn.location}
  185.         else:
  186.             remove 1 from {mine.time}
  187. every 1 second:
  188.     if {mine.start} is true:
  189.         loop all players:
  190.             if {mine.%loop-player%.join} is true:
  191.                 if {mine.time} is 5:
  192.                     send loop-player title "&c5" for 1 second
  193.                 if {mine.time} is 4:
  194.                     send loop-player title "&c4" for 1 second
  195.                 if {mine.time} is 3:
  196.                     send loop-player title "&c3" for 1 second
  197.                 if {mine.time} is 2:
  198.                     send loop-player title "&c2" for 1 second
  199.                 if {mine.time} is 1:
  200.                     send loop-player title "&c1" for 1 second
  201. every 1 second:
  202.     loop all players:
  203.         if {mine.%loop-player%.join} is true:
  204.             apply potion of night vision to the loop-player for 2 seconds
  205.             if player is op:
  206.                 set {op.%player%}
  207.                 deop player
  208. on quit:
  209.     if {mine.%player%.join} is true:
  210.         teleport player to {spawn.location}
  211.     remove 1 from {mine.slots}
  212.     set {mine.score.%player%} to 0
  213.     set {mine.%player%.join} to false
  214.     wipe player sidebar
  215. on hunger meter change:
  216.     if {mine.%player%.join} is true:
  217.         cancel event
Advertisement
Add Comment
Please, Sign In to add comment