Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- options:
- s: &6[MiniANNI]
- #oroginal recipe
- #--------------------
- on script load:
- register new shapeless recipe for iron pickaxe of efficiency 2 using iron ore, iron ore, iron ore, stick, stick, coal, coal, air, air
- register new shapeless recipe for iron sword of sharpness 2 named "&bAndùril" using iron block, iron block, iron block, feather, feather, feather, iron sword, air, air
- register new shapeless recipe for glowing golden axe named "&e&lAxe of Perun" using gold block, diamond, diamond, stick, stick, air, air, air, air
- register new shapeless recipe for 10 iron ingot using iron ore, iron ore, iron ore, iron ore, iron ore, iron ore, iron ore, iron ore, coal
- register new shapeless recipe for 10 gold ingot using gold ore, gold ore, gold ore, gold ore, gold ore, gold ore, gold ore, gold ore, coal
- #Main System
- #Nexus
- #---------------------------
- command /setneuxs <text>:
- permission: siso
- trigger:
- if arg 1 is "red":
- targeted block is end stone
- if {rednexus} is set:
- send "&cすでにせっと"
- stop
- set {rednexus} to location of targeted block
- send "&6%location of targeted block% Red"
- if arg 1 is "blue":
- targeted block is end stone
- if {bluenexus} is set:
- send "&cすでにせっと"
- stop
- set {bluenexus} to location of targeted block
- send "&6%location of targeted block% Blue"
- #チーム分け
- #--------------
- function randomteam():
- delete {red::*}
- delete {blue::*}
- add all players to {red::*}
- add all players to {member::*} #ゲーム参加者を識別するため
- loop size of {red::*} / 2 times:
- set {_randomteam} to random player of {red::*}
- add {_randomteam} to {blue::*}
- remove {_randomteam} from {red::*}
- send "{@s} あなたは&cRed&6チームになりました" to {red::*}
- send "{@s} あなたは&9blue&6チームになりました" to {blue::*}
- #ゲーム開始
- #---------------------
- command /start:
- permission: siso
- trigger:
- set {game} to true
- set {phase1} to true
- set {redhp} to 10
- set {bluehp} to 10
- broadcast "{@s} ゲームが開始されました。"
- randomteam()
- timelimit()
- wait 1 tick
- loop {member::*}:
- set gamemode of loop-value to Survival
- kill loop-value
- set rf max hp of player to 20
- #ゲーム終了
- #------------------------
- command /stopgame:
- permission: siso
- trigger:
- broadcast "{@s} ゲームを終了しました"
- loop {member::*}:
- teleport loop-value to {lobby}
- clear loop-value's inventory
- set loop-value's gamemode to adventure
- #mining
- delete {mining.%loop-value%}
- delete {lv.mining.%loop-value%}
- delete {nextlv.mining.%loop-value%}
- delete {recipe.mining.1.%loop-value%}
- delete {recipe.mining.2.%loop-value%}
- delete {recipe.mining.3.%loop-value%}
- delete {recipe.mining.4.%loop-value%}
- delete {recipe.mining.5.%loop-value%}
- delete {mining.bonus.%loop-value%}
- #animal
- delete {animal.%loop-value%}
- delete {lv.animal.%loop-value%}
- delete {nextlv.animal.%loop-value%}
- delete {recipe.animal.1.%loop-value%}
- delete {recipe.animal.2.%loop-value%}
- delete {recipe.animal.3.%loop-value%}
- delete {recipe.animal.4.%loop-value%}
- delete {recipe.animal.5.%loop-value%}
- set {power.%loop-value%} to 1
- #farm
- delete {farm.%loop-value%}
- delete {lv.farm.%loop-value%}
- delete {nextlv.farm.%loop-value%}
- delete {recipe.farm.1.%loop-value%}
- delete {recipe.farm.2.%loop-value%}
- delete {recipe.farm.3.%loop-value%}
- delete {recipe.farm.4.%loop-value%}
- delete {recipe.farm.5.%loop-value%}
- set {hp.%loop-value%} to 20
- set rf max hp of loop-value to 20
- set {game} to false
- delete {time.%{timenum}%}
- delete {member::*}
- delete {red::*}
- delete {blue::*}
- delete {phase1}
- delete {phase2}
- delete {redhp}
- delete {bluehp}
- delete {ending}
- #途中参加
- #---------------------
- command /joinanni:
- trigger:
- if {game} is not true:
- send "{@s} &c現在ゲームは開始されてません。"
- stop
- if {member::*} contain player:
- send "{@s} &cなたは既にANNIに参加しています。"
- stop
- jointeam(player)
- set rf max hp of player to 20
- wait 1 tick
- kill player
- function jointeam(p: player):
- if size of {red::*} = size of {blue::*}:
- chance of 50%:
- add {_p} to {red::*}
- else:
- add {_p} to {blue::*}
- stop
- if size of {red::*} > size of {blue::*}:
- add {_p} to {red::*}
- stop
- if size of {red::*} < size of {blue::*}:
- add {_p} to {blue::*}
- stop
- #スポーンセット
- #------------------
- command /spawn <text>:
- trigger:
- if arg 1 is "lobby":
- send "{@s} &b%arg 1%, &3%location% &6set"
- set {lobby} to location of player
- if arg 1 is "red":
- send "{@s} &b%arg 1%, &3%location% &6set"
- set {redspawn} to location of player
- if arg 1 is "blue":
- send "{@s} &b%arg 1%, &3%location% &6set"
- set {bluespawn} to location of player
- #タイム
- #-----------
- function timelimit():
- if {phase.time.%{timenum}%} is not set:
- add 1 to {timenum}
- set {phase2.time.%{timenum}%} to floor(unix timestamp of now) + 600
- stop
- if {phase.time.%{timenum}%} is set:
- delete {phase2.time.%{timenum}%}
- add 1 to {timenum}
- set {phase2.time.%{timenum}%} to floor(unix timestamp of now) + 600
- #on join quit
- #------------------
- on first join:
- teleport player to {lobby}
- set player's gamemode to adventure
- set {xp.%player%} to 0
- set {kill.%player%} to 0
- set {nexus.%player%} to 0
- set {power.%player%} to 1
- set {hp.%player%} to 20
- on join:
- set join message to "&9%player% has joined"
- teleport player to {lobby}
- set player's gamemode to adventure
- clear player's inventory
- #rs(player)
- loop all players:
- set tab header to "&6&lMiniANNI" and footer to "&e&lSisoPixel &a%number of all players%&7/15" for loop-player
- on quit:
- set quit message to "&equit &e%player%"
- if {member::*} contain player:
- remove player from {red::*} and {blue::*}
- delete {mining.%player%}
- delete {lv.mining.%player%}
- delete {nextlv.mining.%player%}
- delete {recipe.mining.1.%player%}
- delete {recipe.mining.2.%player%}
- delete {recipe.mining.3.%player%}
- delete {recipe.mining.4.%player%}
- delete {recipe.mining.5.%player%}
- delete {mining.bonus.%player%}
- #animal
- delete {animal.%player%}
- delete {lv.animal.%player%}
- delete {nextlv.animal.%player%}
- delete {recipe.animal.1.%player%}
- delete {recipe.animal.2.%player%}
- delete {recipe.animal.3.%player%}
- delete {recipe.animal.4.%player%}
- delete {recipe.animal.5.%player%}
- set {power.%player%} to 1
- #farm
- delete {farm.%player%}
- delete {lv.farm.%player%}
- delete {nextlv.farm.%player%}
- delete {recipe.farm.1.%player%}
- delete {recipe.farm.2.%player%}
- delete {recipe.farm.3.%player%}
- delete {recipe.farm.4.%player%}
- delete {recipe.farm.5.%player%}
- set {hp.%player%} to 20
- set rf max hp of player to 20
- #rs
- #------------------------------
- function rs(p: player):
- if {game} is true:
- wipe {_p}'s sidebar
- set name of sidebar of {_p} to "&6&lANNI"
- set score "" in sidebar of {_p} to 0
- set score "&cRed" in sidebar of {_p} to {redhp}
- set score "&9Blue" in sidebar of {_p} to {bluehp}
- stop
- else:
- wipe {_p}'s sidebar
- set name of sidebar of {_p} to "&e&lしその鯖"
- set score "&6&lSisoPixel" in sidebar of {_p} to 1
- set score "" in sidebar of {_p} to 2
- set score "NexusBreak: &b&l%{lv.%{_p}%}%" in sidebar of {_p} to 4
- set score "XP: &a&l%{xp.%{_p}%}%" in sidebar of {_p} to 3
- set score "Kills: &c&l%{kill.%{_p}%}%" in sidebar of {_p} to 5
- set score "&b===Your Status===" in sidebar of {_p} to 6
- set score "" in sidebar of {_p} to 7
- #nexus break
- #---------------------------
- on break of end stone:
- location of event-block is {bluenexus} or {rednexus}
- if {phase1} is true:
- send "{@s} &cまだ壊せません。"
- cancel event
- stop
- if location of event-block is {bluenexus}:
- cancel event
- if player contain {blue::*}:
- send "{@s} &c自軍のネクサスは壊せません"
- stop
- broadcast "{@s} &e%player%&6が&9Blue&6のネクサスを壊しました。"
- remove 1 from {bluehp}
- #if {bluehp} <= 0:
- #broadcast "{@s} Game Set!"
- #broadcast "{@s} &9Winner Blue Team"
- #stop
- if {bluehp} = 1:
- set event-block to obsidian
- broadcast "{@s} &9ブルーチームのHPが1になりました"
- stop
- if location of event-block is {rednexus}:
- cancel event
- if player contain {red::*}:
- send "{@s} &c自軍のネクサスは壊せません"
- stop
- broadcast "{@s} &e%player%&6が&cRed&6のネクサスを壊しました。"
- remove 1 from {redhp}
- #if {redhp} <= 0:
- #broadcast "{@s} Game Set!"
- #broadcast "{@s} &cWinner Red Team"
- if {redhp} = 1:
- set event-block to obsidian
- broadcast "{@s} &cレッドチームのHPが1になりました"
- stop
- #Last Attack Nexus
- #---------------------------------------
- on break of obsidian:
- location of event-block is {bluenexus} or {rednexus}
- gamemode of player is survival
- if location of event-block is {bluenexus}:
- broadcast "{@s} Game Set!"
- broadcast "{@s} &9Winner Blue Team"
- set {ending} to true
- broadcast "{@s} 30秒後にゲームを終了します。"
- wait 30 seconds
- execute console command "/stopgame"
- if location of event-block is {rednexus}:
- broadcast "{@s} Game Set!"
- broadcast "{@s} &cWinner Red Team"
- set {ending} to true
- broadcast "{@s} 30秒後にゲームを終了します。"
- wait 30 seconds
- execute console command "/stopgame"
- #ダメージ祖yリ
- #-----------
- on damage of player:
- if {game} is false:
- cancel event
- if {red::*} contain attacker:
- if {red::*} contain victim:
- cancel event
- stop
- if {blue::*} contain attacker:
- if {blue::*} contain victim:
- cancel event
- stop
- increase damage by damage * {power.%attacker%}
- add {defense.%victim%} to victim's health
- #死亡処理
- #-------------
- on death of player:
- add 5 to {xp.%attacker%}
- send "&a+5XP" to attacker
- remove wooden sword from drops
- remove wooden axe from drops
- remove wooden pickaxe from drops
- remove leather helmet from drops
- remove leather chestplate from drops
- remove leather leggings from drops
- remove leather boots from drops
- wait 4 tick
- force respawn player
- stop
- on respawn:
- if {game} is false:
- send "{@s} &cError" to op
- teleport player to {lobby}
- stop
- if {ending} is true:
- teleport player to {lobby}
- stop
- set slot {slot.%player%.sword} of player to wooden sword #slot 0と仮定
- set slot {slot.%player%.pickaxe} of player to wooden pickaxe #slot 1
- set slot {slot.%player%.axe} of player to wooden axe #slot 2
- if {red::*} contain player:
- teleport player to {redspawn}
- set {_red.leather.helmet} to leather helmet
- set {_red.leather.chestplate} to leather chestplate
- set {_red.leather.leggings} to leather leggings
- set {_red.leather.boots} to leather boots
- dye {_red.leather.helmet} red
- dye {_red.leather.chestplate} red
- dye {_red.leather.leggings} red
- dye {_red.leather.boots} red
- equip player with {_red.leather.helmet}
- equip player with {_red.leather.chestplate}
- equip player with {_red.leather.leggings}
- equip player with {_red.leather.boots}
- if {blue::*} contain player:
- teleport player to {bluespawn}
- set {_blue.leather.helmet} to leather helmet
- set {_blue.leather.chestplate} to leather chestplate
- set {_blue.leather.leggings} to leather leggings
- set {_blue.leather.boots} to leather boots
- dye {_blue.leather.helmet} blue
- dye {_blue.leather.chestplate} blue
- dye {_blue.leather.leggings} blue
- dye {_blue.leather.boots} blue
- equip player with {_blue.leather.helmet}
- equip player with {_blue.leather.chestplate}
- equip player with {_blue.leather.leggings}
- equip player with {_blue.leather.boots}
- #フェーズの分かり目
- #----------------------------
- every 1 seconds:
- if {phase2} is not set:
- if floor(unix timestamp of now) >= {phase2.time.%{timenum}%}:
- set {phase2} to true
- delete {phase1}
- broadcast "&6&m---------"
- broadcast "&a&lPhase 2"
- broadcast "&6&m---------"
- #MAp Reset
- #--------------------
- command /mapreset:
- permission: siso
- trigger:
- loop {place::*}:
- set block at loop-value to air
- loop {blocks::*}:
- set {_loc::*} to substring of loop-index from 7 to length of loop-index split at ","
- set {_x} to {_loc::1} parsed as number
- set {_y} to {_loc::2} parsed as number
- set {_z} to {_loc::3} parsed as number
- set block at location ({_x}, {_y}, {_z}) to loop-value
- delete {blocks::*}
- delete {place::*}
- on place:
- if {game} is false:
- player is not op
- cancel event
- stop
- {member::*} contain player
- set {place::%location of event-block%} to location of event-block
- on break:
- if {game} is false:
- player is not op
- cancel event
- stop
- {member::*} contain player
- if {place::*} contain location of event-block:
- stop
- set {blocks::%location of event-block%} to type of event-block
- #ゲームを面白くする要素
- #-------------------
- on break of log:
- wait 10 seconds
- set event-block to log
- on break of melon block:
- cancel the drops of items
- set {_melon.amount} to random integer between 3 and 8
- set {_melon} to "%{_melon.amount}% melon slices"
- give {_melon} parsed as item to player
- wait 5 seconds
- set event-block to melon block
- #mining
- #====================
- on break of coal ore:
- if {game} is false:
- stop
- add 5 to {mining.%player%}
- lvup_mining(player)
- chance of {mining.bonus.%player%}%:
- give event-block to player
- set event-block to cobblestone
- wait 10 seconds
- set event-block to coal ore
- on break of iron ore:
- if {game} is false:
- stop
- add 5 to {mining.%player%}
- lvup_mining(player)
- chance of {mining.bonus.%player%}%:
- give event-block to player
- set event-block to cobblestone
- wait 10 seconds
- set event-block to iron ore
- on break of gold ore:
- if {game} is false:
- stop
- add 6 to {mining.%player%}
- lvup_mining(player)
- chance of {mining.bonus.%player%}%:
- give event-block to player
- set event-block to cobblestone
- wait 10 seconds
- set event-block to gold ore
- on break of redstone ore:
- if {game} is false:
- stop
- add 7 to {mining.%player%}
- lvup_mining(player)
- chance of {mining.bonus.%player%}%:
- give event-block to player
- set event-block to cobblestone
- wait 10 seconds
- set event-block to redstone ore
- on break of lapis ore:
- if {game} is false:
- stop
- add 7 to {mining.%player%}
- lvup_mining(player)
- chance of {mining.bonus.%player%}%:
- give event-block to player
- set event-block to cobblestone
- wait 10 seconds
- set event-block to lapis ore
- on break of diamond ore:
- if {game} is false:
- stop
- add 10 to {mining.%player%}
- lvup_mining(player)
- set event-block to cobblestone
- wait 10 seconds
- set event-block to diamond ore
- on break of emerald ore:
- if {game} is false:
- stop
- add 10 to {mining.%player%}
- lvup_mining(player)
- set event-block to cobblestone
- wait 10 seconds
- set event-block to emerald ore
- on break of coal ore or iron ore or gold ore or redstone ore or lapis ore or diamond ore or emerald ore:
- wait 2 tick
- unlock_mining(player)
- #動物
- #==========================
- on death of chicken or cow or pig:
- gamemode of attacker is survival
- set {_death.loc} to location of victim
- if victim is chicken:
- add 1 to {animal.%player%}
- spawn chicken at {_death.loc}
- if victim is pig:
- add 3 to {animal.%player%}
- spawn pig at {_death.loc}
- if victim is cow:
- add 5 to {animal.%player%}
- spawn cow at {_death.loc}
- lvup_animal(player)
- unlock_animal(player)
- #農業
- #---------------------
- on break:
- if "%target block%" is "crops":
- if data of event-block is not 7:
- cancel event
- "%target block%" is "crops"
- data of event-block is 7
- add 1 to {farm.%player%}
- set data of event-block to 0
- cancel drops of items
- drop wheat at event-location
- chance of 70%:
- drop bone at event-location
- lvup_farm(player)
- unlock_farm(player)
- #lvup system
- #mining
- function lvup_mining(p: player):
- while {mining.%{_p}%} >= {nextlv.mining.%{_p}%}:
- wait 2.5 tick
- play sound "entity.player.levelup" with volume 0.8 and pitch 0.7 at {_p} for {_p}
- set {nextlv.mining.%{_p}%} to ({nextlv.mining.%{_p}%}) * 1.2
- add 1 to {lv.mining.%{_p}%}
- send "&aLvUP!! &l%{lv.mining.%{_p}%}%Lv" to {_p}
- set {send.%{_p}%} to true
- add 4 to {bonus.mining.%{_p}%} #mining bonus
- add 0.5 to {defense.%{_p}%} #defense
- if {send.%{_p}%} is true:
- send "&6次のレベルまで &5&l""%round({nextlv.mining.%{_p}%})%XP""" to {_p}
- set {send.%{_p}%} to false
- #animal
- function lvup_animal(p: player):
- while {animal.%{_p}%} >= {nextlv.animal.%{_p}%}:
- wait 2.5 tick
- play sound "entity.player.levelup" with volume 0.8 and pitch 0.7 at {_p} for {_p}
- set {nextlv.animal.%{_p}%} to ({nextlv.animal.%{_p}%}) * 1.2
- add 1 to {lv.animal.%{_p}%}
- send "&aLvUP!! &l%{lv.animal.%{_p}%}%Lv" to {_p}
- set {send.%{_p}%} to true
- add 0.2 to {power.%{_p}%}
- if {send.%{_p}%} is true:
- send "&6次のレベルまで &5&l""%round({nextlv.animal.%{_p}%})%XP""" to {_p}
- set {send.%{_p}%} to false
- #farm
- function lvup_farm(p: player):
- while {farm.%{_p}%} >= {nextlv.farm.%{_p}%}:
- wait 2.5 tick
- play sound "entity.player.levelup" with volume 0.8 and pitch 0.7 at {_p} for {_p}
- set {nextlv.farm.%{_p}%} to ({nextlv.farm.%{_p}%}) * 1.2
- add 1 to {lv.farm.%{_p}%}
- send "&aLvUP!! &l%{lv.farm.%{_p}%}%Lv" to {_p}
- set {send.%{_p}%} to true
- add 1 to {hp.%{_p}%}
- if {send.%{_p}%} is true:
- send "&6次のレベルまで &5&l""%round({nextlv.farm.%{_p}%})%XP""" to {_p}
- set {send.%{_p}%} to false
- #unlock
- #mining
- #--------------
- function unlock_mining(p: player):
- if {mining.%{_p}%} >= 10:
- set {recipe.mining.1.%{_p}%} to true
- send "{@s} &fIron Pack &6が解放されました。" to {_p}
- if {mining.%{_p}%} >= 50:
- set {recipe.mining.2.%{_p}%} to true
- send "{@s} &fGold Pack &6が解放されました。" to {_p}
- if {mining.%{_p}%} >= 100:
- set {recipe.mining.3.%{_p}%} to true
- if {mining.%{_p}%} >= 150:
- set {recipe.mining.4.%{_p}%} to true
- if {mining.%{_p}%} >= 200:
- set {recipe.mining.5.%{_p}%} to true
- #animal
- #=======================
- function unlock_animal(p: player):
- if {animal.%{_p}%} >= 10:
- set {recipe.animal.1.%{_p}%} to true
- if {animal.%{_p}%} >= 30:
- set {recipe.animal.2.%{_p}%} to true
- if {animal.%{_p}%} >= 60:
- set {recipe.animal.3.%{_p}%} to true
- if {animal.%{_p}%} >= 100:
- set {recipe.animal.4.%{_p}%} to true
- if {animal.%{_p}%} >= 150:
- set {recipe.animal.5.%{_p}%} to true
- #farm
- #-----------------------
- function unlock_farm(p: player):
- if {farm.%{_p}%} >= 50:
- set {recipe.farm.1.%{_p}%} to true
- if {farm.%{_p}%} >= 100:
- set {recipe.farm.2.%{_p}%} to true
- if {farm.%{_p}%} >= 150:
- set {recipe.farm.3.%{_p}%} to true
- if {farm.%{_p}%} >= 200:
- set {recipe.farm.4.%{_p}%} to true
- if {farm.%{_p}%} >= 250:
- set {recipe.farm.5.%{_p}%} to true
- #craft permission
- on craft:
- if event-item is iron pickaxe of efficiency 2:
- stop
- if event-item is iron sword of sharpness 2 named "&bAndùril":
- stop
- if event-item is 10 iron ingot: #req point 10
- if {recipe.mining.%{_p}%} is not set:
- send "{@s} &cMiningのレシピを開放してません。&6残り&3%10 - {mining.%player%}% &6Point"
- cancel event
- stop
- if event-item is 10 gold ingot: #req point 40
- if {recipe.mining.%{_p}%} is not set:
- send "{@s} &cMiningのレシピを開放してません。&6残り&3%40 - {mining.%player%}% &6Point"
- cancel event
- stop
- #original recipe system
- #あんどりる
- on tool change:
- if tool is iron sword of sharpness 2 named "&bAndùril":
- apply speed 1 to the player for 1 hour
- if past tool is iron sword of sharpness 2 named "&bAndùril":
- remove speed from player
- #アックスオブぺるん(パクリ)
- on damage:
- attacker is a player
- damage cause is entity attack
- attacker's tool is golden axe
- name of attacker's tool is "&e&lAxe of Perun"
- set {_waited} to difference between {-perun.%attacker%.lastused} and now
- if {_waited} is less than 4 second:
- stop
- else:
- set {-perun.%attacker%.lastused} to now
- strike lightning effect at the victim
- loop 80 times:
- wait 1 tick
- show an action bar from "&e&lAxe of Perun &aActived!" to attacker
- wait 10 tick
- show an action bar from "&r" to attacker
- #プッシュ感圧版
- on stepping on a pressure plate:
- event-block is a stone pressure plate
- block under the event-block is iron block
- play sound "entity.ghast.shoot" with volume 1 and pitch 1.5 at player for player
- push player forwards at speed 5
- push player upwards at speed 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement