From 2f0f9bad25077b5945f1405e764871d482830129 Mon Sep 17 00:00:00 2001 From: ismooch Date: Mon, 21 Apr 2014 01:33:00 -0500 Subject: [PATCH 01/22] Making Chances.. Will Revert --- Obam-General/autohub.sk | 10 - Obam-General/exclusive.sk | 3 - Obam-General/hubconfig.sk | 96 -- Obam-General/pinfo.sk | 102 -- Obam-General/who.sk | 16 - Obam-Survival/disenchant.sk | 29 - Obam-Survival/heal.sk | 43 - Obam-Testing/abstain.sk | 127 --- Obam-Testing/aliases-english.sk | 1690 ------------------------------- Obam-Testing/broadcast.sk | 4 - Obam-Testing/effect.sk | 138 --- Obam-Testing/modbridge.sk | 13 - Obam-Testing/schat2.sk | 187 ---- Obam-Testing/schatbridge.sk | 18 - Obam-Testing/tellchat.sk | 45 - Obam-Testing/tma.sk | 350 ------- Obam-Testing/wtfronts.sk | 598 ----------- 17 files changed, 3469 deletions(-) delete mode 100644 Obam-General/autohub.sk delete mode 100644 Obam-General/exclusive.sk delete mode 100644 Obam-General/hubconfig.sk delete mode 100644 Obam-General/pinfo.sk delete mode 100644 Obam-General/who.sk delete mode 100644 Obam-Survival/disenchant.sk delete mode 100644 Obam-Survival/heal.sk delete mode 100644 Obam-Testing/abstain.sk delete mode 100644 Obam-Testing/aliases-english.sk delete mode 100644 Obam-Testing/broadcast.sk delete mode 100644 Obam-Testing/effect.sk delete mode 100644 Obam-Testing/modbridge.sk delete mode 100644 Obam-Testing/schat2.sk delete mode 100644 Obam-Testing/schatbridge.sk delete mode 100644 Obam-Testing/tellchat.sk delete mode 100644 Obam-Testing/tma.sk delete mode 100644 Obam-Testing/wtfronts.sk diff --git a/Obam-General/autohub.sk b/Obam-General/autohub.sk deleted file mode 100644 index 3b93d28..0000000 --- a/Obam-General/autohub.sk +++ /dev/null @@ -1,10 +0,0 @@ -on join: - set {_hold} to difference between {db_time.join.%player%} and now - {_hold} is more than 15 minutes: - - set {db_time.join.%player%} to now - make player execute command "/hub" - -on disconnect: - set {db_time.join.%player%} to now - \ No newline at end of file diff --git a/Obam-General/exclusive.sk b/Obam-General/exclusive.sk deleted file mode 100644 index e758c42..0000000 --- a/Obam-General/exclusive.sk +++ /dev/null @@ -1,3 +0,0 @@ -on connect: - player does not have permission "obam.supporter" - kick the player due to "&cThis beta is for Supporters only!" \ No newline at end of file diff --git a/Obam-General/hubconfig.sk b/Obam-General/hubconfig.sk deleted file mode 100644 index 6d9bf1a..0000000 --- a/Obam-General/hubconfig.sk +++ /dev/null @@ -1,96 +0,0 @@ -options: - help: named item stack from "book;&6&lOBAM&fCraft &3Guide;&7Right click with this book to learn the ins||&7and out of OBAM" - worlds: named item stack from "ender pearl;&3Game Worlds;&7Right click with this to check the current Game Worlds!" - fly: named item stack from "feather;&3Fly!;&7Right click with this feather to fly in the hub!" - skyblock: i;grass;n;&6Skyblock;l;&7Try our Skyblock world with custom challenges and ||&7Villager trading!;c;sudo %player% worlds skyblock - fronts: i;cobblestone;n;&6Fronts;l;&7Our Special flavour of Survival with immediate||&7land claiming!;c;sudo %player% worlds survival - wtfronts: i;magma cream;n;&6WTFronts;l;&cBETA TESTING|| ||&7Extreme Survival with extreme payoffs!;c;sudo %player% worlds wtf - kitpvp: i;blaze rod;n;&6Kit PVP;l;&7Play OBAM's KitPvP with new original kits!;c;sudo %player% worlds kit - - - -on join: - execute console command "/mv tp %player% Death-hub" - clear player's inventory - give player {@help} - give player {@worlds} - give player {@fly} - -on shoot: - world is "Death-hub" - shooter's tool is ender pearl - cancel event - -on right click: - player's tool is {@help}: - make player execute command "/help" - player's tool is {@worlds}: - cancel event - make player execute command "/worlds" - player's tool is {@fly}: - {fly.hub.%player%} is not set: - set {fly.hub.%player%} to true - allow player to fly - send "&aYou can fly!" - stop - {fly.hub.%player%} is true: - set {fly.hub.%player%} to false - disallow player to fly - send "&cYou can no longer fly!" - stop - {fly.hub.%player%} is false: - set {fly.hub.%player%} to true - allow player to fly - send "&aYou can fly!" - stop - - -on drop: - world is "Death-hub": - cancel event - - -command /worlds []: - permission: obam.free - trigger: - world is "Death-hub" - argument is not set: - - send "&aBringing up menu..." - - show "s;1;{@skyblock};s;2;{@kitpvp};s;3;{@fronts};s;4;{@wtfronts}" with 1 row named "&7Worlds" to player - - argument is "survival": - - make player execute command "/transfer survival" - - argument is "wtf": - - make player execute command "/transfer curtain" - - argument is "skyblock": - - execute console command "mv tp %player% skyworld" - - argument is "kit": - - execute console command "mv tp %player% kitpvpkillingfields" - -every second: - - loop all players: - {fly.hub.%loop-player%} is true: - loop-player's world is not "Death-hub": - disallow loop-player to fly - set {fly.hub.%loop-player%} to false - loop-player's world is "Death-hub": - allow loop-player to fly - - -command /transfer []: - trigger: - world is "Death-hub" - connect player to "%argument%" - - - \ No newline at end of file diff --git a/Obam-General/pinfo.sk b/Obam-General/pinfo.sk deleted file mode 100644 index df10560..0000000 --- a/Obam-General/pinfo.sk +++ /dev/null @@ -1,102 +0,0 @@ -variables: - {db_dayset.2} = 0 - -on join: - {db_count.start.%player%.2} is not set: - set {db_count.start.%player%.2} to {db_dayset} - set {db_current.server.%player%} to "&eWTF" - -on disconnect: - clear {db_current.server.%player%} - set {db_lastseen.%player%} to "%now% on &eWTF" - clear {db_color.%player%} - player has permission "obam.admin": - set {db_color.%player%} to "&d%player%" - {db_color.%player%} is not set: - player has permission "obam.mod": - set {db_color.%player%} to "&2%player%" - {db_color.%player%} is not set: - player has permission "obam.ultimate": - set {db_color.%player%} to "&6%player%" - {db_color.%player%} is not set: - player has permission "obam.supporter": - set {db_color.%player%} to "&b%player%" - {db_color.%player%} is not set: - set {db_color.%player%} to "&f%player%" - - - - -command /playerinfo []: - description: Find out information about you - aliases: /p, /info, /player, /pinfo - executable by: players - trigger: - - argument is not set: - player has permission "obam.admin": - set {_name} to "&d%player%" - {_name} is not set: - player has permission "obam.mod": - set {_name} to "&2%player%" - {_name} is not set: - player has permission "obam.ultimate": - set {_name} to "&6%player%" - {_name} is not set: - player has permission "obam.supporter": - set {_name} to "&b%player%" - {_name} is not set: - set {_name} to "&f%player%" - message "&aPlayer: %{_name}%" - set {_days} to {db_dayset} - {db_count.start.%player%} - {_days} is less than 2: - {_days} is 1: - message "&aYou are &e%{_days}% &aday old." - stop - {_days} is less than 1: - message "&aThis is your first day." - stop - message "&aYou are &e%{_days}% &adays old." - argument is set: - argument has not played before: - message "&e%argument% &chas not played on this server before." - stop - - argument has permission "obam.admin": - set {_name} to "&d%argument%" - {_name} is not set: - argument has permission "obam.mod": - set {_name} to "&2%argument%" - {_name} is not set: - argument has permission "obam.ultimate": - set {_name} to "&6%argument%" - {_name} is not set: - argument has permission "obam.supporter": - set {_name} to "&&b%argument%" - {_name} is not set: - set {_name} to "&f%argument%" - argument is not online: - {db_current.server.%argument%} is not set: - set {_name} to "&7%argument% &7&o(Offline)" - {db_color.%argument%} is set: - set {_name} to {db_color.%argument%} - set {_lastseen} to "&aLast seen:&e%{db_lastseen.%argument%}%" - {db_current.server.%argument%} is set: - {db_color.%argument%} is set: - set {_name} to {db_color.%argument%} - set {_current.connect} to "&aCurrently connected to %{db_current.server.%argument%}%" - - message "&aPlayer: %{_name}%" - {_lastseen} is set: - send {_lastseen} - {_current.connect} is set: - send {_current.connect} - set {_days} to {db_dayset} - {db_count.start.%argument%} - {_days} is less than 2: - {_days} is 1: - message "&aThey are &e%{_days}% &aday old." - stop - {_days} is less than 1: - message "%{_name}% &ais &e1&a day old" - stop - message "&aThey are &e%{_days}% &adays old." \ No newline at end of file diff --git a/Obam-General/who.sk b/Obam-General/who.sk deleted file mode 100644 index 3672c18..0000000 --- a/Obam-General/who.sk +++ /dev/null @@ -1,16 +0,0 @@ -every 10 seconds: - clear {db_fronts.who.2::*} - loop all players: - add loop-player to {db_fronts.who.2::*} - - -command /who: - trigger: - - loop all players: - add loop-player to {_cur.list::*} - clear {db_fronts.who.2::*} - set {db_fronts.who.2::*} to {_cur.list::*} - send "&eHub:&a%{db_hub.who::*}%" - send "&eWTF:&a%{db_wtf.who::*}%" - send "&eFronts:&a%{_cur.list::*}%" \ No newline at end of file diff --git a/Obam-Survival/disenchant.sk b/Obam-Survival/disenchant.sk deleted file mode 100644 index b0a7941..0000000 --- a/Obam-Survival/disenchant.sk +++ /dev/null @@ -1,29 +0,0 @@ -command /unenchant: - executable by: players - permission: obam.free - aliases: /disenchant - trigger: - player's tool is enchanted - player's tool is not a sword or axe or pickaxe or shovel or bow or helmet or chestplate or leggings or boots: - message "&cYou may only disenchant Armour, Weapons or Tools!" to player - stop - - - set {_bal} to player's balance - {_bal} is less than 200: - send "&cYou do not have enough tickets to do this!" to player - stop - player's level is less than 15: - - send "&cYou must have at least 15 levels to do this!" to player - stop - disenchant player's tool - - reduce the player's level by 15 - - remove 200 from player's balance - send "&6&lThe Gods have taken their gifts back!" to player - send "&aYou have used &e200 Tickets&a to disenchant this tool" to player - send "&aYou have &e%player's balance%&a remaining" to player - log "%player%^%{_bal}%^DEDUCT^200^%player's balance%^DISENCHANT FEE" to "tickets/disenchant.log" - stop diff --git a/Obam-Survival/heal.sk b/Obam-Survival/heal.sk deleted file mode 100644 index dc0ee0a..0000000 --- a/Obam-Survival/heal.sk +++ /dev/null @@ -1,43 +0,0 @@ -variables: - {heal.%player%} = false - - - - - - -command /heal: - executable by: players - permission: obam.free - trigger: - {heal.%player%} is not set: - set {heal.%player%} to now - add 13 hours to {heal.%player%} - - set {_check} to difference between {heal.%player%} and now - {_check} is less than 12 hours: - set {_check} to difference between {heal.%player%} and now - set {_hold} to difference between now and now - add 12 hours to {_hold} - subtract {_check} from {_hold} - send "&cYou must wait at least &e%{_hold}% &cto use this command!" - stop - {abstain.%player%} is false: - send "&cOnly abstaining players can use this feature!" - stop - {abstian.%player%} is "wait pvp" or "wait abstain": - send "&cYou can not use this feature in transition!" - stop - {abstain.%player%} is true: - - set {_bal} to player's balance - {_bal} is less than 2000: - send "&cYou do not have enough tickets to do this!" to player - stop - - remove 2000 from player's balance - set {heal.%player%} to now - send "&aYou have been healed" to player - set player's health to 10 - send "&aYou have &e%player's balance%&a remaining" to player - stop diff --git a/Obam-Testing/abstain.sk b/Obam-Testing/abstain.sk deleted file mode 100644 index df5f898..0000000 --- a/Obam-Testing/abstain.sk +++ /dev/null @@ -1,127 +0,0 @@ -variables: - {abstain.%player%} = false - - - -command /abstain []: - permission: obam.free - trigger: - - argument is not set: - send " " - send " &aYour Abstain status is currently &e%{abstain.%player%}%&a, you can change this by doing &e/abstain confirm&a. " - send " " - send "&aThis change will cost &e2500 Tickets&a." - send " " - set {abst.confirm.%player%} to now - stop - player has permission "obam.admin": - {abstain.%player%} is false: - set {abstain.%player%} to true - - send "&aYour Abstain status is now &e%{abstain.%player%}%" - stop - - {abstain.%player%} is true: - set {abstain.%player%} to false - send "&aYour Abstain status is now &e%{abstain.%player%}%" - stop - - stop - - argument is "confirm" or "c": - set {_hold} to difference between now and {abst.confirm.%player%} - {_hold} is greater than 30 seconds: - send "&cYou must do &e/abstain&a before doing the confirm command" - stop - - {abstain.%player%} is not set: - set {abstain.%player%} to false - {abstain.%player%} is false: - set {_bal} to player's balance - {_bal} is less than 2500: - send "&cYou do not have enough tickets to perform this operation" - stop - remove 2500 from player's balance - set {abstain.%player%} to "wait abstain" - set {abstain.%player%.time} to now - send "&aYou have abstained from PvP. You will lose access to some features. You have paid a toll of &e2500 Tickets&a." - send "&aIt can take up to &e2 hours&a for your abstain feature to take affect." - send "&aYou know have &e%player's balance%&a." - stop - {abstain.%player%} is true: - set {_bal} to player's balance - {_bal} is less than 2500: - send "&cYou do not have enough tickets to perform this operation" - stop - remove 2500 from player's balance - set {abstain.%player%} to "wait pvp" - set {abstain.%player%.time} to now - send "&aYou are engaging in PvP. You will be susceptible to PvP fights. You have paid a toll of &e2500 Tickets&a." - send "&aIt can take up to &e2 Hours&a for your PvP entering process to take affect." - send "&aYou now have &e%player's balance%&a." - stop - - {abstain.%player%} is "wait pvp": - send "&cYou already have an Abstain process waiting. It can take up to 2 hours for this change to take an effect" - stop - {abstain.%player%} is "wait abstain": - send "&cYou already have an Abstain process waiting. It can take up to 2 hours for this change to take an effect" - stop - -on damage: - victim is a player - attacker is a player - {abstain.%victim%} is true: - cancel event - {abstain.%attacker%} is true: - send "&cYou can not engage in PvP while abstaining!" - cancel event - -every 1 hour: - loop all players: - {abstain.%loop-player%} is "wait pvp": - set {_hold} to difference between {abstain.%loop-player%.time} and now - {_hold} is more than 1 hour - set {abstain.%loop-player%} to false - execute console command "perms player %loop-player% set nametags.color.blue false" - execute console command "perms player %loop-player% set nametags.color.red" - send "&aYou are now able to PvP!" to loop-player - {abstain.%loop-player%} is "wait abstain": - set {_hold} to difference between {abstain.%loop-player%.time} and now - {_hold} is more than 1 hour - set {abstain.%loop-player%} to true - execute console command "perms player %loop-player% set nametags.color.red false" - execute console command "perms player %loop-player% set nametags.color.blue" - send "&aYou are now abstaining from PvP!" to loop-player - -on connect: - player is "ISMOOCH": - stop - {abstain.%player%} is true: - player does not have permission "nametags.color.blue": - execute console command "perms player %player% set nametags.color.blue" - player has permission "nametags.color.red": - execute console command "perms player %player% set nametags.color.red false" - {abstain.%player%} is false: - player does not have permission "nametags.color.red": - execute console command "perms player %player% set nametags.color.red" - player has permission "nametags.color.blue": - execute console command "perms player %player% set nametags.color.blue false" - {abstain.%player%} is "wait pvp": - set {_hold} to difference between {abstain.%player%.time} and now - {_hold} is more than 1 hour: - set {abstain.%player%} to false - send "&aYou can now PvP!" - execute console command "perms player %player% set nametags.color.blue false" - execute console command "perms player %player% set nametags.color.red" - stop - - {abstain.%player%} is "wait abstain": - set {_hold} to difference between {abstain.%player%.time} and now - {_hold} is more than 1 hour: - set {abstain.%player%} to true - send "&aYou are now abstaining from PvP!" - execute console command "perms player %player% set nametags.color.red false" - execute console command "perms player %player% set nametags.color.blue" - stop \ No newline at end of file diff --git a/Obam-Testing/aliases-english.sk b/Obam-Testing/aliases-english.sk deleted file mode 100644 index f07edb1..0000000 --- a/Obam-Testing/aliases-english.sk +++ /dev/null @@ -1,1690 +0,0 @@ - -# ====== Aliases ====== -# In this file you can create aliases. An alias is a name for a block or an item, or a collection of such. -# There are hundreds of predefined aliases, so you don't usually need to care about this file. -# -# An alias is nothing more than a mapping from a name to one or more item/block types. -# e.g: 'torch = 50' creates the alias 'torch' and maps it to 50, the ID of a torch. -# So now every time you need a torch you can write torch instead of 50, which is much more intuitive. -# You can make an alias match multiple types by separating them with a comma, e.g. 'water = 8, 9'. -# You can also include data values, e.g. 'orange wool = 35:1'. Data Values can be a range, -# e.g. 'wet farmland = 60:1-8' (60:0 is dry farmland) -# -# == Advanced == -# As different languages have different ways of forming plurals of words you have to define the plurals of all aliases yourself. -# This is done by adding the plural ending after a ¦ character, e.g. 'log¦s = 17'. -# If the singular and plural have different endings each, use two ¦ characters, e.g. 'bookshel¦f¦ves = 47'. -# If you want to pluralize a word within the alias, use another ¦ character, e.g.. 'bucket¦¦s¦ of water' ('¦¦s¦' means: no singular ending, plural ending 's'). -# These plurals are both used by Skript when displaying items, e.g. 2 logs will be displayed as '2 logs', -# while 1 log will be displayed as '1 log', but are also used when parsing, i.e. you can write '1 log' or '2 logs' and both is understood. -# Aliases should also have a gender, which can be defined by adding '@' after the alias, e.g. 'emerald¦s @an' ('@a' can be omitted as it's the default). -# - English genders are 'a' and 'an', and German genders are 'n', 'm', and 'f' (these are all defined in the respectile language file). -# All languages can use the special genders 'x' and '-' for plural and no gender respectively, e.g. 'leaves @x' or 'air @-'. -# -# Sometimes you want to make a part of an alias optional, e.g. in 'wooden door', -# which is also sometimes called 'wood door', the 'en' can be made optional. -# This can be done by putting the optional part into square brackets ([]): -# wood[en] door = 64 # creates 2 aliases: 'wood door = 64' and 'wooden door = 64' -# -# Some blocks/items have different names, like the slab which is also called step. -# In this case you can simple write something like this: -# (step|slab) = 44 # creates two aliases, 'slab' and 'step', of which both are mapped to '44' -# stone (step|slab) = 44:0 # creates 'stone slab' and 'stone step' mapped to '44:0' -# wood[en] (step|slab) = 44:2 # creates four aliases -# -# Some blocks and items share some different appearances, e.g. wood, saplings and leaves all differ only in their tree type. -# Usually you would have to create the aliases 'birch wood', 'birch sapling', 'redwood wood', 'redwood sapling' etc. -# But this can be shortened by using variations: -# {tree type}: # name of the variation -# regular = :0 # list values here. these have the same syntax as aliases, i.e. they can have ids and data/data ranges, -# redwood = :1 # but you usally only need the data, which is done by typing a colon with no id in front of it. -# birch = :2 -# {tree type} wood = 17 # this is resolved to: wood = 17, regular wood = 17:0, redwood wood = 17:1 and birch wood = 17:2 -# sapling of {tree type} tree = 6 # you can put a variation anywhere in an alias, it doesn't need to be at the beginning. -# {tree type} leaves = 18 -# -# please note that 'wood = 17' is also resolved for '{tree type} wood = 17'. This is usually what you want. -# This does not work with variations where ids are varied and not only data values. There you -# have to add a '{default}' to the variation, which is treated like all other values in the variation -# but without adding it's name to the alias. For examples see 'huge mushrooms' or 'doors'. -# -# If an item has a block with a different ID you should add another two aliases called 'x item' and 'x block', e.g. -# cauldron block = 118 -# cauldron item = 380 -# cauldron = 118, 380 -# This way if you 'give a cauldron to the player' the player will not actually be given the items of the 'cauldron' alias, -# but the items of the 'cauldron item' alias, causing the player to always recieve the correct cauldron item. -# The same applies to setting blocks, though it usually doesn't matter as items are ignored when setting blocks. -# It does matter for e.g. water though: -# water = 8, 9 -# water block = 9 -# The 'water block' alias only lists the water source block, while the 'water' alias also lists the flowing water block. -# Setting a block to 'water' will thus always place a water source, while checking 'block is water' will work for both -# stationary and flowing water blocks. -# -# If you want to use something else than 'item' and 'block', simply modify the options below: -# - -# optional suffixes that can be appended to an alias's name and Skript will still understand it, -# e.g. if you only define an alias 'cake', this will allow users to use 'cake block' and 'cake item' as well. -# These are also used to determine the block and item variants of an alias (see above) And should include singular and plural. -item = item¦s -block = block¦s - - - - -# List of alias groups. Only groups listed here are allowed below, -# but you can easily define your own by adding it to this list. -# The groups will be loaded in this order, -# e.g. if 'custom aliases' is loaded after 'default aliases' you can use all default aliases to define your own aliases. -aliases = default aliases, collections, custom aliases - - - - - -custom aliases: - # === Custom Aliases === - # I recommend putting your own aliases here. - # You do not have to create an alias if you intend to use it in only one script, - # but you can put it at the beginning of the script like this: - # aliases: - # admin blocks = bedrock, TNT, 52, 56 - # wand = blaze rod - # This also has the advantage that your script can be used by other people without having to add the aliases to their config. - # - # - # If you want to edit a default alias, you should copy & paste it here to edit it. - # This will make it easier for you if you choose to update Minecraft and more blocks & items are added, in which case - # you can then simply download the updated config and copy & paste this section into it. - # - # The default aliases are loaded before these, so you can use them here. - # You can also override them by creating an alias with the same name. - - #example: shorten names - # ss = sandstone - # llb = lapis lazuli block - # ms = monster spawner - #etc. - -collections: - # === Collections === - - # all ores - ore¦s = coal ore, iron ore, gold ore, diamond ore, lapis ore, any redstone ore - # fuels, i.e. items which can be burned in the furnace - fuel¦s = lava bucket, blaze rod, any coal, planks, log, huge mushroom, workbench, fence, wooden stairs, trapdoor, sapling, stick, chest, locked chest, jukebox, note block - # note: the above aliases are used in 'furnace automatisation.cfg' - - # all food which can be eaten by rightclicking, i.e. doesn't include cake. - food¦s = any apple, mushroom soup, bread, any porkchop, any fish, cookie, melon slice, any beef, any chicken, rotten flesh, any carrot, any potato, pumpkin pie - # the same list but without raw food & rotten flesh - healthy food¦s = any apple, mushroom soup, bread, cooked porkchop, cooked fish, cookie, melon slice, steak, cooked chicken, any carrot, potato, baked potato, pumpkin pie - - # all vehicles, i.e. all minecarts and the boat - vehicle¦s = any minecart, boat - - # all plants. By default this does not include pumpkins and melons, but their stems. - plant¦s = leaves, any tall grass, dead bush, any flower, any mushroom, lily pad, vines, melon stem, pumpkin stem, nether wart - - -default aliases: - # === Default Aliases === - - # -- special -- - anything @- = : # ':' matches any ID. You should only use this together with a {variation} that includes a {default} value. - # (':' means ':') - something @- = : - everything @- = * # '*' is actually the same as 'every :', but 'every' can't be used in aliases. Thus I made this small hack - # to allow the definition of an 'everything' alias, but please note that '*' cannot be used anywhere else. - - - # ====== Blocks ====== - - # -- air -- - air @- = 0 - nothing @- = 0 - none @- = 0 - empty @- = 0 - [empty] (hand|fist)¦s = 0 - bare (hand|fist)¦s = 0 - - - # -- stone -- - stone¦s = 1 - smooth stone = 1 - - - # -- grass -- - grass = 2 - grass block = 2 - - - # -- dirt -- - dirt = 3 - - - # -- cobblestone -- - cobble[stone] = 4 - mossy cobble[stone] = 48 - - - # -- planks & saplings: see wood - - - # -- bedrock -- - bedrock = 7 - - - # -- water & lava -- - water = 8, 9 - water (item|block)¦s = 9 - stationary water = 9 - water source = 9 - flowing water = 8 # change to '8:0-7' if you want to exclude falling water - falling water = 8:8 - moving water = 8 - - lava = 10, 11 - lava (item|block)¦s = 11 - stationary lava = 11 - lava source = 11 - flowing lava = 10 # change to '10:0-7' if you want to exclude falling lava - falling lava = 10:8 - moving lava = 10 - - - # -- sand & gravel-- - sand = 12 - gravel = 13 - - - # -- ores & precious blocks -- - gold ore¦s = 14 - gold block¦s = 41 - block¦¦s¦ of gold = 41 - - iron ore¦s @an = 15 - iron block¦s @an = 42 - block¦¦s¦ of iron = 42 - - coal ore¦s = 16 - - lapis [lazuli] ore¦s = 21 - lapis [lazuli] block¦s = 22 - - # redstone ore: see redstone - - diamond ore¦s = 56 - diamond block¦s = 57 - block¦¦s¦ of diamond = 57 - - emerald ore¦s @an = 129 - emerald block¦s @an = 133 - block¦¦s¦ of emerald = 133 - packed ice = 174 - - - # -- wood, leaves, saplings & planks -- - {tree type}: # also used for wooden slabs - {default} = :0-15 - (normal|regular|oak) = :0, :4, :8, :12 - (pine|redwood|fir|spruce) = :1, :5, :9, :13 - birch = :2, :6, :10, :14 - jungle = :3, :7, :11, :15 - - {log direction}: - {default} = :0-3 - vertical = :0-3 - east-west = :4-7 - west-east = :4-7 - south-north = :8-11 - north-south = :8-11 - horizontal = :4-11 - rotated = :4-11 - full[[ ]block] = :12-15 - any = :0-15 - {log direction no default}: - vertical = :0-3 - east-west = :4-7 - west-east = :4-7 - south-north = :8-11 - north-south = :8-11 - horizontal = :4-11 - rotated = :4-11 - full[[ ]block] = :12-15 - any = :0-15 - - {log direction no default} {tree type} (log¦s|wood) = 17 - {log direction} {tree type} (log|wood) (item¦s|block¦s) = 17 - {tree type} leaves = 18 - {tree type} permanent leaves = 18:4-7, 18:12-15 - {tree type} sapling¦s = 6:0-3 - {tree type} plank¦s = 5:0-3 - {tree type} wood[en] plank¦s = 5:0-3 - - - # -- sponge -- - sponge¦s = 19 - - - # -- glass -- - glass = 20 - glass pane¦s = 102 - thin glass = 102 - window¦s = 102 - window glass = 102 - - - # -- lapis lazuli -- - # lapis ore & block: see ores & blocks - # lapis lazuli: see dyes - - - # -- dispenser -- - dispenser¦s = 23 - - - # -- sandstone -- - sand[ ]stone¦s = 24 - - - # -- note block -- - note block¦s = 25 - - - # -- bed -- - {bed occupied}: - occupied = :4-7, :12-15 - (free|empty) = :0-3, :8-11 - {bed part}: - (head|top) = :8-15 - (foot|bottom) = :0-7 - {bed occupied} bed [block] {bed part} = 26 - bed¦s = 26, 355 - bed block¦s = 26 - bed item¦s = 355 - - - # -- minecart rails -- - {minerail}: - straight = :0-5 - straight flat = :0-1 - flat straight = :0-1 - curved = :6-9 - flat = :0-1, :6-9 - inclined = :2-5 - {minerail straight}: - flat = :0-1, :8-9 - inclined = :2-5, :10-13 - # normal rail - [any] {minerail} [minecart] (rail|track)[s] = 27, 28, 66 - {minerail} [minecart] (rail|track)[s] (item|block) = 66 - # powered rail - {minerail straight} powered [minecart] (rail|track) = 27 - {minerail straight} [minecart] booster¦s = 27 - {minerail straight} [minecart] booster (rail|track)¦s = 27 - {minerail straight} powered [minecart] (rail|track)¦ on¦s on = powered rail:8-15 - {minerail straight} powered [minecart] (rail|track)¦ off¦s off = powered rail:0-7 - {minerail straight} active powered [minecart] (rail|track)¦s = powered rail:8-15 - {minerail straight} inactive powered [minecart] (rail|track)¦s = powered rail:0-7 - {minerail straight} [minecart] booster¦ on¦s on = powered rail:8-15 - {minerail straight} [minecart] booster¦ off¦s off = powered rail:0-7 - {minerail straight} [minecart] booster (rail|track)¦ on¦s on = powered rail:8-15 - {minerail straight} [minecart] booster (rail|track)¦ off¦s off = powered rail:0-7 - {minerail straight} (active|powered) [minecart] booster¦s = powered rail:8-15 - {minerail straight} (inactive|unpowered) [minecart] booster¦s = powered rail:0-7 - {minerail straight} (active|powered) [minecart] booster (rail|track)¦s = powered rail:8-15 - {minerail straight} (inactive|unpowered) [minecart] booster (rail|track)¦s = powered rail:0-7 - # detector rail - {minerail straight} detector [minecart] (rail|track)¦s = 28 - {minerail straight} detector [minecart] (rail|track)¦ on¦s on = detector rail:8-15 - {minerail straight} detector [minecart] (rail|track)¦ off¦s off = detector rail:0-7 - {minerail straight} active detector [minecart] (rail|track)¦s = detector rail:8-15 - {minerail straight} inactive detector [minecart] (rail|track)¦s = detector rail:0-7 - # activator rail - {minerail straight} activator [minecart] (rail|track)¦s = 157 - - - # -- sticky piston: see redstone - - - # -- cobweb -- - cobweb¦s = 30 - - - # -- vegetation -- - - # saplings & leaves: see wood - - any tall grass = 31:1-2 - dead grass = 31:0 - tall grass = 31:1 - long grass = 31:1 - fern¦s = 31:2 - - dead shrub¦s = 32 - dead bush¦es = 32 - - dandelion¦s = 37 - yellow flower¦s = 37 - rose¦s = 38 - red rose¦s = 38 - red flower¦s = 38 - flower¦s = 37, 38 - - mushroom¦s = 39, 40 - brown mushroom¦s = 39 - red mushroom¦s = 40 - - {huge mushroom type}: - {default} = 99, 100 - brown = 99 - red = 100 - huge {huge mushroom type} mushroom¦s = : - huge {huge mushroom type} mushroom stem¦s = :10 - huge {huge mushroom type} mushroom cap¦s = :1-9 #0 is not a real cap piece - - pumpkin¦s = 86 - jack-o-lantern¦s = 91 - glowing pumpkin¦s = 91 - pumpkin stem¦s = 104 - pumpkin seeds = 361 - pumpkin pie¦s = 400 - - melon¦s = 103 - melon block¦s = 103 - melon slice¦s = 360 - melon stem¦s = 105 - melon seeds = 362 - - vines = 106 - # the amount of vines here refers to the number of vines on the sides of the vine block. - # the top vine is always present if there's a solid block above the vines or the data is 0. - no vine[s] = 106:0 - single vine = 106:1, 106:2, 106:4, 106:8 - double vine[s] = 106:3, 106:5, 106:9, 106:6, 106:10, 106:12 - triple vine[s] = 106:7, 106:11, 106:13, 106:14 - quadruple vine[s] = 106:15 - - lily pad¦s = 111 - - nether wart¦s = 115, 372 - nether wart block¦s = 115 - nether wart item¦s = 372 - ripe nether wart¦s = 115:3 - freshly planted nether wart¦s = 115:0 - - cocoa = 127 - cocoa plant¦s = 127 - (freshly planted|small) cocoa [plant¦s] = 127:0-3 - medium cocoa [plant¦s] = 127:4-7 - (ripe|big|large) cocoa [plant¦s] = 127:8-11 - - {flower pot}: - (empty|nothing) = :0 - (rose|red flower) = :1 - (dandelion|yellow flower) = :2 - flower = :1-2 - (normal|regular|oak) sapling = :3 - (pine|redwood|fir|spruce) sapling = :4 - birch sapling = :5 - jungle [tree] sapling = :6 - sapling = :3-6 - red mushroom = :7 - brown mushroom = :8 - mushroom = :7-8 - cactus = :9 - dead bush = :10 - fern = :11 - {flower pot} flower pot¦s = 140 - {flower pot} flower pot block¦s = 140 - flower pot (holding|containing|with) [a[n]] {flower pot} = 140 - flower pot item¦s = 390 - flower pot¦s = 140, 390 - - carrot plant¦s = 141 - carrot[s] block¦s = 141 - carrot[s] [item¦s] = 391 - golden carrot¦s = 396 - any carrot[s] [item¦s] = 391, 396 - carrot¦ on a stick¦s on sticks = 398 - - potato plant¦s = 142 - potato[es] block¦s = 142 - potato¦es = 392 - potato[es] item¦s = 392 - baked potato¦es = 393 - poisonous potato¦es = 394 - any potato¦es = 392, 393, 394 - - - # -- pistons: see redstone - - - # -- wool, carpets and dyes -- - # note: it's not possible to make a {colour} variation, as dye and wool colour data values are different. - {wool}: # also used for stained clay - any = :0-15 - white = :0 - orange = :1 - magenta = :2 - light blue = :3 - yellow = :4 - light green = :5 - pink = :6 - gray = :7 - light gray = :8 - cyan = :9 - purple = :10 - blue = :11 - brown = :12 - [dark] green = :13 - red = :14 - black = :15 - {wool} wool = 35:0-15 - {wool} (carpet|rug)¦s = 171:0-15 - - dye¦s = 351:0-15 - white dye¦s = 351:15 - bone[ ]meal¦s = 351:15 - orange dye¦s = 351:14 - magenta dye¦s = 351:13 - light blue dye¦s = 351:12 - yellow dye¦s = 351:11 - dandelion yellow [dye¦s] = 351:11 - light green dye¦s = 351:10 - pink dye¦s = 351:9 - gray dye¦s = 351:8 - light gray dye¦s = 351:7 - cyan dye¦s = 351:6 - purple dye¦s = 351:5 - blue dye¦s = 351:4 - lapis [lazuli¦s] = 351:4 - cocoa beans = 351:3 - brown dye¦s = 351:3 - [dark] green dye¦s = 351:2 - cactus green [dye¦s] = 351:2 - red dye¦s = 351:1 - rose red = 351:1 - black dye¦s = 351:0 - ink sack¦s = 351:0 - - - # -- block 36 -- - block 36 = 36 - block moved by piston = 36 - moving block¦s = 36 - - - # -- flowers & mushrooms: see vegetation - - - # -- iron & gold block: see ores & blocks - - - # -- single & double steps / slabs -- - {any slab}: - {default} = 44, 126 - single = 44, 126 - double = 43, 125 - {stone slab}: - {default} = 44 - single = 44 - double = 43 - {wooden slab}: - {default} = 126 - single = 126 - double = 125 - - {slab facing}: - {default} = :0-7 - regular = :0-7 - default = :0-7 - upside-down = :8-15 - any = :0-15 - {slab facing no default}: - regular = :0-7 - default = :0-7 - upside-down = :8-15 - any = :0-15 - - {stone slab type}: - {default} = :0-1, :3-5, :8-9, :11-13 - any = :0-1, :3-5, :8-9, :11-13 - stone = :0, :8 - sandstone = :1, :9 - cobble[stone] = :3, :11 - brick = :4, :12 - stone brick[s]) = :5, :13 - {stone slab type no default}: - any = :0-1, :3-5, :8-9, :11-13 - stone = :0, :8 - sandstone = :1, :9 - cobble[stone] = :3, :11 - brick = :4, :12 - stone brick[s]) = :5, :13 - - # variation {tree type}: see wood - {slab facing no default} {stone slab} {stone slab type no default} (step|slab)¦s = : - {slab facing} {stone slab} {stone slab type} (step|slab) (block|item)¦s = : - {slab facing no default} {wooden slab} {tree type} [wood[en]] (step|slab)¦s = :0-3, :8-11 - {slab facing} {wooden slab} {tree type} (step|slab) (block|item)¦s = : - {slab facing no default} {any slab} (step|slab)¦s = : - {slab facing} {any slab} (step|slab) (block|item)¦s = : - - - # -- bricks & clay -- - [clay] brick¦s = 45, 336 - [clay] brick[s] = 45 - [clay] brick[s] = 336 - - {wool} [stained] [hard[ened]] clay = 159 - - clay = 82, 337 - clay = 82 - clay = 337 - clay ball¦s = 337 - - hard[ened] clay = 172 - - - # -- TNT -- - TNT¦s = 46 - dynamite = 46 - - - # -- bookshelf -- - bookshel¦f¦ves = 47 - - - # -- mossy cobblestone: see cobblestone - - - # -- obsidian -- - obsidian = 49 - - - # -- torch -- - {torch}: #also used for redstone torches - ground = :5 - floor = :5 - wall = :1-4 - {torch} torch¦es = 50 - - - # -- fire -- - fire¦s = 51 - (eternal|infinite) fire¦s = 51:15 #never tested this myself - finite fire¦s = 51:0-14 - (new|fresh) fire¦s = 51:0 - - - # -- monster spawner -- - monster spawner¦s = 52 - mob spawner¦s = 52 - - - # -- stairs -- - {stairs}: - {default} = 53, 134, 135, 136, 67, 108, 109, 114, 128, 156 - (oak|regular|normal) [wood] = 53 - (spruce|fir|redwood|pine) [wood] = 134 - birch [wood] = 135 - jungle [wood] = 136 - [any] wood[en] = 53, 134, 135, 136 - cobble[stone] = 67 - [clay] brick[s] = 108 - stone brick[s] = 109 - nether [brick[s]] = 114 - sand[ ]stone = 128 - [nether] quarz = 156 - {stairs direction}: - {default} = :0-3 - any = :0-7 - upside-down = :4-7 - {stairs direction no default}: - any = :0-7 - upside-down = :4-7 - - {stairs direction no default} {stairs} stair[s] = : - {stairs direction} {stairs} stair[s] (block|item)¦s = : - - - # -- chest -- - chest¦s = 54 - ender chest¦s = 130 - trapped chest¦s = 146 - - - # -- redstone wire: see redstone - - - # -- diamond ore & block: see ores & blocks - - - # -- crafting table -- - crafting table¦s = 58 - workbench¦es = 58 - - - # -- crops / wheat -- - crops = 59 - wheat block¦s = 59 - wheat item¦s = 296 - wheat = 59, 296 - [wheat] seeds = 295 - freshly planted (crops|wheat) = 59:0 - ripe (crops|wheat) = 59:7 - - - # -- farmland/soil -- - (farmland|soil) = 60 - dry (farmland|soil) = 60:0 - wet (farmland|soil) = 60:1-8 - - - # -- furnace -- - furnace¦s = 61, 62 - (burning|lighted|lit) furnace¦s = 62 - furnace¦ on¦s on = 62 - (non-burning|unlighted|unlit|extinguished) furnace¦s = 61 - furnace¦ off¦s off = 61 - - - # -- signs -- - sign post¦s = 63 - wall sign¦s = 68 - sign block¦s = 63, 68 - sign item¦s = 323 - sign¦s = 63, 68, 323 - - - # -- doors, trapdoors and fence gates -- - # I currently discourage from creating aliases like 'open door' or doors with specific facings - # as any 'block is ' condition will fail if you click the wrong part of the door. - # 'set to door:1' will correctly place an open door though. - {doortype}: - {default} = 64, 71 - wood[en] = 64 - iron = 71 - {doorhalf}: - top¦s = :8-9 - bottom¦s = :0-7 - {doortype} door [block] {doorhalf} = : - {doortype} door block¦s = : - wood[en] door item¦s = 324 - wood[en] door¦s = 324, 64 - iron door item¦s = 330 - iron door¦s = 330, 71 - door item¦s = 330, 324 - door¦s = 330, 71, 324, 64 - - trapdoor¦s = 96 - open[ed] trapdoor¦s = 96:4-7 - closed trapdoor¦s = 96:0-3 - - fence gate¦s = 107 - open[ed] fence gate¦s = 107:4-7 - closed fence gate¦s = 107:0-3 - - - # -- ladder -- - ladder¦s = 65 - - - # -- rails: see minecart rails - - - # -- coblestone stairs: see stairs - - - # -- redstone -- - [redstone] wire¦s = 55 - [redstone] wire¦ on¦s on = 55:1-15 - [redstone] wire¦ off¦s off = 55:0 - powered [redstone] wire¦s = redstone wire on - unpowered [redstone] wire¦s = redstone wire off - active [redstone] wire¦s = redstone wire on - inactive [redstone] wire¦s = redstone wire off - - redstone ore¦s = 73, 74 - (active|glowing) redstone ore¦s = 74 - (inactive|non-glowing) redstone ore¦s = 73 - redstone ore¦ on¦s on = 74 - redstone ore¦ off¦s off = 73 - - # variation {torch}: see torch - {torch} redstone torch¦es = 75, 76 - {torch} redstone torch¦ on¦es on = 76 - active {torch} redstone torch¦es = 76 - {torch} redstone torch¦ off¦es off = 75 - inactive {torch} redstone torch¦es = 75 - - {diodedelay}: - 1-tick[-delay] = :0-3 - 2-tick[-delay] = :4-7 - 3-tick[-delay] = :8-11 - 4-tick[-delay] = :12-15 - {diodedelay} [redstone] (repeater|diode)[ block]¦s = 93, 94 - [redstone] (repeater|diode) item¦s = 356 - [redstone] (repeater|diode)¦s = 356, 93, 94 - {diodedelay} [redstone] (repeater|diode)[ block]¦ on¦s on = 94 - {diodedelay} [redstone] (repeater|diode)[ block]¦ off¦s off = 93 - (active|powered) {diodedelay} [redstone] (repeater|diode)[ block]¦s = 94 - (inactive|unpowered) {diodedelay} [redstone] (repeater|diode)[ block]¦s = 93 - - {lever position}: - wall = :1-4, :9-12 - ground = :5-6, :13-14 - floor = :5-6, :13-14 - {lever position} lever¦s = 69 - {lever position} lever¦ on¦s on = 69:8-15 - (pulled|thrown|active) {lever position} lever¦s = 69:8-15 - {lever position} lever¦ off¦s off = 69:0-7 - (unpulled|unthrown|inactive) {lever position} lever¦s = 69:0-7 - - {button}: - {default} = 77, 143 - stone = 77 - wood[en] = 143 - {button} button¦s = : - {button} button¦ on¦s on = :8-15 - pressed {button} button¦s = :8-15 - active {button} button¦s = :8-15 - {button} button¦ off¦s off = :0-7 - unpressed {button} button¦s = :0-7 - inactive {button} button¦s = :0-7 - - {pressure plate}: - {default} = 70, 72, 147, 148 - wood[en] = 72 - stone = 70 - gold[en] = 147 - iron = 148 - {pressure plate} [pressure] plate¦s = : - (pressed|active) {pressure plate} [pressure] plate¦s = :1 - (unpressed|inactive) {pressure plate} [pressure] plate¦s = :0 - {weighted pressure plate}: - {default} = 147, 148 - gold[en] = 147 - light = 147 - iron = 148 - heavy = 148 - {weighted pressure plate} weighted [pressure] plate¦s = : - (pressed|active) {weighted pressure plate} weighted [pressure] plate¦s = :1 - (unpressed|inactive) {weighted pressure plate} weighted [pressure] plate¦s = :0 - - piston base¦s = 33 - sticky piston base¦s = 29 - any piston base¦s = 33, 29 - # - piston extension¦s = 34:0-5 - sticky piston extension¦s = 34:8-13 - any piston extension¦s = 34 - # - piston¦s = piston base, piston extension - piston (item|block)¦s = piston base - sticky piston¦s = sticky piston base, sticky piston extension - sticky piston (item|block)¦s = sticky piston base - any piston¦s = 29, 33, 34 - # - extended piston base¦s = 33:8-13 - extended sticky piston base¦s = 29:8-13 - any extended piston base¦s = extended piston base, extended sticky piston base - # - extended piston¦s = extended piston base, piston extension - extended sticky piston¦s = extended sticky piston base, sticky piston extension - any extended piston¦s = any extended piston base, any piston extension - # - retracted piston¦s = 33:0-5 - retracted sticky piston¦s = 29:0-5 - any retracted piston¦s = retracted piston, retracted sticky piston - - redstone lamp¦s = 123, 124 - (inactive|unpowered|unlit) restone lamp¦s = 123 - restone lamp¦ off¦s off = 123 - (active|glowing|powered|lit) redstone lamp¦s = 124 - redstone lamp¦ on¦s on = 124 - - redstone comparator¦s = 149, 150 - redstone comparator block¦s = 149 - redstone comparator item¦s = 404 - (inactive|unpowered) redstone comparator¦s = 149 - (active|powered) redstone comparator¦s = 150 - - daylight sensor¦s = 151 - - redstone block¦s = 152 - block¦¦s¦ of redstone = 152 - - hopper¦s = 154 - - dropper¦s = 158 - - - # -- snow & ice -- - snow layer¦s = 78 - ice [block¦s] @an = 79 - snow [block¦s] = 80 - - - # -- cactus -- - cact¦us¦i = 81 - cactuses = 81 - - - # -- clay block: see bricks -- - - - # -- sugar cane -- - [sugar] cane¦s = 83, 338 - [sugar] cane block¦s = 83 - [sugar] cane item¦s = 338 - - - # -- jukebox -- - jukebox¦es = 84 - - - # -- fence -- - fence¦s = 85 - - - # -- pumpkin & lack-o-lantern: see vegetation - - - # -- nether stuff -- - netherrack¦s = 87 - soul[ ]sand¦s = 88 - glowstone¦s = 89 - [nether] portal¦s = 90 - - - # -- cake -- - cake¦s = 92, 354 - cake block¦s = 92 - cake item¦s = 354 - - - # -- redstone repeater: see redstone - - - # -- locked chest -- - locked chest¦s = 95 - - - # -- trapdoor: see doors - - - # -- hidden silverfish -- - silverfish block¦s = 97:0-2 - hidden silverfish¦es = 97:0-2 - [hidden] [smooth] stone silverfish¦es = 97:0 - [hidden] cobble[stone] silverfish¦es = 97:1 - [hidden] stone brick[s] silverfish¦es = 97:2 - - - # -- stone bricks -- - stone brick¦s = 98:0-3 - stone brick¦s = 98:0-3 - stone brick[s] (item|block)¦s = 98:0 - smooth [stone] brick¦s = 98:0 - mossy [stone] brick¦s = 98:1 - cracked [stone] brick¦s = 98:2 - (circle|fancy|decorated) [stone] brick¦s = 98:3 - - - # -- huge mushrooms: see vegetation - - - # -- iron bars -- - [iron] bars @x = 101 - - - # -- glass pane: see glass - - - # -- melon, stems & vines: see vegetation - - - # -- fence gate: see doors - - - # -- brick & stone brick stairs: see stairs - - - # -- mycelium -- - mycelium = 110 - mushroom (floor|ground|grass) = 110 - - - # -- lily pad: see vegetation - - - # -- nether brick stuff -- - nether brick¦s = 112, 405 - nether brick block¦s = 112 - nether brick item¦s = 405 - nether [brick[s]] fence¦s = 113 - # nether brick stairs: see stairs - - - # -- nether wart: see vegetation - - - # -- enchantment table -- - enchantment table¦s = 116 - - - # -- brewing stand -- - brewing stand¦s = 117, 379 - brewing stand block¦s = 117 - brewing stand item¦s = 379 - empty brewing stand¦s @an = 117:0 - full brewing stand¦s = 117:7 - - - # -- cauldron -- - cauldron¦s = 118, 380 - cauldron block¦s = 118 - cauldron item¦s = 380 - empty cauldron¦s @an = 118:0 - full cauldron¦s = 118:3 - - - # -- End stuff -- - end[er] portal¦s @an = 119 - - end[er] portal frame¦s @an = 120 - empty end[er] portal frame¦s @an = 120:0-3 - filled end[er] portal frame¦s = 120:4-7 - end[er] stone¦s @an = 121 - - dragon egg¦s = 122 - ender[ ]dragon egg¦s @an = 122 - - - # -- redstone lamp: see redstone - - - # -- emerald ore/block: see ores - - - # -- ender chest: see chest - - - # -- tripwire & hook - tripwire¦s = 132 - [tripwire] hook¦s = 131 - - - # -- wooden stairs: see stairs - - - # -- command block -- - command block¦s = 137 - - - # -- beacon -- - beacon¦s = 138 - - - # -- cobblestone walls -- - cobble[stone] wall¦s = 139:0-1 - cobble[stone] wall (item|block)¦s = 139:0 - (normal|regular) cobble[stone] wall¦s = 139:0 - moss[y] cobble[stone] wall¦s = 139:1 - - - # -- flower pot, carrots, potatoes: see vegetation -- - - - # -- wooden button: see redstone -- - - - # -- mob head -- - {mob head direction}: - floor = :1 - wall = :2-5 - {mob head type}: - skeleton = :0 - wither skeleton = :1 - zombie = :2 - (human|player) = :3 - creeper = :4 - {mob head type} [mob] head[ item]¦s = 397 - {mob head direction} [mob] head[ block]¦s = 144 - [mob] head¦s = 144, 397 - - - # -- anvil -- - {anvil}: - (regular|complete) @a = :0-1 - undamaged @an = :0-1 - [slightly] damaged @a = :4-5 - (very|heavily|severely) damaged @a = :8-9 - {anvil} anvil¦s @an = 145 - - - # -- trapped chest: see chest - - - # -- weighted pressure plates, redstone comparator, daylight sensor, redstone block: see redstone - - - # -- nether quarz ore, quarz block -- - [nether] quartz ore = 153 - {quartz block}: - (normal|regular) = :0 - chiseled = :1 - pillar = :2-3 - vertical pillar = :2 - horizontal pillar = :3-4 - ns pillas = :3 - ew pillar = :4 - {quartz block} [nether] quartz = 155 - {quartz block} [nether] quartz block¦s = 155 - pillar [nether] quartz (block|item) = 155:2 - [nether] quartz = 155, 406 - [nether] quartz item¦s = 406 - # quarz stairs: see stairs - - - # -- hopper: see redstone - - - # -- activator rail: see rails - - - # -- dropper: see redstone - - - # -- stained clay: see clay - - - # -- hay block -- - (hay|wheat) block¦s = 170 - block¦¦s¦ of (hay|wheat) = 170 - - - # -- carpet: see wool - - - # -- hardened clay: see clay - - - # -- block of coal: see coal - - - - - - - - # ====== Items ====== - - # -- flint and steel -- - flint and steel¦s = 259 - flint'n'steel¦s = 259 - - - # -- apples -- - apple¦s = 260, 322:0-1 - apple¦s @an = 260 - red apple¦s = 260 - golden apple¦s = 322:0-1 - golden apple item¦s = 322:0 - enchanted golden apple¦s @an = 322:1 - - - # -- bow & arrow -- - bow¦s = 261 - arrow¦s = 262 - - - # -- coal -- - coal = 263:0-1 - charcoal = 263:1 - coal = 263:0, 173 - coal = 263:0 - coal = 173 - block¦¦s¦ of coal = 173 - - - # -- diamond & ingots -- - diamond¦s = 264 - iron (ingot|bar)¦s @an = 265 - gold[en] (ingot|bar)¦s = 266 - ingot¦s @an = 265, 266 - - - # -- tools -- - sword¦s = 267, 268, 272, 276, 283 - pick[axe]¦s = 270, 274, 257, 278, 285 - axe¦s @an = 271, 275, 258, 279, 286 - shovel¦s = 269, 273, 256, 277, 284 - spade¦s = shovel - hoe¦s = 290, 291, 292, 293, 294 - - wood[en] tool¦s = 268, 269, 270, 271, 290 - stone tool¦s = 272, 273, 274, 275, 291 - iron tool¦s @an = 256, 257, 258, 267, 292 - diamond tool¦s = 276, 277, 278, 279, 293 - gold[en] tool¦s = 283, 284, 285, 286, 294 - - wood[en] sword¦s = 268 - wood[en] (shovel|spade)¦s = 269 - wood[en] pick[axe]¦s = 270 - wood[en] axe¦s = 271 - wood[en] hoe¦s = 290 - - stone sword¦s = 272 - stone (shovel|spade)¦s = 273 - stone pick[axe]¦s = 274 - stone axe¦s = 275 - stone hoe¦s = 291 - - iron sword¦s @an = 267 - iron (shovel|spade)¦s @an = 256 - iron pick[axe]¦s @an = 257 - iron axe¦s @an = 258 - iron hoe¦s @an = 292 - - diamond sword¦s = 276 - diamond (shovel|spade)¦s = 277 - diamond pick[axe]¦s = 278 - diamond axe¦s = 279 - diamond hoe¦s = 293 - - gold[en] sword¦s = 283 - gold[en] (shovel|spade)¦s = 284 - gold[en] pick[axe]¦s = 285 - gold[en] axe¦s = 286 - gold[en] hoe¦s = 294 - - - # -- stick -- - stick¦s = 280 - - - # -- bowl & stew -- - bowl¦s = 281 - empty bowl¦s @an = 281 - [mushroom] (stew|soup)¦s = 282 - - - # -- string -- - string¦s = 287 - - - # -- feather -- - feather¦s = 288 - - - # -- gunpowder -- - gunpowder = 289 - sulphur = 289 - - - # -- wheat & seeds: see crops / wheat - bread¦s = 297 - - - # -- armour -- - helmet¦s = 298, 302, 306, 310, 314 - chestplate¦s = 299, 303, 307, 311, 315 - leg[ging]s @x = 300, 304, 308, 312, 316 - boots @x = 301, 305, 309, 313, 317 - - leather armo[u]r¦s = 298, 299, 300, 301 - chain[mail] armo[u]r¦s = 302, 303, 304, 305 - iron armo[u]r¦s = 306, 307, 308, 309 - diamond armo[u]r¦s = 310, 311, 312, 313 - gold armo[u]r¦s = 314, 315, 316, 317 - - leather (cap|helmet)¦s = 298 - leather (tunic|chest[plate])¦s = 299 - leather (pants|leg[ging]s) @x = 300 - leather boots @x = 301 - - chain[mail] helmet¦s = 302 - chain[mail] chestplate¦s = 303 - chain[mail] leggings @x = 304 - chain[mail] boots @x = 305 - - iron helmet¦s @an = 306 - iron chest[plate]¦s @an = 307 - iron leg[ging]s @x = 308 - iron boots @x = 309 - - diamond helmet¦s = 310 - diamond chest[plate]¦s = 311 - diamond leg[ging]s @x = 312 - diamond boots @x = 313 - - gold[en] helmet¦s = 314 - gold[en] chest[plate]¦s = 315 - gold[en] leg[ging]s @x = 316 - gold[en] boots @x = 317 - - - # -- flint -- - flint¦s = 318 - - - # -- porkchop -- - [] pork[chop]¦s = 319, 320 - pork[chop] item¦s = 319 - raw pork[chop]¦s = 319 - (cooked|grilled) pork[chop]¦s = 320 - - - # -- painting -- - painting¦s = 321 - painting item¦s = 321 - - - # -- golden apple: see apples - - - # sign: see signs - - - # wooden door: see doors - - - # -- buckets -- - [empty] bucket¦s = 325 - water bucket¦s = 326 - bucket¦¦s¦ of water = 326 - lava bucket¦s = 327 - bucket¦¦s¦ of lava = 327 - milk [bucket¦s] = 335 - bucket¦¦s¦ of milk = 335 - - - # -- minecarts -- - [] minecart¦s = 328, 342, 343 - minecart item¦s = 328 - storage minecart¦s = 342 - minecart¦¦s¦ with chest = 342 - powered minecart¦s = 343 - minecart¦¦s¦ with furnace = 343 - minecart¦¦s¦ with TNT = 407 - minecart¦¦s¦ with hopper = 408 - - - # -- saddle -- - saddle¦s = 329 - - - # -- iron door: see doors - - - # -- redstone dust -- - redstone = 331 - redstone dust = 331 - - - # -- snowball -- - snowball¦s = 332 - - - # -- boat -- - boat¦s = 333 - - - # -- leather -- - leather = 334 - - - # -- milk: see buckets - - - # -- clay & clay brick: see bricks -- - - - # -- sugar cane: see sugar cane block - - - # -- paper & books -- - paper = 339 - book¦s = 340 - book¦¦s¦ (and|with) quill = 386 - written book¦s = 387 - - - # -- slimeball -- - slime[ball¦s] = 341 - - - # minecart with chest/furnace: see minecarts - - - # -- [chicken] egg -- - egg¦s @an = 344 - chicken egg¦s = 344 - - - # -- compass -- - compass¦es = 345 - - - # -- fishing rod -- - fishing rod¦s = 346 - - - # -- clock -- - clock¦s = 347 - - - # -- glowstone dust -- - glowstone dust = 348 - - - # -- fish -- - [] fish¦es = 349, 350 - fish item¦s = 349 - raw fish¦es = 349 - cooked fish¦es = 350 - - - # -- dyes: see wool & dyes - - - # -- bone -- - bone¦s = 352 - - - # -- sugar -- - sugar = 353 - - - # -- cake: see cake block - - - # -- bed: see bed block - - - # -- redstone repeater: see redstone - - - # -- cookie -- - cookie¦s = 357 - - - # -- map -- - map¦s = 358 - map¦s = 358:0-32767 - empty map¦s @an = 395 - # You can get a specific map with map:#, e.g. map:0 for map_0 (the first map crafted) - # (The maximum map number is 65536, but Skript currently only supports numbers up to 32767) - - - # -- shears -- - shears = 359 - - - # -- melon slice, pumpkin seeds & melon seeds: see vegetation - - - # -- beef -- - [] beef = 363, 364 - beef item¦s = 363, 364 - [raw] beef = 363 - steak¦s = 364 - cooked beef = 364 - - - # -- chicken -- - [] chicken¦s = 365, 366 - chicken item¦s = 365 - raw chicken¦s = 365 - cooked chicken¦s = 366 - - - # -- rotten flesh -- - rotten flesh = 367 - - - # -- ender pearl -- - ender pearl¦s @an = 368 - - - # -- blaze rod -- - blaze rod¦s = 369 - - - # -- ghast tear -- - ghast tear¦s = 370 - - - # -- gold nugget -- - gold nugget¦s = 371 - - - # -- nether wart: see vegetation - - - # -- potions & bottles -- - [glass] bottle¦s = 374 - vial¦s = 374 - water bottle¦s = 373:0 - bottle¦¦s¦ of water = 373:0 - - awkward potion¦s @an = 373:16 - - {splash potion}: - {default} = :0-16383 - non-splash = :0-16383 - splash = :16384-32767 - {splash potion no default}: - non-splash = :0-16383 - splash = :16384-32767 - - {extended potion}: - {default} = :0-63, :16384-16447 - unextended @an = :0-63, :16384-16447 - non-extended = :0-63, :16384-16447 - extended @an = :64-127, :16448-16511 - {extended potion no default}: - unextended @an = :0-63, :16384-16447 - non-extended = :0-63, :16384-16447 - extended @an = :64-127, :16448-16511 - - {potion tier}: - {default} = :0-31, :64-95, :16384-16415, :16448-16479 - (1|I) = :0-31, :64-95, :16384-16415, :16448-16479 - (2|II) = :32-63, :96-127, :16416-16447, :16480-16511 - {potion tier no default}: - (1|I) = :0-31, :64-95, :16384-16415, :16448-16479 - (2|II) = :32-63, :96-127, :16416-16447, :16480-16511 - - {potion effect}: - Regeneration = :1, :33, :65, :97, :16385, :16417, :16449, :16481 - (Swiftness|Speed) = :2, :34, :66, :98, :16386, :16418, :16450, :16482 - Fire Resistance = :3, :35, :67, :99, :16387, :16419, :16451, :16483 - Poison = :4, :36, :68, :100, :16388, :16420, :16452, :16484 - (Healing|[Instant] Health) = :5, :53, :69, :101, :16389, :16421, :16453, :16485 - Night Vision = :6, :38, :70, :102, :16390, :16422, :16454, :16486 - Weakness = :8, :40, :72, :104, :16392, :16424, :16456, :16488 - Strength = :9, :41, :73, :105, :16393, :16425, :16457, :16489 - Slowness = :10, :42, :74, :106, :16394, :16426, :16458, :16490 - (Harming|[Instant] Damage) = :12, :44, :76, :108, :16396, :16428, :16460, :16492 - Invisibility = :14, :46, :78, :110, :16398, :16430, :16462, :16494 - - {extended potion no default} {splash potion no default} potion¦¦s¦ [of {potion effect} {potion tier no default}] = 373 - {extended potion} {splash potion} potion¦¦s¦ [of {potion effect} {potion tier}] item = 373 - {extended potion no default} {splash potion no default} {potion effect} potion¦¦s¦ {potion tier no default} = 373 - {extended potion} {splash potion} {potion effect} potion {potion tier} item¦s = 373 - - - # -- spider eye & fermented spider eye -- - spider eye¦s = 375 - fermented spider eye¦s = 376 - - - # -- blaze powder -- - blaze powder = 377 - - - # -- magma cream -- - magma cream¦s = 378 - - - # -- eye of ender -- - eye¦¦s¦ of ender @an = 381 - - - # -- glistering melon -- - glistering melon¦s = 382 - - - # -- spawn egg -- - {entity type}: - experience orb @an = :2 - xp orb = :2 - TNT = :20 - minecart = :40 # < MC 1.5 - boat = :41 - minecart = :42 - minecart with chest = :43 - minecart with furnace = :44 - minecart with TNT = :45 - minecart with hopper = :46 - minecart with spawner = :47 - creeper = :50 - skeleton = :51 - spider = :52 - giant = :53 - zombie = :54 - slime = :55 - ghast = :56 - zombie pigman = :57 - pig[ ]zombie = :57 - enderman @an = :58 - cave spider = :59 - silverfish = :60 - blaze = :61 - magma cube = :62 - ender dragon @an = :63 - wither = :64 - witch = :66 - bat = :65 - pig = :90 - sheep = :91 - cow = :92 - chicken = :93 - squid = :94 - wolf = :95 - mooshroom = :96 - snow golem = :97 - ocelot @an = :98 - iron golem @an = :99 - horse = :100 - villager = :120 - ender crystal = :200 - - {entity type} spawn egg¦s = 383 - random spawn egg¦s = 383:50-52, 383:54-62, 383:65-66, 383:90-96, 383:98, 383:100, 383:120 # only working eggs - - - # -- bottle o' enchanting -- - bottle¦¦s¦ (o'|of) enchanting = 384 - (xp|exp[erience]) bottle¦s @an = 384 - - - # -- fire charge -- - fire charge¦s = 385 - - - # -- book and quill, written book: see book - - - # -- emerald -- - emerald¦s = 388 - - - # -- item frame -- - item frame¦s = 389 - - - # -- flower pot: see vegetation -- - - - # -- carrot, potatoes: see vegetation -- - - - # -- empty map: see map -- - - - # -- golden carrot: see vegetation -- - - - # -- mob head: see mob head block -- - - - # -- carrot on a stick: see vegetation -- - - - # -- nether star -- - nether star¦s = 399 - - - # -- pumpkin pie: see vegetation -- - - - # -- Fireworks -- - firework rocket¦s = 401 - firework star¦s = 402 - - - # -- Enchanted Book -- - enchanted book¦s @an = 403 - - - # -- redstone comparator: see redstone - - - # -- nether brick item: see nether brick stuff - - - # -- nether quarz: see nether quarz block - - - # -- minecart with TNT/hopper: see minecarts - - - # -- horse armour -- - iron horse armo[u]r¦s = 417 - gold horse armo[u]r¦s = 418 - diamond horse armo[u]r¦s = 419 - - - # -- lead -- - lead¦s = 420 - - - # -- name tag -- - name tag¦s = 421 - - - # -- music discs -- - music disc¦s = 2256, 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267 - record¦s = music disc - gold [music] disc¦s = 2256 - 13-disc¦s = 2256 - green [music] disc¦s = 2257 - cat [music] disc¦s = 2257 - blocks [music] disc¦s = 2258 - chirp [music] disc¦s = 2259 - far [music] disc¦s = 2260 - mall [music] disc¦s = 2261 - mellohi [music] disc¦s = 2262 - stal [music] disc¦s = 2263 - strad [music] disc¦s = 2264 - ward [music] disc¦s = 2265 - 11-disc¦s = 2266 - wait [music] disc¦s = 2267 diff --git a/Obam-Testing/broadcast.sk b/Obam-Testing/broadcast.sk deleted file mode 100644 index 593d015..0000000 --- a/Obam-Testing/broadcast.sk +++ /dev/null @@ -1,4 +0,0 @@ -command /broadcast : - permission: obam.admin - trigger: - broadcast argument \ No newline at end of file diff --git a/Obam-Testing/effect.sk b/Obam-Testing/effect.sk deleted file mode 100644 index a66a2d6..0000000 --- a/Obam-Testing/effect.sk +++ /dev/null @@ -1,138 +0,0 @@ -command /effect [] [] []: - permission: obam.admin - trigger: - - argument 1 is not set: - send "1 ... hugeexplosion" - send "2 ... largeexplode" - send "3 ... bubble" - send "4 ... suspended" - send "5 ... depthsuspend" - send "6 ... townaura" - send "7 ... crit" - send "8 ... magicCrit" - send "9 ... smoke" - send "10 ... mobSpell" - send "11 ... mobSpellAmbient" - send "12 ... instantSpellAmbient" - send "13 ... witchMagic" - send "14 ... note" - send "15 ... portal" - send "16 ... enchantmenttable" - send "17 ... explode" - send "18 ... flame" - send "19 ... lava" - send "20 ... footstep" - send "21 ... splash" - send "22 ... largesmoke" - send "23 ... cloud" - send "24 ... reddust" - send "25 ... snowballpoof" - send "26 ... dripWater" - send "27 ... dripLava" - send "28 ... snowshovel" - send "29 ... slime" - send "30 ... heart" - send "31 ... angryVillager" - send "32 ... happyVillager" - send "33 ... redust?" - - argument 1 is set: - argument 1 is 1: - set {_effect} to "hugeexplosion" - argument 1 is 2: - set {_effect} to "largeexplod" - argument 1 is 3: - set {_effect} to "bubble" - argument 1 is 4: - set {_effect} to "suspended" - argument 1 is 5: - set {_effect} to "depthsuspend" - argument 1 is 6: - set {_effect} to "townaura" - argument 1 is 7: - set {_effect} to "crit" - argument 1 is 8: - set {_effect} to "magicCrit" - argument 1 is 9: - set {_effect} to "smoke" - argument 1 is 10: - set {_effect} to "mobSpell" - argument 1 is 11: - set {_effect} to "mobSpellAmbient" - argument 1 is 12: - set {_effect} to "isntantSpellAmbient" - argument 1 is 13: - set {_effect} to "witchMagic" - argument 1 is 14: - set {_effect} to "note" - argument 1 is 15: - set {_effect} to "portal" - argument 1 is 16: - set {_effect} to "enchantmenttable" - argument 1 is 17: - set {_effect} to "explode" - argument 1 is 18: - set {_effect} to "flame" - argument 1 is 19: - set {_effect} to "lava" - argument 1 is 20: - set {_effect} to "footstep" - argument 1 is 21: - set {_effect} to "splash" - argument 1 is 22: - set {_effect} to "largesmoke" - argument 1 is 23: - set {_effect} to "cloud" - argument 1 is 24: - set {_effect} to "reddust" - argument 1 is 25: - set {_effect} to "snowballpoof" - argument 1 is 26: - set {_effect} to "dripWater" - argument 1 is 27: - set {_effect} to "dripLava" - argument 1 is 28: - set {_effect} to "snowshovel" - argument 1 is 29: - set {_effect} to "slime" - argument 1 is 30: - set {_effect} to "heart" - argument 1 is 31: - set {_effect} to "angryVillager" - argument 1 is 32: - set {_effect} to "happyVillager" - argument 1 is 33: - set {_loc} to block above player's head - play argument 2 of effect "blockcrack_152_0" with data argument 3 at location of player - stop - - set {_location} to block above player - - play argument 2 of effect {_effect} with data argument 3 at {_location} - -command /lighton: - permission: obam.admin - trigger: - {light.%player%} is not set: - set {light.%player%} to false - {light.%player%} is false: - set {light.%player%} to true - send "&aLights on" - stop - {light.%player%} is true: - set {light.%player%} to false - send "&cLights off" - make player see {light.%player%.lastblock} as {light.%player%.lastblock} - clear {light.%player%.lastblock} - loop {light.%player%::*}: - make player see loop-value as loop-value - stop - -every 3 seconds: - loop all players: - {light.%loop-player%} is true: - set {_loc} to location of player - make loop-player see block below loop-player as torch - wait 2.8 seconds - make loop-player see block below loop-player as torch \ No newline at end of file diff --git a/Obam-Testing/modbridge.sk b/Obam-Testing/modbridge.sk deleted file mode 100644 index da3ae18..0000000 --- a/Obam-Testing/modbridge.sk +++ /dev/null @@ -1,13 +0,0 @@ -command /modpush : - trigger: - forward command "/modcatch %argument%" to console -command /modcatch : - permission: obam.admin - trigger: - - wait 1 tick - broadcast "Mod Command" - loop all players: - {db_channel.staff::%loop-player%} is set: - - send argument to loop-player \ No newline at end of file diff --git a/Obam-Testing/schat2.sk b/Obam-Testing/schat2.sk deleted file mode 100644 index 2af594a..0000000 --- a/Obam-Testing/schat2.sk +++ /dev/null @@ -1,187 +0,0 @@ -options: - p: &c[W] - - - -on join: - {db_global.%player%} is not set: - set {db_global.%player%} to true - {db_global.%player%} is true: - set {db_channel.global::%player%} to player - set {db_channel.%player%} to "global" - player does not have permission "obam.supporter": - delete {db_channel.supporter::%player%} - player does not have permission "obam.mod": - delete {db_channel.supporter::%player%} - {db_channel.sup.%player%} is not set: - player has permission "obam.supporter" - set {db_channel.sup.%player%} to true - {db_channel.sup.%player%} is true: - set {db_channel.supporter::%player%} to player - {db_channel.staff.%player%} is not set: - player has permission "obam.mod" - set {db_channel.staff.%player%} to player - {db_channel.staff.%player%} is true: - set {db_channel.supporter::%player%} to player - -on chat: - cancel event - player is "IcecreamCow" or "Electric_Hamster" or "ISMOOCH": - - set {_pre} to "{@p} &d[A] %player%" - {_pre} is not set: - player has permission "obam.mod": - set {_pre} to "{@p} &2[M] %player%" - {_pre} is not set: - player has permission "obam.ultimate": - set {_pre} to "{@p} &6[^] %player%" - {_pre} is not set: - player has permission "obam.plus": - set {_pre} to "{@p} &b[+] %player%" - {_pre} is not set: - set {_pre} to "{@p} %player%" - player is "BruSwain": - set {_pre} to "{@p} &6[^] %player%" - - {db_channel.%player%} is "staff": - player does not have permission "obam.mod": - set {db_channel.%player%} to "global" - delete {db_channel.staff::%player%} - {db_channel.%player%} is "staff": - loop {db_channel.staff::*}: - clear {_player} - - set {_player} to loop-index parsed as player - set message to "&2%message%" - set {_message} to "%{_pre}%&2: %message%" - - send "%{_message}%" to {_player} - - execute console command "/modpush %{_pre}%&2: %message%" - - - {db_channel.%player%} is "supporter": - player does not have permission "obam.supporter": - set {db_channel.%player%} to "global" - delete {db_channel.supporter::%player%} - {db_channel.%player%} is "supporter": - loop {db_channel.supporter::*}: - clear {_player} - set {_player} to loop-index parsed as player - set message to "&b%message%" - set {_message} to "%{_pre}%&b: %message%" - - send "%{_message}%" to {_player} - - execute console command "/supporterpush %{_message}%" - - - stop - - {db_channel.%player%} is "global": - loop {db_channel.global::*}: - clear {_player} - set {_player} to loop-index parsed as player - - send "%{_pre}%&f: %message%" to {_player} - - - execute console command "globalpush %{_pre}%&f: %message%" - - stop - - - - -command /chat [] []: - permission: obam.free - aliases: c, ch - trigger: - - argument 1 is "m" or "mod": - player does not have permission "obam.mod": - send "&cYou dont have permission to do this!" - stop - set {db_channel.%player%} to "staff" - send "&aYou are now chatting in the &2Mod&a channel!" - stop - argument 1 is "s" or "supporter": - player does not have permission "obam.supporter": - send "&cYou dont have permission to do this!" - stop - set {db_channel.%player%} to "supporter" - send "&aYou are now chatting in the &bSupporter&a channel!" - - argument 1 is "g" or "global": - set {db_channel.%player%} to "global" - send "&aYou are now chatting in the &fGlobal&a channel!" - - argument 1 is "l" or "leave": - argument 2 is not set: - send "&cPlease specify a channel: &e/chat leave " - stop - argument 2 is "mod" or "m": - send "&cYou can not leave the staff chat silly" - stop - argument 2 is "s" or "supporter": - send "&cYou are now leaving the &bSupporter&c chat!" - delete {db_channel.supporter::%player%} - stop - argument 2 is "g" or "global": - send "&cYou are now leaving the &fGlobal&c chat!" - delete {db_channel.global::%player%} - stop - argument 1 is "j" or "join": - argument 2 is not set: - send "&cPlease specify a channel: &e/chat join " - stop - argument 2 is "mod" or "m": - player does not have permission "obam.mod": - send "&cYou do not have permission to do this!" - stop - {db_channel.staff::%player%} is set: - send "&cYou are already in this channel!" - send "&cIf you believe this is an error, please report it!" - stop - set {db_channel.staff::%player%} to player - set {db_channel.%player%} to "staff" - send "&aYou are now in the &2Mod&a channel!" - stop - - argument 2 is "s" or "supporter": - player does not have permission "obam.supporter": - send "&cYou do not have permission to do this!" - stop - {db_channel.supporter::%player%} is set: - send "&cYou are already in this channel!" - send "&cIf you believe this is an error, please report it!" - stop - set {db_channel.supporter::%player%} to player - set {db_channel.%player%} to "supporter" - send "&aYou are now in the &bSupporter&a channel!" - stop - - argument 2 is "g" or "global": - {db_channel.global::%player%} is set: - send "&cYou are already in this channel!" - send "&cIf you believe this is an error, please report it!" - stop - set {db_channel.global::%player%} to player - set {db_channel.%player%} to "global" - send "&aYou are now in the &fGlobal&a channel!" - - argument 1 is "who": - argument 2 is not set: - loop {db_channel.%{db_channel.%player%}%::*}: - send "%loop-index%" - - - - - - - - - - - \ No newline at end of file diff --git a/Obam-Testing/schatbridge.sk b/Obam-Testing/schatbridge.sk deleted file mode 100644 index 7c8c184..0000000 --- a/Obam-Testing/schatbridge.sk +++ /dev/null @@ -1,18 +0,0 @@ - - - - -command /globalpush : - permission: obam.admin - trigger: - forward command "globalcatch %argument%" to console -command /globalcatch : - permission: obam.admin - trigger: - - loop {db_channel.global::*}: - clear {_player} - set {_player} to loop-index parsed as player - send argument to {_player} - - stop \ No newline at end of file diff --git a/Obam-Testing/tellchat.sk b/Obam-Testing/tellchat.sk deleted file mode 100644 index d35e3b5..0000000 --- a/Obam-Testing/tellchat.sk +++ /dev/null @@ -1,45 +0,0 @@ -command /msg [] []: - permission: obam.free - aliases: @ - trigger: - argument 1 is set: - argument 1 is player: - send "&cWhy would you talk to yourself? Are you crazy!?!?!" to player - stop - argument 2 is not set: - send "&dYou have started a conversation with &e%argument 1%" to player - set {message.%player%} to argument 1 - argument 2 is set: - send "&d%player%&l ⇉ &r&d%argument 1%: %argument 2%" to argument 1 - send "&d%player%&l ⇉ &r&d%argument 1%: %argument 2%" to player - set {reply.%argument 1%} to player - - argument 1 is not set: - {message.%player%} is not set: - send "&cYou are not in a private conversation!" to player - {message.%player%} is set: - send "&aYou have left your conversation." to player - clear {message.%player%} - - -on chat: - {message.%player%} is set: - cancel event - send "&d%player%&l ⇉ &r&d%{message.%player%}%: %message%" to {message.%player%} - send "&d%player%&l ⇉ &r&d%{message.%player%}%: %message%" to player - set {reply.%{message.%player%}%} to player - -command /reply : - permission: obam.free - aliases: /r, @@ - trigger: - {reply.%player%} is not set: - send "&cYou have no one to reply to!" to player - stop - argument 1 is not set: - send "&cYou can not reply with nothing!" - stop - send "&d%player%&l ⇉ &r&d%{reply.%player%}%: %argument%" to {reply.%player%} - send "&d%player%&l ⇉ &r&d%{reply.%player%}%: %argument%" to player - - \ No newline at end of file diff --git a/Obam-Testing/tma.sk b/Obam-Testing/tma.sk deleted file mode 100644 index 8c0a934..0000000 --- a/Obam-Testing/tma.sk +++ /dev/null @@ -1,350 +0,0 @@ - - -on script load: - clear {tma.spawns::*} - add creeper to {tma.spawns::*} - add witch to {tma.spawns::*} - add zombie to {tma.spawns::*} - add skeleton to {tma.spawns::*} - add zombie pigman to {tma.spawns::*} - add cave spider to {tma.spawns::*} - add magma cube to {tma.spawns::*} - add blaze to {tma.spawns::*} - - - -command /tma [] [] []: - permission: obam.admin - trigger: - world is not "TMA": - send "&cYou are not in the right world to do this" - stop - - argument 1 is not set: - - send "&a=================================" - send "&6 OBAMCraft " - send "&6 TMA " - send "&a=================================" - send " " - send "&e/tma addspawn " - send "&7Add your current location to the spawn list for that team" - send " " - send "&e/tma listspawn " - send "&7List the current spawn locations for a specified team" - send " " - send "&e/tma delspawn " - send "&7Deleted specified spawn location" - send " " - send "&e/tma addteam " - send "&7Add a team to the list of teams" - send " " - send "&e/tma listteam" - send "&7List the current teams" - send " " - send "&e/tma delteam " - send "&7Delete the selected team from the team list" - send " " - send "&6Developed for &7OBAMCraft &eBy: &aThe OBAM Mechanics" - stop - - argument 1 is "help": - argument 2 is not set: - - send "&a=================================" - send "&6 OBAMCraft " - send "&6 TMA " - send "&a=================================" - send " " - send "&e/tma addspawn " - send "&7Add your current location to the spawn list for that team" - send " " - send "&e/tma listspawn " - send "&7List the current spawn locations for a specified team" - send " " - send "&e/tma delspawn " - send "&7Deleted specified spawn location" - send " " - send "&e/tma addteam " - send "&7Add a team to the list of teams" - send " " - send "&e/tma listteam" - send "&7List the current teams" - send " " - send "&e/tma delteam " - send "&7Delete the selected team from the team list" - send " " - send "&6Developed for &7OBAMCraft &eBy: &aThe OBAM Mechanics" - stop - argument 2 is "1": - send "&a=================================" - send "&6 OBAMCraft " - send "&6 TMA " - send "&a=================================" - send " " - send "&e/tma addspawn " - send "&7Add your current location to the spawn list for that team" - send " " - send "&e/tma listspawn " - send "&7List the current spawn locations for a specified team" - send " " - send "&e/tma delspawn " - send "&7Deleted specified spawn location" - send " " - send "&e/tma addteam " - send "&7Add a team to the list of teams" - send " " - send "&e/tma listteam" - send "&7List the current teams" - send " " - send "&e/tma delteam " - send "&7Delete the selected team from the team list" - send " " - send "&6Developed for &7OBAMCraft &eBy: &aThe OBAM Mechanics" - stop - - argument 2 is "2": - send "&a=================================" - send "&6 OBAMCraft " - send "&6 TMA " - send "&a=================================" - send " " - send "&e/tma spawnwave " - send "&7Spawns a wave, at wave number listed" - send " " - send "&e/tma help " - send "&7List this help menu at specified page number" - send " " - send "&e/tma begin" - send "&7Begin a TMA game(not live yet)" - send " " - send "&e/tma activeadd " - send "&7Add a team to the active list" - send " " - send "&e/tma activelist" - send "&7List all active teams" - send " " - send "&e/tma activedel " - send "&7Remove a team from the active list" - send " " - send "&6Developed for &7OBAMCraft &eBy: &aThe OBAM Mechanics" - stop - - - argument 1 is "addspawn": - argument 2 is not set: - send "&cYou must select a team: &e/tma addspawn " - stop - {tma.teams::%argument 2%} is not set: - send "&cThis is not a valid team!" - send "&cPlease do &e/tma teamlist&c for a list of available teams." - stop - add location of player to {tma.%argument 2%.spawn::*} - send "&e%location of player% &a is added to &e%argument 2%'s&a spawn list" - - argument 1 is "listspawn": - argument 2 is not set: - send "&cYou must select a team: &e/tma listspawn " - stop - {tma.teams::%argument 2%} is not set: - send "&cThis is not a valid team!" - send "&cPlease do &e/tma teamlist&c for a list of available teams." - loop {tma.%argument 2%.spawn::*}: - {_loop.count} is not set: - set {_loop.count} to 0 - add 1 to {_loop.count} - send "%loop-index%.....%loop-value%" - - argument 1 is "delspawn": - argument 2 is not set: - send "&cYou must select a team: &e/tma delspawn " - stop - argument 3 is not set: - send "&cYou must select a point: &e/tma delspawn %argument 2% " - stop - {tma.teams::%argument 2%} is not set: - send "&cThis is not a valid team!" - send "&cPlease do &e/tma teamlist&c for a list of available teams." - {tma.%argument 2%.spawn::%argument 3%} is not set: - send "&c%argument 3% is not a point in team %argument 2%" - send "&cPlease use &e/tma listspawn %argument 2%&a to find the available points" - stop - - send "&cDeleteing &e%{tma.%argument 2%.spawn::%argument 3%}% &ain &e%argument 2%&a..." - delete {tma.%argument 2%.spawn::%argument 3%} - {tma.%argument 2%.spawn::%argument 3%} is set: - send "&cAn error occurred" - stop - send "&aDeleted!" - - argument 1 is "addteam": - argument 2 is not set: - send "&cPlease specify a team: &e/tma addteam " - stop - set {tma.teams::%argument 2%} to true - send "&e%argument 2%&a added successfully to Teams!" - - argument 1 is "listteam": - loop {tma.teams::*}: - send "%loop-index%" - - argument 1 is "delteam": - argument 2 is not set: - send "&cPlease specify a team: &e/tma delteam " - stop - {tma.teams::%argument 2%} is not set: - send "&cThis team does not exist!" - send "&cPlease use &e/tma listteam&a for a list of teams" - stop - - send "&cDeleteing &e%argument 2%&c..." - delete {tma.teams::%argument 2%} - {tma.teams::%argument 2%} is set: - send "&cAn error occurred" - stop - send "&aDelted!" - - argument 1 is "spawnwave": - argument 2 is not set: - send "&cPlease select a number: &e/tma spawnwave " - stop - {active.tma.teams::*} is empty: - send "&cThere are no active teams: &e/tma activeadd &c to add" - stop - execute console command "tmawave %argument 2%" - - argument 1 is "activeadd": - argument 2 is not set: - send "&cPlease select a team: &e/tma activeadd " - stop - {tma.teams::%argument 2%} is not set: - send "&cThis team does not exist!" - send "&cPlease use &e/tma listteam&a for a list of teams" - stop - {tma.%argument 2%.spawn::*} is empty: - send "&cThere are no spawn points set for this team!" - send "&cPlease use &e/tma spawnadd %argument 2%&c to add spawn points!" - stop - set {active.tma.teams::%argument 2%} to true - send "&e%argument 2%&a added to active teams list" - - argument 1 is "activedel": - argument 2 is not set: - send "&cPlease select a team: &e/tma activedel " - stop - {active.tma.teams::%argument 2%} is not set: - send "&cTeam is not listed as active!" - send "&cPlease use &e/tma activelist &cfor a list of active teams!" - stop - send "&cDeleting &e%argument 2%&c from active teams..." - delete {active.tma.teams::%argument 2%} - {active.tma.teams::%argument 2%} is set: - send "&cAn error occurred!" - stop - send "&aDelete Successful!" - - argument 1 is "activelist": - {active.tma.teams::*} is empty: - send "&cThere are no active teams!" - send "&cUse &e/tma activeadd &c to add active teams" - stop - loop {active.tma.teams::*}: - send "%loop-index%" - - - -command /tmawave []: - permission: obam.admin - trigger: - send "&aIama message" - {active.tma.teams::*} is empty: - send "&cError" - stop - argument 1 is not set: - send "&cError!" - stop - send "&aI ama another message" - set {_num} to argument 1 parsed as number - send "&a%{_num}%" - {_num} is less than 5: - set {_loop} to {_num} * 2 + 1 - - {_num} is greater than 5: - set {_loop} to {_num} * 2 + 3 - - send "&a%{_loop}%" - set {_size} to size of {active.tma.teams::*} - send "&a%{_size}%" - set {_count} to 1 - send "%{_count}%" - while {_count} is less than or equal to {_size}: - {_count} is not set: - set {_count} to 1 - loop {active.tma.teams::*}: - - send "&a%loop-index%" - loop {_loop} times: - set {_ran} to random element of {tma.spawns::*} - set {_loc} to random element of {tma.%loop-index-1%.spawn::*} - spawn {_ran} at {_loc} - set {_cur.entity} to spawned entity - spawned entity is zombie: - - equip spawned entity with iron helmet - chance of 5%: - apply speed 2 to spawned entity for 999 days - chance of 10%: - equip spawned entity with iron helmet of unbreaking 2 - - chance of 15%: - set spawned entity's tool to iron sword - chance of 5%: - set spawned entity's tool to iron sword of sharpness 2 - chance of 5%: - set spawned entity's tool to diamond sword - - spawned entity is skeleton: - - equip spawned entity with leather helmet - - set spawned entity's tool to bow - chance of 5%: - apply speed 2 to spawned entity for 999 days - chance of 10%: - equip spawned entity with iron helmet of unbreaking 2 - chance of 15%: - set spawned entity's tool to bow of punch 1 - chance of 5%: - equip spawned entity with diamond chestplate - chance of 2%: - equip spawned entity with diamond leggings of projectile protection 1 - - spawned entity is a creeper: - - chance of 5%: - apply speed 2 to spawned entity for 999 days - - spawned entity is cave spider: - - chance of 5%: - apply speed to spawned entity for 999 days - - spawned entity is zombie pigman: - - set spawned entity's tool to gold sword - chance of 5%: - apply speed to spawned entity for 999 days - - - - - add 1 to {_count} - - - - - - - - - \ No newline at end of file diff --git a/Obam-Testing/wtfronts.sk b/Obam-Testing/wtfronts.sk deleted file mode 100644 index 2eb7774..0000000 --- a/Obam-Testing/wtfronts.sk +++ /dev/null @@ -1,598 +0,0 @@ -options: - bandages: paper;&3Bandage;&6Use of this bandage is the only way to fix a long lasting||&6injury brought on by the hazards of the environment.|| ||&5&oRight click with bandage in hand to cure the effects||&5&obrought on by being badly injured. Multiple bandages||&5&omay be required depending on your injury level. - superbottle: water bottle;&3Super Water Bottle;&6Besides saving you inventory space, this water ||&6is created extra wet to help quench your thirst.|| ||&a+50 Thirst|| ||&5&oUpon use, bottle turns to regular glass bottle. - unstele: magma cream;&3Unstable Element;&6Highly energized plasma like element found||&6in unstable land and mobs.|| ||&5&oThis goo is really hot! - unstmetal: gold nugget;&3Unstable Metal Shard;&6Energized metal shards found in unstable land||&6and mobs.|| ||&5&oYou feel a light energetic charge coming from||&5&othe shard. - unstmetalbar: gold ingot;&3Unstable Metal Bar;&6Crafted from broken &3Unstable Metal Shards&6 to||&6become whole again.|| ||&5&oHot to the touch, this bar gives a highly energetic||&5&ocharge. - stablemetal: iron ingot;&3Stable Metal Bar;&6Finalized & stable metal bar with just enough||&6energy for crafting special items.|| ||&5&oWarm to the touch with a subtle energetic glow. - stableele: slimeball;&3Stable Element;&6Stable plasma like element used to enhance other||&6items in special ways.|| ||&5&oThe goo feels nice and warm as it slides through||&5&oyour fingers. - envradar: compass;&3Environmental Radar;&6A must have tool for always being in the know about||&6the dangerous environment around you.|| ||&c-1 Elemental Fuel per use|| ||&5&oRight click with radar in hand to get the environmental||&5&ostatistics of the land you’re standing on. - elefuel: coal item;&3Elemental Fuel;&6The universal fuel used to power most of the tools||&6and machines created with &3Energized Metal Bars. - fairydust: sugar;&3Fairy Dust;&6This mysterious dust is filled with special properties||&6that nobody quite understands. Rumor is the dust||&6when combined with the right items or situations can||&6yield interesting results. - stable: packed ice;&3Stabilizer;&6The stabilizer contains the perfect elemental makeup||&6to bring unstable energies down to usable levels.|| ||&5&oSurround the Stabilizer in a crafting table with items||&5&othat contain unstable energy. - stablechst: diamond chestplate;&3Stable Diamond Chestplate;&6This chestplate contains a slot for special||&6enchantments and a container for &3Elemental||&3Fuel&6. - qnhchest: diamond chestplate;&3Chest of Quench;&6Utilizing the power of &3Elemental Fuel &6and||&6the &3Super Water Bottle&6, this chestplate makes||&6sure you never go thirsty!|| ||&c-1 Elemental Fuel Per Use|| ||&5&oWhile wearing this chestplate, your thirst will||&5&oautomatically go back up to 100 whenever it||&5&odips below 50, as long as you have Elemental||&5&oFuel in your inventory. - snkchest: diamond chestplate;&3Chest of Snacks;&6Utilizing the power of &3Elemental Fuel &6and an||&6Enchanted Golden Apple, this chestplate makes||&6sure you never go hungry!|| ||&c-1 Elemental Fuel Per Use|| ||&5&oWhile wearing this chestplate, your hunger will||&5&oautomatically go back up to 10 whenever it||&5&odips below 5, as long as you have Elemental||&5&oFuel in your inventory. - -on script load: - register new shapeless recipe for named item stack from "{@bandages}" using paper, slimeball, air, air, air, air, air, air, air - register new shapeless recipe for named item stack from "{@superbottle}" using bottle of water, bottle of water, bottle of water, bottle of water, air, air, air, air, air - register new shaped recipe for named item stack from "{@unstmetalbar}" using air, air, air, named item stack from "{@unstmetal}", named item stack from "{@unstmetal}", named item stack from "{@unstmetal}", named item stack from "{@unstmetal}", named item stack from "{@unstmetal}", named item stack from "{@unstmetal}" - register new shaped recipe for named item stack from "{@stablemetal}" using named item stack from "{@unstmetalbar}", named item stack from "{@unstmetalbar}", named item stack from "{@unstmetalbar}", named item stack from "{@unstmetalbar}", named item stack from "{@stable}", named item stack from "{@unstmetalbar}", named item stack from "{@unstmetalbar}", named item stack from "{@unstmetalbar}", named item stack from "{@unstmetalbar}" - register new shaped recipe for named item stack from "{@stableele}" using named item stack from "{@unstele}", named item stack from "{@unstele}", named item stack from "{@unstele}", named item stack from "{@unstele}", named item stack from "{@stable}", named item stack from "{@unstele}", named item stack from "{@unstele}", named item stack from "{@unstele}", named item stack from "{@unstele}" - register new shaped recipe for named item stack from "{@stable}" using ice, ice, ice, ice, named item stack from "{@fairydust}", ice, ice, ice, ice - register new shaped recipe for named item stack from "{@elefuel}" using named item stack from "{@stableele}", named item stack from "{@stableele}", named item stack from "{@stableele}", named item stack from "{@stableele}", coal item, named item stack from "{@stableele}", named item stack from "{@stableele}", named item stack from "{@stableele}", named item stack from "{@stableele}" - register new shaped recipe for named item stack from "{@envradar}" using named item stack from "{@stablemetal}", named item stack from "{@stablemetal}", named item stack from "{@stablemetal}", named item stack from "{@stablemetal}", compass, named item stack from "{@stablemetal}", named item stack from "{@stablemetal}", named item stack from "{@stablemetal}", named item stack from "{@stablemetal}" - register new shaped recipe for named item stack from "{@stablechst}" using named item stack from "{@stablemetal}", air, named item stack from "{@stablemetal}", named item stack from "{@stablemetal}", diamond block, named item stack from "{@stablemetal}", named item stack from "{@stablemetal}", named item stack from "{@elefuel}", named item stack from "{@stablemetal}" - register new shapeless recipe for named item stack from "{@qnhchest}" using named item stack from "{@superbottle}", named item stack from "{@stablechst}", air, air, air, air, air, air, air - register new shapeless recipe for named item stack from "{@snkchest}" using named item stack from "{@stablechst}", enchanted golden apple, air, air, air, air, air, air, air - - -on join: - display board named "&9&lWTF&9ronts" to player - make score "&3Thirst" in board of player to {thirst.%player%} - set {board.%player%} to true - {injured.%player%} is true: - make score "&cINJURED" in board of player to 1 - move display of player to "sidebar" - -on chunk load: - {unstable.%event-chunk%} is not set: - chance of 2%: - set {unstable.%event-chunk%} to true - set {_ran} to random number between 15 and 20 - set {_ran2} to random number between 18 and 20 - set {cavein.%event-chunk%.chance} to {_ran} - set {methane.%event-chunk%.chance} to {_ran2} - {unstable.%event-chunk%} is not set: - set {unstable.%event-chunk%} to false - {cavein.%event-chunk%.chance} is not set: - chance of 90%: - set {_ran} to random integer between 1 and 5 - set {cavein.%event-chunk%.chance} to {_ran} - {cavein.%event-chunk%.chance} is not set: - set {cavein.%event-chunk%.chance} to false - {methane.%event-chunk%.chance} is not set: - chance of 95%: - set {_ran} to random integer between 3 and 6 - set {methane.%event-chunk%.chance} to {_ran} - {methane.%event-chunk%.chance} is not set: - set {methane.%event-chunk%.chance} to false - - -on mine: - player's tool is pickaxe - y-coordinate of player is less than 40 - {cavein.%chunk at location of player%.chance} is false: - set {_run} to false - {_run} is not set: - chance of {cavein.%chunk at location of player%.chance}%: - loop blocks in radius 5: - {_block.count} is not set: - set {_block.count} to 0 - add 1 to {_block.count} - loop-block is air: - {_air.count} is not set: - set {_air.count} to 0 - add 1 to {_air.count} - loop-block is iron block - set {_max-strut} to true - {_max-strut} is set: - chance of {cavein.%chunk at location of player%.chance}%: - clear {_max-strut} - loop players in radius 10 of player: - send "&cYour struts are failing!" to loop-player - send "&cYour struts are failing!" to player - - {_max-strut} is not set: - send "&3The floor rumbles beneath you.." to player - loop players in radius 10 of player: - send "&3The floor rumbles beneath you..." to loop-player - wait 5 seconds - send "&cCave In!" to player - loop players in radius 10 of player: - send "&cCave In!" to loop-player - {_air.count} is less than or equal to {_block.count} / 3: - loop blocks in radius 5: - loop-block is not bedrock or wood plank or lava or water - set {_block} to loop-block - set {_loc} to location of loop-block - spawn falling block of loop-block at location of loop-block - delete loop-block - {_air.count} is greater than {_block.count} / 3: - loop blocks in radius 10: - loop-block is not bedrock or wood plank or lava or water - set {_block} to loop-block - set {_loc} to location of loop-block - spawn falling block of loop-block at location of loop-block - delete loop-block - {methane.%chunk at location of player%.chance} is false: - set {_run2} to false - {_run2} is not set: - chance of {methane.%chunk at location of player%.chance}%: - send "&cMethane!" to player - loop players in radius 10 of player: - send "&cMethane!" to loop-player - wait 2 seconds - create explosion of force 2 at event-location - chance of {methane.%chunk at location of player%.chance} * 2 %: - wait 2 seconds - drop named item stack from "{@unstele}" at event-location - chance of {methane.%chunk at location of player%.chance} * 2%: - drop named item stack from "{@unstmetal}" at event-location - - chance of {cavein.%chunk at location of player%.chance}%: - loop blocks in radius 3: - loop-block is water - set {_found.water} to true - {_found.water} is true: - send "&3Flood!" to player - loop blocks in radius 3 of event-location: - loop-block is air: - set loop-block to water - - -on portal enter: - {unstable.%chunk at event-location%} is false - chance of 25%: - set {unstable.%chunk at event-location%} to true - set {_ran} to random number between 15 and 20 - set {_ran2} to random number between 18 and 20 - set {cavein.%chunk at event-location%.chance} to {_ran} - set {methane.%chunk at event-location%.chance} to {_ran2} - - - -on right click with compass: - player's tool is named item stack from "{@envradar}": - player does not have named item stack from "{@elefuel}": - send "&cYou do not have enough fuel!" to player - stop - remove named item stack from "{@elefuel}" from player - {cavein.%chunk at location of player%.chance} is not set: - {unstable.%chunk at location of player%} is not set: - chance of 2%: - set {unstable.%chunk at location of player%} to true - set {_ran} to random number between 15 and 20 - set {_ran2} to random number between 18 and 20 - set {cavein.%chunk at location of player%.chance} to {_ran} - set {methane.%chunk at location of player%.chance} to {_ran2} - {unstable.%chunk at location of player%} is not set: - set {unstable.%chunk at location of player%} to false - {cavein.%chunk at location of player%.chance} is not set: - chance of 90%: - set {_ran} to random integer between 1 and 5 - set {cavein.%chunk at location of player%.chance} to {_ran} - {cavein.%chunk at location of player%.chance} is not set: - set {cavein.%chunk at location of player%.chance} to false - {methane.%chunk at location of player%.chance} is not set: - chance of 95%: - set {_ran} to random integer between 3 and 6 - set {methane.%chunk at location of player%.chance} to {_ran} - {methane.%chunk at location of player%.chance} is not set: - set {methane.%chunk at location of player%.chance} to false - - if {unstable.%chunk at location of player%} is true: - send "&aGround Structure: &cUnstable" - send "&aMethane Rating: &cUnstable" - stop - if {cavein.%chunk at location of player%.chance} is false: - send "&aGround Structure: &3SOUND" to player - else: - send "&aGround Structure: &e%{cavein.%chunk at location of player%.chance}%" to player - if {methane.%chunk at location of player%.chance} is false: - send "&aMethane Rating: &3EMPTY" to player - else: - send "&aMethane Rating: &e%{methane.%chunk at location of player%.chance}%" to player - - -command /chunkstats: - permission: obam.admin - trigger: - if {unstable.%chunk at location of player%} is true: - send "&aGround Structure: &cUnstable" - send "&aMethane Rating: &cUnstable" - stop - if {cavein.%chunk at location of player%.chance} is false: - send "&aGround Structure: &3SOUND" to player - else: - send "&aGround Structure: &e%{cavein.%chunk at location of player%.chance}%" to player - if {methane.%chunk at location of player%.chance} is false: - send "&aMethane Rating: &3EMPTY" to player - else: - send "&aMethane Rating: &e%{methane.%chunk at location of player%.chance}%" to player - -every 3 seconds: - loop all players: - {board.%loop-player%} is not set: - display board named "&9&lWTF&9ronts" to loop-player - make score "&3Thirst" in board of loop-player to {thirst.%loop-player%} - set {board.%loop-player%} to true - move display of loop-player to "sidebar" - {board.%loop-player%} is true: - make score "&3Thirst" in board of loop-player to {thirst.%loop-player%} - - block above loop-player is water: - {thirst.%loop-player%} is less than 100: - set {_ran} to random number between 1 and 2 - add {_ran} to {thirst.%loop-player%} - {thirst.%loop-player%} is greater than 100: - set {thirst.%loop-player%} to 100 - {debug.%loop-player%} is true: - set {thirst.%loop-player%} to 100 - {thirst.%loop-player%} is not set: - set {thirst.%loop-player%} to 100 - {thirst.%loop-player%} is less than 0: - set {thirst.%loop-player%} to 0 - {thirst.%loop-player%} is 0: - damage loop-player by 1 - send "&cYou are dehydrated" to loop-player - {thirst.%loop-player%} is greater than 0: - chance of 30%: - loop-player is not sprinting: - set {_ran} to random number between 0 and 1 - set {thirst.%loop-player%} to {thirst.%loop-player%} - {_ran} - loop-player is sprinting: - set {_ran} to random number between 1 and 3 - set {thirst.%loop-player%} to {thirst.%loop-player%} - {_ran} - - biome at loop-player is desert: - time in loop-player's world is day - y-coordinate of loop-player is greater than 60 - {thirst.%loop-player%} is greater than 0: - set {thirst.%loop-player%} to {thirst.%loop-player%} - 2 - {thirst.%loop-player%} is 0: - chance of 45%: - damage loop-player by 2 - send "&cThe sun beats down on you" to loop-player - - biome at loop-player is swamp: - set {_ran} to a random integer between 1 and 5 - {_ran} is 1: - apply hunger 2 to loop-player for 20 seconds - send "&cMalaria runs through your body" to loop-player - - - y-coordinate of loop-player is greater than 110: - loop-player's helmet is air - damage loop-player by 1 - send "&cYou are chilled " to loop-player - apply slowness to loop-player for 3 seconds - loop-player has lava bucket: - chance of 10%: - damage loop-player by 0.5 - send "&cThe lava in your inventory grows hotter" to loop-player - {injured.%loop-player%} is true: - chance of 10%: - set {_location} to location of loop-player - play 1 of effect "spell" with data 1 at {_location} - damage loop-player by 0.5 - {injured.%loop-player%.length} is not set: - set {injured.%loop-player%.length} to 0 - add 1 to {injured.%loop-player%.length} - send "&cYour injuries need mending!" to loop-player - {injured.%loop-player%.length} is less than 5: - apply slowness to loop-player for 999 days - {injured.%loop-player%.length} is greater than 5: - {injured.%loop-player%.length} is less than 10: - apply slowness 2 to loop-player for 999 days - apply mining fatigue to loop-player for 1 minute - {injured.%loop-player%.length} is greater than 10: - apply slowness 3 to loop-player for 999 days - apply mining fatigue 2 to loop-player for 1 minute - apply weakness to loop-player for 30 seconds - {thirst.%loop-player%} is less than or equal to 50: - name of loop-player's chestplate is "&3Chest of Quench" - loop-player has named item stack from "{@elefuel}": - set {thirst.%loop-player%} to 100 - remove named item stack from "{@elefuel}" from loop-player - loop-player's hunger level is less than 5: - name of loop-player's chestplate is "&3Chest of Snacks" - loop-player has named item stack from "{@elefuel}": - set loop-player's hunger level to 10 - remove named item stack from "{@elefuel}" from loop-player - - - - - - - - loop all entities: - loop-entity is not player: - {unstable.%loop-entity%} is set: - play 100 of effect "reddust" with data 1 at location of loop-entity - -on spawn of a creeper or a skeleton or a spider or zombie: - {unstable.%chunk at event-location%} is true: - - - set {_loc} to event-location - event-entity is a creeper: - set name of event-entity to "&cUnstable Creeper" - apply resistance 2 to event-entity for 999 days - apply speed to event-entity for 999 days - - - set {unstable.%event-entity%} to true - - event-entity is a zombie: - - set name of event-entity to "&cUnstable Zombie" - apply resistance 2 to event-entity for 999 days - apply speed 2 to event-entity for 999 days - equip event-entity with iron sword of sharpness - set event-entity's helmet to iron helmet - set {unstable.%event-entity%} to true - - event-entity is skeleton: - set name of event-entity to "&cUnstable Skeleton" - apply resistance 2 to event-entity for 999 days - apply speed 2 to event-entity for 999 days - equip event-entity with bow - set event-entity's helmet to gold helmet - set {unstable.%event-entity%} to true - - event-entity is a spider: - set name of event-entity to "&cUnstable Spider" - apply resistance 2 to event-entity for 999 days - apply speed 2 to event-entity for 999 days - apply jump 5 to event-entity for 999 days - set {unstable.%event-entity%} to true - -on explosion prime: - event-entity is creeper: - {unstable.%event-entity%} is true: - cancel event - create an explosion of force 5 at event-location - set {_loc} to event-location - play 100 of effect "reddust" with data 1 at {_loc} - loop players in radius 5 of event-location: - make event-entity damage loop-player by 4 - -on damage: - victim is not a player - {unstable.%victim%} is set: - damage cause is fall: - cancel event - damage cause is block explosion: - cancel event - -on death of a creeper or a skeleton or a zombie or a spider: - chance of 15%: - add named item stack from "{@bandages}" to drops - entity's name is "&cUnstable Spawn": - chance of 10%: - chance of 2%: - add named item stack from "{@unstele}" to drops - add named item stack from "{@unstmetal}" to drops - -on damage of a player: - damage cause is fall: - chance of 15%: - victim's boots are boots of feather falling: - stop - set {_location} to location of victim - play 1 of effect "angryVillager" of data 1 at {_location} - set {injured.%victim%} to true - apply slowness to victim for 999 days - add 1 to damage - make score "&cINJURED" in board of victim to 1 - send "&cYou have been injured from your fall!" to victim - -on right click with paper: - player is holding named item stack from "{@bandages}": - {injured.%player%} is not set: - send "&cYou are not injured!" to player - stop - {injured.%player%} is false: - send "&cYou are not injured!" to player - stop - {injured.%player%} is true: - {injured.%player%.length} is greater than 5: - {injured.%player%.length} is less than 10: - remove mining fatigue from player - remove weakness from player - remove slowness from player - apply slowness to player for 999 days - send "&aYour injuries are healing" to player - set {injured.%player%.length} to 1 - remove named item stack from "{@bandages}" from player - stop - {injured.%player%.length} is greater than 10: - remove slowness from player - remove mining fatigue from player - apply mining fatigue to player for 999 days - apply slowness 2 to player for 999 days - remove weakness from player - set {injured.%player%.length} to 6 - send "&aYour injuries are healing" to player - remove named item stack from "{@bandages}" from player - stop - send "&aYou mend your injuries" to player - remove mining fatigue from player - remove weakness from player - remove slowness from player - remove named item stack from "{@bandages}" from player - nullify score "&cINJURED" in board of player - set {injured.%player%} to false - set {injured.%player%.length} to 0 - -on bed enter: - {injured.%player%} is true: - set {injured.%player%} to false - set {injured.%player%.length} to 0 - remove mining fatigue from player - remove weakness from player - remove slowness from player - nullify score "&cINJURED" in board of player - send "&aYou have been healed of your injuries!" to player - -on consume of water bottle: - {thirst.%player%} is greater than or equal to 100: - set {thirst.%player%} to 100 - cancel event - player is holding named item stack from "{@superbottle}": - add 50 to {thirst.%player%} - {thirst.%player%} is greater than 100: - set {thirst.%player%} to 100 - stop - {thirst.%player%} is greater than or equal to 100: - set {thirst.%player%} to 100 - cancel event - add 10 to {thirst.%player%} - {thirst.%player%} is greater than 100: - set {thirst.%player%} to 100 - -on death of a player: - {thirst.%player%} is less than 25: - set {thirst.%player%} to 25 - -command /ci []: - permission: obam.admin - trigger: - argument is not set: - send "list" - send "1 ... Super Water Bottle" - send "2 ... Bandages" - send "3 ... Unstable Metal Shard" - send "4 ... Unstable Metal Bar" - send "5 ... Stable Metal Bar" - send "6 ... Unstable Element" - send "7 ... Stable Element" - send "8 ... Environmental Radar" - send "9 ... Elemental Fuel" - send "10 ... Fairy Dust" - send "11 ... Stabilizer" - send "12 ... Stable Chest" - send "13 ... Chest of Quench" - send "14 ... Chest of Snacks" - stop - argument is 1: - give named item stack from "{@superbottle}" to player - - argument is 2: - give named item stack from "{@bandages}" to player - - argument is 3: - give named item stack from "{@unstmetal}" to player - - argument is 4: - give named item stack from "{@unstmetalbar}" to player - - argument is 5: - give named item stack from "{@stablemetal}" to player - - argument is 6: - give named item stack from "{@unstele}" to player - - argument is 7: - give named item stack from "{@stableele}" to player - - argument is 8: - give named item stack from "{@envradar}" to player - - argument is 9: - give named item stack from "{@elefuel}" to player - - argument is 10: - give named item stack from "{@fairydust}" to player - - argument is 11: - give named item stack from "{@stable}" to player - - argument is 12: - give named item stack from "{@stablechst}" to player - - argument is 13: - give named item stack from "{@qnhchest}" to player - - argument is 14: - give named item stack from "{@snkchest}" to player - - - - - send "Here is your thing" - -command /togglestats: - trigger: - - {board.%player%} is false: - set {board.%player%} to true - display board named "&9&lWTF&9fronts" to player - make score "&3Thirst" in board of player to {thirst.%player%} - move display of player to "sidebar" - stop - {board.%player%} is true: - set {board.%player%} to false - display board named " " to player - stop - {board.%player%} is not set: - display board named "&9&lWTF&9ronts" to player - make score "&3Thirst" in board of player to {thirst.%player%} - set {board.%player%} to true - move display of player to "sidebar" - stop - - - -on place: - former tool's name is set: - set {information.%block%.1} to former tool - {debug.%player%} is true: - send "DEBUG You placed %former tool's name%" - set {information.%block%.2} to lore of former tool - set {information.%block%.3} to name of former tool - {debug.%player%} is true: - send "DEBUG %block%" - send "DEBUG %{information.%block%.1}%" - send "DEBUG %lore of former tool%" - send "DEBUG %name of former tool%" - send "DEBUG %{information.%block%.2}%" - send "DEBUG %{information.%block%.3}%" - set {information.%block%.1} to "%{information.%block%.1}%" - -on break: - {information.%block%.1} is set: - cancel event - {debug.%player%} is true: - send "DEBUG I ama message" - set {_message} to "%{information.%block%.1}%;%{information.%block%.3}%;%{information.%block%.2}%" - send "DEBUG %{_message}%" - delete block - drop named item stack from "%{_message}%" at location of block - -on break of glowstone: - chance of 10%: - player's tool is pickaxe of silk touch: - stop - drop named item stack from "{@fairydust}" at location of event-block - -on right click with sugar: - player's tool is named item stack from "{@fairydust}": - player is flying: - stop - remove named item stack from "{@fairydust}" from player - send "&aYou can fly!" to player - allow player to fly - wait 5 seconds - disallow player to fly - -command /debug: - permission: obam.admin - trigger: - {debug.%player%} is not set: - set {debug.%player%} to false - {debug.%player%} is false: - set {debug.%player%} to true - send "&aDebug on" - stop - {debug.%player%} is true: - set {debug.%player%} to false - send "&aDebug off" - stop - - - - \ No newline at end of file From 07ee4268f3e4bde44cb70f9e190fa84a302054c7 Mon Sep 17 00:00:00 2001 From: ismooch Date: Mon, 21 Apr 2014 01:33:52 -0500 Subject: [PATCH 02/22] Revert "Making Chances.. Will Revert" This reverts commit 2f0f9bad25077b5945f1405e764871d482830129. --- Obam-General/autohub.sk | 10 + Obam-General/exclusive.sk | 3 + Obam-General/hubconfig.sk | 96 ++ Obam-General/pinfo.sk | 102 ++ Obam-General/who.sk | 16 + Obam-Survival/disenchant.sk | 29 + Obam-Survival/heal.sk | 43 + Obam-Testing/abstain.sk | 127 +++ Obam-Testing/aliases-english.sk | 1690 +++++++++++++++++++++++++++++++ Obam-Testing/broadcast.sk | 4 + Obam-Testing/effect.sk | 138 +++ Obam-Testing/modbridge.sk | 13 + Obam-Testing/schat2.sk | 187 ++++ Obam-Testing/schatbridge.sk | 18 + Obam-Testing/tellchat.sk | 45 + Obam-Testing/tma.sk | 350 +++++++ Obam-Testing/wtfronts.sk | 598 +++++++++++ 17 files changed, 3469 insertions(+) create mode 100644 Obam-General/autohub.sk create mode 100644 Obam-General/exclusive.sk create mode 100644 Obam-General/hubconfig.sk create mode 100644 Obam-General/pinfo.sk create mode 100644 Obam-General/who.sk create mode 100644 Obam-Survival/disenchant.sk create mode 100644 Obam-Survival/heal.sk create mode 100644 Obam-Testing/abstain.sk create mode 100644 Obam-Testing/aliases-english.sk create mode 100644 Obam-Testing/broadcast.sk create mode 100644 Obam-Testing/effect.sk create mode 100644 Obam-Testing/modbridge.sk create mode 100644 Obam-Testing/schat2.sk create mode 100644 Obam-Testing/schatbridge.sk create mode 100644 Obam-Testing/tellchat.sk create mode 100644 Obam-Testing/tma.sk create mode 100644 Obam-Testing/wtfronts.sk diff --git a/Obam-General/autohub.sk b/Obam-General/autohub.sk new file mode 100644 index 0000000..3b93d28 --- /dev/null +++ b/Obam-General/autohub.sk @@ -0,0 +1,10 @@ +on join: + set {_hold} to difference between {db_time.join.%player%} and now + {_hold} is more than 15 minutes: + + set {db_time.join.%player%} to now + make player execute command "/hub" + +on disconnect: + set {db_time.join.%player%} to now + \ No newline at end of file diff --git a/Obam-General/exclusive.sk b/Obam-General/exclusive.sk new file mode 100644 index 0000000..e758c42 --- /dev/null +++ b/Obam-General/exclusive.sk @@ -0,0 +1,3 @@ +on connect: + player does not have permission "obam.supporter" + kick the player due to "&cThis beta is for Supporters only!" \ No newline at end of file diff --git a/Obam-General/hubconfig.sk b/Obam-General/hubconfig.sk new file mode 100644 index 0000000..6d9bf1a --- /dev/null +++ b/Obam-General/hubconfig.sk @@ -0,0 +1,96 @@ +options: + help: named item stack from "book;&6&lOBAM&fCraft &3Guide;&7Right click with this book to learn the ins||&7and out of OBAM" + worlds: named item stack from "ender pearl;&3Game Worlds;&7Right click with this to check the current Game Worlds!" + fly: named item stack from "feather;&3Fly!;&7Right click with this feather to fly in the hub!" + skyblock: i;grass;n;&6Skyblock;l;&7Try our Skyblock world with custom challenges and ||&7Villager trading!;c;sudo %player% worlds skyblock + fronts: i;cobblestone;n;&6Fronts;l;&7Our Special flavour of Survival with immediate||&7land claiming!;c;sudo %player% worlds survival + wtfronts: i;magma cream;n;&6WTFronts;l;&cBETA TESTING|| ||&7Extreme Survival with extreme payoffs!;c;sudo %player% worlds wtf + kitpvp: i;blaze rod;n;&6Kit PVP;l;&7Play OBAM's KitPvP with new original kits!;c;sudo %player% worlds kit + + + +on join: + execute console command "/mv tp %player% Death-hub" + clear player's inventory + give player {@help} + give player {@worlds} + give player {@fly} + +on shoot: + world is "Death-hub" + shooter's tool is ender pearl + cancel event + +on right click: + player's tool is {@help}: + make player execute command "/help" + player's tool is {@worlds}: + cancel event + make player execute command "/worlds" + player's tool is {@fly}: + {fly.hub.%player%} is not set: + set {fly.hub.%player%} to true + allow player to fly + send "&aYou can fly!" + stop + {fly.hub.%player%} is true: + set {fly.hub.%player%} to false + disallow player to fly + send "&cYou can no longer fly!" + stop + {fly.hub.%player%} is false: + set {fly.hub.%player%} to true + allow player to fly + send "&aYou can fly!" + stop + + +on drop: + world is "Death-hub": + cancel event + + +command /worlds []: + permission: obam.free + trigger: + world is "Death-hub" + argument is not set: + + send "&aBringing up menu..." + + show "s;1;{@skyblock};s;2;{@kitpvp};s;3;{@fronts};s;4;{@wtfronts}" with 1 row named "&7Worlds" to player + + argument is "survival": + + make player execute command "/transfer survival" + + argument is "wtf": + + make player execute command "/transfer curtain" + + argument is "skyblock": + + execute console command "mv tp %player% skyworld" + + argument is "kit": + + execute console command "mv tp %player% kitpvpkillingfields" + +every second: + + loop all players: + {fly.hub.%loop-player%} is true: + loop-player's world is not "Death-hub": + disallow loop-player to fly + set {fly.hub.%loop-player%} to false + loop-player's world is "Death-hub": + allow loop-player to fly + + +command /transfer []: + trigger: + world is "Death-hub" + connect player to "%argument%" + + + \ No newline at end of file diff --git a/Obam-General/pinfo.sk b/Obam-General/pinfo.sk new file mode 100644 index 0000000..df10560 --- /dev/null +++ b/Obam-General/pinfo.sk @@ -0,0 +1,102 @@ +variables: + {db_dayset.2} = 0 + +on join: + {db_count.start.%player%.2} is not set: + set {db_count.start.%player%.2} to {db_dayset} + set {db_current.server.%player%} to "&eWTF" + +on disconnect: + clear {db_current.server.%player%} + set {db_lastseen.%player%} to "%now% on &eWTF" + clear {db_color.%player%} + player has permission "obam.admin": + set {db_color.%player%} to "&d%player%" + {db_color.%player%} is not set: + player has permission "obam.mod": + set {db_color.%player%} to "&2%player%" + {db_color.%player%} is not set: + player has permission "obam.ultimate": + set {db_color.%player%} to "&6%player%" + {db_color.%player%} is not set: + player has permission "obam.supporter": + set {db_color.%player%} to "&b%player%" + {db_color.%player%} is not set: + set {db_color.%player%} to "&f%player%" + + + + +command /playerinfo []: + description: Find out information about you + aliases: /p, /info, /player, /pinfo + executable by: players + trigger: + + argument is not set: + player has permission "obam.admin": + set {_name} to "&d%player%" + {_name} is not set: + player has permission "obam.mod": + set {_name} to "&2%player%" + {_name} is not set: + player has permission "obam.ultimate": + set {_name} to "&6%player%" + {_name} is not set: + player has permission "obam.supporter": + set {_name} to "&b%player%" + {_name} is not set: + set {_name} to "&f%player%" + message "&aPlayer: %{_name}%" + set {_days} to {db_dayset} - {db_count.start.%player%} + {_days} is less than 2: + {_days} is 1: + message "&aYou are &e%{_days}% &aday old." + stop + {_days} is less than 1: + message "&aThis is your first day." + stop + message "&aYou are &e%{_days}% &adays old." + argument is set: + argument has not played before: + message "&e%argument% &chas not played on this server before." + stop + + argument has permission "obam.admin": + set {_name} to "&d%argument%" + {_name} is not set: + argument has permission "obam.mod": + set {_name} to "&2%argument%" + {_name} is not set: + argument has permission "obam.ultimate": + set {_name} to "&6%argument%" + {_name} is not set: + argument has permission "obam.supporter": + set {_name} to "&&b%argument%" + {_name} is not set: + set {_name} to "&f%argument%" + argument is not online: + {db_current.server.%argument%} is not set: + set {_name} to "&7%argument% &7&o(Offline)" + {db_color.%argument%} is set: + set {_name} to {db_color.%argument%} + set {_lastseen} to "&aLast seen:&e%{db_lastseen.%argument%}%" + {db_current.server.%argument%} is set: + {db_color.%argument%} is set: + set {_name} to {db_color.%argument%} + set {_current.connect} to "&aCurrently connected to %{db_current.server.%argument%}%" + + message "&aPlayer: %{_name}%" + {_lastseen} is set: + send {_lastseen} + {_current.connect} is set: + send {_current.connect} + set {_days} to {db_dayset} - {db_count.start.%argument%} + {_days} is less than 2: + {_days} is 1: + message "&aThey are &e%{_days}% &aday old." + stop + {_days} is less than 1: + message "%{_name}% &ais &e1&a day old" + stop + message "&aThey are &e%{_days}% &adays old." \ No newline at end of file diff --git a/Obam-General/who.sk b/Obam-General/who.sk new file mode 100644 index 0000000..3672c18 --- /dev/null +++ b/Obam-General/who.sk @@ -0,0 +1,16 @@ +every 10 seconds: + clear {db_fronts.who.2::*} + loop all players: + add loop-player to {db_fronts.who.2::*} + + +command /who: + trigger: + + loop all players: + add loop-player to {_cur.list::*} + clear {db_fronts.who.2::*} + set {db_fronts.who.2::*} to {_cur.list::*} + send "&eHub:&a%{db_hub.who::*}%" + send "&eWTF:&a%{db_wtf.who::*}%" + send "&eFronts:&a%{_cur.list::*}%" \ No newline at end of file diff --git a/Obam-Survival/disenchant.sk b/Obam-Survival/disenchant.sk new file mode 100644 index 0000000..b0a7941 --- /dev/null +++ b/Obam-Survival/disenchant.sk @@ -0,0 +1,29 @@ +command /unenchant: + executable by: players + permission: obam.free + aliases: /disenchant + trigger: + player's tool is enchanted + player's tool is not a sword or axe or pickaxe or shovel or bow or helmet or chestplate or leggings or boots: + message "&cYou may only disenchant Armour, Weapons or Tools!" to player + stop + + + set {_bal} to player's balance + {_bal} is less than 200: + send "&cYou do not have enough tickets to do this!" to player + stop + player's level is less than 15: + + send "&cYou must have at least 15 levels to do this!" to player + stop + disenchant player's tool + + reduce the player's level by 15 + + remove 200 from player's balance + send "&6&lThe Gods have taken their gifts back!" to player + send "&aYou have used &e200 Tickets&a to disenchant this tool" to player + send "&aYou have &e%player's balance%&a remaining" to player + log "%player%^%{_bal}%^DEDUCT^200^%player's balance%^DISENCHANT FEE" to "tickets/disenchant.log" + stop diff --git a/Obam-Survival/heal.sk b/Obam-Survival/heal.sk new file mode 100644 index 0000000..dc0ee0a --- /dev/null +++ b/Obam-Survival/heal.sk @@ -0,0 +1,43 @@ +variables: + {heal.%player%} = false + + + + + + +command /heal: + executable by: players + permission: obam.free + trigger: + {heal.%player%} is not set: + set {heal.%player%} to now + add 13 hours to {heal.%player%} + + set {_check} to difference between {heal.%player%} and now + {_check} is less than 12 hours: + set {_check} to difference between {heal.%player%} and now + set {_hold} to difference between now and now + add 12 hours to {_hold} + subtract {_check} from {_hold} + send "&cYou must wait at least &e%{_hold}% &cto use this command!" + stop + {abstain.%player%} is false: + send "&cOnly abstaining players can use this feature!" + stop + {abstian.%player%} is "wait pvp" or "wait abstain": + send "&cYou can not use this feature in transition!" + stop + {abstain.%player%} is true: + + set {_bal} to player's balance + {_bal} is less than 2000: + send "&cYou do not have enough tickets to do this!" to player + stop + + remove 2000 from player's balance + set {heal.%player%} to now + send "&aYou have been healed" to player + set player's health to 10 + send "&aYou have &e%player's balance%&a remaining" to player + stop diff --git a/Obam-Testing/abstain.sk b/Obam-Testing/abstain.sk new file mode 100644 index 0000000..df5f898 --- /dev/null +++ b/Obam-Testing/abstain.sk @@ -0,0 +1,127 @@ +variables: + {abstain.%player%} = false + + + +command /abstain []: + permission: obam.free + trigger: + + argument is not set: + send " " + send " &aYour Abstain status is currently &e%{abstain.%player%}%&a, you can change this by doing &e/abstain confirm&a. " + send " " + send "&aThis change will cost &e2500 Tickets&a." + send " " + set {abst.confirm.%player%} to now + stop + player has permission "obam.admin": + {abstain.%player%} is false: + set {abstain.%player%} to true + + send "&aYour Abstain status is now &e%{abstain.%player%}%" + stop + + {abstain.%player%} is true: + set {abstain.%player%} to false + send "&aYour Abstain status is now &e%{abstain.%player%}%" + stop + + stop + + argument is "confirm" or "c": + set {_hold} to difference between now and {abst.confirm.%player%} + {_hold} is greater than 30 seconds: + send "&cYou must do &e/abstain&a before doing the confirm command" + stop + + {abstain.%player%} is not set: + set {abstain.%player%} to false + {abstain.%player%} is false: + set {_bal} to player's balance + {_bal} is less than 2500: + send "&cYou do not have enough tickets to perform this operation" + stop + remove 2500 from player's balance + set {abstain.%player%} to "wait abstain" + set {abstain.%player%.time} to now + send "&aYou have abstained from PvP. You will lose access to some features. You have paid a toll of &e2500 Tickets&a." + send "&aIt can take up to &e2 hours&a for your abstain feature to take affect." + send "&aYou know have &e%player's balance%&a." + stop + {abstain.%player%} is true: + set {_bal} to player's balance + {_bal} is less than 2500: + send "&cYou do not have enough tickets to perform this operation" + stop + remove 2500 from player's balance + set {abstain.%player%} to "wait pvp" + set {abstain.%player%.time} to now + send "&aYou are engaging in PvP. You will be susceptible to PvP fights. You have paid a toll of &e2500 Tickets&a." + send "&aIt can take up to &e2 Hours&a for your PvP entering process to take affect." + send "&aYou now have &e%player's balance%&a." + stop + + {abstain.%player%} is "wait pvp": + send "&cYou already have an Abstain process waiting. It can take up to 2 hours for this change to take an effect" + stop + {abstain.%player%} is "wait abstain": + send "&cYou already have an Abstain process waiting. It can take up to 2 hours for this change to take an effect" + stop + +on damage: + victim is a player + attacker is a player + {abstain.%victim%} is true: + cancel event + {abstain.%attacker%} is true: + send "&cYou can not engage in PvP while abstaining!" + cancel event + +every 1 hour: + loop all players: + {abstain.%loop-player%} is "wait pvp": + set {_hold} to difference between {abstain.%loop-player%.time} and now + {_hold} is more than 1 hour + set {abstain.%loop-player%} to false + execute console command "perms player %loop-player% set nametags.color.blue false" + execute console command "perms player %loop-player% set nametags.color.red" + send "&aYou are now able to PvP!" to loop-player + {abstain.%loop-player%} is "wait abstain": + set {_hold} to difference between {abstain.%loop-player%.time} and now + {_hold} is more than 1 hour + set {abstain.%loop-player%} to true + execute console command "perms player %loop-player% set nametags.color.red false" + execute console command "perms player %loop-player% set nametags.color.blue" + send "&aYou are now abstaining from PvP!" to loop-player + +on connect: + player is "ISMOOCH": + stop + {abstain.%player%} is true: + player does not have permission "nametags.color.blue": + execute console command "perms player %player% set nametags.color.blue" + player has permission "nametags.color.red": + execute console command "perms player %player% set nametags.color.red false" + {abstain.%player%} is false: + player does not have permission "nametags.color.red": + execute console command "perms player %player% set nametags.color.red" + player has permission "nametags.color.blue": + execute console command "perms player %player% set nametags.color.blue false" + {abstain.%player%} is "wait pvp": + set {_hold} to difference between {abstain.%player%.time} and now + {_hold} is more than 1 hour: + set {abstain.%player%} to false + send "&aYou can now PvP!" + execute console command "perms player %player% set nametags.color.blue false" + execute console command "perms player %player% set nametags.color.red" + stop + + {abstain.%player%} is "wait abstain": + set {_hold} to difference between {abstain.%player%.time} and now + {_hold} is more than 1 hour: + set {abstain.%player%} to true + send "&aYou are now abstaining from PvP!" + execute console command "perms player %player% set nametags.color.red false" + execute console command "perms player %player% set nametags.color.blue" + stop \ No newline at end of file diff --git a/Obam-Testing/aliases-english.sk b/Obam-Testing/aliases-english.sk new file mode 100644 index 0000000..f07edb1 --- /dev/null +++ b/Obam-Testing/aliases-english.sk @@ -0,0 +1,1690 @@ + +# ====== Aliases ====== +# In this file you can create aliases. An alias is a name for a block or an item, or a collection of such. +# There are hundreds of predefined aliases, so you don't usually need to care about this file. +# +# An alias is nothing more than a mapping from a name to one or more item/block types. +# e.g: 'torch = 50' creates the alias 'torch' and maps it to 50, the ID of a torch. +# So now every time you need a torch you can write torch instead of 50, which is much more intuitive. +# You can make an alias match multiple types by separating them with a comma, e.g. 'water = 8, 9'. +# You can also include data values, e.g. 'orange wool = 35:1'. Data Values can be a range, +# e.g. 'wet farmland = 60:1-8' (60:0 is dry farmland) +# +# == Advanced == +# As different languages have different ways of forming plurals of words you have to define the plurals of all aliases yourself. +# This is done by adding the plural ending after a ¦ character, e.g. 'log¦s = 17'. +# If the singular and plural have different endings each, use two ¦ characters, e.g. 'bookshel¦f¦ves = 47'. +# If you want to pluralize a word within the alias, use another ¦ character, e.g.. 'bucket¦¦s¦ of water' ('¦¦s¦' means: no singular ending, plural ending 's'). +# These plurals are both used by Skript when displaying items, e.g. 2 logs will be displayed as '2 logs', +# while 1 log will be displayed as '1 log', but are also used when parsing, i.e. you can write '1 log' or '2 logs' and both is understood. +# Aliases should also have a gender, which can be defined by adding '@' after the alias, e.g. 'emerald¦s @an' ('@a' can be omitted as it's the default). +# - English genders are 'a' and 'an', and German genders are 'n', 'm', and 'f' (these are all defined in the respectile language file). +# All languages can use the special genders 'x' and '-' for plural and no gender respectively, e.g. 'leaves @x' or 'air @-'. +# +# Sometimes you want to make a part of an alias optional, e.g. in 'wooden door', +# which is also sometimes called 'wood door', the 'en' can be made optional. +# This can be done by putting the optional part into square brackets ([]): +# wood[en] door = 64 # creates 2 aliases: 'wood door = 64' and 'wooden door = 64' +# +# Some blocks/items have different names, like the slab which is also called step. +# In this case you can simple write something like this: +# (step|slab) = 44 # creates two aliases, 'slab' and 'step', of which both are mapped to '44' +# stone (step|slab) = 44:0 # creates 'stone slab' and 'stone step' mapped to '44:0' +# wood[en] (step|slab) = 44:2 # creates four aliases +# +# Some blocks and items share some different appearances, e.g. wood, saplings and leaves all differ only in their tree type. +# Usually you would have to create the aliases 'birch wood', 'birch sapling', 'redwood wood', 'redwood sapling' etc. +# But this can be shortened by using variations: +# {tree type}: # name of the variation +# regular = :0 # list values here. these have the same syntax as aliases, i.e. they can have ids and data/data ranges, +# redwood = :1 # but you usally only need the data, which is done by typing a colon with no id in front of it. +# birch = :2 +# {tree type} wood = 17 # this is resolved to: wood = 17, regular wood = 17:0, redwood wood = 17:1 and birch wood = 17:2 +# sapling of {tree type} tree = 6 # you can put a variation anywhere in an alias, it doesn't need to be at the beginning. +# {tree type} leaves = 18 +# +# please note that 'wood = 17' is also resolved for '{tree type} wood = 17'. This is usually what you want. +# This does not work with variations where ids are varied and not only data values. There you +# have to add a '{default}' to the variation, which is treated like all other values in the variation +# but without adding it's name to the alias. For examples see 'huge mushrooms' or 'doors'. +# +# If an item has a block with a different ID you should add another two aliases called 'x item' and 'x block', e.g. +# cauldron block = 118 +# cauldron item = 380 +# cauldron = 118, 380 +# This way if you 'give a cauldron to the player' the player will not actually be given the items of the 'cauldron' alias, +# but the items of the 'cauldron item' alias, causing the player to always recieve the correct cauldron item. +# The same applies to setting blocks, though it usually doesn't matter as items are ignored when setting blocks. +# It does matter for e.g. water though: +# water = 8, 9 +# water block = 9 +# The 'water block' alias only lists the water source block, while the 'water' alias also lists the flowing water block. +# Setting a block to 'water' will thus always place a water source, while checking 'block is water' will work for both +# stationary and flowing water blocks. +# +# If you want to use something else than 'item' and 'block', simply modify the options below: +# + +# optional suffixes that can be appended to an alias's name and Skript will still understand it, +# e.g. if you only define an alias 'cake', this will allow users to use 'cake block' and 'cake item' as well. +# These are also used to determine the block and item variants of an alias (see above) And should include singular and plural. +item = item¦s +block = block¦s + + + + +# List of alias groups. Only groups listed here are allowed below, +# but you can easily define your own by adding it to this list. +# The groups will be loaded in this order, +# e.g. if 'custom aliases' is loaded after 'default aliases' you can use all default aliases to define your own aliases. +aliases = default aliases, collections, custom aliases + + + + + +custom aliases: + # === Custom Aliases === + # I recommend putting your own aliases here. + # You do not have to create an alias if you intend to use it in only one script, + # but you can put it at the beginning of the script like this: + # aliases: + # admin blocks = bedrock, TNT, 52, 56 + # wand = blaze rod + # This also has the advantage that your script can be used by other people without having to add the aliases to their config. + # + # + # If you want to edit a default alias, you should copy & paste it here to edit it. + # This will make it easier for you if you choose to update Minecraft and more blocks & items are added, in which case + # you can then simply download the updated config and copy & paste this section into it. + # + # The default aliases are loaded before these, so you can use them here. + # You can also override them by creating an alias with the same name. + + #example: shorten names + # ss = sandstone + # llb = lapis lazuli block + # ms = monster spawner + #etc. + +collections: + # === Collections === + + # all ores + ore¦s = coal ore, iron ore, gold ore, diamond ore, lapis ore, any redstone ore + # fuels, i.e. items which can be burned in the furnace + fuel¦s = lava bucket, blaze rod, any coal, planks, log, huge mushroom, workbench, fence, wooden stairs, trapdoor, sapling, stick, chest, locked chest, jukebox, note block + # note: the above aliases are used in 'furnace automatisation.cfg' + + # all food which can be eaten by rightclicking, i.e. doesn't include cake. + food¦s = any apple, mushroom soup, bread, any porkchop, any fish, cookie, melon slice, any beef, any chicken, rotten flesh, any carrot, any potato, pumpkin pie + # the same list but without raw food & rotten flesh + healthy food¦s = any apple, mushroom soup, bread, cooked porkchop, cooked fish, cookie, melon slice, steak, cooked chicken, any carrot, potato, baked potato, pumpkin pie + + # all vehicles, i.e. all minecarts and the boat + vehicle¦s = any minecart, boat + + # all plants. By default this does not include pumpkins and melons, but their stems. + plant¦s = leaves, any tall grass, dead bush, any flower, any mushroom, lily pad, vines, melon stem, pumpkin stem, nether wart + + +default aliases: + # === Default Aliases === + + # -- special -- + anything @- = : # ':' matches any ID. You should only use this together with a {variation} that includes a {default} value. + # (':' means ':') + something @- = : + everything @- = * # '*' is actually the same as 'every :', but 'every' can't be used in aliases. Thus I made this small hack + # to allow the definition of an 'everything' alias, but please note that '*' cannot be used anywhere else. + + + # ====== Blocks ====== + + # -- air -- + air @- = 0 + nothing @- = 0 + none @- = 0 + empty @- = 0 + [empty] (hand|fist)¦s = 0 + bare (hand|fist)¦s = 0 + + + # -- stone -- + stone¦s = 1 + smooth stone = 1 + + + # -- grass -- + grass = 2 + grass block = 2 + + + # -- dirt -- + dirt = 3 + + + # -- cobblestone -- + cobble[stone] = 4 + mossy cobble[stone] = 48 + + + # -- planks & saplings: see wood + + + # -- bedrock -- + bedrock = 7 + + + # -- water & lava -- + water = 8, 9 + water (item|block)¦s = 9 + stationary water = 9 + water source = 9 + flowing water = 8 # change to '8:0-7' if you want to exclude falling water + falling water = 8:8 + moving water = 8 + + lava = 10, 11 + lava (item|block)¦s = 11 + stationary lava = 11 + lava source = 11 + flowing lava = 10 # change to '10:0-7' if you want to exclude falling lava + falling lava = 10:8 + moving lava = 10 + + + # -- sand & gravel-- + sand = 12 + gravel = 13 + + + # -- ores & precious blocks -- + gold ore¦s = 14 + gold block¦s = 41 + block¦¦s¦ of gold = 41 + + iron ore¦s @an = 15 + iron block¦s @an = 42 + block¦¦s¦ of iron = 42 + + coal ore¦s = 16 + + lapis [lazuli] ore¦s = 21 + lapis [lazuli] block¦s = 22 + + # redstone ore: see redstone + + diamond ore¦s = 56 + diamond block¦s = 57 + block¦¦s¦ of diamond = 57 + + emerald ore¦s @an = 129 + emerald block¦s @an = 133 + block¦¦s¦ of emerald = 133 + packed ice = 174 + + + # -- wood, leaves, saplings & planks -- + {tree type}: # also used for wooden slabs + {default} = :0-15 + (normal|regular|oak) = :0, :4, :8, :12 + (pine|redwood|fir|spruce) = :1, :5, :9, :13 + birch = :2, :6, :10, :14 + jungle = :3, :7, :11, :15 + + {log direction}: + {default} = :0-3 + vertical = :0-3 + east-west = :4-7 + west-east = :4-7 + south-north = :8-11 + north-south = :8-11 + horizontal = :4-11 + rotated = :4-11 + full[[ ]block] = :12-15 + any = :0-15 + {log direction no default}: + vertical = :0-3 + east-west = :4-7 + west-east = :4-7 + south-north = :8-11 + north-south = :8-11 + horizontal = :4-11 + rotated = :4-11 + full[[ ]block] = :12-15 + any = :0-15 + + {log direction no default} {tree type} (log¦s|wood) = 17 + {log direction} {tree type} (log|wood) (item¦s|block¦s) = 17 + {tree type} leaves = 18 + {tree type} permanent leaves = 18:4-7, 18:12-15 + {tree type} sapling¦s = 6:0-3 + {tree type} plank¦s = 5:0-3 + {tree type} wood[en] plank¦s = 5:0-3 + + + # -- sponge -- + sponge¦s = 19 + + + # -- glass -- + glass = 20 + glass pane¦s = 102 + thin glass = 102 + window¦s = 102 + window glass = 102 + + + # -- lapis lazuli -- + # lapis ore & block: see ores & blocks + # lapis lazuli: see dyes + + + # -- dispenser -- + dispenser¦s = 23 + + + # -- sandstone -- + sand[ ]stone¦s = 24 + + + # -- note block -- + note block¦s = 25 + + + # -- bed -- + {bed occupied}: + occupied = :4-7, :12-15 + (free|empty) = :0-3, :8-11 + {bed part}: + (head|top) = :8-15 + (foot|bottom) = :0-7 + {bed occupied} bed [block] {bed part} = 26 + bed¦s = 26, 355 + bed block¦s = 26 + bed item¦s = 355 + + + # -- minecart rails -- + {minerail}: + straight = :0-5 + straight flat = :0-1 + flat straight = :0-1 + curved = :6-9 + flat = :0-1, :6-9 + inclined = :2-5 + {minerail straight}: + flat = :0-1, :8-9 + inclined = :2-5, :10-13 + # normal rail + [any] {minerail} [minecart] (rail|track)[s] = 27, 28, 66 + {minerail} [minecart] (rail|track)[s] (item|block) = 66 + # powered rail + {minerail straight} powered [minecart] (rail|track) = 27 + {minerail straight} [minecart] booster¦s = 27 + {minerail straight} [minecart] booster (rail|track)¦s = 27 + {minerail straight} powered [minecart] (rail|track)¦ on¦s on = powered rail:8-15 + {minerail straight} powered [minecart] (rail|track)¦ off¦s off = powered rail:0-7 + {minerail straight} active powered [minecart] (rail|track)¦s = powered rail:8-15 + {minerail straight} inactive powered [minecart] (rail|track)¦s = powered rail:0-7 + {minerail straight} [minecart] booster¦ on¦s on = powered rail:8-15 + {minerail straight} [minecart] booster¦ off¦s off = powered rail:0-7 + {minerail straight} [minecart] booster (rail|track)¦ on¦s on = powered rail:8-15 + {minerail straight} [minecart] booster (rail|track)¦ off¦s off = powered rail:0-7 + {minerail straight} (active|powered) [minecart] booster¦s = powered rail:8-15 + {minerail straight} (inactive|unpowered) [minecart] booster¦s = powered rail:0-7 + {minerail straight} (active|powered) [minecart] booster (rail|track)¦s = powered rail:8-15 + {minerail straight} (inactive|unpowered) [minecart] booster (rail|track)¦s = powered rail:0-7 + # detector rail + {minerail straight} detector [minecart] (rail|track)¦s = 28 + {minerail straight} detector [minecart] (rail|track)¦ on¦s on = detector rail:8-15 + {minerail straight} detector [minecart] (rail|track)¦ off¦s off = detector rail:0-7 + {minerail straight} active detector [minecart] (rail|track)¦s = detector rail:8-15 + {minerail straight} inactive detector [minecart] (rail|track)¦s = detector rail:0-7 + # activator rail + {minerail straight} activator [minecart] (rail|track)¦s = 157 + + + # -- sticky piston: see redstone + + + # -- cobweb -- + cobweb¦s = 30 + + + # -- vegetation -- + + # saplings & leaves: see wood + + any tall grass = 31:1-2 + dead grass = 31:0 + tall grass = 31:1 + long grass = 31:1 + fern¦s = 31:2 + + dead shrub¦s = 32 + dead bush¦es = 32 + + dandelion¦s = 37 + yellow flower¦s = 37 + rose¦s = 38 + red rose¦s = 38 + red flower¦s = 38 + flower¦s = 37, 38 + + mushroom¦s = 39, 40 + brown mushroom¦s = 39 + red mushroom¦s = 40 + + {huge mushroom type}: + {default} = 99, 100 + brown = 99 + red = 100 + huge {huge mushroom type} mushroom¦s = : + huge {huge mushroom type} mushroom stem¦s = :10 + huge {huge mushroom type} mushroom cap¦s = :1-9 #0 is not a real cap piece + + pumpkin¦s = 86 + jack-o-lantern¦s = 91 + glowing pumpkin¦s = 91 + pumpkin stem¦s = 104 + pumpkin seeds = 361 + pumpkin pie¦s = 400 + + melon¦s = 103 + melon block¦s = 103 + melon slice¦s = 360 + melon stem¦s = 105 + melon seeds = 362 + + vines = 106 + # the amount of vines here refers to the number of vines on the sides of the vine block. + # the top vine is always present if there's a solid block above the vines or the data is 0. + no vine[s] = 106:0 + single vine = 106:1, 106:2, 106:4, 106:8 + double vine[s] = 106:3, 106:5, 106:9, 106:6, 106:10, 106:12 + triple vine[s] = 106:7, 106:11, 106:13, 106:14 + quadruple vine[s] = 106:15 + + lily pad¦s = 111 + + nether wart¦s = 115, 372 + nether wart block¦s = 115 + nether wart item¦s = 372 + ripe nether wart¦s = 115:3 + freshly planted nether wart¦s = 115:0 + + cocoa = 127 + cocoa plant¦s = 127 + (freshly planted|small) cocoa [plant¦s] = 127:0-3 + medium cocoa [plant¦s] = 127:4-7 + (ripe|big|large) cocoa [plant¦s] = 127:8-11 + + {flower pot}: + (empty|nothing) = :0 + (rose|red flower) = :1 + (dandelion|yellow flower) = :2 + flower = :1-2 + (normal|regular|oak) sapling = :3 + (pine|redwood|fir|spruce) sapling = :4 + birch sapling = :5 + jungle [tree] sapling = :6 + sapling = :3-6 + red mushroom = :7 + brown mushroom = :8 + mushroom = :7-8 + cactus = :9 + dead bush = :10 + fern = :11 + {flower pot} flower pot¦s = 140 + {flower pot} flower pot block¦s = 140 + flower pot (holding|containing|with) [a[n]] {flower pot} = 140 + flower pot item¦s = 390 + flower pot¦s = 140, 390 + + carrot plant¦s = 141 + carrot[s] block¦s = 141 + carrot[s] [item¦s] = 391 + golden carrot¦s = 396 + any carrot[s] [item¦s] = 391, 396 + carrot¦ on a stick¦s on sticks = 398 + + potato plant¦s = 142 + potato[es] block¦s = 142 + potato¦es = 392 + potato[es] item¦s = 392 + baked potato¦es = 393 + poisonous potato¦es = 394 + any potato¦es = 392, 393, 394 + + + # -- pistons: see redstone + + + # -- wool, carpets and dyes -- + # note: it's not possible to make a {colour} variation, as dye and wool colour data values are different. + {wool}: # also used for stained clay + any = :0-15 + white = :0 + orange = :1 + magenta = :2 + light blue = :3 + yellow = :4 + light green = :5 + pink = :6 + gray = :7 + light gray = :8 + cyan = :9 + purple = :10 + blue = :11 + brown = :12 + [dark] green = :13 + red = :14 + black = :15 + {wool} wool = 35:0-15 + {wool} (carpet|rug)¦s = 171:0-15 + + dye¦s = 351:0-15 + white dye¦s = 351:15 + bone[ ]meal¦s = 351:15 + orange dye¦s = 351:14 + magenta dye¦s = 351:13 + light blue dye¦s = 351:12 + yellow dye¦s = 351:11 + dandelion yellow [dye¦s] = 351:11 + light green dye¦s = 351:10 + pink dye¦s = 351:9 + gray dye¦s = 351:8 + light gray dye¦s = 351:7 + cyan dye¦s = 351:6 + purple dye¦s = 351:5 + blue dye¦s = 351:4 + lapis [lazuli¦s] = 351:4 + cocoa beans = 351:3 + brown dye¦s = 351:3 + [dark] green dye¦s = 351:2 + cactus green [dye¦s] = 351:2 + red dye¦s = 351:1 + rose red = 351:1 + black dye¦s = 351:0 + ink sack¦s = 351:0 + + + # -- block 36 -- + block 36 = 36 + block moved by piston = 36 + moving block¦s = 36 + + + # -- flowers & mushrooms: see vegetation + + + # -- iron & gold block: see ores & blocks + + + # -- single & double steps / slabs -- + {any slab}: + {default} = 44, 126 + single = 44, 126 + double = 43, 125 + {stone slab}: + {default} = 44 + single = 44 + double = 43 + {wooden slab}: + {default} = 126 + single = 126 + double = 125 + + {slab facing}: + {default} = :0-7 + regular = :0-7 + default = :0-7 + upside-down = :8-15 + any = :0-15 + {slab facing no default}: + regular = :0-7 + default = :0-7 + upside-down = :8-15 + any = :0-15 + + {stone slab type}: + {default} = :0-1, :3-5, :8-9, :11-13 + any = :0-1, :3-5, :8-9, :11-13 + stone = :0, :8 + sandstone = :1, :9 + cobble[stone] = :3, :11 + brick = :4, :12 + stone brick[s]) = :5, :13 + {stone slab type no default}: + any = :0-1, :3-5, :8-9, :11-13 + stone = :0, :8 + sandstone = :1, :9 + cobble[stone] = :3, :11 + brick = :4, :12 + stone brick[s]) = :5, :13 + + # variation {tree type}: see wood + {slab facing no default} {stone slab} {stone slab type no default} (step|slab)¦s = : + {slab facing} {stone slab} {stone slab type} (step|slab) (block|item)¦s = : + {slab facing no default} {wooden slab} {tree type} [wood[en]] (step|slab)¦s = :0-3, :8-11 + {slab facing} {wooden slab} {tree type} (step|slab) (block|item)¦s = : + {slab facing no default} {any slab} (step|slab)¦s = : + {slab facing} {any slab} (step|slab) (block|item)¦s = : + + + # -- bricks & clay -- + [clay] brick¦s = 45, 336 + [clay] brick[s] = 45 + [clay] brick[s] = 336 + + {wool} [stained] [hard[ened]] clay = 159 + + clay = 82, 337 + clay = 82 + clay = 337 + clay ball¦s = 337 + + hard[ened] clay = 172 + + + # -- TNT -- + TNT¦s = 46 + dynamite = 46 + + + # -- bookshelf -- + bookshel¦f¦ves = 47 + + + # -- mossy cobblestone: see cobblestone + + + # -- obsidian -- + obsidian = 49 + + + # -- torch -- + {torch}: #also used for redstone torches + ground = :5 + floor = :5 + wall = :1-4 + {torch} torch¦es = 50 + + + # -- fire -- + fire¦s = 51 + (eternal|infinite) fire¦s = 51:15 #never tested this myself + finite fire¦s = 51:0-14 + (new|fresh) fire¦s = 51:0 + + + # -- monster spawner -- + monster spawner¦s = 52 + mob spawner¦s = 52 + + + # -- stairs -- + {stairs}: + {default} = 53, 134, 135, 136, 67, 108, 109, 114, 128, 156 + (oak|regular|normal) [wood] = 53 + (spruce|fir|redwood|pine) [wood] = 134 + birch [wood] = 135 + jungle [wood] = 136 + [any] wood[en] = 53, 134, 135, 136 + cobble[stone] = 67 + [clay] brick[s] = 108 + stone brick[s] = 109 + nether [brick[s]] = 114 + sand[ ]stone = 128 + [nether] quarz = 156 + {stairs direction}: + {default} = :0-3 + any = :0-7 + upside-down = :4-7 + {stairs direction no default}: + any = :0-7 + upside-down = :4-7 + + {stairs direction no default} {stairs} stair[s] = : + {stairs direction} {stairs} stair[s] (block|item)¦s = : + + + # -- chest -- + chest¦s = 54 + ender chest¦s = 130 + trapped chest¦s = 146 + + + # -- redstone wire: see redstone + + + # -- diamond ore & block: see ores & blocks + + + # -- crafting table -- + crafting table¦s = 58 + workbench¦es = 58 + + + # -- crops / wheat -- + crops = 59 + wheat block¦s = 59 + wheat item¦s = 296 + wheat = 59, 296 + [wheat] seeds = 295 + freshly planted (crops|wheat) = 59:0 + ripe (crops|wheat) = 59:7 + + + # -- farmland/soil -- + (farmland|soil) = 60 + dry (farmland|soil) = 60:0 + wet (farmland|soil) = 60:1-8 + + + # -- furnace -- + furnace¦s = 61, 62 + (burning|lighted|lit) furnace¦s = 62 + furnace¦ on¦s on = 62 + (non-burning|unlighted|unlit|extinguished) furnace¦s = 61 + furnace¦ off¦s off = 61 + + + # -- signs -- + sign post¦s = 63 + wall sign¦s = 68 + sign block¦s = 63, 68 + sign item¦s = 323 + sign¦s = 63, 68, 323 + + + # -- doors, trapdoors and fence gates -- + # I currently discourage from creating aliases like 'open door' or doors with specific facings + # as any 'block is ' condition will fail if you click the wrong part of the door. + # 'set to door:1' will correctly place an open door though. + {doortype}: + {default} = 64, 71 + wood[en] = 64 + iron = 71 + {doorhalf}: + top¦s = :8-9 + bottom¦s = :0-7 + {doortype} door [block] {doorhalf} = : + {doortype} door block¦s = : + wood[en] door item¦s = 324 + wood[en] door¦s = 324, 64 + iron door item¦s = 330 + iron door¦s = 330, 71 + door item¦s = 330, 324 + door¦s = 330, 71, 324, 64 + + trapdoor¦s = 96 + open[ed] trapdoor¦s = 96:4-7 + closed trapdoor¦s = 96:0-3 + + fence gate¦s = 107 + open[ed] fence gate¦s = 107:4-7 + closed fence gate¦s = 107:0-3 + + + # -- ladder -- + ladder¦s = 65 + + + # -- rails: see minecart rails + + + # -- coblestone stairs: see stairs + + + # -- redstone -- + [redstone] wire¦s = 55 + [redstone] wire¦ on¦s on = 55:1-15 + [redstone] wire¦ off¦s off = 55:0 + powered [redstone] wire¦s = redstone wire on + unpowered [redstone] wire¦s = redstone wire off + active [redstone] wire¦s = redstone wire on + inactive [redstone] wire¦s = redstone wire off + + redstone ore¦s = 73, 74 + (active|glowing) redstone ore¦s = 74 + (inactive|non-glowing) redstone ore¦s = 73 + redstone ore¦ on¦s on = 74 + redstone ore¦ off¦s off = 73 + + # variation {torch}: see torch + {torch} redstone torch¦es = 75, 76 + {torch} redstone torch¦ on¦es on = 76 + active {torch} redstone torch¦es = 76 + {torch} redstone torch¦ off¦es off = 75 + inactive {torch} redstone torch¦es = 75 + + {diodedelay}: + 1-tick[-delay] = :0-3 + 2-tick[-delay] = :4-7 + 3-tick[-delay] = :8-11 + 4-tick[-delay] = :12-15 + {diodedelay} [redstone] (repeater|diode)[ block]¦s = 93, 94 + [redstone] (repeater|diode) item¦s = 356 + [redstone] (repeater|diode)¦s = 356, 93, 94 + {diodedelay} [redstone] (repeater|diode)[ block]¦ on¦s on = 94 + {diodedelay} [redstone] (repeater|diode)[ block]¦ off¦s off = 93 + (active|powered) {diodedelay} [redstone] (repeater|diode)[ block]¦s = 94 + (inactive|unpowered) {diodedelay} [redstone] (repeater|diode)[ block]¦s = 93 + + {lever position}: + wall = :1-4, :9-12 + ground = :5-6, :13-14 + floor = :5-6, :13-14 + {lever position} lever¦s = 69 + {lever position} lever¦ on¦s on = 69:8-15 + (pulled|thrown|active) {lever position} lever¦s = 69:8-15 + {lever position} lever¦ off¦s off = 69:0-7 + (unpulled|unthrown|inactive) {lever position} lever¦s = 69:0-7 + + {button}: + {default} = 77, 143 + stone = 77 + wood[en] = 143 + {button} button¦s = : + {button} button¦ on¦s on = :8-15 + pressed {button} button¦s = :8-15 + active {button} button¦s = :8-15 + {button} button¦ off¦s off = :0-7 + unpressed {button} button¦s = :0-7 + inactive {button} button¦s = :0-7 + + {pressure plate}: + {default} = 70, 72, 147, 148 + wood[en] = 72 + stone = 70 + gold[en] = 147 + iron = 148 + {pressure plate} [pressure] plate¦s = : + (pressed|active) {pressure plate} [pressure] plate¦s = :1 + (unpressed|inactive) {pressure plate} [pressure] plate¦s = :0 + {weighted pressure plate}: + {default} = 147, 148 + gold[en] = 147 + light = 147 + iron = 148 + heavy = 148 + {weighted pressure plate} weighted [pressure] plate¦s = : + (pressed|active) {weighted pressure plate} weighted [pressure] plate¦s = :1 + (unpressed|inactive) {weighted pressure plate} weighted [pressure] plate¦s = :0 + + piston base¦s = 33 + sticky piston base¦s = 29 + any piston base¦s = 33, 29 + # + piston extension¦s = 34:0-5 + sticky piston extension¦s = 34:8-13 + any piston extension¦s = 34 + # + piston¦s = piston base, piston extension + piston (item|block)¦s = piston base + sticky piston¦s = sticky piston base, sticky piston extension + sticky piston (item|block)¦s = sticky piston base + any piston¦s = 29, 33, 34 + # + extended piston base¦s = 33:8-13 + extended sticky piston base¦s = 29:8-13 + any extended piston base¦s = extended piston base, extended sticky piston base + # + extended piston¦s = extended piston base, piston extension + extended sticky piston¦s = extended sticky piston base, sticky piston extension + any extended piston¦s = any extended piston base, any piston extension + # + retracted piston¦s = 33:0-5 + retracted sticky piston¦s = 29:0-5 + any retracted piston¦s = retracted piston, retracted sticky piston + + redstone lamp¦s = 123, 124 + (inactive|unpowered|unlit) restone lamp¦s = 123 + restone lamp¦ off¦s off = 123 + (active|glowing|powered|lit) redstone lamp¦s = 124 + redstone lamp¦ on¦s on = 124 + + redstone comparator¦s = 149, 150 + redstone comparator block¦s = 149 + redstone comparator item¦s = 404 + (inactive|unpowered) redstone comparator¦s = 149 + (active|powered) redstone comparator¦s = 150 + + daylight sensor¦s = 151 + + redstone block¦s = 152 + block¦¦s¦ of redstone = 152 + + hopper¦s = 154 + + dropper¦s = 158 + + + # -- snow & ice -- + snow layer¦s = 78 + ice [block¦s] @an = 79 + snow [block¦s] = 80 + + + # -- cactus -- + cact¦us¦i = 81 + cactuses = 81 + + + # -- clay block: see bricks -- + + + # -- sugar cane -- + [sugar] cane¦s = 83, 338 + [sugar] cane block¦s = 83 + [sugar] cane item¦s = 338 + + + # -- jukebox -- + jukebox¦es = 84 + + + # -- fence -- + fence¦s = 85 + + + # -- pumpkin & lack-o-lantern: see vegetation + + + # -- nether stuff -- + netherrack¦s = 87 + soul[ ]sand¦s = 88 + glowstone¦s = 89 + [nether] portal¦s = 90 + + + # -- cake -- + cake¦s = 92, 354 + cake block¦s = 92 + cake item¦s = 354 + + + # -- redstone repeater: see redstone + + + # -- locked chest -- + locked chest¦s = 95 + + + # -- trapdoor: see doors + + + # -- hidden silverfish -- + silverfish block¦s = 97:0-2 + hidden silverfish¦es = 97:0-2 + [hidden] [smooth] stone silverfish¦es = 97:0 + [hidden] cobble[stone] silverfish¦es = 97:1 + [hidden] stone brick[s] silverfish¦es = 97:2 + + + # -- stone bricks -- + stone brick¦s = 98:0-3 + stone brick¦s = 98:0-3 + stone brick[s] (item|block)¦s = 98:0 + smooth [stone] brick¦s = 98:0 + mossy [stone] brick¦s = 98:1 + cracked [stone] brick¦s = 98:2 + (circle|fancy|decorated) [stone] brick¦s = 98:3 + + + # -- huge mushrooms: see vegetation + + + # -- iron bars -- + [iron] bars @x = 101 + + + # -- glass pane: see glass + + + # -- melon, stems & vines: see vegetation + + + # -- fence gate: see doors + + + # -- brick & stone brick stairs: see stairs + + + # -- mycelium -- + mycelium = 110 + mushroom (floor|ground|grass) = 110 + + + # -- lily pad: see vegetation + + + # -- nether brick stuff -- + nether brick¦s = 112, 405 + nether brick block¦s = 112 + nether brick item¦s = 405 + nether [brick[s]] fence¦s = 113 + # nether brick stairs: see stairs + + + # -- nether wart: see vegetation + + + # -- enchantment table -- + enchantment table¦s = 116 + + + # -- brewing stand -- + brewing stand¦s = 117, 379 + brewing stand block¦s = 117 + brewing stand item¦s = 379 + empty brewing stand¦s @an = 117:0 + full brewing stand¦s = 117:7 + + + # -- cauldron -- + cauldron¦s = 118, 380 + cauldron block¦s = 118 + cauldron item¦s = 380 + empty cauldron¦s @an = 118:0 + full cauldron¦s = 118:3 + + + # -- End stuff -- + end[er] portal¦s @an = 119 + + end[er] portal frame¦s @an = 120 + empty end[er] portal frame¦s @an = 120:0-3 + filled end[er] portal frame¦s = 120:4-7 + end[er] stone¦s @an = 121 + + dragon egg¦s = 122 + ender[ ]dragon egg¦s @an = 122 + + + # -- redstone lamp: see redstone + + + # -- emerald ore/block: see ores + + + # -- ender chest: see chest + + + # -- tripwire & hook + tripwire¦s = 132 + [tripwire] hook¦s = 131 + + + # -- wooden stairs: see stairs + + + # -- command block -- + command block¦s = 137 + + + # -- beacon -- + beacon¦s = 138 + + + # -- cobblestone walls -- + cobble[stone] wall¦s = 139:0-1 + cobble[stone] wall (item|block)¦s = 139:0 + (normal|regular) cobble[stone] wall¦s = 139:0 + moss[y] cobble[stone] wall¦s = 139:1 + + + # -- flower pot, carrots, potatoes: see vegetation -- + + + # -- wooden button: see redstone -- + + + # -- mob head -- + {mob head direction}: + floor = :1 + wall = :2-5 + {mob head type}: + skeleton = :0 + wither skeleton = :1 + zombie = :2 + (human|player) = :3 + creeper = :4 + {mob head type} [mob] head[ item]¦s = 397 + {mob head direction} [mob] head[ block]¦s = 144 + [mob] head¦s = 144, 397 + + + # -- anvil -- + {anvil}: + (regular|complete) @a = :0-1 + undamaged @an = :0-1 + [slightly] damaged @a = :4-5 + (very|heavily|severely) damaged @a = :8-9 + {anvil} anvil¦s @an = 145 + + + # -- trapped chest: see chest + + + # -- weighted pressure plates, redstone comparator, daylight sensor, redstone block: see redstone + + + # -- nether quarz ore, quarz block -- + [nether] quartz ore = 153 + {quartz block}: + (normal|regular) = :0 + chiseled = :1 + pillar = :2-3 + vertical pillar = :2 + horizontal pillar = :3-4 + ns pillas = :3 + ew pillar = :4 + {quartz block} [nether] quartz = 155 + {quartz block} [nether] quartz block¦s = 155 + pillar [nether] quartz (block|item) = 155:2 + [nether] quartz = 155, 406 + [nether] quartz item¦s = 406 + # quarz stairs: see stairs + + + # -- hopper: see redstone + + + # -- activator rail: see rails + + + # -- dropper: see redstone + + + # -- stained clay: see clay + + + # -- hay block -- + (hay|wheat) block¦s = 170 + block¦¦s¦ of (hay|wheat) = 170 + + + # -- carpet: see wool + + + # -- hardened clay: see clay + + + # -- block of coal: see coal + + + + + + + + # ====== Items ====== + + # -- flint and steel -- + flint and steel¦s = 259 + flint'n'steel¦s = 259 + + + # -- apples -- + apple¦s = 260, 322:0-1 + apple¦s @an = 260 + red apple¦s = 260 + golden apple¦s = 322:0-1 + golden apple item¦s = 322:0 + enchanted golden apple¦s @an = 322:1 + + + # -- bow & arrow -- + bow¦s = 261 + arrow¦s = 262 + + + # -- coal -- + coal = 263:0-1 + charcoal = 263:1 + coal = 263:0, 173 + coal = 263:0 + coal = 173 + block¦¦s¦ of coal = 173 + + + # -- diamond & ingots -- + diamond¦s = 264 + iron (ingot|bar)¦s @an = 265 + gold[en] (ingot|bar)¦s = 266 + ingot¦s @an = 265, 266 + + + # -- tools -- + sword¦s = 267, 268, 272, 276, 283 + pick[axe]¦s = 270, 274, 257, 278, 285 + axe¦s @an = 271, 275, 258, 279, 286 + shovel¦s = 269, 273, 256, 277, 284 + spade¦s = shovel + hoe¦s = 290, 291, 292, 293, 294 + + wood[en] tool¦s = 268, 269, 270, 271, 290 + stone tool¦s = 272, 273, 274, 275, 291 + iron tool¦s @an = 256, 257, 258, 267, 292 + diamond tool¦s = 276, 277, 278, 279, 293 + gold[en] tool¦s = 283, 284, 285, 286, 294 + + wood[en] sword¦s = 268 + wood[en] (shovel|spade)¦s = 269 + wood[en] pick[axe]¦s = 270 + wood[en] axe¦s = 271 + wood[en] hoe¦s = 290 + + stone sword¦s = 272 + stone (shovel|spade)¦s = 273 + stone pick[axe]¦s = 274 + stone axe¦s = 275 + stone hoe¦s = 291 + + iron sword¦s @an = 267 + iron (shovel|spade)¦s @an = 256 + iron pick[axe]¦s @an = 257 + iron axe¦s @an = 258 + iron hoe¦s @an = 292 + + diamond sword¦s = 276 + diamond (shovel|spade)¦s = 277 + diamond pick[axe]¦s = 278 + diamond axe¦s = 279 + diamond hoe¦s = 293 + + gold[en] sword¦s = 283 + gold[en] (shovel|spade)¦s = 284 + gold[en] pick[axe]¦s = 285 + gold[en] axe¦s = 286 + gold[en] hoe¦s = 294 + + + # -- stick -- + stick¦s = 280 + + + # -- bowl & stew -- + bowl¦s = 281 + empty bowl¦s @an = 281 + [mushroom] (stew|soup)¦s = 282 + + + # -- string -- + string¦s = 287 + + + # -- feather -- + feather¦s = 288 + + + # -- gunpowder -- + gunpowder = 289 + sulphur = 289 + + + # -- wheat & seeds: see crops / wheat + bread¦s = 297 + + + # -- armour -- + helmet¦s = 298, 302, 306, 310, 314 + chestplate¦s = 299, 303, 307, 311, 315 + leg[ging]s @x = 300, 304, 308, 312, 316 + boots @x = 301, 305, 309, 313, 317 + + leather armo[u]r¦s = 298, 299, 300, 301 + chain[mail] armo[u]r¦s = 302, 303, 304, 305 + iron armo[u]r¦s = 306, 307, 308, 309 + diamond armo[u]r¦s = 310, 311, 312, 313 + gold armo[u]r¦s = 314, 315, 316, 317 + + leather (cap|helmet)¦s = 298 + leather (tunic|chest[plate])¦s = 299 + leather (pants|leg[ging]s) @x = 300 + leather boots @x = 301 + + chain[mail] helmet¦s = 302 + chain[mail] chestplate¦s = 303 + chain[mail] leggings @x = 304 + chain[mail] boots @x = 305 + + iron helmet¦s @an = 306 + iron chest[plate]¦s @an = 307 + iron leg[ging]s @x = 308 + iron boots @x = 309 + + diamond helmet¦s = 310 + diamond chest[plate]¦s = 311 + diamond leg[ging]s @x = 312 + diamond boots @x = 313 + + gold[en] helmet¦s = 314 + gold[en] chest[plate]¦s = 315 + gold[en] leg[ging]s @x = 316 + gold[en] boots @x = 317 + + + # -- flint -- + flint¦s = 318 + + + # -- porkchop -- + [] pork[chop]¦s = 319, 320 + pork[chop] item¦s = 319 + raw pork[chop]¦s = 319 + (cooked|grilled) pork[chop]¦s = 320 + + + # -- painting -- + painting¦s = 321 + painting item¦s = 321 + + + # -- golden apple: see apples + + + # sign: see signs + + + # wooden door: see doors + + + # -- buckets -- + [empty] bucket¦s = 325 + water bucket¦s = 326 + bucket¦¦s¦ of water = 326 + lava bucket¦s = 327 + bucket¦¦s¦ of lava = 327 + milk [bucket¦s] = 335 + bucket¦¦s¦ of milk = 335 + + + # -- minecarts -- + [] minecart¦s = 328, 342, 343 + minecart item¦s = 328 + storage minecart¦s = 342 + minecart¦¦s¦ with chest = 342 + powered minecart¦s = 343 + minecart¦¦s¦ with furnace = 343 + minecart¦¦s¦ with TNT = 407 + minecart¦¦s¦ with hopper = 408 + + + # -- saddle -- + saddle¦s = 329 + + + # -- iron door: see doors + + + # -- redstone dust -- + redstone = 331 + redstone dust = 331 + + + # -- snowball -- + snowball¦s = 332 + + + # -- boat -- + boat¦s = 333 + + + # -- leather -- + leather = 334 + + + # -- milk: see buckets + + + # -- clay & clay brick: see bricks -- + + + # -- sugar cane: see sugar cane block + + + # -- paper & books -- + paper = 339 + book¦s = 340 + book¦¦s¦ (and|with) quill = 386 + written book¦s = 387 + + + # -- slimeball -- + slime[ball¦s] = 341 + + + # minecart with chest/furnace: see minecarts + + + # -- [chicken] egg -- + egg¦s @an = 344 + chicken egg¦s = 344 + + + # -- compass -- + compass¦es = 345 + + + # -- fishing rod -- + fishing rod¦s = 346 + + + # -- clock -- + clock¦s = 347 + + + # -- glowstone dust -- + glowstone dust = 348 + + + # -- fish -- + [] fish¦es = 349, 350 + fish item¦s = 349 + raw fish¦es = 349 + cooked fish¦es = 350 + + + # -- dyes: see wool & dyes + + + # -- bone -- + bone¦s = 352 + + + # -- sugar -- + sugar = 353 + + + # -- cake: see cake block + + + # -- bed: see bed block + + + # -- redstone repeater: see redstone + + + # -- cookie -- + cookie¦s = 357 + + + # -- map -- + map¦s = 358 + map¦s = 358:0-32767 + empty map¦s @an = 395 + # You can get a specific map with map:#, e.g. map:0 for map_0 (the first map crafted) + # (The maximum map number is 65536, but Skript currently only supports numbers up to 32767) + + + # -- shears -- + shears = 359 + + + # -- melon slice, pumpkin seeds & melon seeds: see vegetation + + + # -- beef -- + [] beef = 363, 364 + beef item¦s = 363, 364 + [raw] beef = 363 + steak¦s = 364 + cooked beef = 364 + + + # -- chicken -- + [] chicken¦s = 365, 366 + chicken item¦s = 365 + raw chicken¦s = 365 + cooked chicken¦s = 366 + + + # -- rotten flesh -- + rotten flesh = 367 + + + # -- ender pearl -- + ender pearl¦s @an = 368 + + + # -- blaze rod -- + blaze rod¦s = 369 + + + # -- ghast tear -- + ghast tear¦s = 370 + + + # -- gold nugget -- + gold nugget¦s = 371 + + + # -- nether wart: see vegetation + + + # -- potions & bottles -- + [glass] bottle¦s = 374 + vial¦s = 374 + water bottle¦s = 373:0 + bottle¦¦s¦ of water = 373:0 + + awkward potion¦s @an = 373:16 + + {splash potion}: + {default} = :0-16383 + non-splash = :0-16383 + splash = :16384-32767 + {splash potion no default}: + non-splash = :0-16383 + splash = :16384-32767 + + {extended potion}: + {default} = :0-63, :16384-16447 + unextended @an = :0-63, :16384-16447 + non-extended = :0-63, :16384-16447 + extended @an = :64-127, :16448-16511 + {extended potion no default}: + unextended @an = :0-63, :16384-16447 + non-extended = :0-63, :16384-16447 + extended @an = :64-127, :16448-16511 + + {potion tier}: + {default} = :0-31, :64-95, :16384-16415, :16448-16479 + (1|I) = :0-31, :64-95, :16384-16415, :16448-16479 + (2|II) = :32-63, :96-127, :16416-16447, :16480-16511 + {potion tier no default}: + (1|I) = :0-31, :64-95, :16384-16415, :16448-16479 + (2|II) = :32-63, :96-127, :16416-16447, :16480-16511 + + {potion effect}: + Regeneration = :1, :33, :65, :97, :16385, :16417, :16449, :16481 + (Swiftness|Speed) = :2, :34, :66, :98, :16386, :16418, :16450, :16482 + Fire Resistance = :3, :35, :67, :99, :16387, :16419, :16451, :16483 + Poison = :4, :36, :68, :100, :16388, :16420, :16452, :16484 + (Healing|[Instant] Health) = :5, :53, :69, :101, :16389, :16421, :16453, :16485 + Night Vision = :6, :38, :70, :102, :16390, :16422, :16454, :16486 + Weakness = :8, :40, :72, :104, :16392, :16424, :16456, :16488 + Strength = :9, :41, :73, :105, :16393, :16425, :16457, :16489 + Slowness = :10, :42, :74, :106, :16394, :16426, :16458, :16490 + (Harming|[Instant] Damage) = :12, :44, :76, :108, :16396, :16428, :16460, :16492 + Invisibility = :14, :46, :78, :110, :16398, :16430, :16462, :16494 + + {extended potion no default} {splash potion no default} potion¦¦s¦ [of {potion effect} {potion tier no default}] = 373 + {extended potion} {splash potion} potion¦¦s¦ [of {potion effect} {potion tier}] item = 373 + {extended potion no default} {splash potion no default} {potion effect} potion¦¦s¦ {potion tier no default} = 373 + {extended potion} {splash potion} {potion effect} potion {potion tier} item¦s = 373 + + + # -- spider eye & fermented spider eye -- + spider eye¦s = 375 + fermented spider eye¦s = 376 + + + # -- blaze powder -- + blaze powder = 377 + + + # -- magma cream -- + magma cream¦s = 378 + + + # -- eye of ender -- + eye¦¦s¦ of ender @an = 381 + + + # -- glistering melon -- + glistering melon¦s = 382 + + + # -- spawn egg -- + {entity type}: + experience orb @an = :2 + xp orb = :2 + TNT = :20 + minecart = :40 # < MC 1.5 + boat = :41 + minecart = :42 + minecart with chest = :43 + minecart with furnace = :44 + minecart with TNT = :45 + minecart with hopper = :46 + minecart with spawner = :47 + creeper = :50 + skeleton = :51 + spider = :52 + giant = :53 + zombie = :54 + slime = :55 + ghast = :56 + zombie pigman = :57 + pig[ ]zombie = :57 + enderman @an = :58 + cave spider = :59 + silverfish = :60 + blaze = :61 + magma cube = :62 + ender dragon @an = :63 + wither = :64 + witch = :66 + bat = :65 + pig = :90 + sheep = :91 + cow = :92 + chicken = :93 + squid = :94 + wolf = :95 + mooshroom = :96 + snow golem = :97 + ocelot @an = :98 + iron golem @an = :99 + horse = :100 + villager = :120 + ender crystal = :200 + + {entity type} spawn egg¦s = 383 + random spawn egg¦s = 383:50-52, 383:54-62, 383:65-66, 383:90-96, 383:98, 383:100, 383:120 # only working eggs + + + # -- bottle o' enchanting -- + bottle¦¦s¦ (o'|of) enchanting = 384 + (xp|exp[erience]) bottle¦s @an = 384 + + + # -- fire charge -- + fire charge¦s = 385 + + + # -- book and quill, written book: see book + + + # -- emerald -- + emerald¦s = 388 + + + # -- item frame -- + item frame¦s = 389 + + + # -- flower pot: see vegetation -- + + + # -- carrot, potatoes: see vegetation -- + + + # -- empty map: see map -- + + + # -- golden carrot: see vegetation -- + + + # -- mob head: see mob head block -- + + + # -- carrot on a stick: see vegetation -- + + + # -- nether star -- + nether star¦s = 399 + + + # -- pumpkin pie: see vegetation -- + + + # -- Fireworks -- + firework rocket¦s = 401 + firework star¦s = 402 + + + # -- Enchanted Book -- + enchanted book¦s @an = 403 + + + # -- redstone comparator: see redstone + + + # -- nether brick item: see nether brick stuff + + + # -- nether quarz: see nether quarz block + + + # -- minecart with TNT/hopper: see minecarts + + + # -- horse armour -- + iron horse armo[u]r¦s = 417 + gold horse armo[u]r¦s = 418 + diamond horse armo[u]r¦s = 419 + + + # -- lead -- + lead¦s = 420 + + + # -- name tag -- + name tag¦s = 421 + + + # -- music discs -- + music disc¦s = 2256, 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267 + record¦s = music disc + gold [music] disc¦s = 2256 + 13-disc¦s = 2256 + green [music] disc¦s = 2257 + cat [music] disc¦s = 2257 + blocks [music] disc¦s = 2258 + chirp [music] disc¦s = 2259 + far [music] disc¦s = 2260 + mall [music] disc¦s = 2261 + mellohi [music] disc¦s = 2262 + stal [music] disc¦s = 2263 + strad [music] disc¦s = 2264 + ward [music] disc¦s = 2265 + 11-disc¦s = 2266 + wait [music] disc¦s = 2267 diff --git a/Obam-Testing/broadcast.sk b/Obam-Testing/broadcast.sk new file mode 100644 index 0000000..593d015 --- /dev/null +++ b/Obam-Testing/broadcast.sk @@ -0,0 +1,4 @@ +command /broadcast : + permission: obam.admin + trigger: + broadcast argument \ No newline at end of file diff --git a/Obam-Testing/effect.sk b/Obam-Testing/effect.sk new file mode 100644 index 0000000..a66a2d6 --- /dev/null +++ b/Obam-Testing/effect.sk @@ -0,0 +1,138 @@ +command /effect [] [] []: + permission: obam.admin + trigger: + + argument 1 is not set: + send "1 ... hugeexplosion" + send "2 ... largeexplode" + send "3 ... bubble" + send "4 ... suspended" + send "5 ... depthsuspend" + send "6 ... townaura" + send "7 ... crit" + send "8 ... magicCrit" + send "9 ... smoke" + send "10 ... mobSpell" + send "11 ... mobSpellAmbient" + send "12 ... instantSpellAmbient" + send "13 ... witchMagic" + send "14 ... note" + send "15 ... portal" + send "16 ... enchantmenttable" + send "17 ... explode" + send "18 ... flame" + send "19 ... lava" + send "20 ... footstep" + send "21 ... splash" + send "22 ... largesmoke" + send "23 ... cloud" + send "24 ... reddust" + send "25 ... snowballpoof" + send "26 ... dripWater" + send "27 ... dripLava" + send "28 ... snowshovel" + send "29 ... slime" + send "30 ... heart" + send "31 ... angryVillager" + send "32 ... happyVillager" + send "33 ... redust?" + + argument 1 is set: + argument 1 is 1: + set {_effect} to "hugeexplosion" + argument 1 is 2: + set {_effect} to "largeexplod" + argument 1 is 3: + set {_effect} to "bubble" + argument 1 is 4: + set {_effect} to "suspended" + argument 1 is 5: + set {_effect} to "depthsuspend" + argument 1 is 6: + set {_effect} to "townaura" + argument 1 is 7: + set {_effect} to "crit" + argument 1 is 8: + set {_effect} to "magicCrit" + argument 1 is 9: + set {_effect} to "smoke" + argument 1 is 10: + set {_effect} to "mobSpell" + argument 1 is 11: + set {_effect} to "mobSpellAmbient" + argument 1 is 12: + set {_effect} to "isntantSpellAmbient" + argument 1 is 13: + set {_effect} to "witchMagic" + argument 1 is 14: + set {_effect} to "note" + argument 1 is 15: + set {_effect} to "portal" + argument 1 is 16: + set {_effect} to "enchantmenttable" + argument 1 is 17: + set {_effect} to "explode" + argument 1 is 18: + set {_effect} to "flame" + argument 1 is 19: + set {_effect} to "lava" + argument 1 is 20: + set {_effect} to "footstep" + argument 1 is 21: + set {_effect} to "splash" + argument 1 is 22: + set {_effect} to "largesmoke" + argument 1 is 23: + set {_effect} to "cloud" + argument 1 is 24: + set {_effect} to "reddust" + argument 1 is 25: + set {_effect} to "snowballpoof" + argument 1 is 26: + set {_effect} to "dripWater" + argument 1 is 27: + set {_effect} to "dripLava" + argument 1 is 28: + set {_effect} to "snowshovel" + argument 1 is 29: + set {_effect} to "slime" + argument 1 is 30: + set {_effect} to "heart" + argument 1 is 31: + set {_effect} to "angryVillager" + argument 1 is 32: + set {_effect} to "happyVillager" + argument 1 is 33: + set {_loc} to block above player's head + play argument 2 of effect "blockcrack_152_0" with data argument 3 at location of player + stop + + set {_location} to block above player + + play argument 2 of effect {_effect} with data argument 3 at {_location} + +command /lighton: + permission: obam.admin + trigger: + {light.%player%} is not set: + set {light.%player%} to false + {light.%player%} is false: + set {light.%player%} to true + send "&aLights on" + stop + {light.%player%} is true: + set {light.%player%} to false + send "&cLights off" + make player see {light.%player%.lastblock} as {light.%player%.lastblock} + clear {light.%player%.lastblock} + loop {light.%player%::*}: + make player see loop-value as loop-value + stop + +every 3 seconds: + loop all players: + {light.%loop-player%} is true: + set {_loc} to location of player + make loop-player see block below loop-player as torch + wait 2.8 seconds + make loop-player see block below loop-player as torch \ No newline at end of file diff --git a/Obam-Testing/modbridge.sk b/Obam-Testing/modbridge.sk new file mode 100644 index 0000000..da3ae18 --- /dev/null +++ b/Obam-Testing/modbridge.sk @@ -0,0 +1,13 @@ +command /modpush : + trigger: + forward command "/modcatch %argument%" to console +command /modcatch : + permission: obam.admin + trigger: + + wait 1 tick + broadcast "Mod Command" + loop all players: + {db_channel.staff::%loop-player%} is set: + + send argument to loop-player \ No newline at end of file diff --git a/Obam-Testing/schat2.sk b/Obam-Testing/schat2.sk new file mode 100644 index 0000000..2af594a --- /dev/null +++ b/Obam-Testing/schat2.sk @@ -0,0 +1,187 @@ +options: + p: &c[W] + + + +on join: + {db_global.%player%} is not set: + set {db_global.%player%} to true + {db_global.%player%} is true: + set {db_channel.global::%player%} to player + set {db_channel.%player%} to "global" + player does not have permission "obam.supporter": + delete {db_channel.supporter::%player%} + player does not have permission "obam.mod": + delete {db_channel.supporter::%player%} + {db_channel.sup.%player%} is not set: + player has permission "obam.supporter" + set {db_channel.sup.%player%} to true + {db_channel.sup.%player%} is true: + set {db_channel.supporter::%player%} to player + {db_channel.staff.%player%} is not set: + player has permission "obam.mod" + set {db_channel.staff.%player%} to player + {db_channel.staff.%player%} is true: + set {db_channel.supporter::%player%} to player + +on chat: + cancel event + player is "IcecreamCow" or "Electric_Hamster" or "ISMOOCH": + + set {_pre} to "{@p} &d[A] %player%" + {_pre} is not set: + player has permission "obam.mod": + set {_pre} to "{@p} &2[M] %player%" + {_pre} is not set: + player has permission "obam.ultimate": + set {_pre} to "{@p} &6[^] %player%" + {_pre} is not set: + player has permission "obam.plus": + set {_pre} to "{@p} &b[+] %player%" + {_pre} is not set: + set {_pre} to "{@p} %player%" + player is "BruSwain": + set {_pre} to "{@p} &6[^] %player%" + + {db_channel.%player%} is "staff": + player does not have permission "obam.mod": + set {db_channel.%player%} to "global" + delete {db_channel.staff::%player%} + {db_channel.%player%} is "staff": + loop {db_channel.staff::*}: + clear {_player} + + set {_player} to loop-index parsed as player + set message to "&2%message%" + set {_message} to "%{_pre}%&2: %message%" + + send "%{_message}%" to {_player} + + execute console command "/modpush %{_pre}%&2: %message%" + + + {db_channel.%player%} is "supporter": + player does not have permission "obam.supporter": + set {db_channel.%player%} to "global" + delete {db_channel.supporter::%player%} + {db_channel.%player%} is "supporter": + loop {db_channel.supporter::*}: + clear {_player} + set {_player} to loop-index parsed as player + set message to "&b%message%" + set {_message} to "%{_pre}%&b: %message%" + + send "%{_message}%" to {_player} + + execute console command "/supporterpush %{_message}%" + + + stop + + {db_channel.%player%} is "global": + loop {db_channel.global::*}: + clear {_player} + set {_player} to loop-index parsed as player + + send "%{_pre}%&f: %message%" to {_player} + + + execute console command "globalpush %{_pre}%&f: %message%" + + stop + + + + +command /chat [] []: + permission: obam.free + aliases: c, ch + trigger: + + argument 1 is "m" or "mod": + player does not have permission "obam.mod": + send "&cYou dont have permission to do this!" + stop + set {db_channel.%player%} to "staff" + send "&aYou are now chatting in the &2Mod&a channel!" + stop + argument 1 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou dont have permission to do this!" + stop + set {db_channel.%player%} to "supporter" + send "&aYou are now chatting in the &bSupporter&a channel!" + + argument 1 is "g" or "global": + set {db_channel.%player%} to "global" + send "&aYou are now chatting in the &fGlobal&a channel!" + + argument 1 is "l" or "leave": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat leave " + stop + argument 2 is "mod" or "m": + send "&cYou can not leave the staff chat silly" + stop + argument 2 is "s" or "supporter": + send "&cYou are now leaving the &bSupporter&c chat!" + delete {db_channel.supporter::%player%} + stop + argument 2 is "g" or "global": + send "&cYou are now leaving the &fGlobal&c chat!" + delete {db_channel.global::%player%} + stop + argument 1 is "j" or "join": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat join " + stop + argument 2 is "mod" or "m": + player does not have permission "obam.mod": + send "&cYou do not have permission to do this!" + stop + {db_channel.staff::%player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.staff::%player%} to player + set {db_channel.%player%} to "staff" + send "&aYou are now in the &2Mod&a channel!" + stop + + argument 2 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou do not have permission to do this!" + stop + {db_channel.supporter::%player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.supporter::%player%} to player + set {db_channel.%player%} to "supporter" + send "&aYou are now in the &bSupporter&a channel!" + stop + + argument 2 is "g" or "global": + {db_channel.global::%player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.global::%player%} to player + set {db_channel.%player%} to "global" + send "&aYou are now in the &fGlobal&a channel!" + + argument 1 is "who": + argument 2 is not set: + loop {db_channel.%{db_channel.%player%}%::*}: + send "%loop-index%" + + + + + + + + + + + \ No newline at end of file diff --git a/Obam-Testing/schatbridge.sk b/Obam-Testing/schatbridge.sk new file mode 100644 index 0000000..7c8c184 --- /dev/null +++ b/Obam-Testing/schatbridge.sk @@ -0,0 +1,18 @@ + + + + +command /globalpush : + permission: obam.admin + trigger: + forward command "globalcatch %argument%" to console +command /globalcatch : + permission: obam.admin + trigger: + + loop {db_channel.global::*}: + clear {_player} + set {_player} to loop-index parsed as player + send argument to {_player} + + stop \ No newline at end of file diff --git a/Obam-Testing/tellchat.sk b/Obam-Testing/tellchat.sk new file mode 100644 index 0000000..d35e3b5 --- /dev/null +++ b/Obam-Testing/tellchat.sk @@ -0,0 +1,45 @@ +command /msg [] []: + permission: obam.free + aliases: @ + trigger: + argument 1 is set: + argument 1 is player: + send "&cWhy would you talk to yourself? Are you crazy!?!?!" to player + stop + argument 2 is not set: + send "&dYou have started a conversation with &e%argument 1%" to player + set {message.%player%} to argument 1 + argument 2 is set: + send "&d%player%&l ⇉ &r&d%argument 1%: %argument 2%" to argument 1 + send "&d%player%&l ⇉ &r&d%argument 1%: %argument 2%" to player + set {reply.%argument 1%} to player + + argument 1 is not set: + {message.%player%} is not set: + send "&cYou are not in a private conversation!" to player + {message.%player%} is set: + send "&aYou have left your conversation." to player + clear {message.%player%} + + +on chat: + {message.%player%} is set: + cancel event + send "&d%player%&l ⇉ &r&d%{message.%player%}%: %message%" to {message.%player%} + send "&d%player%&l ⇉ &r&d%{message.%player%}%: %message%" to player + set {reply.%{message.%player%}%} to player + +command /reply : + permission: obam.free + aliases: /r, @@ + trigger: + {reply.%player%} is not set: + send "&cYou have no one to reply to!" to player + stop + argument 1 is not set: + send "&cYou can not reply with nothing!" + stop + send "&d%player%&l ⇉ &r&d%{reply.%player%}%: %argument%" to {reply.%player%} + send "&d%player%&l ⇉ &r&d%{reply.%player%}%: %argument%" to player + + \ No newline at end of file diff --git a/Obam-Testing/tma.sk b/Obam-Testing/tma.sk new file mode 100644 index 0000000..8c0a934 --- /dev/null +++ b/Obam-Testing/tma.sk @@ -0,0 +1,350 @@ + + +on script load: + clear {tma.spawns::*} + add creeper to {tma.spawns::*} + add witch to {tma.spawns::*} + add zombie to {tma.spawns::*} + add skeleton to {tma.spawns::*} + add zombie pigman to {tma.spawns::*} + add cave spider to {tma.spawns::*} + add magma cube to {tma.spawns::*} + add blaze to {tma.spawns::*} + + + +command /tma [] [] []: + permission: obam.admin + trigger: + world is not "TMA": + send "&cYou are not in the right world to do this" + stop + + argument 1 is not set: + + send "&a=================================" + send "&6 OBAMCraft " + send "&6 TMA " + send "&a=================================" + send " " + send "&e/tma addspawn " + send "&7Add your current location to the spawn list for that team" + send " " + send "&e/tma listspawn " + send "&7List the current spawn locations for a specified team" + send " " + send "&e/tma delspawn " + send "&7Deleted specified spawn location" + send " " + send "&e/tma addteam " + send "&7Add a team to the list of teams" + send " " + send "&e/tma listteam" + send "&7List the current teams" + send " " + send "&e/tma delteam " + send "&7Delete the selected team from the team list" + send " " + send "&6Developed for &7OBAMCraft &eBy: &aThe OBAM Mechanics" + stop + + argument 1 is "help": + argument 2 is not set: + + send "&a=================================" + send "&6 OBAMCraft " + send "&6 TMA " + send "&a=================================" + send " " + send "&e/tma addspawn " + send "&7Add your current location to the spawn list for that team" + send " " + send "&e/tma listspawn " + send "&7List the current spawn locations for a specified team" + send " " + send "&e/tma delspawn " + send "&7Deleted specified spawn location" + send " " + send "&e/tma addteam " + send "&7Add a team to the list of teams" + send " " + send "&e/tma listteam" + send "&7List the current teams" + send " " + send "&e/tma delteam " + send "&7Delete the selected team from the team list" + send " " + send "&6Developed for &7OBAMCraft &eBy: &aThe OBAM Mechanics" + stop + argument 2 is "1": + send "&a=================================" + send "&6 OBAMCraft " + send "&6 TMA " + send "&a=================================" + send " " + send "&e/tma addspawn " + send "&7Add your current location to the spawn list for that team" + send " " + send "&e/tma listspawn " + send "&7List the current spawn locations for a specified team" + send " " + send "&e/tma delspawn " + send "&7Deleted specified spawn location" + send " " + send "&e/tma addteam " + send "&7Add a team to the list of teams" + send " " + send "&e/tma listteam" + send "&7List the current teams" + send " " + send "&e/tma delteam " + send "&7Delete the selected team from the team list" + send " " + send "&6Developed for &7OBAMCraft &eBy: &aThe OBAM Mechanics" + stop + + argument 2 is "2": + send "&a=================================" + send "&6 OBAMCraft " + send "&6 TMA " + send "&a=================================" + send " " + send "&e/tma spawnwave " + send "&7Spawns a wave, at wave number listed" + send " " + send "&e/tma help " + send "&7List this help menu at specified page number" + send " " + send "&e/tma begin" + send "&7Begin a TMA game(not live yet)" + send " " + send "&e/tma activeadd " + send "&7Add a team to the active list" + send " " + send "&e/tma activelist" + send "&7List all active teams" + send " " + send "&e/tma activedel " + send "&7Remove a team from the active list" + send " " + send "&6Developed for &7OBAMCraft &eBy: &aThe OBAM Mechanics" + stop + + + argument 1 is "addspawn": + argument 2 is not set: + send "&cYou must select a team: &e/tma addspawn " + stop + {tma.teams::%argument 2%} is not set: + send "&cThis is not a valid team!" + send "&cPlease do &e/tma teamlist&c for a list of available teams." + stop + add location of player to {tma.%argument 2%.spawn::*} + send "&e%location of player% &a is added to &e%argument 2%'s&a spawn list" + + argument 1 is "listspawn": + argument 2 is not set: + send "&cYou must select a team: &e/tma listspawn " + stop + {tma.teams::%argument 2%} is not set: + send "&cThis is not a valid team!" + send "&cPlease do &e/tma teamlist&c for a list of available teams." + loop {tma.%argument 2%.spawn::*}: + {_loop.count} is not set: + set {_loop.count} to 0 + add 1 to {_loop.count} + send "%loop-index%.....%loop-value%" + + argument 1 is "delspawn": + argument 2 is not set: + send "&cYou must select a team: &e/tma delspawn " + stop + argument 3 is not set: + send "&cYou must select a point: &e/tma delspawn %argument 2% " + stop + {tma.teams::%argument 2%} is not set: + send "&cThis is not a valid team!" + send "&cPlease do &e/tma teamlist&c for a list of available teams." + {tma.%argument 2%.spawn::%argument 3%} is not set: + send "&c%argument 3% is not a point in team %argument 2%" + send "&cPlease use &e/tma listspawn %argument 2%&a to find the available points" + stop + + send "&cDeleteing &e%{tma.%argument 2%.spawn::%argument 3%}% &ain &e%argument 2%&a..." + delete {tma.%argument 2%.spawn::%argument 3%} + {tma.%argument 2%.spawn::%argument 3%} is set: + send "&cAn error occurred" + stop + send "&aDeleted!" + + argument 1 is "addteam": + argument 2 is not set: + send "&cPlease specify a team: &e/tma addteam " + stop + set {tma.teams::%argument 2%} to true + send "&e%argument 2%&a added successfully to Teams!" + + argument 1 is "listteam": + loop {tma.teams::*}: + send "%loop-index%" + + argument 1 is "delteam": + argument 2 is not set: + send "&cPlease specify a team: &e/tma delteam " + stop + {tma.teams::%argument 2%} is not set: + send "&cThis team does not exist!" + send "&cPlease use &e/tma listteam&a for a list of teams" + stop + + send "&cDeleteing &e%argument 2%&c..." + delete {tma.teams::%argument 2%} + {tma.teams::%argument 2%} is set: + send "&cAn error occurred" + stop + send "&aDelted!" + + argument 1 is "spawnwave": + argument 2 is not set: + send "&cPlease select a number: &e/tma spawnwave " + stop + {active.tma.teams::*} is empty: + send "&cThere are no active teams: &e/tma activeadd &c to add" + stop + execute console command "tmawave %argument 2%" + + argument 1 is "activeadd": + argument 2 is not set: + send "&cPlease select a team: &e/tma activeadd " + stop + {tma.teams::%argument 2%} is not set: + send "&cThis team does not exist!" + send "&cPlease use &e/tma listteam&a for a list of teams" + stop + {tma.%argument 2%.spawn::*} is empty: + send "&cThere are no spawn points set for this team!" + send "&cPlease use &e/tma spawnadd %argument 2%&c to add spawn points!" + stop + set {active.tma.teams::%argument 2%} to true + send "&e%argument 2%&a added to active teams list" + + argument 1 is "activedel": + argument 2 is not set: + send "&cPlease select a team: &e/tma activedel " + stop + {active.tma.teams::%argument 2%} is not set: + send "&cTeam is not listed as active!" + send "&cPlease use &e/tma activelist &cfor a list of active teams!" + stop + send "&cDeleting &e%argument 2%&c from active teams..." + delete {active.tma.teams::%argument 2%} + {active.tma.teams::%argument 2%} is set: + send "&cAn error occurred!" + stop + send "&aDelete Successful!" + + argument 1 is "activelist": + {active.tma.teams::*} is empty: + send "&cThere are no active teams!" + send "&cUse &e/tma activeadd &c to add active teams" + stop + loop {active.tma.teams::*}: + send "%loop-index%" + + + +command /tmawave []: + permission: obam.admin + trigger: + send "&aIama message" + {active.tma.teams::*} is empty: + send "&cError" + stop + argument 1 is not set: + send "&cError!" + stop + send "&aI ama another message" + set {_num} to argument 1 parsed as number + send "&a%{_num}%" + {_num} is less than 5: + set {_loop} to {_num} * 2 + 1 + + {_num} is greater than 5: + set {_loop} to {_num} * 2 + 3 + + send "&a%{_loop}%" + set {_size} to size of {active.tma.teams::*} + send "&a%{_size}%" + set {_count} to 1 + send "%{_count}%" + while {_count} is less than or equal to {_size}: + {_count} is not set: + set {_count} to 1 + loop {active.tma.teams::*}: + + send "&a%loop-index%" + loop {_loop} times: + set {_ran} to random element of {tma.spawns::*} + set {_loc} to random element of {tma.%loop-index-1%.spawn::*} + spawn {_ran} at {_loc} + set {_cur.entity} to spawned entity + spawned entity is zombie: + + equip spawned entity with iron helmet + chance of 5%: + apply speed 2 to spawned entity for 999 days + chance of 10%: + equip spawned entity with iron helmet of unbreaking 2 + + chance of 15%: + set spawned entity's tool to iron sword + chance of 5%: + set spawned entity's tool to iron sword of sharpness 2 + chance of 5%: + set spawned entity's tool to diamond sword + + spawned entity is skeleton: + + equip spawned entity with leather helmet + + set spawned entity's tool to bow + chance of 5%: + apply speed 2 to spawned entity for 999 days + chance of 10%: + equip spawned entity with iron helmet of unbreaking 2 + chance of 15%: + set spawned entity's tool to bow of punch 1 + chance of 5%: + equip spawned entity with diamond chestplate + chance of 2%: + equip spawned entity with diamond leggings of projectile protection 1 + + spawned entity is a creeper: + + chance of 5%: + apply speed 2 to spawned entity for 999 days + + spawned entity is cave spider: + + chance of 5%: + apply speed to spawned entity for 999 days + + spawned entity is zombie pigman: + + set spawned entity's tool to gold sword + chance of 5%: + apply speed to spawned entity for 999 days + + + + + add 1 to {_count} + + + + + + + + + \ No newline at end of file diff --git a/Obam-Testing/wtfronts.sk b/Obam-Testing/wtfronts.sk new file mode 100644 index 0000000..2eb7774 --- /dev/null +++ b/Obam-Testing/wtfronts.sk @@ -0,0 +1,598 @@ +options: + bandages: paper;&3Bandage;&6Use of this bandage is the only way to fix a long lasting||&6injury brought on by the hazards of the environment.|| ||&5&oRight click with bandage in hand to cure the effects||&5&obrought on by being badly injured. Multiple bandages||&5&omay be required depending on your injury level. + superbottle: water bottle;&3Super Water Bottle;&6Besides saving you inventory space, this water ||&6is created extra wet to help quench your thirst.|| ||&a+50 Thirst|| ||&5&oUpon use, bottle turns to regular glass bottle. + unstele: magma cream;&3Unstable Element;&6Highly energized plasma like element found||&6in unstable land and mobs.|| ||&5&oThis goo is really hot! + unstmetal: gold nugget;&3Unstable Metal Shard;&6Energized metal shards found in unstable land||&6and mobs.|| ||&5&oYou feel a light energetic charge coming from||&5&othe shard. + unstmetalbar: gold ingot;&3Unstable Metal Bar;&6Crafted from broken &3Unstable Metal Shards&6 to||&6become whole again.|| ||&5&oHot to the touch, this bar gives a highly energetic||&5&ocharge. + stablemetal: iron ingot;&3Stable Metal Bar;&6Finalized & stable metal bar with just enough||&6energy for crafting special items.|| ||&5&oWarm to the touch with a subtle energetic glow. + stableele: slimeball;&3Stable Element;&6Stable plasma like element used to enhance other||&6items in special ways.|| ||&5&oThe goo feels nice and warm as it slides through||&5&oyour fingers. + envradar: compass;&3Environmental Radar;&6A must have tool for always being in the know about||&6the dangerous environment around you.|| ||&c-1 Elemental Fuel per use|| ||&5&oRight click with radar in hand to get the environmental||&5&ostatistics of the land you’re standing on. + elefuel: coal item;&3Elemental Fuel;&6The universal fuel used to power most of the tools||&6and machines created with &3Energized Metal Bars. + fairydust: sugar;&3Fairy Dust;&6This mysterious dust is filled with special properties||&6that nobody quite understands. Rumor is the dust||&6when combined with the right items or situations can||&6yield interesting results. + stable: packed ice;&3Stabilizer;&6The stabilizer contains the perfect elemental makeup||&6to bring unstable energies down to usable levels.|| ||&5&oSurround the Stabilizer in a crafting table with items||&5&othat contain unstable energy. + stablechst: diamond chestplate;&3Stable Diamond Chestplate;&6This chestplate contains a slot for special||&6enchantments and a container for &3Elemental||&3Fuel&6. + qnhchest: diamond chestplate;&3Chest of Quench;&6Utilizing the power of &3Elemental Fuel &6and||&6the &3Super Water Bottle&6, this chestplate makes||&6sure you never go thirsty!|| ||&c-1 Elemental Fuel Per Use|| ||&5&oWhile wearing this chestplate, your thirst will||&5&oautomatically go back up to 100 whenever it||&5&odips below 50, as long as you have Elemental||&5&oFuel in your inventory. + snkchest: diamond chestplate;&3Chest of Snacks;&6Utilizing the power of &3Elemental Fuel &6and an||&6Enchanted Golden Apple, this chestplate makes||&6sure you never go hungry!|| ||&c-1 Elemental Fuel Per Use|| ||&5&oWhile wearing this chestplate, your hunger will||&5&oautomatically go back up to 10 whenever it||&5&odips below 5, as long as you have Elemental||&5&oFuel in your inventory. + +on script load: + register new shapeless recipe for named item stack from "{@bandages}" using paper, slimeball, air, air, air, air, air, air, air + register new shapeless recipe for named item stack from "{@superbottle}" using bottle of water, bottle of water, bottle of water, bottle of water, air, air, air, air, air + register new shaped recipe for named item stack from "{@unstmetalbar}" using air, air, air, named item stack from "{@unstmetal}", named item stack from "{@unstmetal}", named item stack from "{@unstmetal}", named item stack from "{@unstmetal}", named item stack from "{@unstmetal}", named item stack from "{@unstmetal}" + register new shaped recipe for named item stack from "{@stablemetal}" using named item stack from "{@unstmetalbar}", named item stack from "{@unstmetalbar}", named item stack from "{@unstmetalbar}", named item stack from "{@unstmetalbar}", named item stack from "{@stable}", named item stack from "{@unstmetalbar}", named item stack from "{@unstmetalbar}", named item stack from "{@unstmetalbar}", named item stack from "{@unstmetalbar}" + register new shaped recipe for named item stack from "{@stableele}" using named item stack from "{@unstele}", named item stack from "{@unstele}", named item stack from "{@unstele}", named item stack from "{@unstele}", named item stack from "{@stable}", named item stack from "{@unstele}", named item stack from "{@unstele}", named item stack from "{@unstele}", named item stack from "{@unstele}" + register new shaped recipe for named item stack from "{@stable}" using ice, ice, ice, ice, named item stack from "{@fairydust}", ice, ice, ice, ice + register new shaped recipe for named item stack from "{@elefuel}" using named item stack from "{@stableele}", named item stack from "{@stableele}", named item stack from "{@stableele}", named item stack from "{@stableele}", coal item, named item stack from "{@stableele}", named item stack from "{@stableele}", named item stack from "{@stableele}", named item stack from "{@stableele}" + register new shaped recipe for named item stack from "{@envradar}" using named item stack from "{@stablemetal}", named item stack from "{@stablemetal}", named item stack from "{@stablemetal}", named item stack from "{@stablemetal}", compass, named item stack from "{@stablemetal}", named item stack from "{@stablemetal}", named item stack from "{@stablemetal}", named item stack from "{@stablemetal}" + register new shaped recipe for named item stack from "{@stablechst}" using named item stack from "{@stablemetal}", air, named item stack from "{@stablemetal}", named item stack from "{@stablemetal}", diamond block, named item stack from "{@stablemetal}", named item stack from "{@stablemetal}", named item stack from "{@elefuel}", named item stack from "{@stablemetal}" + register new shapeless recipe for named item stack from "{@qnhchest}" using named item stack from "{@superbottle}", named item stack from "{@stablechst}", air, air, air, air, air, air, air + register new shapeless recipe for named item stack from "{@snkchest}" using named item stack from "{@stablechst}", enchanted golden apple, air, air, air, air, air, air, air + + +on join: + display board named "&9&lWTF&9ronts" to player + make score "&3Thirst" in board of player to {thirst.%player%} + set {board.%player%} to true + {injured.%player%} is true: + make score "&cINJURED" in board of player to 1 + move display of player to "sidebar" + +on chunk load: + {unstable.%event-chunk%} is not set: + chance of 2%: + set {unstable.%event-chunk%} to true + set {_ran} to random number between 15 and 20 + set {_ran2} to random number between 18 and 20 + set {cavein.%event-chunk%.chance} to {_ran} + set {methane.%event-chunk%.chance} to {_ran2} + {unstable.%event-chunk%} is not set: + set {unstable.%event-chunk%} to false + {cavein.%event-chunk%.chance} is not set: + chance of 90%: + set {_ran} to random integer between 1 and 5 + set {cavein.%event-chunk%.chance} to {_ran} + {cavein.%event-chunk%.chance} is not set: + set {cavein.%event-chunk%.chance} to false + {methane.%event-chunk%.chance} is not set: + chance of 95%: + set {_ran} to random integer between 3 and 6 + set {methane.%event-chunk%.chance} to {_ran} + {methane.%event-chunk%.chance} is not set: + set {methane.%event-chunk%.chance} to false + + +on mine: + player's tool is pickaxe + y-coordinate of player is less than 40 + {cavein.%chunk at location of player%.chance} is false: + set {_run} to false + {_run} is not set: + chance of {cavein.%chunk at location of player%.chance}%: + loop blocks in radius 5: + {_block.count} is not set: + set {_block.count} to 0 + add 1 to {_block.count} + loop-block is air: + {_air.count} is not set: + set {_air.count} to 0 + add 1 to {_air.count} + loop-block is iron block + set {_max-strut} to true + {_max-strut} is set: + chance of {cavein.%chunk at location of player%.chance}%: + clear {_max-strut} + loop players in radius 10 of player: + send "&cYour struts are failing!" to loop-player + send "&cYour struts are failing!" to player + + {_max-strut} is not set: + send "&3The floor rumbles beneath you.." to player + loop players in radius 10 of player: + send "&3The floor rumbles beneath you..." to loop-player + wait 5 seconds + send "&cCave In!" to player + loop players in radius 10 of player: + send "&cCave In!" to loop-player + {_air.count} is less than or equal to {_block.count} / 3: + loop blocks in radius 5: + loop-block is not bedrock or wood plank or lava or water + set {_block} to loop-block + set {_loc} to location of loop-block + spawn falling block of loop-block at location of loop-block + delete loop-block + {_air.count} is greater than {_block.count} / 3: + loop blocks in radius 10: + loop-block is not bedrock or wood plank or lava or water + set {_block} to loop-block + set {_loc} to location of loop-block + spawn falling block of loop-block at location of loop-block + delete loop-block + {methane.%chunk at location of player%.chance} is false: + set {_run2} to false + {_run2} is not set: + chance of {methane.%chunk at location of player%.chance}%: + send "&cMethane!" to player + loop players in radius 10 of player: + send "&cMethane!" to loop-player + wait 2 seconds + create explosion of force 2 at event-location + chance of {methane.%chunk at location of player%.chance} * 2 %: + wait 2 seconds + drop named item stack from "{@unstele}" at event-location + chance of {methane.%chunk at location of player%.chance} * 2%: + drop named item stack from "{@unstmetal}" at event-location + + chance of {cavein.%chunk at location of player%.chance}%: + loop blocks in radius 3: + loop-block is water + set {_found.water} to true + {_found.water} is true: + send "&3Flood!" to player + loop blocks in radius 3 of event-location: + loop-block is air: + set loop-block to water + + +on portal enter: + {unstable.%chunk at event-location%} is false + chance of 25%: + set {unstable.%chunk at event-location%} to true + set {_ran} to random number between 15 and 20 + set {_ran2} to random number between 18 and 20 + set {cavein.%chunk at event-location%.chance} to {_ran} + set {methane.%chunk at event-location%.chance} to {_ran2} + + + +on right click with compass: + player's tool is named item stack from "{@envradar}": + player does not have named item stack from "{@elefuel}": + send "&cYou do not have enough fuel!" to player + stop + remove named item stack from "{@elefuel}" from player + {cavein.%chunk at location of player%.chance} is not set: + {unstable.%chunk at location of player%} is not set: + chance of 2%: + set {unstable.%chunk at location of player%} to true + set {_ran} to random number between 15 and 20 + set {_ran2} to random number between 18 and 20 + set {cavein.%chunk at location of player%.chance} to {_ran} + set {methane.%chunk at location of player%.chance} to {_ran2} + {unstable.%chunk at location of player%} is not set: + set {unstable.%chunk at location of player%} to false + {cavein.%chunk at location of player%.chance} is not set: + chance of 90%: + set {_ran} to random integer between 1 and 5 + set {cavein.%chunk at location of player%.chance} to {_ran} + {cavein.%chunk at location of player%.chance} is not set: + set {cavein.%chunk at location of player%.chance} to false + {methane.%chunk at location of player%.chance} is not set: + chance of 95%: + set {_ran} to random integer between 3 and 6 + set {methane.%chunk at location of player%.chance} to {_ran} + {methane.%chunk at location of player%.chance} is not set: + set {methane.%chunk at location of player%.chance} to false + + if {unstable.%chunk at location of player%} is true: + send "&aGround Structure: &cUnstable" + send "&aMethane Rating: &cUnstable" + stop + if {cavein.%chunk at location of player%.chance} is false: + send "&aGround Structure: &3SOUND" to player + else: + send "&aGround Structure: &e%{cavein.%chunk at location of player%.chance}%" to player + if {methane.%chunk at location of player%.chance} is false: + send "&aMethane Rating: &3EMPTY" to player + else: + send "&aMethane Rating: &e%{methane.%chunk at location of player%.chance}%" to player + + +command /chunkstats: + permission: obam.admin + trigger: + if {unstable.%chunk at location of player%} is true: + send "&aGround Structure: &cUnstable" + send "&aMethane Rating: &cUnstable" + stop + if {cavein.%chunk at location of player%.chance} is false: + send "&aGround Structure: &3SOUND" to player + else: + send "&aGround Structure: &e%{cavein.%chunk at location of player%.chance}%" to player + if {methane.%chunk at location of player%.chance} is false: + send "&aMethane Rating: &3EMPTY" to player + else: + send "&aMethane Rating: &e%{methane.%chunk at location of player%.chance}%" to player + +every 3 seconds: + loop all players: + {board.%loop-player%} is not set: + display board named "&9&lWTF&9ronts" to loop-player + make score "&3Thirst" in board of loop-player to {thirst.%loop-player%} + set {board.%loop-player%} to true + move display of loop-player to "sidebar" + {board.%loop-player%} is true: + make score "&3Thirst" in board of loop-player to {thirst.%loop-player%} + + block above loop-player is water: + {thirst.%loop-player%} is less than 100: + set {_ran} to random number between 1 and 2 + add {_ran} to {thirst.%loop-player%} + {thirst.%loop-player%} is greater than 100: + set {thirst.%loop-player%} to 100 + {debug.%loop-player%} is true: + set {thirst.%loop-player%} to 100 + {thirst.%loop-player%} is not set: + set {thirst.%loop-player%} to 100 + {thirst.%loop-player%} is less than 0: + set {thirst.%loop-player%} to 0 + {thirst.%loop-player%} is 0: + damage loop-player by 1 + send "&cYou are dehydrated" to loop-player + {thirst.%loop-player%} is greater than 0: + chance of 30%: + loop-player is not sprinting: + set {_ran} to random number between 0 and 1 + set {thirst.%loop-player%} to {thirst.%loop-player%} - {_ran} + loop-player is sprinting: + set {_ran} to random number between 1 and 3 + set {thirst.%loop-player%} to {thirst.%loop-player%} - {_ran} + + biome at loop-player is desert: + time in loop-player's world is day + y-coordinate of loop-player is greater than 60 + {thirst.%loop-player%} is greater than 0: + set {thirst.%loop-player%} to {thirst.%loop-player%} - 2 + {thirst.%loop-player%} is 0: + chance of 45%: + damage loop-player by 2 + send "&cThe sun beats down on you" to loop-player + + biome at loop-player is swamp: + set {_ran} to a random integer between 1 and 5 + {_ran} is 1: + apply hunger 2 to loop-player for 20 seconds + send "&cMalaria runs through your body" to loop-player + + + y-coordinate of loop-player is greater than 110: + loop-player's helmet is air + damage loop-player by 1 + send "&cYou are chilled " to loop-player + apply slowness to loop-player for 3 seconds + loop-player has lava bucket: + chance of 10%: + damage loop-player by 0.5 + send "&cThe lava in your inventory grows hotter" to loop-player + {injured.%loop-player%} is true: + chance of 10%: + set {_location} to location of loop-player + play 1 of effect "spell" with data 1 at {_location} + damage loop-player by 0.5 + {injured.%loop-player%.length} is not set: + set {injured.%loop-player%.length} to 0 + add 1 to {injured.%loop-player%.length} + send "&cYour injuries need mending!" to loop-player + {injured.%loop-player%.length} is less than 5: + apply slowness to loop-player for 999 days + {injured.%loop-player%.length} is greater than 5: + {injured.%loop-player%.length} is less than 10: + apply slowness 2 to loop-player for 999 days + apply mining fatigue to loop-player for 1 minute + {injured.%loop-player%.length} is greater than 10: + apply slowness 3 to loop-player for 999 days + apply mining fatigue 2 to loop-player for 1 minute + apply weakness to loop-player for 30 seconds + {thirst.%loop-player%} is less than or equal to 50: + name of loop-player's chestplate is "&3Chest of Quench" + loop-player has named item stack from "{@elefuel}": + set {thirst.%loop-player%} to 100 + remove named item stack from "{@elefuel}" from loop-player + loop-player's hunger level is less than 5: + name of loop-player's chestplate is "&3Chest of Snacks" + loop-player has named item stack from "{@elefuel}": + set loop-player's hunger level to 10 + remove named item stack from "{@elefuel}" from loop-player + + + + + + + + loop all entities: + loop-entity is not player: + {unstable.%loop-entity%} is set: + play 100 of effect "reddust" with data 1 at location of loop-entity + +on spawn of a creeper or a skeleton or a spider or zombie: + {unstable.%chunk at event-location%} is true: + + + set {_loc} to event-location + event-entity is a creeper: + set name of event-entity to "&cUnstable Creeper" + apply resistance 2 to event-entity for 999 days + apply speed to event-entity for 999 days + + + set {unstable.%event-entity%} to true + + event-entity is a zombie: + + set name of event-entity to "&cUnstable Zombie" + apply resistance 2 to event-entity for 999 days + apply speed 2 to event-entity for 999 days + equip event-entity with iron sword of sharpness + set event-entity's helmet to iron helmet + set {unstable.%event-entity%} to true + + event-entity is skeleton: + set name of event-entity to "&cUnstable Skeleton" + apply resistance 2 to event-entity for 999 days + apply speed 2 to event-entity for 999 days + equip event-entity with bow + set event-entity's helmet to gold helmet + set {unstable.%event-entity%} to true + + event-entity is a spider: + set name of event-entity to "&cUnstable Spider" + apply resistance 2 to event-entity for 999 days + apply speed 2 to event-entity for 999 days + apply jump 5 to event-entity for 999 days + set {unstable.%event-entity%} to true + +on explosion prime: + event-entity is creeper: + {unstable.%event-entity%} is true: + cancel event + create an explosion of force 5 at event-location + set {_loc} to event-location + play 100 of effect "reddust" with data 1 at {_loc} + loop players in radius 5 of event-location: + make event-entity damage loop-player by 4 + +on damage: + victim is not a player + {unstable.%victim%} is set: + damage cause is fall: + cancel event + damage cause is block explosion: + cancel event + +on death of a creeper or a skeleton or a zombie or a spider: + chance of 15%: + add named item stack from "{@bandages}" to drops + entity's name is "&cUnstable Spawn": + chance of 10%: + chance of 2%: + add named item stack from "{@unstele}" to drops + add named item stack from "{@unstmetal}" to drops + +on damage of a player: + damage cause is fall: + chance of 15%: + victim's boots are boots of feather falling: + stop + set {_location} to location of victim + play 1 of effect "angryVillager" of data 1 at {_location} + set {injured.%victim%} to true + apply slowness to victim for 999 days + add 1 to damage + make score "&cINJURED" in board of victim to 1 + send "&cYou have been injured from your fall!" to victim + +on right click with paper: + player is holding named item stack from "{@bandages}": + {injured.%player%} is not set: + send "&cYou are not injured!" to player + stop + {injured.%player%} is false: + send "&cYou are not injured!" to player + stop + {injured.%player%} is true: + {injured.%player%.length} is greater than 5: + {injured.%player%.length} is less than 10: + remove mining fatigue from player + remove weakness from player + remove slowness from player + apply slowness to player for 999 days + send "&aYour injuries are healing" to player + set {injured.%player%.length} to 1 + remove named item stack from "{@bandages}" from player + stop + {injured.%player%.length} is greater than 10: + remove slowness from player + remove mining fatigue from player + apply mining fatigue to player for 999 days + apply slowness 2 to player for 999 days + remove weakness from player + set {injured.%player%.length} to 6 + send "&aYour injuries are healing" to player + remove named item stack from "{@bandages}" from player + stop + send "&aYou mend your injuries" to player + remove mining fatigue from player + remove weakness from player + remove slowness from player + remove named item stack from "{@bandages}" from player + nullify score "&cINJURED" in board of player + set {injured.%player%} to false + set {injured.%player%.length} to 0 + +on bed enter: + {injured.%player%} is true: + set {injured.%player%} to false + set {injured.%player%.length} to 0 + remove mining fatigue from player + remove weakness from player + remove slowness from player + nullify score "&cINJURED" in board of player + send "&aYou have been healed of your injuries!" to player + +on consume of water bottle: + {thirst.%player%} is greater than or equal to 100: + set {thirst.%player%} to 100 + cancel event + player is holding named item stack from "{@superbottle}": + add 50 to {thirst.%player%} + {thirst.%player%} is greater than 100: + set {thirst.%player%} to 100 + stop + {thirst.%player%} is greater than or equal to 100: + set {thirst.%player%} to 100 + cancel event + add 10 to {thirst.%player%} + {thirst.%player%} is greater than 100: + set {thirst.%player%} to 100 + +on death of a player: + {thirst.%player%} is less than 25: + set {thirst.%player%} to 25 + +command /ci []: + permission: obam.admin + trigger: + argument is not set: + send "list" + send "1 ... Super Water Bottle" + send "2 ... Bandages" + send "3 ... Unstable Metal Shard" + send "4 ... Unstable Metal Bar" + send "5 ... Stable Metal Bar" + send "6 ... Unstable Element" + send "7 ... Stable Element" + send "8 ... Environmental Radar" + send "9 ... Elemental Fuel" + send "10 ... Fairy Dust" + send "11 ... Stabilizer" + send "12 ... Stable Chest" + send "13 ... Chest of Quench" + send "14 ... Chest of Snacks" + stop + argument is 1: + give named item stack from "{@superbottle}" to player + + argument is 2: + give named item stack from "{@bandages}" to player + + argument is 3: + give named item stack from "{@unstmetal}" to player + + argument is 4: + give named item stack from "{@unstmetalbar}" to player + + argument is 5: + give named item stack from "{@stablemetal}" to player + + argument is 6: + give named item stack from "{@unstele}" to player + + argument is 7: + give named item stack from "{@stableele}" to player + + argument is 8: + give named item stack from "{@envradar}" to player + + argument is 9: + give named item stack from "{@elefuel}" to player + + argument is 10: + give named item stack from "{@fairydust}" to player + + argument is 11: + give named item stack from "{@stable}" to player + + argument is 12: + give named item stack from "{@stablechst}" to player + + argument is 13: + give named item stack from "{@qnhchest}" to player + + argument is 14: + give named item stack from "{@snkchest}" to player + + + + + send "Here is your thing" + +command /togglestats: + trigger: + + {board.%player%} is false: + set {board.%player%} to true + display board named "&9&lWTF&9fronts" to player + make score "&3Thirst" in board of player to {thirst.%player%} + move display of player to "sidebar" + stop + {board.%player%} is true: + set {board.%player%} to false + display board named " " to player + stop + {board.%player%} is not set: + display board named "&9&lWTF&9ronts" to player + make score "&3Thirst" in board of player to {thirst.%player%} + set {board.%player%} to true + move display of player to "sidebar" + stop + + + +on place: + former tool's name is set: + set {information.%block%.1} to former tool + {debug.%player%} is true: + send "DEBUG You placed %former tool's name%" + set {information.%block%.2} to lore of former tool + set {information.%block%.3} to name of former tool + {debug.%player%} is true: + send "DEBUG %block%" + send "DEBUG %{information.%block%.1}%" + send "DEBUG %lore of former tool%" + send "DEBUG %name of former tool%" + send "DEBUG %{information.%block%.2}%" + send "DEBUG %{information.%block%.3}%" + set {information.%block%.1} to "%{information.%block%.1}%" + +on break: + {information.%block%.1} is set: + cancel event + {debug.%player%} is true: + send "DEBUG I ama message" + set {_message} to "%{information.%block%.1}%;%{information.%block%.3}%;%{information.%block%.2}%" + send "DEBUG %{_message}%" + delete block + drop named item stack from "%{_message}%" at location of block + +on break of glowstone: + chance of 10%: + player's tool is pickaxe of silk touch: + stop + drop named item stack from "{@fairydust}" at location of event-block + +on right click with sugar: + player's tool is named item stack from "{@fairydust}": + player is flying: + stop + remove named item stack from "{@fairydust}" from player + send "&aYou can fly!" to player + allow player to fly + wait 5 seconds + disallow player to fly + +command /debug: + permission: obam.admin + trigger: + {debug.%player%} is not set: + set {debug.%player%} to false + {debug.%player%} is false: + set {debug.%player%} to true + send "&aDebug on" + stop + {debug.%player%} is true: + set {debug.%player%} to false + send "&aDebug off" + stop + + + + \ No newline at end of file From dfdc96abecea0a4d217d8e04bb1ef1043f3a64d5 Mon Sep 17 00:00:00 2001 From: ismooch Date: Mon, 21 Apr 2014 01:38:23 -0500 Subject: [PATCH 03/22] added CC and Spawnmob -added CreatureCapture -added SpawnMob --- Obam-General/CreatureCapture.sk | 153 +++++++++++ Obam-General/spawnmob.sk | 444 ++++++++++++++++++++++++++++++++ 2 files changed, 597 insertions(+) create mode 100644 Obam-General/CreatureCapture.sk create mode 100644 Obam-General/spawnmob.sk diff --git a/Obam-General/CreatureCapture.sk b/Obam-General/CreatureCapture.sk new file mode 100644 index 0000000..315eaba --- /dev/null +++ b/Obam-General/CreatureCapture.sk @@ -0,0 +1,153 @@ +# add back in world is "creature_capture": +options: + lead: named item stack from "lead;&bLasso;&eRight click with this to turn mobs into eggs." + rod: named item stack from "fishing rod;&bCapture Rod;&eUse this rod to capture the mobs." + +on rightclick on sign: + world is "CreatureCapture" + line 1 of block is "Get a": + line 2 of block is "Lasso": + if player has {@lead}: + send "&cYou already have a lasso" to player + stop + give player {@lead} + stop + line 2 of block is "Capture Rod": + if player has {@rod}: + send "&cYou already have a capture rod" to player + stop + give player {@rod} + stop + +command /ccsign: + permission: obam.admin + permission message: "&cThis command is only available for Admins." + trigger: + world is "CreatureCapture" + send "&fSigns:" to player + send "&fType &agive &fon line 1" to player + send "&fType &alasso &for &acapture rod&f on line 2" to player + send "&f-----" to player + +on sign change: + world is "CreatureCapture" + line 1 is "give" or "Give": + set line 1 to "Get a" + set line 3 to "HERE" + set line 4 to "" + line 2 is "lead" or "Lead" or "Leash" or "leash" or "lasso" or "Lasso": + set line 2 to "Lasso" + set line 4 to "" + line 2 is "rod" or "Rod" or "fishingrod" or "FishingRod" or "fishing rod" or "Fishing Rod" or "capturerod" or "CaptureRod" or "capture rod" or "Capture Rod": + set line 2 to "Capture Rod" + set line 4 to "" + +on right click on entity: + world is "CreatureCapture" + if player is holding {@lead}: + distance between player and event-entity is smaller than 3 + if entity is bat: + delete entity + give player bat spawn egg + stop + if entity is chicken: + delete entity + give player chicken spawn egg + stop + if entity is cow: + delete entity + give player cow spawn egg + stop + if entity is horse: + delete entity + give player horse spawn egg + stop + if entity is mooshroom: + delete entity + give player mooshroom spawn egg + stop + if entity is ocelot: + delete entity + give player ocelot spawn egg + stop + if entity is pig: + delete entity + give player pig spawn egg + stop + if entity is sheep: + delete entity + give player sheep spawn egg + stop + if entity is squid: + delete entity + give player squid spawn egg + stop + if entity is villager: + delete entity + give player villager spawn egg + stop + if entity is wolf: + delete entity + give player wolf spawn egg + stop + if entity is zombie pigman: + delete entity + give player zombie pigman spawn egg + stop + if entity is blaze: + delete entity + give player blaze spawn egg + stop + if entity is cave spider: + delete entity + give player cave spider spawn egg + stop + if entity is creeper: + delete entity + give player creeper spawn egg + stop + if entity is enderman: + delete entity + give player enderman spawn egg + stop + if entity is ghast: + delete entity + give player ghast spawn egg + stop + if entity is magma cube: + delete entity + give player magma cube spawn egg + stop + if entity is silverfish: + delete entity + give player silverfish spawn egg + stop + if entity is skeleton: + delete entity + give player skeleton spawn egg + stop + if entity is slime: + delete entity + give player slime spawn egg + stop + if entity is spider: + delete entity + give player spider spawn egg + stop + if entity is witch: + delete entity + give player witch spawn egg + stop + if entity is zombie: + delete entity + give player zombie spawn egg + stop + +on drop: + world is "CreatureCapture" + event-item is not spawn egg + cancel event + +on pickup: + world is "CreatureCapture" + cancel event \ No newline at end of file diff --git a/Obam-General/spawnmob.sk b/Obam-General/spawnmob.sk new file mode 100644 index 0000000..0c13bdc --- /dev/null +++ b/Obam-General/spawnmob.sk @@ -0,0 +1,444 @@ +command /spawnmob [] [] []: + permission: obam.admin + permission message: "&cOnly Admins Can Perform This Command - Sorry." + trigger: + argument 1 is not set: + send "&3Please type an entity type." to player + send "&fUsage: /spawnmob " to player + stop + argument 1 is set: + argument 1 is "cow" or "cows" or "heffer" or "hefer" or "heffers" or "bull" or "bulls" or "steer" or "steers" or "calf" or "calves" or "calfs" or "icc" or "IcecreamCow": + argument 2 is not set: + spawn 1 cow at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of cow at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn cow at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "bat" or "bats": + argument 2 is not set: + spawn 1 bat at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of bat at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn bat at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "chicken" or "chickens" or "chick" or "chicklet" or "chicks" or "hatchling" or "hen" or "hens" or "rooster" or "roosters": + argument 2 is not set: + spawn 1 chicken at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of chicken at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn chicken at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "horse" or "horses" or "mare" or "foal" or "mares" or "colt" or "pony" or "ponies" or "brony" or "bronies" or "stallion" or "stallions": + argument 2 is not set: + spawn 1 horse at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of horse at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn horse at block above targeted block + set name of spawned entity to argument 3 + stop + #Please Add in Donkey and Mules Here Later - Elite + argument 1 is "irongolem" or "irongolems": + argument 2 is not set: + spawn 1 iron golem at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of iron golem at targeted block + stop + argument 3 is set: + spawn iron golem at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "mooshroom" or "mooshrooms": + argument 2 is not set: + spawn 1 mooshroom at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of mooshroom at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn mooshroom at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "ocelot" or "ocelots" or "cat" or "cats" or "feline" or "felines": + argument 2 is not set: + spawn 1 ocelot at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of ocelot at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn ocelot at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "pig" or "pigs" or "hog" or "hogs" or "boar" or "boars": + argument 2 is not set: + spawn 1 pig at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of pig at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn pig at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "sheep" or "ram" or "rams" or "lamb" or "lambs": + argument 2 is not set: + spawn 1 sheep at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of sheep at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn sheep at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "snowgolem" or "snowgolems": + argument 2 is not set: + spawn 1 snow golem at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of snow golem at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn snow golem at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "squid" or "squids" or "octupus" or "octupi": + argument 2 is not set: + spawn 1 squid at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of squid at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn squid at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "villager" or "villagers": + argument 2 is not set: + spawn 1 villager at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of villager at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn villager at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "wolf" or "wolves" or "wolve" or "dog" or "dogs" or "puppy" or "puppies" or "puppie" or "doge" or "dogie" or "dogies" or "dogy" or "doggy" or "doggie" or "doggies": + argument 2 is not set: + spawn 1 wolf at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of wolf at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn wolf at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "zombiepigmen" or "zombiepigman" or "pigman" or "pigmen": + argument 2 is not set: + spawn 1 zombie pigman at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of zombie pigman at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn zombie pigman at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "blaze" or "blazes": + argument 2 is not set: + spawn 1 blaze at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of blaze at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn blaze at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "cavespider" or "cavespiders": + argument 2 is not set: + spawn 1 cave spider at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of cave spider at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn cave spider at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "creeper" or "creepers": + argument 2 is not set: + spawn 1 creeper at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of creeper at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn creeper at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "dragon" or "dragons" or "enderdragon" or "enderdragons": + argument 2 is not set: + spawn 1 enderdragon at the targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of enderdragon at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn enderdragon at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "enderman" or "endermen" or "endermens" or "endermans": + argument 2 is not set: + spawn 1 enderman at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of enderman at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn enderman at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "ghast" or "ghasts": + argument 2 is not set: + spawn 1 ghast at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of ghast at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn ghast at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "magma" or "magmas" or "magmacube" or "magmacubes" or "magmaslime" or "magmaslimes": + argument 2 is not set: + spawn 1 magma cube at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of magma cube at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn magma cube at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "silverfish": + argument 2 is not set: + spawn 1 silverfish at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of silverfish at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn silverfish at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "skeleton" or "skeletons": + argument 2 is not set: + spawn 1 skeleton at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of skeleton at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn skeleton at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "slime" or "slimes": + argument 2 is not set: + spawn 1 slime at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of slime at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn slime at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "spider" or "spiders": + argument 2 is not set: + spawn 1 spider at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of spider at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn spider at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "witch" or "witches": + argument 2 is not set: + spawn 1 witch at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of witch at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn witch at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "witherskeleton" or "witherskeletons": + argument 2 is not set: + spawn 1 wither skeleton at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of wither skeleton at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn wither skeleton at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "wither" or "withers": + argument 2 is not set: + spawn 1 wither at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of wither at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn wither at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "zombie" or "zombies": + argument 2 is not set: + spawn 1 zombie at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of zombie at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn zombie at block above targeted block + set name of spawned entity to argument 3 + stop \ No newline at end of file From 41f069a58598c1feb4e378eec614c6e62a2f9da4 Mon Sep 17 00:00:00 2001 From: ismooch Date: Sat, 26 Apr 2014 17:15:10 -0500 Subject: [PATCH 04/22] Broadbill Cobra --- Obam-Creative/nightvision.sk | 9 + Obam-General/liv.sk | 141 ++++++-- Obam-General/pinfo.sk | 30 +- Obam-General/who.sk | 10 +- Obam-Other/boatsforhub | 24 ++ Obam-Other/boatsforhub.sk | 51 +++ Obam-Other/minecartsforhub.sk | 20 ++ Obam-Survival/heal.sk | 19 +- Obam-Testing/wtfronts.sk | 660 ++++++++++++++++++++++++---------- 9 files changed, 731 insertions(+), 233 deletions(-) create mode 100644 Obam-Creative/nightvision.sk create mode 100644 Obam-Other/boatsforhub create mode 100644 Obam-Other/boatsforhub.sk create mode 100644 Obam-Other/minecartsforhub.sk diff --git a/Obam-Creative/nightvision.sk b/Obam-Creative/nightvision.sk new file mode 100644 index 0000000..cc29578 --- /dev/null +++ b/Obam-Creative/nightvision.sk @@ -0,0 +1,9 @@ + +command /tnight: + permission: obam.mod + trigger: + player has night vision: + remove night vision from player + stop + player does not have night vision: + apply night vision to player for 999 days diff --git a/Obam-General/liv.sk b/Obam-General/liv.sk index 6fc8847..f52d641 100644 --- a/Obam-General/liv.sk +++ b/Obam-General/liv.sk @@ -13,7 +13,7 @@ on chat: {livon.power} is false: set {livon.power} to true send "&6&l'LiV: &3I am now functional %player% :D" to player - broadcast "&6&l'LiV: &3Hello, I am &6&l'LiV &3the &e&lOBAM &6Gaming &3help bot! :D" + broadcast "&6&l'LiV: &3Hello, I am &6&l'LiV&3, the &e&lOBAM &6Gaming &3help bot! :D" stop {livon.power} is true: set {livon.power} to true @@ -27,22 +27,118 @@ on chat: wait 1 second broadcast "&6&l'LiV: &3What can I help you with, %player%?" +on chat: + {livon.power} is true + message contains "what" or "what is": + message contains "colour" or "color": + message contains "black": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+0 is for &0Black &3(for more colors type /colors)" + stop + message contains "dark blue": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+1 is for &1Dark Blue &3(for more colors type /colors)" + stop + message contains "dark green": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+2 is for &2Dark Green &3(for more colors type /colors)" + stop + message contains "dark aqua": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+3 is for &3Dark Aqua &3(for more colors type /colors)" + stop + message contains "dark red": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+4 is for &4Dark Red &3(for more colors type /colors)" + stop + message contains "dark purple": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+5 is for &5Dark Purple &3(for more colors type /colors)" + stop + message contains "gold": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+6 is for &6Gold &3(for more colors type /colors)" + stop + message contains "gray" or "grey": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+7 is for &7Gray &3(for more colors type /colors)" + stop + message contains "dark gray" or "dark grey": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+8 is for &8Dark Gray &3(for more colors type /colors)" + stop + message contains "blue" or "light blue": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+9 is for &9Blue &3(for more colors type /colors)" + stop + message contains "green" or "light green" or "lime": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+a is for &aGreen &3(for more colors type /colors)" + stop + message contains "aqua" or "light aqua": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+b is for &bAqua &3(for more colors type /colors)" + stop + message contains "red" or "light red": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+c is for &cRed &3(for more colors type /colors)" + stop + message contains "pink" or "violet" or "light purple": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+d is for &dLight Purple &3(for more colors type /colors)" + stop + message contains "yellow": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+e is for &eYellow &3(for more colors type /colors)" + stop + message contains "white": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+f is for &fWhite &3(for more colors type /colors)" + stop + +on chat: + {livon.power} is true + message contains "what" or "what is": + message contains "ghost" or "ghostwar" or "ghostwars" or "ghost war" or "ghost wars" or "gw": + wait 1 second + send "&6&l'LiV: &3%player%, &3Ghost Wars is a minigame Elite is working on." to player + stop + on chat: {livon.power} is true message contains "how do i get to" or "how do i get 2" or "where is" or "how do i play" : - message contains "parkour": + message contains "parkour" or "parkor" or "parkoure": wait 1 second broadcast "&6&l'LiV: &3%player%, you can type &e/pk &3 or &e/parkour &3 to get there :)" stop - message contains "skyblock": + message contains "skyblock" or "sky block": wait 1 second - broadcast "&6&l'LiV: &3%player%, you can type &e/skyblock&3 to get there :)" + broadcast "&6&l'LiV: &3%player%, you can type &e/skyblock &3or &e/sb &3to get there :)" stop - message contains "hotpotato" or "hot potato" or "potato": + message contains "hotpotato" or "hot potato" or "hot potatoe" or "potato" or "potatoe": wait 1 second - broadcast "&6&l'LiV: &3%player%, you can type &e/hp or &e/hotpotato &3 to get there :)" + broadcast "&6&l'LiV: &3%player%, you can type &e/hp &3or &e/hotpotato &3to get there :)" + stop + message contains "kit" or "kitpvp" or "kit pvp": + wait 1 second + broadcast "&6&l'LiV: &3%player%, you can type &e/kp &3or &e/kitpvp &3to get there :)" + stop + message contains "survival" or "fronts" or "front": + wait 1 second + broadcast "&6&l'LiV: &3%player%, you can type &e/survival &3to get there :)" + stop + message contains "wtf" or "wtfronts": + wait 1 second + broadcast "&6&l'LiV: &3%player%, you can type &e/wtf &3to get there :)" + stop + message contains "hub" or "main": + wait 1 second + broadcast "&6&l'LiV: &3%player%, you can type &e/hub &3to get there :)" + stop + message contains "spawn" or "lobby": + wait 1 second + broadcast "&6&l'LiV: &3%player%, you can type &e/spawn &3to get there :)" stop - on chat: {livon.power} is true @@ -70,7 +166,6 @@ on chat: wait 1 second broadcast "&6&l'LiV: &3Well at least it is not too bad. :)" set {response.%player%} to false - on chat: {livon.power} is true @@ -101,14 +196,12 @@ on chat: set {random.liv.pick} to false wait 1 second broadcast "&6&l'LiV: &3A winner has been chosen! It is &e%{_winner}%&3! Congratulations!" - - on chat: {livon.power} is true message contains "what games" or "how many games" or "kind of games" or "games you got" or "wht games" or "games here" or "can i do here" or "is there to do here": wait 1 second - broadcast "&6&l'LiV: &3Hello, %player%! We offer &eKit Pvp&3,&eParkour&3, &eSkyblock&3, and &eHot Potato&3 currently. :)" + broadcast "&6&l'LiV: &3Hello, %player%! We offer &eKit Pvp&3,&eParkour&3, &eSkyblock&3, &eSurvival&3, and &eHot Potato&3 currently. :)" on chat: {livon.power} is true @@ -191,14 +284,19 @@ on chat: {livon.power} is true message contains (("how" or "where") and ("can" or "do") and ("i" or " we") and ("get" or " go") and "to") and ("hot potato" or "hp" or "potato" or "potato game"): wait 1 second - send "&6&l'LiV: &3You can Type /Hotpotato or /Hp to Test you skill at our Hotpotato game" to player + send "&6&l'LiV: &3You can Type /Hotpotato or /Hp to test your skill at our Hotpotato game" to player on chat: {livon.power} is true message contains (("how" or "where") and ("can" or "do") and ("i" or " we") and ("get" or " go") and "to") and ("hub" or "spawn" or "game"): wait 1 second send "&6&l'LiV: &3You can Type /hub to return to spawn and our other games portals!" to player - + +on chat: + {livon.power} is true + message contains (("how" or "where") and ("can" or "do") and ("i" or " we") and ("get" or " go") and "to") and ("front" or "fronts" or "survival"): + wait 1 second + send "&6&l'LiV: &3You can Type /survival to test your skills in the Fronts!" to player #on chat: #message contains "have i completed" or "did i complete": @@ -530,8 +628,6 @@ on chat: send "&6&l'LiV: &3You have beaten me &e%{wins.%player%.liv.rps}% &3time at Rock, Paper, Scissors!" to player stop send "&6&l'LiV: &3You have beaten me &e%{wins.%player%.liv.rps}% &3times at Rock, Paper, Scissors!" to player - - on chat: {livon.power} is true @@ -540,8 +636,6 @@ on chat: wait 1 second broadcast "&6&l'LiV: &3Welcome back %player%!" set {liv.away.%player%} to false - - on chat: {livon.power} is true @@ -568,8 +662,6 @@ command /livgreet : set {db_liv.greet.%player%} to "%uncoloured argument%" send "&aYour greeting message has been set to: &6&l'LiV: &3%{db_liv.greet.%player%}%" - - command /livalert []: executable by: players and console permission: obam.admin @@ -588,14 +680,6 @@ every 10 minutes: set {_size} to size of {db_liv.alerts::*} set {_ran} to a random integer between 1 and {_size} broadcast "&6&l'LiV: &3%{db_liv.alerts::%{_ran}%}%" - - - - - - - - command /complete : executable by: console @@ -610,11 +694,10 @@ command /complete : broadcast "&6&l'LiV: &3Sorry, %player-argument% you have not completed &eGettingStoned&3!" stop - command /liv : permission: obam.smod trigger: broadcast "&6&l'LiV: &3%uncoloured argument%" - \ No newline at end of file + diff --git a/Obam-General/pinfo.sk b/Obam-General/pinfo.sk index df10560..6777b75 100644 --- a/Obam-General/pinfo.sk +++ b/Obam-General/pinfo.sk @@ -1,14 +1,14 @@ -variables: - {db_dayset.2} = 0 + on join: - {db_count.start.%player%.2} is not set: - set {db_count.start.%player%.2} to {db_dayset} - set {db_current.server.%player%} to "&eWTF" + set {db_current.server.%player%} to "&eFronts" + + + on disconnect: clear {db_current.server.%player%} - set {db_lastseen.%player%} to "%now% on &eWTF" + set {db_lastseen.%player%} to "%now% on &eFronts" clear {db_color.%player%} player has permission "obam.admin": set {db_color.%player%} to "&d%player%" @@ -26,7 +26,6 @@ on disconnect: - command /playerinfo []: description: Find out information about you aliases: /p, /info, /player, /pinfo @@ -48,7 +47,7 @@ command /playerinfo []: {_name} is not set: set {_name} to "&f%player%" message "&aPlayer: %{_name}%" - set {_days} to {db_dayset} - {db_count.start.%player%} + set {_days} to {db_dayset.2} - {db_count.start.%player%.2} {_days} is less than 2: {_days} is 1: message "&aYou are &e%{_days}% &aday old." @@ -91,7 +90,7 @@ command /playerinfo []: send {_lastseen} {_current.connect} is set: send {_current.connect} - set {_days} to {db_dayset} - {db_count.start.%argument%} + set {_days} to {db_dayset.2} - {db_count.start.%argument%.2} {_days} is less than 2: {_days} is 1: message "&aThey are &e%{_days}% &aday old." @@ -99,4 +98,15 @@ command /playerinfo []: {_days} is less than 1: message "%{_name}% &ais &e1&a day old" stop - message "&aThey are &e%{_days}% &adays old." \ No newline at end of file + message "&aThey are &e%{_days}% &adays old." +command /daycheck: + permission: obam.admin + trigger: + send "%{db_dayset.2}%" to player + send "%{db_count.start.%player%.2}%" + send "%{db_dayset.2} - {db_count.start.%player%.2}%" + +command /daypush : + permission: obam.admin + trigger: + set {db_dayset.2} to {db_dayset.2} + argument \ No newline at end of file diff --git a/Obam-General/who.sk b/Obam-General/who.sk index 3672c18..1a29fce 100644 --- a/Obam-General/who.sk +++ b/Obam-General/who.sk @@ -11,6 +11,10 @@ command /who: add loop-player to {_cur.list::*} clear {db_fronts.who.2::*} set {db_fronts.who.2::*} to {_cur.list::*} - send "&eHub:&a%{db_hub.who::*}%" - send "&eWTF:&a%{db_wtf.who::*}%" - send "&eFronts:&a%{_cur.list::*}%" \ No newline at end of file + send "&eTotal Online: %size of {_cur.list::*} + size of {db_hub.who::*} + size of {db_wtf.who.::*}%" + send " " + send "&eHub (%size of {db_hub.who::*}%):&a%{db_hub.who::*}%" + send " " + send "&eWTF (%size of {db_wtf.who::*}%):&a%{db_wtf.who::*}%" + send " " + send "&eFronts (%size of {_cur.list::*}%):&a%{_cur.list::*}%" \ No newline at end of file diff --git a/Obam-Other/boatsforhub b/Obam-Other/boatsforhub new file mode 100644 index 0000000..4b598f7 --- /dev/null +++ b/Obam-Other/boatsforhub @@ -0,0 +1,24 @@ + + +on right click: + targeted block is water block: + {time.boat.%player%} is not set: + set {time.boat.%player%} to now + add 1 minute to {time.boat.%player%} + set {_time} to difference between {time.boat.%player%} and now + {_time} is less than 1 minute: + send "&cYo... cooldown" to player + stop + {_time} is greater than or equal to 1 minute: + spawn boat at targeted block + set {time.boat.%player%} to now + + + +on vehicle exit: + delete vehicle of player + +on vehicle damage: + cancel event + + \ No newline at end of file diff --git a/Obam-Other/boatsforhub.sk b/Obam-Other/boatsforhub.sk new file mode 100644 index 0000000..17ccf6c --- /dev/null +++ b/Obam-Other/boatsforhub.sk @@ -0,0 +1,51 @@ + + +on right click: + world is "Death-hub" + targeted block is water block: + {time.boat.%player%} is not set: + set {time.boat.%player%} to now + add 1 minute to {time.boat.%player%} + set {_time} to difference between {time.boat.%player%} and now + {_time} is less than 1 minute: + send "&cYo... cooldown" to player + stop + {_time} is greater than or equal to 1 minute: + spawn boat at targeted block + set {time.boat.%player%} to now + + + +on vehicle exit: + world is "Death-hub" + vehicle is boat: + delete vehicle of player + vehicle is minecart: + delete vehicle of player + +on vehicle damage: + world is "Death-hub" + cancel event + + +command /vehicledel: + permission: obam.admin + trigger: + loop all entities in "Death-hub": + loop-entity is a boat: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + delete loop-entity + loop-entity is a minecart: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + delete loop-entity + + send "&e%{_count}% &avehicles deleted" to player + + + + + \ No newline at end of file diff --git a/Obam-Other/minecartsforhub.sk b/Obam-Other/minecartsforhub.sk new file mode 100644 index 0000000..97b71f7 --- /dev/null +++ b/Obam-Other/minecartsforhub.sk @@ -0,0 +1,20 @@ + + +on right click: + targeted block is rail: + {time.rail.%player%} is not set: + set {time.rail.%player%} to now + add 1 minute to {time.rail.%player%} + set {_time} to difference between {time.rail.%player%} and now + {_time} is less than 1 minute: + send "&cYo... cooldown" to player + stop + {_time} is greater than or equal to 1 minute: + spawn minecart at targeted block + set {time.rail.%player%} to now + + + + + + \ No newline at end of file diff --git a/Obam-Survival/heal.sk b/Obam-Survival/heal.sk index dc0ee0a..e15242a 100644 --- a/Obam-Survival/heal.sk +++ b/Obam-Survival/heal.sk @@ -1,11 +1,9 @@ +#heal + variables: {heal.%player%} = false - - - - command /heal: executable by: players permission: obam.free @@ -13,7 +11,7 @@ command /heal: {heal.%player%} is not set: set {heal.%player%} to now add 13 hours to {heal.%player%} - + set {_check} to difference between {heal.%player%} and now {_check} is less than 12 hours: set {_check} to difference between {heal.%player%} and now @@ -39,5 +37,14 @@ command /heal: set {heal.%player%} to now send "&aYou have been healed" to player set player's health to 10 + set player's hunger to 10 + apply regeneration 2 to player for 30 seconds + apply fire resistance to player for 30 seconds + apply resistance 2 to player for 30 seconds + apply absorption 2 to player for 30 seconds + player has wither: + remove wither from player + player has poison: + remove poison from player send "&aYou have &e%player's balance%&a remaining" to player - stop + stop \ No newline at end of file diff --git a/Obam-Testing/wtfronts.sk b/Obam-Testing/wtfronts.sk index 2eb7774..1bdd5f5 100644 --- a/Obam-Testing/wtfronts.sk +++ b/Obam-Testing/wtfronts.sk @@ -1,40 +1,65 @@ options: - bandages: paper;&3Bandage;&6Use of this bandage is the only way to fix a long lasting||&6injury brought on by the hazards of the environment.|| ||&5&oRight click with bandage in hand to cure the effects||&5&obrought on by being badly injured. Multiple bandages||&5&omay be required depending on your injury level. - superbottle: water bottle;&3Super Water Bottle;&6Besides saving you inventory space, this water ||&6is created extra wet to help quench your thirst.|| ||&a+50 Thirst|| ||&5&oUpon use, bottle turns to regular glass bottle. - unstele: magma cream;&3Unstable Element;&6Highly energized plasma like element found||&6in unstable land and mobs.|| ||&5&oThis goo is really hot! - unstmetal: gold nugget;&3Unstable Metal Shard;&6Energized metal shards found in unstable land||&6and mobs.|| ||&5&oYou feel a light energetic charge coming from||&5&othe shard. - unstmetalbar: gold ingot;&3Unstable Metal Bar;&6Crafted from broken &3Unstable Metal Shards&6 to||&6become whole again.|| ||&5&oHot to the touch, this bar gives a highly energetic||&5&ocharge. - stablemetal: iron ingot;&3Stable Metal Bar;&6Finalized & stable metal bar with just enough||&6energy for crafting special items.|| ||&5&oWarm to the touch with a subtle energetic glow. - stableele: slimeball;&3Stable Element;&6Stable plasma like element used to enhance other||&6items in special ways.|| ||&5&oThe goo feels nice and warm as it slides through||&5&oyour fingers. - envradar: compass;&3Environmental Radar;&6A must have tool for always being in the know about||&6the dangerous environment around you.|| ||&c-1 Elemental Fuel per use|| ||&5&oRight click with radar in hand to get the environmental||&5&ostatistics of the land you’re standing on. - elefuel: coal item;&3Elemental Fuel;&6The universal fuel used to power most of the tools||&6and machines created with &3Energized Metal Bars. - fairydust: sugar;&3Fairy Dust;&6This mysterious dust is filled with special properties||&6that nobody quite understands. Rumor is the dust||&6when combined with the right items or situations can||&6yield interesting results. - stable: packed ice;&3Stabilizer;&6The stabilizer contains the perfect elemental makeup||&6to bring unstable energies down to usable levels.|| ||&5&oSurround the Stabilizer in a crafting table with items||&5&othat contain unstable energy. - stablechst: diamond chestplate;&3Stable Diamond Chestplate;&6This chestplate contains a slot for special||&6enchantments and a container for &3Elemental||&3Fuel&6. - qnhchest: diamond chestplate;&3Chest of Quench;&6Utilizing the power of &3Elemental Fuel &6and||&6the &3Super Water Bottle&6, this chestplate makes||&6sure you never go thirsty!|| ||&c-1 Elemental Fuel Per Use|| ||&5&oWhile wearing this chestplate, your thirst will||&5&oautomatically go back up to 100 whenever it||&5&odips below 50, as long as you have Elemental||&5&oFuel in your inventory. - snkchest: diamond chestplate;&3Chest of Snacks;&6Utilizing the power of &3Elemental Fuel &6and an||&6Enchanted Golden Apple, this chestplate makes||&6sure you never go hungry!|| ||&c-1 Elemental Fuel Per Use|| ||&5&oWhile wearing this chestplate, your hunger will||&5&oautomatically go back up to 10 whenever it||&5&odips below 5, as long as you have Elemental||&5&oFuel in your inventory. + bandages: named item stack from "paper;&3Bandage;&6Use of this bandage is the only way to fix a long lasting||&6injury brought on by the hazards of the environment.|| ||&5&oRight click with bandage in hand to cure the effects||&5&obrought on by being badly injured. Multiple bandages||&5&omay be required depending on your injury level." + superbottle: named item stack from "water bottle;&3Super Water Bottle;&6Besides saving you inventory space, this water ||&6is created extra wet to help quench your thirst.|| ||&a+50 Thirst|| ||&5&oUpon use, bottle turns to regular glass bottle." + unstele: named item stack from "magma cream;&3Unstable Element;&6Highly energized plasma like element found||&6in unstable land and mobs.|| ||&5&oThis goo is really hot!" + unstmetal: named item stack from "gold nugget;&3Unstable Metal Shard;&6Energized metal shards found in unstable land||&6and mobs.|| ||&5&oYou feel a light energetic charge coming from||&5&othe shard." + unstmetalbar: named item stack from "gold ingot;&3Unstable Metal Bar;&6Crafted from broken &3Unstable Metal Shards&6 to||&6become whole again.|| ||&5&oHot to the touch, this bar gives a highly energetic||&5&ocharge." + stablemetal: named item stack from "iron ingot;&3Stable Metal Bar;&6Finalized & stable metal bar with just enough||&6energy for crafting special items.|| ||&5&oWarm to the touch with a subtle energetic glow." + stableele: named item stack from "slimeball;&3Stable Element;&6Stable plasma like element used to enhance other||&6items in special ways.|| ||&5&oThe goo feels nice and warm as it slides through||&5&oyour fingers." + envradar: named item stack from "compass;&3Environmental Radar;&6A must have tool for always being in the know about||&6the dangerous environment around you.|| ||&c-1 Elemental Fuel per use|| ||&5&oRight click with radar in hand to get the environmental||&5&ostatistics of the land you’re standing on." + elefuel: named item stack from "coal item;&3Elemental Fuel;&6The universal fuel used to power most of the tools||&6and machines created with &3Energized Metal Bars." + fairydust: named item stack from "sugar;&3Fairy Dust;&6This mysterious dust is filled with special properties||&6that nobody quite understands. Rumor is the dust||&6when combined with the right items or situations can||&6yield interesting results." + stable: named item stack from "packed ice;&3Stabilizer;&6The stabilizer contains the perfect elemental makeup||&6to bring unstable energies down to usable levels.|| ||&5&oSurround the Stabilizer in a crafting table with items||&5&othat contain unstable energy." + stablechst: named item stack from "diamond chestplate;&3Stable Diamond Chestplate;&6This chestplate contains a slot for special||&6enchantments and a container for &3Elemental||&3Fuel&6." + hastechest: named item stack from "diamond chestplate;&3Haste Chestplate;&6This chestplate grants the wearer haste 2||&6 while you have elemental fuel." + speedchest: named item stack from "diamond chestplate;&3Speed Chestplate;&6This chestplate grants the wearer speed 2||&6 while you have elemental fuel." + strengthchest: named item stack from "diamond chestplate;&3Strength Chestplate;&6This chestplate grants the wearer strength 2||&6 while you have elemental fuel." + qnhchest: named item stack from "diamond chestplate;&3Chest of Quench;&6Utilizing the power of &3Elemental Fuel &6and||&6the &3Super Water Bottle&6, this chestplate makes||&6sure you never go thirsty!|| ||&c-1 Elemental Fuel Per Use|| ||&5&oWhile wearing this chestplate, your thirst will||&5&oautomatically go back up to 100 whenever it||&5&odips below 50, as long as you have Elemental||&5&oFuel in your inventory." + snkchest: named item stack from "diamond chestplate;&3Chest of Snacks;&6Utilizing the power of &3Elemental Fuel &6and an||&6Enchanted Golden Apple, this chestplate makes||&6sure you never go hungry!|| ||&c-1 Elemental Fuel Per Use|| ||&5&oWhile wearing this chestplate, your hunger will||&5&oautomatically go back up to 10 whenever it||&5&odips below 5, as long as you have Elemental||&5&oFuel in your inventory." + coffee: named item stack from "water bottle;&3Cup of Coffee;&4Will give 50 fatigue back to you||&5So you can keep mining" + grapplinghook: named item stack from "fishing rod;&3Grappling hook;&4Will teleport you to where the hook lands||&5-1 Elemental Fuel per use" + safetytorch: named item stack from "redstone torch;&3Safety Torch;&6When placed will preven mobs from spawning in the chunk" + soap1: named item stack from "nether brick item;&3Soap;&6Used to clean yourself||&6by tossing in the water|| ||&a+100 Hygiene" + on script load: - register new shapeless recipe for named item stack from "{@bandages}" using paper, slimeball, air, air, air, air, air, air, air - register new shapeless recipe for named item stack from "{@superbottle}" using bottle of water, bottle of water, bottle of water, bottle of water, air, air, air, air, air - register new shaped recipe for named item stack from "{@unstmetalbar}" using air, air, air, named item stack from "{@unstmetal}", named item stack from "{@unstmetal}", named item stack from "{@unstmetal}", named item stack from "{@unstmetal}", named item stack from "{@unstmetal}", named item stack from "{@unstmetal}" - register new shaped recipe for named item stack from "{@stablemetal}" using named item stack from "{@unstmetalbar}", named item stack from "{@unstmetalbar}", named item stack from "{@unstmetalbar}", named item stack from "{@unstmetalbar}", named item stack from "{@stable}", named item stack from "{@unstmetalbar}", named item stack from "{@unstmetalbar}", named item stack from "{@unstmetalbar}", named item stack from "{@unstmetalbar}" - register new shaped recipe for named item stack from "{@stableele}" using named item stack from "{@unstele}", named item stack from "{@unstele}", named item stack from "{@unstele}", named item stack from "{@unstele}", named item stack from "{@stable}", named item stack from "{@unstele}", named item stack from "{@unstele}", named item stack from "{@unstele}", named item stack from "{@unstele}" - register new shaped recipe for named item stack from "{@stable}" using ice, ice, ice, ice, named item stack from "{@fairydust}", ice, ice, ice, ice - register new shaped recipe for named item stack from "{@elefuel}" using named item stack from "{@stableele}", named item stack from "{@stableele}", named item stack from "{@stableele}", named item stack from "{@stableele}", coal item, named item stack from "{@stableele}", named item stack from "{@stableele}", named item stack from "{@stableele}", named item stack from "{@stableele}" - register new shaped recipe for named item stack from "{@envradar}" using named item stack from "{@stablemetal}", named item stack from "{@stablemetal}", named item stack from "{@stablemetal}", named item stack from "{@stablemetal}", compass, named item stack from "{@stablemetal}", named item stack from "{@stablemetal}", named item stack from "{@stablemetal}", named item stack from "{@stablemetal}" - register new shaped recipe for named item stack from "{@stablechst}" using named item stack from "{@stablemetal}", air, named item stack from "{@stablemetal}", named item stack from "{@stablemetal}", diamond block, named item stack from "{@stablemetal}", named item stack from "{@stablemetal}", named item stack from "{@elefuel}", named item stack from "{@stablemetal}" - register new shapeless recipe for named item stack from "{@qnhchest}" using named item stack from "{@superbottle}", named item stack from "{@stablechst}", air, air, air, air, air, air, air - register new shapeless recipe for named item stack from "{@snkchest}" using named item stack from "{@stablechst}", enchanted golden apple, air, air, air, air, air, air, air - + register new shapeless recipe for {@bandages} using paper, slimeball, air, air, air, air, air, air, air + register new shapeless recipe for {@superbottle} using bottle of water, bottle of water, bottle of water, bottle of water, air, air, air, air, air + register new shaped recipe for {@unstmetalbar} using air, air, air, {@unstmetal}, {@unstmetal}, {@unstmetal}, {@unstmetal}, {@unstmetal}, {@unstmetal} + register new shaped recipe for {@stablemetal} using {@unstmetalbar}, {@unstmetalbar}, {@unstmetalbar}, {@unstmetalbar}, {@stable}, {@unstmetalbar}, {@unstmetalbar}, {@unstmetalbar}, {@unstmetalbar} + register new shaped recipe for {@stableele} using {@unstele}, {@unstele}, {@unstele}, {@unstele}, {@stable}, {@unstele}, {@unstele}, {@unstele}, {@unstele} + register new shaped recipe for {@stable} using ice, ice, ice, ice, {@fairydust}, ice, ice, ice, ice + register new shaped recipe for {@elefuel} using {@stableele}, {@stableele}, {@stableele}, {@stableele}, coal item, {@stableele}, {@stableele}, {@stableele}, {@stableele} + register new shaped recipe for {@envradar} using {@stablemetal}, {@stablemetal}, {@stablemetal}, {@stablemetal}, compass, {@stablemetal}, {@stablemetal}, {@stablemetal}, {@stablemetal} + register new shaped recipe for {@stablechst} using {@stablemetal}, air, {@stablemetal}, {@stablemetal}, diamond block, {@stablemetal}, {@stablemetal}, {@elefuel}, {@stablemetal} + register new shapeless recipe for {@qnhchest} using {@superbottle}, {@stablechst}, air, air, air, air, air, air, air + register new shapeless recipe for {@snkchest} using {@stablechst}, enchanted golden apple, air, air, air, air, air, air, air + register new shapeless recipe for {@coffee} using air, cocoa beans, air, air, milk, air, air, air, air + register new shapeless recipe for {@hastechest} using air, air, air, air, {@stablechst}, beacon, air, air, diamond pickaxe + register new shapeless recipe for {@speedchest} using air, air, air, air, {@stablechst}, beacon, air, air, diamond boots + register new shapeless recipe for {@strengthchest} using air, air, air, air, {@stablechst}, beacon, air, air, diamond sword + register new shaped recipe for {@grapplinghook} using {@elefuel}, Fishing Rod, {@elefuel}, {@elefuel}, {@elefuel}, {@elefuel}, {@elefuel}, {@elefuel}, {@elefuel} + register new shaped recipe for {@soap1} using air, milk bucket, air, air, rose, air, air, water bottle, air + on join: + {fatigue.%player%} is not set: + set {fatigue.%player%} to 100 + {hygiene.%player%} is not set: + set {hygiene.%player%} to 100 + {thirst.%player%} is not set: + set {thirst.%player%} to 100 display board named "&9&lWTF&9ronts" to player make score "&3Thirst" in board of player to {thirst.%player%} + make score "&3Fatigue" in board of player to {fatigue.%player%} + make score "&3Hygiene" in board of player to {hygiene.%player%} set {board.%player%} to true {injured.%player%} is true: make score "&cINJURED" in board of player to 1 + {infected.%player%.flag} is true: + make score "&cINFECTED" in board of player to 1 move display of player to "sidebar" + on chunk load: {unstable.%event-chunk%} is not set: @@ -61,6 +86,10 @@ on chunk load: on mine: + block is ore: + chance of 10%: + set {fatigue.%player%} to {fatigue.%player%} - 1 + player's tool is pickaxe y-coordinate of player is less than 40 {cavein.%chunk at location of player%.chance} is false: @@ -117,9 +146,9 @@ on mine: create explosion of force 2 at event-location chance of {methane.%chunk at location of player%.chance} * 2 %: wait 2 seconds - drop named item stack from "{@unstele}" at event-location + drop {@unstele} at event-location chance of {methane.%chunk at location of player%.chance} * 2%: - drop named item stack from "{@unstmetal}" at event-location + drop {@unstmetal} at event-location chance of {cavein.%chunk at location of player%.chance}%: loop blocks in radius 3: @@ -140,51 +169,6 @@ on portal enter: set {_ran2} to random number between 18 and 20 set {cavein.%chunk at event-location%.chance} to {_ran} set {methane.%chunk at event-location%.chance} to {_ran2} - - - -on right click with compass: - player's tool is named item stack from "{@envradar}": - player does not have named item stack from "{@elefuel}": - send "&cYou do not have enough fuel!" to player - stop - remove named item stack from "{@elefuel}" from player - {cavein.%chunk at location of player%.chance} is not set: - {unstable.%chunk at location of player%} is not set: - chance of 2%: - set {unstable.%chunk at location of player%} to true - set {_ran} to random number between 15 and 20 - set {_ran2} to random number between 18 and 20 - set {cavein.%chunk at location of player%.chance} to {_ran} - set {methane.%chunk at location of player%.chance} to {_ran2} - {unstable.%chunk at location of player%} is not set: - set {unstable.%chunk at location of player%} to false - {cavein.%chunk at location of player%.chance} is not set: - chance of 90%: - set {_ran} to random integer between 1 and 5 - set {cavein.%chunk at location of player%.chance} to {_ran} - {cavein.%chunk at location of player%.chance} is not set: - set {cavein.%chunk at location of player%.chance} to false - {methane.%chunk at location of player%.chance} is not set: - chance of 95%: - set {_ran} to random integer between 3 and 6 - set {methane.%chunk at location of player%.chance} to {_ran} - {methane.%chunk at location of player%.chance} is not set: - set {methane.%chunk at location of player%.chance} to false - - if {unstable.%chunk at location of player%} is true: - send "&aGround Structure: &cUnstable" - send "&aMethane Rating: &cUnstable" - stop - if {cavein.%chunk at location of player%.chance} is false: - send "&aGround Structure: &3SOUND" to player - else: - send "&aGround Structure: &e%{cavein.%chunk at location of player%.chance}%" to player - if {methane.%chunk at location of player%.chance} is false: - send "&aMethane Rating: &3EMPTY" to player - else: - send "&aMethane Rating: &e%{methane.%chunk at location of player%.chance}%" to player - command /chunkstats: permission: obam.admin @@ -200,17 +184,22 @@ command /chunkstats: if {methane.%chunk at location of player%.chance} is false: send "&aMethane Rating: &3EMPTY" to player else: - send "&aMethane Rating: &e%{methane.%chunk at location of player%.chance}%" to player + send "&aMethane Rating: &e%{methane.%chunk at location of player%.chance}%" to player +#Global Loop every 3 seconds: loop all players: {board.%loop-player%} is not set: display board named "&9&lWTF&9ronts" to loop-player make score "&3Thirst" in board of loop-player to {thirst.%loop-player%} + make score "&3Fatigue" in board of loop-player to {fatigue.%loop-player%} + make score "&3Hygiene" in board of loop-player to {hygiene.%loop-player%} set {board.%loop-player%} to true move display of loop-player to "sidebar" {board.%loop-player%} is true: make score "&3Thirst" in board of loop-player to {thirst.%loop-player%} + make score "&3Fatigue" in board of loop-player to {fatigue.%loop-player%} + make score "&3Hygiene" in board of loop-player to {hygiene.%loop-player%} block above loop-player is water: {thirst.%loop-player%} is less than 100: @@ -235,7 +224,18 @@ every 3 seconds: loop-player is sprinting: set {_ran} to random number between 1 and 3 set {thirst.%loop-player%} to {thirst.%loop-player%} - {_ran} + #BIOME SPECIFIC STUFF + biome at loop-player is river: + block under loop-player is water block: + chance of 5%: + loop-player's health is less than 10: + set {_location} to location of loop-player + play 1 of effect "bubbles" with data 1 at {_location} + wait 2 seconds + damage loop-player by .5 heart + send "&3A fish has nibbled at your toes!" to loop-player + biome at loop-player is desert: time in loop-player's world is day y-coordinate of loop-player is greater than 60 @@ -246,22 +246,33 @@ every 3 seconds: damage loop-player by 2 send "&cThe sun beats down on you" to loop-player - biome at loop-player is swamp: + biome at loop-player is hell: + chance of 5%: + set {thirst.%loop-player%} to {thirst.%loop-player%} - 1 + chance of 1%: + damage loop-player by 1 heart + send "&3You are being cooked to a nice medium rare" to loop-player + set {thirst.%loop-player%} to {thirst.%loop-player%} - 4 + + + biome at loop-player is swamp or swampland: set {_ran} to a random integer between 1 and 5 {_ran} is 1: apply hunger 2 to loop-player for 20 seconds send "&cMalaria runs through your body" to loop-player - + #TOO HIGH GETTING CHILLED y-coordinate of loop-player is greater than 110: loop-player's helmet is air damage loop-player by 1 send "&cYou are chilled " to loop-player apply slowness to loop-player for 3 seconds + #BURING IN YO POCKET loop-player has lava bucket: chance of 10%: damage loop-player by 0.5 send "&cThe lava in your inventory grows hotter" to loop-player + #INJURY DAMAGE {injured.%loop-player%} is true: chance of 10%: set {_location} to location of loop-player @@ -281,28 +292,65 @@ every 3 seconds: apply slowness 3 to loop-player for 999 days apply mining fatigue 2 to loop-player for 1 minute apply weakness to loop-player for 30 seconds + + #CHESTPLATES {thirst.%loop-player%} is less than or equal to 50: name of loop-player's chestplate is "&3Chest of Quench" - loop-player has named item stack from "{@elefuel}": + loop-player has {@elefuel}: set {thirst.%loop-player%} to 100 - remove named item stack from "{@elefuel}" from loop-player + remove {@elefuel} from loop-player loop-player's hunger level is less than 5: name of loop-player's chestplate is "&3Chest of Snacks" - loop-player has named item stack from "{@elefuel}": + loop-player has {@elefuel}: set loop-player's hunger level to 10 - remove named item stack from "{@elefuel}" from loop-player + remove {@elefuel} from loop-player - - + {fatigue.%loop-player%} is less than or equal to 30: + chance of 15%: + apply slowness to loop-player for 3 seconds + send "&cYou are fatigued, You can drink coffee or rest to get your strength back" to loop-player - - - + name of loop-player's chestplate is "&3Speed Chestplate": + loop-player has {@elefuel}: + apply speed 2 to loop-player for 4 seconds + remove {@elefuel} from loop-player + loop players in radius 5 of loop-player: + apply speed 2 to loop-player-2 for 4 seconds + + name of loop-player's chestplate is "&3Haste Chestplate": + loop-player has {@elefuel}: + apply haste 2 to loop-player for 4 seconds + remove {@elefuel} from loop-player + loop players in radius 5 of loop-player: + apply haste 2 to loop-player-2 for 4 seconds + + name of loop-player's chestplate is "&3Strength Chestplate": + loop-player has {@elefuel}: + apply strength 2 to loop-player for 4 seconds + remove {@elefuel} from loop-player + loop players in radius 5 of loop-player: + apply strength 2 to loop-player-2 for 4 seconds + + #hygiene + block below loop-player is dirt or grass: + {hygiene.%loop-player%} is greater than 0 + set {_ran} to random number between 0 and 2 + {hygiene.%loop-player%} is not set: + set {hygiene.%loop-player%} to 100 + set {hygiene.%loop-player%} to {hygiene.%loop-player%} - {_ran} + {hygiene.%loop-player%} is less than or equal to 0: + set {hygiene.%loop-player%} to 0 + + {hygiene.%loop-player%} is less than 10: + chance of 5%: + apply nausea to loop-player for 5 seconds + send "&cYour stench affects you. Use soap in water to fix it!" to loop-player + loop all entities: loop-entity is not player: {unstable.%loop-entity%} is set: play 100 of effect "reddust" with data 1 at location of loop-entity - + on spawn of a creeper or a skeleton or a spider or zombie: {unstable.%chunk at event-location%} is true: @@ -360,28 +408,41 @@ on damage: on death of a creeper or a skeleton or a zombie or a spider: chance of 15%: - add named item stack from "{@bandages}" to drops + add {@bandages} to drops entity's name is "&cUnstable Spawn": chance of 10%: chance of 2%: - add named item stack from "{@unstele}" to drops - add named item stack from "{@unstmetal}" to drops + add {@unstele} to drops + add {@unstmetal} to drops -on damage of a player: - damage cause is fall: - chance of 15%: - victim's boots are boots of feather falling: +on damage: + victim is player: + attacker is a zombie: + {infected.%victim%.flag} is not set: + set {infected.%victim%.flag} to true + make score "&cINFECTED" in board of victim to 1 + send "&cThe zombie has infected you!" to victim stop - set {_location} to location of victim - play 1 of effect "angryVillager" of data 1 at {_location} - set {injured.%victim%} to true - apply slowness to victim for 999 days - add 1 to damage - make score "&cINJURED" in board of victim to 1 - send "&cYou have been injured from your fall!" to victim - + {infected.%victim%.flag} is false: + set {infected.%victim%.flag} to true + make score "&cINFECTED" in board of victim to 1 + send "&cThe zombie has infected you!" to victim + stop + damage cause is fall: + chance of 15%: + victim's boots are boots of feather falling: + stop + set {_location} to location of victim + play 1 of effect "angryVillager" with data 1 at {_location} + set {injured.%victim%} to true + apply slowness to victim for 999 days + add 1 to damage + make score "&cINJURED" in board of victim to 1 + send "&cYou have been injured from your fall!" to victim + +#right click events on right click with paper: - player is holding named item stack from "{@bandages}": + player is holding {@bandages}: {injured.%player%} is not set: send "&cYou are not injured!" to player stop @@ -397,7 +458,7 @@ on right click with paper: apply slowness to player for 999 days send "&aYour injuries are healing" to player set {injured.%player%.length} to 1 - remove named item stack from "{@bandages}" from player + remove {@bandages} from player stop {injured.%player%.length} is greater than 10: remove slowness from player @@ -407,17 +468,88 @@ on right click with paper: remove weakness from player set {injured.%player%.length} to 6 send "&aYour injuries are healing" to player - remove named item stack from "{@bandages}" from player + remove {@bandages} from player stop send "&aYou mend your injuries" to player remove mining fatigue from player remove weakness from player remove slowness from player - remove named item stack from "{@bandages}" from player + remove {@bandages} from player nullify score "&cINJURED" in board of player set {injured.%player%} to false set {injured.%player%.length} to 0 +on right click with compass: + player's tool is {@envradar}: + player does not have {@elefuel}: + send "&cYou do not have enough fuel!" to player + stop + remove {@elefuel} from player + {cavein.%chunk at location of player%.chance} is not set: + {unstable.%chunk at location of player%} is not set: + chance of 2%: + set {unstable.%chunk at location of player%} to true + set {_ran} to random number between 15 and 20 + set {_ran2} to random number between 18 and 20 + set {cavein.%chunk at location of player%.chance} to {_ran} + set {methane.%chunk at location of player%.chance} to {_ran2} + {unstable.%chunk at location of player%} is not set: + set {unstable.%chunk at location of player%} to false + {cavein.%chunk at location of player%.chance} is not set: + chance of 90%: + set {_ran} to random integer between 1 and 5 + set {cavein.%chunk at location of player%.chance} to {_ran} + {cavein.%chunk at location of player%.chance} is not set: + set {cavein.%chunk at location of player%.chance} to false + {methane.%chunk at location of player%.chance} is not set: + chance of 95%: + set {_ran} to random integer between 3 and 6 + set {methane.%chunk at location of player%.chance} to {_ran} + {methane.%chunk at location of player%.chance} is not set: + set {methane.%chunk at location of player%.chance} to false + + if {unstable.%chunk at location of player%} is true: + send "&aGround Structure: &cUnstable" + send "&aMethane Rating: &cUnstable" + stop + if {cavein.%chunk at location of player%.chance} is false: + send "&aGround Structure: &3SOUND" to player + else: + send "&aGround Structure: &e%{cavein.%chunk at location of player%.chance}%" to player + if {methane.%chunk at location of player%.chance} is false: + send "&aMethane Rating: &3EMPTY" to player + else: + send "&aMethane Rating: &e%{methane.%chunk at location of player%.chance}%" to player + +on right click with nether brick item: + player's tool is {@soap1}: + block above block below player is water: + remove {@soap1} from player + send "&aYou wash yourself" + set {hygiene.%player%} to 100 + player has nausea: + remove nausea from player + +on shoot: + shooter's tool is {@grapplinghook}: + set {teleport.%projectile%} to shooter +on projectile hit: + shooter does not have {@elefuel}: + shooter's tool is {@grapplinghook}: + send "&4You do not have enough elemental fuel." + stop + shooter has {@elefuel}: + shooter's tool is {@grapplinghook}: + set {_prtp.%projectile%} to projectile's location + teleport {teleport.%projectile%} to {_prtp.%projectile%} + remove {@elefuel} from shooter + delete projectile + stop +on rightclick: + if player is holding {@grapplinghook}: + repair tool of player + stop + on bed enter: {injured.%player%} is true: set {injured.%player%} to false @@ -427,93 +559,243 @@ on bed enter: remove slowness from player nullify score "&cINJURED" in board of player send "&aYou have been healed of your injuries!" to player - -on consume of water bottle: - {thirst.%player%} is greater than or equal to 100: - set {thirst.%player%} to 100 - cancel event - player is holding named item stack from "{@superbottle}": - add 50 to {thirst.%player%} + set {fatigue.%player%} to 100 + +#GLOBAL CONSUME LOOP +on consume: + item is water bottle: + player is holding {@coffee}: + {fatigue.%player%} is greater than or equal to 100: + set {fatigue.%player%} to 100 + cancel event + stop + add 50 to {fatigue.%player%} + {fatigue.%player%} is greater than 100: + set {fatigue.%player%} to 100 + stop + + player is holding {@superbottle}: + add 50 to {thirst.%player%} + {thirst.%player%} is greater than 100: + set {thirst.%player%} to 100 + stop + add 10 to {thirst.%player%} {thirst.%player%} is greater than 100: set {thirst.%player%} to 100 - stop - {thirst.%player%} is greater than or equal to 100: - set {thirst.%player%} to 100 - cancel event - add 10 to {thirst.%player%} - {thirst.%player%} is greater than 100: - set {thirst.%player%} to 100 + item is apple: + add 5 to {thirst.%player%} + {thirst.%player%} is greater than 100: + set {thirst.%player%} to 100 + stop + item is mushroom stew: + add 10 to {thirst.%player%} + {thirst.%player%} is greater than 100: + set {thirst.%player%} to 100 + stop + item is carrot: + add 5 to {thirst.%player%} + {thirst.%player%} is greater than 100: + set {thirst.%player%} to 100 + stop + item is potato: + add 5 to {thirst.%player%} + {thirst.%player%} is greater than 100: + set {thirst.%player%} to 100 + stop + item is golden apple: + {infected.%player%.flag} is true: + set {infected.%player%.flag} to false + nullify score "&cINFECTED" in board of player + send "&3You have been revitalized!" + on death of a player: - {thirst.%player%} is less than 25: - set {thirst.%player%} to 25 - -command /ci []: + {thirst.%player%} is less than 25: + set {thirst.%player%} to 25 + {infected.%player%.flag} is true: + set {_location5} to player's location + wait 1 second + spawn 1 zombie at {_location5} + set name of spawned entity to "%player%" + apply resistance 2 to entity for 999 days + apply speed to entity for 999 days + +command /ci [] []: permission: obam.admin trigger: - argument is not set: + argument 1 is not set: send "list" - send "1 ... Super Water Bottle" - send "2 ... Bandages" - send "3 ... Unstable Metal Shard" - send "4 ... Unstable Metal Bar" - send "5 ... Stable Metal Bar" - send "6 ... Unstable Element" - send "7 ... Stable Element" - send "8 ... Environmental Radar" - send "9 ... Elemental Fuel" + send "1 ... Super Water Bottle" + send "2 ... Bandages" + send "3 ... Unstable Metal Shard" + send "4 ... Unstable Metal Bar" + send "5 ... Stable Metal Bar" + send "6 ... Unstable Element" + send "7 ... Stable Element" + send "8 ... Environmental Radar" + send "9 ... Elemental Fuel" send "10 ... Fairy Dust" send "11 ... Stabilizer" send "12 ... Stable Chest" send "13 ... Chest of Quench" send "14 ... Chest of Snacks" + send "15 ... Grappling Hook" + send "16 ... Coffee" + send "17 ... Safety Torch" + send "18 ... Speed Chestplate" + send "19 ... Haste Chestplate" + send "20 ... Strength Chestplate" + send "21 ... Soap (1)" stop - argument is 1: - give named item stack from "{@superbottle}" to player - - argument is 2: - give named item stack from "{@bandages}" to player - - argument is 3: - give named item stack from "{@unstmetal}" to player - - argument is 4: - give named item stack from "{@unstmetalbar}" to player - - argument is 5: - give named item stack from "{@stablemetal}" to player - - argument is 6: - give named item stack from "{@unstele}" to player - - argument is 7: - give named item stack from "{@stableele}" to player - - argument is 8: - give named item stack from "{@envradar}" to player - - argument is 9: - give named item stack from "{@elefuel}" to player - - argument is 10: - give named item stack from "{@fairydust}" to player - - argument is 11: - give named item stack from "{@stable}" to player - - argument is 12: - give named item stack from "{@stablechst}" to player - - argument is 13: - give named item stack from "{@qnhchest}" to player + argument 2 is not set: + argument 1 is 1: + give {@superbottle} to player + + argument 1 is 2: + give {@bandages} to player + + argument 1 is 3: + give {@unstmetal} to player + + argument 1 is 4: + give {@unstmetalbar} to player + + argument 1 is 5: + give {@stablemetal} to player + + argument 1 is 6: + give {@unstele} to player + + argument 1 is 7: + give {@stableele} to player + + argument 1 is 8: + give {@envradar} to player + + argument 1 is 9: + give {@elefuel} to player + + argument 1 is 10: + give {@fairydust} to player + + argument 1 is 11: + give {@stable} to player + + argument 1 is 12: + give {@stablechst} to player + + argument 1 is 13: + give {@qnhchest} to player + + argument 1 is 14: + give {@snkchest} to player + + argument 1 is 15: + give {@grapplinghook} to player + + argument 1 is 16: + give {@coffee} to player + + argument 1 is 17: + give {@safetytorch} to player + + argument 1 is 18: + give {@speedchest} to player - argument is 14: - give named item stack from "{@snkchest}" to player + argument 1 is 19: + give {@hastechest} to player + + argument 1 is 20: + give {@strengthchest} to player + + argument 1 is 21: + give {@soap1} to player + argument 2 is set: + argument 1 is 1: + loop argument 2 times: + give {@superbottle} to player + + argument 1 is 2: + loop argument 2 times: + give {@bandages} to player + + argument 1 is 3: + loop argument 2 times: + give {@unstmetal} to player + + argument 1 is 4: + loop argument 2 times: + give {@unstmetalbar} to player + + argument 1 is 5: + loop argument 2 times: + give {@stablemetal} to player + + argument 1 is 6: + loop argument 2 times: + give {@unstele} to player + + argument 1 is 7: + loop argument 2 times: + give {@stableele} to player + + argument 1 is 8: + loop argument 2 times: + give {@envradar} to player + + argument 1 is 9: + loop argument 2 times: + give {@elefuel} to player + + argument 1 is 10: + loop argument 2 times: + give {@fairydust} to player + + argument 1 is 11: + loop argument 2 times: + give {@stable} to player + + argument 1 is 12: + loop argument 2 times: + give {@stablechst} to player + + argument 1 is 13: + loop argument 2 times: + give {@qnhchest} to player + + argument 1 is 14: + loop argument 2 times: + give {@snkchest} to player + + argument 1 is 15: + loop argument 2 times: + give {@grapplinghook} to player + + argument 1 is 16: + loop argument 2 times: + give {@coffee} to player + + argument 1 is 17: + loop argument 2 times: + give {@safetytorch} to player + + argument 1 is 18: + loop argument 2 times: + give {@speedchest} to player - - - - send "Here is your thing" + argument 1 is 19: + loop argument 2 times: + give {@hastechest} to player + + argument 1 is 20: + loop argument 2 times: + give {@strengthchest} to player + + argument 1 is 21: + loop argument 2 times: + give {@soap1} to player + + send "Here is your item. :)" command /togglestats: trigger: @@ -522,6 +804,8 @@ command /togglestats: set {board.%player%} to true display board named "&9&lWTF&9fronts" to player make score "&3Thirst" in board of player to {thirst.%player%} + make score "&3Fatigue" in board of player to {fatigue.%player%} + make score "&3Hygiene" in board of player to {hygiene.%player%} move display of player to "sidebar" stop {board.%player%} is true: @@ -531,11 +815,20 @@ command /togglestats: {board.%player%} is not set: display board named "&9&lWTF&9ronts" to player make score "&3Thirst" in board of player to {thirst.%player%} + make score "&3Fatigue" in board of player to {fatigue.%player%} + make score "&3Hygiene" in board of player to {hygiene.%player%} set {board.%player%} to true move display of player to "sidebar" stop - +on place of torch: + player's tool is {@safetytorch} + set {safety.active.%chunk at event-location%} to true + +on spawn: + entity is skeleton or creeper or zombie or witch or spider or cave spider or enderman: + {safety.active.%chunk at event-location%} is true: + cancel event on place: former tool's name is set: @@ -549,7 +842,7 @@ on place: send "DEBUG %{information.%block%.1}%" send "DEBUG %lore of former tool%" send "DEBUG %name of former tool%" - send "DEBUG %{information.%block%.2}%" + send "DEBUG %{information.%block%.2}%" send "DEBUG %{information.%block%.3}%" set {information.%block%.1} to "%{information.%block%.1}%" @@ -567,13 +860,13 @@ on break of glowstone: chance of 10%: player's tool is pickaxe of silk touch: stop - drop named item stack from "{@fairydust}" at location of event-block + drop {@fairydust} at location of event-block on right click with sugar: - player's tool is named item stack from "{@fairydust}": + player's tool is {@fairydust}: player is flying: stop - remove named item stack from "{@fairydust}" from player + remove {@fairydust} from player send "&aYou can fly!" to player allow player to fly wait 5 seconds @@ -592,7 +885,4 @@ command /debug: set {debug.%player%} to false send "&aDebug off" stop - - - \ No newline at end of file From ea2976943c851dbff152cbdfe24851e0190ef4a5 Mon Sep 17 00:00:00 2001 From: Caleb Ferguson Date: Wed, 7 May 2014 01:06:29 -0400 Subject: [PATCH 05/22] Update powerpick.sk --- Obam-Testing/powerpick.sk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Obam-Testing/powerpick.sk b/Obam-Testing/powerpick.sk index 1aaf182..06299b3 100644 --- a/Obam-Testing/powerpick.sk +++ b/Obam-Testing/powerpick.sk @@ -1,10 +1,10 @@ options: - powerpick: diamond pickaxe;&cPower Pick;&7Reinforced by diamonds to speed up;&7the mining process + powerpick: diamond pickaxe named "&cPower Pick" with lore "&7Reinforced by diamonds to speed up||&7the mining process" on script load: - register new shapeless recipe for named item stack from "{@powerpick}" using diamond block, diamond block, diamond block, diamond block, diamond pick, diamond block, diamond block, diamond block, diamond block + register new shapeless recipe {@powerpick} using diamond block, diamond block, diamond block, diamond block, diamond pick, diamond block, diamond block, diamond block, diamond block @@ -63,4 +63,4 @@ on mine: {_fint} is not set: drop gravel at location of event-block set loop-block to air - \ No newline at end of file + From 6113972320667397406cafa7c860cb2ac67302c8 Mon Sep 17 00:00:00 2001 From: Caleb Ferguson Date: Wed, 7 May 2014 01:13:36 -0400 Subject: [PATCH 06/22] Update wtfronts.sk --- Obam-Testing/wtfronts.sk | 44 ++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/Obam-Testing/wtfronts.sk b/Obam-Testing/wtfronts.sk index 1bdd5f5..7d59665 100644 --- a/Obam-Testing/wtfronts.sk +++ b/Obam-Testing/wtfronts.sk @@ -1,25 +1,25 @@ options: - bandages: named item stack from "paper;&3Bandage;&6Use of this bandage is the only way to fix a long lasting||&6injury brought on by the hazards of the environment.|| ||&5&oRight click with bandage in hand to cure the effects||&5&obrought on by being badly injured. Multiple bandages||&5&omay be required depending on your injury level." - superbottle: named item stack from "water bottle;&3Super Water Bottle;&6Besides saving you inventory space, this water ||&6is created extra wet to help quench your thirst.|| ||&a+50 Thirst|| ||&5&oUpon use, bottle turns to regular glass bottle." - unstele: named item stack from "magma cream;&3Unstable Element;&6Highly energized plasma like element found||&6in unstable land and mobs.|| ||&5&oThis goo is really hot!" - unstmetal: named item stack from "gold nugget;&3Unstable Metal Shard;&6Energized metal shards found in unstable land||&6and mobs.|| ||&5&oYou feel a light energetic charge coming from||&5&othe shard." - unstmetalbar: named item stack from "gold ingot;&3Unstable Metal Bar;&6Crafted from broken &3Unstable Metal Shards&6 to||&6become whole again.|| ||&5&oHot to the touch, this bar gives a highly energetic||&5&ocharge." - stablemetal: named item stack from "iron ingot;&3Stable Metal Bar;&6Finalized & stable metal bar with just enough||&6energy for crafting special items.|| ||&5&oWarm to the touch with a subtle energetic glow." - stableele: named item stack from "slimeball;&3Stable Element;&6Stable plasma like element used to enhance other||&6items in special ways.|| ||&5&oThe goo feels nice and warm as it slides through||&5&oyour fingers." - envradar: named item stack from "compass;&3Environmental Radar;&6A must have tool for always being in the know about||&6the dangerous environment around you.|| ||&c-1 Elemental Fuel per use|| ||&5&oRight click with radar in hand to get the environmental||&5&ostatistics of the land you’re standing on." - elefuel: named item stack from "coal item;&3Elemental Fuel;&6The universal fuel used to power most of the tools||&6and machines created with &3Energized Metal Bars." - fairydust: named item stack from "sugar;&3Fairy Dust;&6This mysterious dust is filled with special properties||&6that nobody quite understands. Rumor is the dust||&6when combined with the right items or situations can||&6yield interesting results." - stable: named item stack from "packed ice;&3Stabilizer;&6The stabilizer contains the perfect elemental makeup||&6to bring unstable energies down to usable levels.|| ||&5&oSurround the Stabilizer in a crafting table with items||&5&othat contain unstable energy." - stablechst: named item stack from "diamond chestplate;&3Stable Diamond Chestplate;&6This chestplate contains a slot for special||&6enchantments and a container for &3Elemental||&3Fuel&6." - hastechest: named item stack from "diamond chestplate;&3Haste Chestplate;&6This chestplate grants the wearer haste 2||&6 while you have elemental fuel." - speedchest: named item stack from "diamond chestplate;&3Speed Chestplate;&6This chestplate grants the wearer speed 2||&6 while you have elemental fuel." - strengthchest: named item stack from "diamond chestplate;&3Strength Chestplate;&6This chestplate grants the wearer strength 2||&6 while you have elemental fuel." - qnhchest: named item stack from "diamond chestplate;&3Chest of Quench;&6Utilizing the power of &3Elemental Fuel &6and||&6the &3Super Water Bottle&6, this chestplate makes||&6sure you never go thirsty!|| ||&c-1 Elemental Fuel Per Use|| ||&5&oWhile wearing this chestplate, your thirst will||&5&oautomatically go back up to 100 whenever it||&5&odips below 50, as long as you have Elemental||&5&oFuel in your inventory." - snkchest: named item stack from "diamond chestplate;&3Chest of Snacks;&6Utilizing the power of &3Elemental Fuel &6and an||&6Enchanted Golden Apple, this chestplate makes||&6sure you never go hungry!|| ||&c-1 Elemental Fuel Per Use|| ||&5&oWhile wearing this chestplate, your hunger will||&5&oautomatically go back up to 10 whenever it||&5&odips below 5, as long as you have Elemental||&5&oFuel in your inventory." - coffee: named item stack from "water bottle;&3Cup of Coffee;&4Will give 50 fatigue back to you||&5So you can keep mining" - grapplinghook: named item stack from "fishing rod;&3Grappling hook;&4Will teleport you to where the hook lands||&5-1 Elemental Fuel per use" - safetytorch: named item stack from "redstone torch;&3Safety Torch;&6When placed will preven mobs from spawning in the chunk" - soap1: named item stack from "nether brick item;&3Soap;&6Used to clean yourself||&6by tossing in the water|| ||&a+100 Hygiene" + bandages: paper named "&3Bandage" with lore "&6Use of this bandage is the only way to fix a long lasting||&6injury brought on by the hazards of the environment.|| ||&5&oRight click with bandage in hand to cure the effects||&5&obrought on by being badly injured. Multiple bandages||&5&omay be required depending on your injury level." + superbottle: water bottle named "&3Super Water Bottle" with lore "&6Besides saving you inventory space, this water ||&6is created extra wet to help quench your thirst.|| ||&a+50 Thirst|| ||&5&oUpon use, bottle turns to regular glass bottle." + unstele: magma cream named "&3Unstable Element" with lore "&6Highly energized plasma like element found||&6in unstable land and mobs.|| ||&5&oThis goo is really hot!" + unstmetal: gold nugget named "&3Unstable Metal Shard" with lore "&6Energized metal shards found in unstable land||&6and mobs.|| ||&5&oYou feel a light energetic charge coming from||&5&othe shard." + unstmetalbar: gold ingot named "&3Unstable Metal Bar" with lore "&6Crafted from broken &3Unstable Metal Shards&6 to||&6become whole again.|| ||&5&oHot to the touch, this bar gives a highly energetic||&5&ocharge." + stablemetal: iron ingot named "&3Stable Metal Bar" with lore "&6Finalized & stable metal bar with just enough||&6energy for crafting special items.|| ||&5&oWarm to the touch with a subtle energetic glow." + stableele: slimeball named "&3Stable Element" with lore "&6Stable plasma like element used to enhance other||&6items in special ways.|| ||&5&oThe goo feels nice and warm as it slides through||&5&oyour fingers." + envradar: compass named "&3Environmental Radar" with lore "&6A must have tool for always being in the know about||&6the dangerous environment around you.|| ||&c-1 Elemental Fuel per use|| ||&5&oRight click with radar in hand to get the environmental||&5&ostatistics of the land you’re standing on." + elefuel: coal item named "&3Elemental Fuel" with lore "&6The universal fuel used to power most of the tools||&6and machines created with &3Energized Metal Bars." + fairydust: sugar named "&3Fairy Dust" with lore "&6This mysterious dust is filled with special properties||&6that nobody quite understands. Rumor is the dust||&6when combined with the right items or situations can||&6yield interesting results." + stable: packed ice named "&3Stabilizer" with lore "&6The stabilizer contains the perfect elemental makeup||&6to bring unstable energies down to usable levels.|| ||&5&oSurround the Stabilizer in a crafting table with items||&5&othat contain unstable energy." + stablechst: diamond chestplate named "&3Stable Diamond Chestplate" with lore "&6This chestplate contains a slot for special||&6enchantments and a container for &3Elemental||&3Fuel&6." + hastechest: diamond chestplate named "&3Haste Chestplate" with lore "&6This chestplate grants the wearer haste 2||&6 while you have elemental fuel." + speedchest: diamond chestplate named "&3Speed Chestplate" with lore "&6This chestplate grants the wearer speed 2||&6 while you have elemental fuel." + strengthchest: diamond chestplate named "&3Strength Chestplate" with lore "&6This chestplate grants the wearer strength 2||&6 while you have elemental fuel." + qnhchest: diamond chestplate named "&3Chest of Quench" with lore "&6Utilizing the power of &3Elemental Fuel &6and||&6the &3Super Water Bottle&6, this chestplate makes||&6sure you never go thirsty!|| ||&c-1 Elemental Fuel Per Use|| ||&5&oWhile wearing this chestplate, your thirst will||&5&oautomatically go back up to 100 whenever it||&5&odips below 50, as long as you have Elemental||&5&oFuel in your inventory." + snkchest: diamond chestplate named "&3Chest of Snacks" with lore "&6Utilizing the power of &3Elemental Fuel &6and an||&6Enchanted Golden Apple, this chestplate makes||&6sure you never go hungry!|| ||&c-1 Elemental Fuel Per Use|| ||&5&oWhile wearing this chestplate, your hunger will||&5&oautomatically go back up to 10 whenever it||&5&odips below 5, as long as you have Elemental||&5&oFuel in your inventory." + coffee: water bottle named "&3Cup of Coffee" with lore "&4Will give 50 fatigue back to you||&5So you can keep mining" + grapplinghook: fishing rod named "&3Grappling hook" with lore "&4Will teleport you to where the hook lands||&5-1 Elemental Fuel per use" + safetytorch: redstone torch named "&3Safety Torch" with lore "&6When placed will preven mobs from spawning in the chunk" + soap1: nether brick item named "&3Soap" with lore "&6Used to clean yourself||&6by tossing in the water|| ||&a+100 Hygiene" on script load: @@ -885,4 +885,4 @@ command /debug: set {debug.%player%} to false send "&aDebug off" stop - \ No newline at end of file + From 61a40e7aaf22689da73dfe5d4c91a6233fba4112 Mon Sep 17 00:00:00 2001 From: Caleb Ferguson Date: Wed, 7 May 2014 01:19:47 -0400 Subject: [PATCH 07/22] Update zbeta.sk --- Obam-Testing/zbeta.sk | 53 +++++++++++++++++-------------------------- 1 file changed, 21 insertions(+), 32 deletions(-) diff --git a/Obam-Testing/zbeta.sk b/Obam-Testing/zbeta.sk index 4d4f058..2071c91 100644 --- a/Obam-Testing/zbeta.sk +++ b/Obam-Testing/zbeta.sk @@ -3,11 +3,12 @@ options: #@weapons - PStab: diamond sword;&aThe Green Justice;&7Crafted from the purest||&7items to cut through||&7the souls of the purest humans - ZStab: diamond sword;&cThe Red Death;&7Laced with the poisonous||&7Blood of the zombies||&7to deliver a powerful strike - Supp1: bow of infinity 1;&fBow of Healing;&7Powerful darts loaded||&7with medical properties to||&7to heal friends from afar - Supp2: paper;&fBandage;&7The most current healing technology||&7In a convenient travel||&7ready delivery system|| ||&eRight click on a player to use - Tank: wood sword of knockback 1;&eHit Stick;&7Built with rubber infused wood for ||&7that extra push against attacking enemies + PStab: diamond sword named "&aThe Green Justice" with lore "&7Crafted from the purest||&7items to cut through||&7the souls of the purest humans" + ZStab: diamond sword named "&cThe Red Death" with lore "&7Laced with the poisonous||&7Blood of the zombies||&7to deliver a powerful strike" + Supp1: bow of infinity 1 named "&fBow of Healing" with lore "&7Powerful darts loaded||&7with medical properties to||&7to heal friends from afar" + Supp2: paper named "&fBandage" with lore "&7The most current healing technology||&7In a convenient travel||&7ready delivery system|| ||&eRight click on a player to use" + Tank: wood sword of knockback 1 named "&eHit Stick" with lore "&7Built with rubber infused wood for ||&7that extra push against attacking enemies" + on death of a zombie: {zbeta.game.active} is true attacker is a player @@ -1093,7 +1094,7 @@ on right click on a sign: set player's helmet to red wool {zbeta.team.%player%} is "yellow": set player's helmet to yellow wool - give player named item stack from "{@ZStab}" + give player {@ZStab} equip player with leather chestplate named "&cStabber Gear" equip player with leather leggings named "&cStabber Gear" equip player with leather boots named "&CStabber Gear" @@ -1108,7 +1109,7 @@ on right click on a sign: set player's helmet to red wool {zbeta.team.%player%} is "yellow": set player's helmet to yellow wool - give player named item stack from "{@PStab}" + give player {@PStab} equip player with leather chestplate named "&aStabber Gear" equip player with leather leggings named "&aStabber Gear" equip player with leather boots named "&aStabber Gear" @@ -1123,9 +1124,9 @@ on right click on a sign: set player's helmet to red wool {zbeta.team.%player%} is "yellow": set player's helmet to yellow wool - give player named item stack from "{@Supp1}" + give player {@Supp1} give player arrow - give player named item stack from "{@Supp2}" + give player {@Supp2} equip player with leather chestplate named "&fDoctor's Coat" equip player with leather leggings named "&fDoctor's Coat" equip player with leather boots named "&fDoctor's Coat" @@ -1140,7 +1141,7 @@ on right click on a sign: set player's helmet to red wool {zbeta.team.%player%} is "yellow": set player's helmet to yellow wool - give player named item stack from "{@Tank}" + give player {@Tank} equip player with leather chestplate named "&eTanks Armor" equip player with leather leggings named "&eTanks Armor" equip player with leather boots named "&eTanks Armor" @@ -1172,10 +1173,10 @@ on damage of a player: attacker is player: {zbeta.team.%attacker%} is {zbeta.team.%victim%}: {zbeta.lo.%attacker%} is "SUPPORT": - attacker's tool is named item stack from "{@Supp2}": + attacker's tool is {@Supp2}: add 7 to victim's health send "&aYou have been healed by %attacker%" to victim - remove named item stack from "{@Supp2}" from attacker + remove {@Supp2} from attacker stop attacker's tool is not air: attacker's tool is not arrow @@ -1193,15 +1194,15 @@ on damage of a player: stop set damage to 0 {zbeta.lo.%attacker%} is "Z-STABBER": - attacker's tool is named item stack from "{@ZStab}": + attacker's tool is {@ZStab}: set {_dmg} to a random number between 0.09 to 0.12 - attacker's tool is not named item stack from "{@ZStab}": + attacker's tool is not {@ZStab}: set {_dmg} to a random number between 0.08 to 0.1 {zbeta.lo.%attacker%} is "P-STABBER": - attacker's tool is named item stack from "{@PStab}": + attacker's tool is {@PStab}: set {_dmg} to a random number between 0.3 and 0.8 - attacker's tool is not named item stack from "{@PStab}": + attacker's tool is not {@PStab}: set {_dmg} to a random number between 0.1 and 0.4 {zbeta.lo.%attacker%} is "SUPPORT": set {_dmg} to 0.050 @@ -1258,15 +1259,15 @@ on damage of a player: on damage of a zombie: attacker is player: {zbeta.lo.%attacker%} is "Z-STABBER": - attacker's tool is named item stack from "{@ZStab}": + attacker's tool is {@ZStab}: set {_dmg} to 8 - attacker's tool is not named item stack from "{@ZStab}": + attacker's tool is not {@ZStab}: set {_dmg} to 0.75 {zbeta.lo.%attacker%} is "P-STABBER": - attacker's tool is named item stack from "{@PStab}": + attacker's tool is {@PStab}: set {_dmg} to 1.0 - attacker's tool is not named item stack from "{@PStab}": + attacker's tool is not {@PStab}: set {_dmg} to 0.25 {zbeta.lo.%attacker%} is "SUPPORT": set {_dmg} to 0.25 @@ -1288,15 +1289,3 @@ on target: apply speed 3 to event-entity for 10 seconds set {zbeta.%event-entity%.speed} to true - - - - - - - - - - - - \ No newline at end of file From 3462a3cddcb5ff2c21b6caa9a17f742036274b74 Mon Sep 17 00:00:00 2001 From: Caleb Ferguson Date: Wed, 7 May 2014 01:31:56 -0400 Subject: [PATCH 08/22] Update eggification.sk --- Obam-Tools/eggification.sk | 50 +++++++++++++++++++------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/Obam-Tools/eggification.sk b/Obam-Tools/eggification.sk index 0bc9c3d..b5f073c 100644 --- a/Obam-Tools/eggification.sk +++ b/Obam-Tools/eggification.sk @@ -1,43 +1,43 @@ options: - egg: snowball;&3Projeggtile Capture Ball;&6Capture the essence of various creatures||&6by tossing your balls at them. - egg2: snowball;&3Projeggtile &2Creeper &3Ball;&6Heavily reinforced to prevent even the||&6most explosive creepers from escaping! - egg3: snowball;&3Projeggtile &7Skeleton &3Ball;&6An ironic prison of bones made to hold||&6a skeleton, made from its own kin! - egg4: snowball;&3Projeggtile &aZombie &dPigman &3Ball;&6A containment area with a nugget inside||&6to lure and keep the pigman content! - egg5: snowball;&3Projeggtile &aZombie &3Ball;&6Layered in flesh to make even the||&6loneliest zombie feel at home! - egg6: snowball;&3Projeggtile &4Spider &3Ball;&6Tangles an eight legged bugger||&6into a silky woven sack! + egg: snowball named "&3Projeggtile Capture Ball" with lore "&6Capture the essence of various creatures||&6by tossing your balls at them." + egg2: snowball named "&3Projeggtile &2Creeper &3Ball" with lore "&6Heavily reinforced to prevent even the||&6most explosive creepers from escaping!" + egg3: snowball named "&3Projeggtile &7Skeleton &3Ball" with lore "&6An ironic prison of bones made to hold||&6a skeleton, made from its own kin!" + egg4: snowball named "&3Projeggtile &aZombie &dPigman &3Ball" with lore "&6A containment area with a nugget inside||&6to lure and keep the pigman content!" + egg5: snowball named "&3Projeggtile &aZombie &3Ball" with lore "&6Layered in flesh to make even the||&6loneliest zombie feel at home!" + egg6: snowball named "&3Projeggtile &4Spider &3Ball" with lore "&6Tangles an eight legged bugger||&6into a silky woven sack!" on script load: register new shaped recipe for mooshroom spawn egg using red mushroom, red mushroom, red mushroom, red mushroom, cow spawn egg, red mushroom, red mushroom, red mushroom, red mushroom - register new shaped recipe for named item stack from "{@egg2}" using named item stack from "{@egg}", named item stack from "{@egg}", named item stack from "{@egg}", named item stack from "{@egg}", gunpowder, named item stack from "{@egg}", named item stack from "{@egg}", named item stack from "{@egg}", named item stack from "{@egg}" - register new shaped recipe for named item stack from "{@egg3}" using named item stack from "{@egg}", named item stack from "{@egg}", named item stack from "{@egg}", named item stack from "{@egg}", bone, named item stack from "{@egg}", named item stack from "{@egg}", named item stack from "{@egg}", named item stack from "{@egg}" - register new shaped recipe for named item stack from "{@egg4}" using named item stack from "{@egg}", named item stack from "{@egg}", named item stack from "{@egg}", named item stack from "{@egg}", gold nugget, named item stack from "{@egg}", named item stack from "{@egg}", named item stack from "{@egg}", named item stack from "{@egg}" - register new shaped recipe for named item stack from "{@egg5}" using named item stack from "{@egg}", named item stack from "{@egg}", named item stack from "{@egg}", named item stack from "{@egg}", rotten flesh, named item stack from "{@egg}", named item stack from "{@egg}", named item stack from "{@egg}", named item stack from "{@egg}" - register new shaped recipe for named item stack from "{@egg6}" using named item stack from "{@egg}", named item stack from "{@egg}", named item stack from "{@egg}", named item stack from "{@egg}", string, named item stack from "{@egg}", named item stack from "{@egg}", named item stack from "{@egg}", named item stack from "{@egg}" + register new shaped recipe for {@egg2} using {@egg}, {@egg}, {@egg}, {@egg}, gunpowder, {@egg}, {@egg}, {@egg}, {@egg} + register new shaped recipe for {@egg3} using {@egg}, {@egg}, {@egg}, {@egg}, bone, {@egg}, {@egg}, {@egg}, {@egg} + register new shaped recipe for {@egg4} using {@egg}, {@egg}, {@egg}, {@egg}, gold nugget, {@egg}, {@egg}, {@egg}, {@egg} + register new shaped recipe for {@egg5} using {@egg}, {@egg}, {@egg}, {@egg}, rotten flesh, {@egg}, {@egg}, {@egg}, {@egg} + register new shaped recipe for {@egg6} using {@egg}, {@egg}, {@egg}, {@egg}, string, {@egg}, {@egg}, {@egg}, {@egg} on join: {db_egg.%player%.skeleton} is set: send "&aYou have received %{db_egg.%player%.skeleton}% Projeggtiles" loop {db_egg.%player%.skeleton} times: - drop named item stack from "{@egg3}" + drop {@egg3} clear {db_egg.%player%.skeleton} {db_egg.%player%.creeper} is set: send "&aYou have received %{db_egg.%player%.creeper}% Projeggtiles" loop {db_egg.%player%.creeper} times: - drop named item stack from "{@egg2}" + drop {@egg2} clear {db_egg.%player%.creeper} {db_egg.%player%.zpig} is set: send "&aYou have received %{db_egg.%player%.zpig}% Projeggtiles" loop {db_egg.%player%.zpig} times: - drop named item stack from "{@egg4}" + drop {@egg4} clear {db_egg.%player%.zpig} {db_egg.%player%.zombie} is set: send "&aYou have received %{db_egg.%player%.zombie}% Projeggtiles" loop {db_egg.%player%.zombie} times: - drop named item stack from "{@egg5}" + drop {@egg5} clear {db_egg.%player%.zombie} on shoot: @@ -47,19 +47,19 @@ on shoot: on shoot: projectile is snowball - shooter's tool is named item stack from "{@egg2}": + shooter's tool is {@egg2}: set {projeggtile.hostile.%projectile%} to true set {creeper.%projectile%} to true - shooter's tool is named item stack from "{@egg3}": + shooter's tool is {@egg3}: set {projeggtile.hostile.%projectile%} to true set {skeleton.%projectile%} to true - shooter's tool is named item stack from "{@egg4}": + shooter's tool is {@egg4}: set {projeggtile.hostile.%projectile%} to true set {pigman.%projectile%} to true - shooter's tool is named item stack from "{@egg5}": + shooter's tool is {@egg5}: set {projeggtile.hostile.%projectile%} to true set {zombie.%projectile%} to true - shooter's tool is named item stack from "{@egg6}": + shooter's tool is {@egg6}: set {projeggtile.hostile.%projectile%} to true set {spider.%projectile%} to true @@ -80,19 +80,19 @@ on damage of a creeper or a skeleton or a zombie or a zombie pigman or a spider: send "&cYou do not have enough tickets!" to attacker cancel event {creeper.%projectile%} is set: - give attacker named item stack from "{@egg2}" + give attacker {@egg2} stop {skeleton.%projectile%} is set: - give attacker named item stack from "{@egg3}" + give attacker {@egg3} stop {pigman.%projectile%} is set: - give attacker named item stack from "{@egg4}" + give attacker {@egg4} stop {zombie.%projectile%} is set: - give attacker named item stack from "{@egg5}" + give attacker {@egg5} stop {spider.%projectile%} is set: - give attacker named item stack from "{@egg6}" + give attacker {@egg6} stop subtract 150 from attacker's balance From ef49561371a2e03852c5eb058ae9a9d1a6187afe Mon Sep 17 00:00:00 2001 From: Caleb Ferguson Date: Wed, 7 May 2014 01:40:57 -0400 Subject: [PATCH 09/22] Update hubconfig.sk --- Obam-General/hubconfig.sk | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Obam-General/hubconfig.sk b/Obam-General/hubconfig.sk index 6d9bf1a..06e8ad9 100644 --- a/Obam-General/hubconfig.sk +++ b/Obam-General/hubconfig.sk @@ -1,7 +1,7 @@ options: - help: named item stack from "book;&6&lOBAM&fCraft &3Guide;&7Right click with this book to learn the ins||&7and out of OBAM" - worlds: named item stack from "ender pearl;&3Game Worlds;&7Right click with this to check the current Game Worlds!" - fly: named item stack from "feather;&3Fly!;&7Right click with this feather to fly in the hub!" + help: book named "&6&lOBAM&fCraft &3Guide" with lore "&7Right click with this book to learn the ins||&7and out of OBAM" + worlds: ender pearl named "&3Game Worlds" with lore "&7Right click with this to check the current Game Worlds!" + fly: feather named "&3Fly!" with lore "&7Right click with this feather to fly in the hub!" skyblock: i;grass;n;&6Skyblock;l;&7Try our Skyblock world with custom challenges and ||&7Villager trading!;c;sudo %player% worlds skyblock fronts: i;cobblestone;n;&6Fronts;l;&7Our Special flavour of Survival with immediate||&7land claiming!;c;sudo %player% worlds survival wtfronts: i;magma cream;n;&6WTFronts;l;&cBETA TESTING|| ||&7Extreme Survival with extreme payoffs!;c;sudo %player% worlds wtf @@ -93,4 +93,4 @@ command /transfer []: connect player to "%argument%" - \ No newline at end of file + From 49bb5f95c78def17d98a53ac1fd2fce6a2dfbbda Mon Sep 17 00:00:00 2001 From: Caleb Ferguson Date: Wed, 7 May 2014 01:45:01 -0400 Subject: [PATCH 10/22] Update CreatureCapture.sk --- Obam-General/CreatureCapture.sk | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Obam-General/CreatureCapture.sk b/Obam-General/CreatureCapture.sk index 315eaba..39ff139 100644 --- a/Obam-General/CreatureCapture.sk +++ b/Obam-General/CreatureCapture.sk @@ -1,16 +1,16 @@ # add back in world is "creature_capture": options: - lead: named item stack from "lead;&bLasso;&eRight click with this to turn mobs into eggs." - rod: named item stack from "fishing rod;&bCapture Rod;&eUse this rod to capture the mobs." + lasso: stick named "&bLasso" with lore "&eRight click with this to turn mobs into eggs." + rod: fishing rod named "&bCapture Rod" with lore "&eUse this rod to capture the mobs." on rightclick on sign: world is "CreatureCapture" line 1 of block is "Get a": line 2 of block is "Lasso": - if player has {@lead}: + if player has {@lasso}: send "&cYou already have a lasso" to player stop - give player {@lead} + give player {@lasso} stop line 2 of block is "Capture Rod": if player has {@rod}: @@ -44,7 +44,7 @@ on sign change: on right click on entity: world is "CreatureCapture" - if player is holding {@lead}: + if player is holding {@lasso}: distance between player and event-entity is smaller than 3 if entity is bat: delete entity @@ -150,4 +150,4 @@ on drop: on pickup: world is "CreatureCapture" - cancel event \ No newline at end of file + cancel event From 3e6a0257a60375137da3b5593f0145e4cf7379c5 Mon Sep 17 00:00:00 2001 From: Caleb Ferguson Date: Wed, 7 May 2014 01:52:08 -0400 Subject: [PATCH 11/22] Update kitstuff.sk --- Obam-KitPvp/kitstuff.sk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Obam-KitPvp/kitstuff.sk b/Obam-KitPvp/kitstuff.sk index 48dc33d..8c4edb0 100644 --- a/Obam-KitPvp/kitstuff.sk +++ b/Obam-KitPvp/kitstuff.sk @@ -141,7 +141,7 @@ command /kit []: dye player's chestplate red dye player's leggings red dye player's boots red - give nameditemstack from "Stick of knockback 1;&fFire Wand;&fPowers:|| ||&bConfuse: &3Left click to shoot a confusion||&3egg at a player!||&b&lCOST:&b 5 Mana|| ||&bFireball: &3Right click to shoot a fireball||&b&lCOST:&b 10 Mana" to the player + give player stick of knockback 1 named "&fFire Wand" with lore "&fPowers:|| ||&bConfuse: &3Left click to shoot a confusion||&3egg at a player!||&b&lCOST:&b 5 Mana|| ||&bFireball: &3Right click to shoot a fireball||&b&lCOST:&b 10 Mana" give player 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" give player 3 splash potions of harming 2 named "&fPain Juice" apply speed 1 to player for 999 days @@ -184,7 +184,7 @@ command /kit []: dye player's chestplate blue dye player's leggings blue dye player's boots blue - give nameditemstack from "Stick of knockback 1;&fLightning Wand;&fPowers:|| ||&bTeleport: &3Left click to teleport to the block||&3you're looking at!||&b&lCOST:&b 50 Mana|| ||&bLightning: &3Right click to shoot lighting||&b&lCOST:&b 10 Mana" to the player + give player stick of knockback 1 named "&fLightning Wand" with lore "&fPowers:|| ||&bTeleport: &3Left click to teleport to the block||&3you're looking at!||&b&lCOST:&b 50 Mana|| ||&bLightning: &3Right click to shoot lighting||&b&lCOST:&b 10 Mana" give player 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" give player 3 splash potions of harming 2 named "&fPain Juice" apply jump 1 to player for 999 days @@ -213,7 +213,7 @@ command /kit []: dye player's chestplate yellow dye player's leggings yellow dye player's boots yellow - give nameditemstack from "Blaze Rod;&fSummoning Rod;&fPowers:|| ||&bSummon: &3Right Click to summon the undead to serve you!||&b&lCOST:&b 30 Mana|| ||&bCall of the dead: &3Left click to call your minions back!||&b&lCOST:&b 10 Mana" to player + give player Blaze Rod named "&fSummoning Rod" with lore "&fPowers:|| ||&bSummon: &3Right Click to summon the undead to serve you!||&b&lCOST:&b 30 Mana|| ||&bCall of the dead: &3Left click to call your minions back!||&b&lCOST:&b 10 Mana" give player stone sword of knockback 1 and sharpness 2 named "&fSummoner's Trust" give player 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" apply speed 1 to player for 999 days From efde88489533023891e038991311d4be1feb8d2f Mon Sep 17 00:00:00 2001 From: ismooch Date: Thu, 15 May 2014 19:08:31 -0500 Subject: [PATCH 12/22] rollout updates for skript+2.0 -added entcount -upgraded smooChat 2 (schat2 + schatbridge) --- Obam-General/circle.sk | 28 ++++ Obam-General/hubconfig.sk | 10 +- Obam-General/sheep.sk | 18 +-- Obam-General/who.sk | 17 ++- Obam-Hotpotato/Hotpotato Maps/hpField.sk | 28 ++-- Obam-Hotpotato/Hotpotato Maps/hpLavaFlow.sk | 28 ++-- Obam-Hotpotato/Hotpotato Maps/hpMushroom.sk | 28 ++-- Obam-Hotpotato/Hotpotato Maps/hpNetherFort.sk | 28 ++-- Obam-Hotpotato/Hotpotato Maps/hpOmniPlex.sk | 28 ++-- Obam-Hotpotato/Hotpotato Maps/hpOmniStairs.sk | 28 ++-- .../Hotpotato Maps/hpSewerSystem.sk | 28 ++-- Obam-Hotpotato/Hotpotato Maps/hpSnowyHills.sk | 28 ++-- Obam-Hotpotato/Hotpotato Maps/hpcave.sk | 28 ++-- Obam-Hotpotato/Hotpotato Maps/hpcity.sk | 28 ++-- Obam-KitPvp/kitstuff.sk | 28 ++-- Obam-Survival/fortune.sk | 39 ++++-- Obam-Testing/schat2.sk | 84 +++++++++++- Obam-Testing/schatbridge.sk | 44 ++++++- Obam-Testing/wtfronts.sk | 60 +++++---- Obam-Tools/FIXIT.sk | 32 +++++ Obam-Tools/boards.sk | 118 +++++++++++++++++ Obam-Tools/eggification.sk | 8 +- Obam-Tools/entcount.sk | 42 ++++++ Obam-Tools/heads.sk | 70 ++++++++++ Obam-Tools/ihs.sk | 110 ++++++++++++++++ Obam-Tools/moderate.sk | 6 +- Obam-Tools/tam.sk | 121 ++++++++++++++++++ 27 files changed, 879 insertions(+), 236 deletions(-) create mode 100644 Obam-General/circle.sk create mode 100644 Obam-Tools/FIXIT.sk create mode 100644 Obam-Tools/boards.sk create mode 100644 Obam-Tools/entcount.sk create mode 100644 Obam-Tools/heads.sk create mode 100644 Obam-Tools/ihs.sk create mode 100644 Obam-Tools/tam.sk diff --git a/Obam-General/circle.sk b/Obam-General/circle.sk new file mode 100644 index 0000000..0e04130 --- /dev/null +++ b/Obam-General/circle.sk @@ -0,0 +1,28 @@ +on connect: + {banned.%player%} is true + kick the player due to "&cPermabanned by %{banstaff.%player%}%. Reason: &4%{banreason.%player%}%" + +command /circle:ban : + executable by: console + trigger: + kick offlineplayer-argument due to "&cPermabanned by %arg-2%. Reason: &4%arg-3%" + set {banned.%offlineplayer-argument%} to true + set {banreason.%offlineplayer-argument%} to arg-3 + set {banstaff.%offlineplayer-argument%} to arg-2 + broadcast "&c%offlineplayer-argument% &cwas permabanned by %arg-2%&c. Reason: %arg-3%" + +command /circle:igban : + executable by: players + permission: obam.mod + trigger: + kick offlineplayer-argument due to "&cPermabanned by %player%. Reason: &4%arg-2%" + set {banned.%offlineplayer-argument%} to true + set {banreason.%offlineplayer-argument%} to arg-2 + set {banstaff.%offlineplayer-argument%} to player + broadcast "&c%offlineplayer-argument% &cwas permabanned by %player%&c. Reason: %arg-2%" + +command /circle:unban : + executable by: console, players + permission: obam.mod + trigger: + set {banned.%offlineplayer-argument%} to false \ No newline at end of file diff --git a/Obam-General/hubconfig.sk b/Obam-General/hubconfig.sk index 06e8ad9..23b185a 100644 --- a/Obam-General/hubconfig.sk +++ b/Obam-General/hubconfig.sk @@ -30,17 +30,17 @@ on right click: player's tool is {@fly}: {fly.hub.%player%} is not set: set {fly.hub.%player%} to true - allow player to fly + set fly state of player to true send "&aYou can fly!" stop {fly.hub.%player%} is true: set {fly.hub.%player%} to false - disallow player to fly + set fly state of player to false send "&cYou can no longer fly!" stop {fly.hub.%player%} is false: set {fly.hub.%player%} to true - allow player to fly + set fly state of player to true send "&aYou can fly!" stop @@ -81,10 +81,10 @@ every second: loop all players: {fly.hub.%loop-player%} is true: loop-player's world is not "Death-hub": - disallow loop-player to fly + set fly state of loop-player to false set {fly.hub.%loop-player%} to false loop-player's world is "Death-hub": - allow loop-player to fly + set fly state of loop-player to true command /transfer []: diff --git a/Obam-General/sheep.sk b/Obam-General/sheep.sk index 793f7ab..4995f62 100644 --- a/Obam-General/sheep.sk +++ b/Obam-General/sheep.sk @@ -2,7 +2,7 @@ every 1 second: loop all entities: loop-entity is sheep or bat or powered creeper or pig: name of loop-entity is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon": - play 4 of effect "heart" with data 1 at location of loop-entity + spawn 4 of heart data 1 offset with 1, 1, 1 at location of loop-entity {owner.%loop-entity%} is not set: kill loop-entity distance between location of loop-entity and location of {owner.%loop-entity%} is greater than 20: @@ -23,7 +23,6 @@ on quit: command /pet : - permission: obam.free trigger: world is "kitpvpkillingfields": send "&cYou can not do that here" to player @@ -47,18 +46,8 @@ command /pet : send "&cYou can only have one pet at a time!" to player stop size of {pets.%player%::*} is 5: - send "&cYou can only have 5 pets at a time! Do /pet clear to clear your pets!" to player + send "&cYou can only have 5 pets at a time!" to player stop - - argument is "list": - send "&cHere is a list of all the pets:" to player - send "&c- ISMOOCH" to player - send "&c- Bru Swain" to player - send "&c- Sparky" to player - send "&c- Bacon" to player - send "&c- Dragon" to player - stop - argument is "ISMOOCH": spawn sheep at location of player set name of spawned sheep to "&aISMOOCH" @@ -119,7 +108,6 @@ on death of a sheep or a bat or a powered creeper or a pig: name of victim is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon" clear drops - on right click with wheat on sheep: name of event-entity is "&aISMOOCH" cancel event @@ -134,4 +122,4 @@ on right click with shears on sheep: name of event-entity is "&aISMOOCH" cancel event send "&cYou can not shear pets!" to event-player - + \ No newline at end of file diff --git a/Obam-General/who.sk b/Obam-General/who.sk index 1a29fce..e949b67 100644 --- a/Obam-General/who.sk +++ b/Obam-General/who.sk @@ -1,7 +1,10 @@ every 10 seconds: - clear {db_fronts.who.2::*} + clear {db_wtf.who::*} loop all players: - add loop-player to {db_fronts.who.2::*} + add loop-player to {db_wtf.who::*} + {db_wtf.who::1} is not set: + set {db_wtf.who::1} to "-Empty" + command /who: @@ -9,12 +12,14 @@ command /who: loop all players: add loop-player to {_cur.list::*} - clear {db_fronts.who.2::*} - set {db_fronts.who.2::*} to {_cur.list::*} - send "&eTotal Online: %size of {_cur.list::*} + size of {db_hub.who::*} + size of {db_wtf.who.::*}%" + clear {db_wtf.who::*} + set {db_wtf.who::*} to {_cur.list::*} + send "&eTotal Online: %size of {_cur.list::*} + size of {db_fronts.who.2::*} + size of {db_hub.who.::*} + size of {db_events.who::*}%" send " " send "&eHub (%size of {db_hub.who::*}%):&a%{db_hub.who::*}%" send " " send "&eWTF (%size of {db_wtf.who::*}%):&a%{db_wtf.who::*}%" send " " - send "&eFronts (%size of {_cur.list::*}%):&a%{_cur.list::*}%" \ No newline at end of file + send "&eFronts (%size of {db_fronts.who.2::*}%):&a%{db_fronts.who.2::*}%" + send " " + send "&eEvent (%size of {db_events.who::*}%):&a%{db_events.who::*}%" \ No newline at end of file diff --git a/Obam-Hotpotato/Hotpotato Maps/hpField.sk b/Obam-Hotpotato/Hotpotato Maps/hpField.sk index 90eaaa6..9a0d1ea 100644 --- a/Obam-Hotpotato/Hotpotato Maps/hpField.sk +++ b/Obam-Hotpotato/Hotpotato Maps/hpField.sk @@ -55,23 +55,23 @@ every 1 second: wait 3 seconds send "&a&lTeleporting back to Lobby Spawn in: &e5!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e4!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e3!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e2!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e1!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 loop all players in world "{@worldname.%script%}": {resetlobbyname} is not set: set {resetlobbyname} to {current.hotpotato.%loop-player%.lobby} @@ -89,7 +89,7 @@ every 1 second: {track.{@coursename.%script%}} is less than 5: send "&a&lThe Potato will be given in: &e%5 - {track.{@coursename.%script%}}%" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note bass guitar" at location of loop-player with pitch 1 + play note bass guitar at location of loop-player with pitch 1 loop all players in world "{@worldname.%script%}": set loop-player's level to 50 - {track.{@coursename.%script%}} {track.{@coursename.%script%}} is 5: @@ -121,7 +121,7 @@ every 1 second: add 5 to loop-player's balance add 5 to {level.%loop-player%} apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eCompass&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -137,7 +137,7 @@ every 1 second: remove nausea from loop-player remove speed from loop-player apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -153,7 +153,7 @@ every 1 second: {track.{@coursename.%script%}} is less than 5: send "&a&lThe Potato will be given in: &e%5 - {track.{@coursename.%script%}}%" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note bass guitar" at location of loop-player with pitch 1 + play note bass guitar at location of loop-player with pitch 1 loop all players in world "{@worldname.%script%}": set loop-player's level to 35 - {track.{@coursename.%script%}} {track.{@coursename.%script%}} is 5: @@ -180,7 +180,7 @@ every 1 second: add 5 to loop-player's balance add 5 to {level.%loop-player%} apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -196,7 +196,7 @@ every 1 second: remove nausea from loop-player remove speed from loop-player apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -239,7 +239,7 @@ every 1 second: loop all players in world "hotpotatolobby": {current.hotpotato.%loop-player%.lobby} is "{@coursename.%script%}": send "&aBeginning match in &e%45 - {timer.hotpotato.{@coursename.%script%}}%&a seconds!" to loop-player - play "note piano" at location of loop-player with pitch 5 + play note piano at location of loop-player with pitch 5 {timer.hotpotato.{@coursename.%script%}} is 45: loop all players in world "hotpotatolobby": {current.hotpotato.%loop-player%.lobby} is "{@coursename.%script%}": @@ -353,7 +353,7 @@ command /hotpotatostop{@coursename.%script%}: loop all players: loop-player is in world "{@worldname.%script%}": remove invisibility from loop-player - disallow loop-player to fly + set fly state of loop-player to false execute console command "/hotpotatoboardsrun" loop all players: {wins.hotpotato.{@coursename.%script%}.%loop-player%} is set: @@ -469,6 +469,6 @@ command /hotpotatostart{@coursename.%script%}: add 1 to {_count} set {hotpotato.{@coursename.%script%}.%loop-player%.dead} to false set {_%{_count}%} to loop-player - disallow loop-player to fly + set fly state of loop-player to false set {track.{@coursename.%script%}} to 0 set {hotpotato.{@coursename.%script%}.game.active} to true diff --git a/Obam-Hotpotato/Hotpotato Maps/hpLavaFlow.sk b/Obam-Hotpotato/Hotpotato Maps/hpLavaFlow.sk index c4f9b25..275e194 100644 --- a/Obam-Hotpotato/Hotpotato Maps/hpLavaFlow.sk +++ b/Obam-Hotpotato/Hotpotato Maps/hpLavaFlow.sk @@ -55,23 +55,23 @@ every 1 second: wait 3 seconds send "&a&lTeleporting back to Lobby Spawn in: &e5!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e4!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e3!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e2!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e1!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 loop all players in world "{@worldname.%script%}": {resetlobbyname} is not set: set {resetlobbyname} to {current.hotpotato.%loop-player%.lobby} @@ -89,7 +89,7 @@ every 1 second: {track.{@coursename.%script%}} is less than 5: send "&a&lThe Potato will be given in: &e%5 - {track.{@coursename.%script%}}%" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note bass guitar" at location of loop-player with pitch 1 + play note bass guitar at location of loop-player with pitch 1 loop all players in world "{@worldname.%script%}": set loop-player's level to 50 - {track.{@coursename.%script%}} {track.{@coursename.%script%}} is 5: @@ -121,7 +121,7 @@ every 1 second: add 5 to loop-player's balance add 5 to {level.%loop-player%} apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eCompass&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -137,7 +137,7 @@ every 1 second: remove nausea from loop-player remove speed from loop-player apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -153,7 +153,7 @@ every 1 second: {track.{@coursename.%script%}} is less than 5: send "&a&lThe Potato will be given in: &e%5 - {track.{@coursename.%script%}}%" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note bass guitar" at location of loop-player with pitch 1 + play note bass guitar at location of loop-player with pitch 1 loop all players in world "{@worldname.%script%}": set loop-player's level to 35 - {track.{@coursename.%script%}} {track.{@coursename.%script%}} is 5: @@ -180,7 +180,7 @@ every 1 second: add 5 to loop-player's balance add 5 to {level.%loop-player%} apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -196,7 +196,7 @@ every 1 second: remove nausea from loop-player remove speed from loop-player apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -239,7 +239,7 @@ every 1 second: loop all players in world "hotpotatolobby": {current.hotpotato.%loop-player%.lobby} is "{@coursename.%script%}": send "&aBeginning match in &e%45 - {timer.hotpotato.{@coursename.%script%}}%&a seconds!" to loop-player - play "note piano" at location of loop-player with pitch 5 + play note piano at location of loop-player with pitch 5 {timer.hotpotato.{@coursename.%script%}} is 45: loop all players in world "hotpotatolobby": {current.hotpotato.%loop-player%.lobby} is "{@coursename.%script%}": @@ -353,7 +353,7 @@ command /hotpotatostop{@coursename.%script%}: loop all players: loop-player is in world "{@worldname.%script%}": remove invisibility from loop-player - disallow loop-player to fly + set fly state of loop-player to false execute console command "/hotpotatoboardsrun" loop all players: {wins.hotpotato.{@coursename.%script%}.%loop-player%} is set: @@ -469,6 +469,6 @@ command /hotpotatostart{@coursename.%script%}: add 1 to {_count} set {hotpotato.{@coursename.%script%}.%loop-player%.dead} to false set {_%{_count}%} to loop-player - disallow loop-player to fly + set fly state of loop-player to false set {track.{@coursename.%script%}} to 0 set {hotpotato.{@coursename.%script%}.game.active} to true diff --git a/Obam-Hotpotato/Hotpotato Maps/hpMushroom.sk b/Obam-Hotpotato/Hotpotato Maps/hpMushroom.sk index bc56a3c..2022096 100644 --- a/Obam-Hotpotato/Hotpotato Maps/hpMushroom.sk +++ b/Obam-Hotpotato/Hotpotato Maps/hpMushroom.sk @@ -55,23 +55,23 @@ every 1 second: wait 3 seconds send "&a&lTeleporting back to Lobby Spawn in: &e5!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e4!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e3!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e2!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e1!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 loop all players in world "{@worldname.%script%}": {resetlobbyname} is not set: set {resetlobbyname} to {current.hotpotato.%loop-player%.lobby} @@ -89,7 +89,7 @@ every 1 second: {track.{@coursename.%script%}} is less than 5: send "&a&lThe Potato will be given in: &e%5 - {track.{@coursename.%script%}}%" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note bass guitar" at location of loop-player with pitch 1 + play note bass guitar at location of loop-player with pitch 1 loop all players in world "{@worldname.%script%}": set loop-player's level to 50 - {track.{@coursename.%script%}} {track.{@coursename.%script%}} is 5: @@ -121,7 +121,7 @@ every 1 second: add 5 to loop-player's balance add 5 to {level.%loop-player%} apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eCompass&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -137,7 +137,7 @@ every 1 second: remove nausea from loop-player remove speed from loop-player apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -153,7 +153,7 @@ every 1 second: {track.{@coursename.%script%}} is less than 5: send "&a&lThe Potato will be given in: &e%5 - {track.{@coursename.%script%}}%" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note bass guitar" at location of loop-player with pitch 1 + play note bass guitar at location of loop-player with pitch 1 loop all players in world "{@worldname.%script%}": set loop-player's level to 35 - {track.{@coursename.%script%}} {track.{@coursename.%script%}} is 5: @@ -180,7 +180,7 @@ every 1 second: add 5 to loop-player's balance add 5 to {level.%loop-player%} apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -196,7 +196,7 @@ every 1 second: remove nausea from loop-player remove speed from loop-player apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -239,7 +239,7 @@ every 1 second: loop all players in world "hotpotatolobby": {current.hotpotato.%loop-player%.lobby} is "{@coursename.%script%}": send "&aBeginning match in &e%45 - {timer.hotpotato.{@coursename.%script%}}%&a seconds!" to loop-player - play "note piano" at location of loop-player with pitch 5 + play note piano at location of loop-player with pitch 5 {timer.hotpotato.{@coursename.%script%}} is 45: loop all players in world "hotpotatolobby": {current.hotpotato.%loop-player%.lobby} is "{@coursename.%script%}": @@ -353,7 +353,7 @@ command /hotpotatostop{@coursename.%script%}: loop all players: loop-player is in world "{@worldname.%script%}": remove invisibility from loop-player - disallow loop-player to fly + set fly state of loop-player to false execute console command "/hotpotatoboardsrun" loop all players: {wins.hotpotato.{@coursename.%script%}.%loop-player%} is set: @@ -469,6 +469,6 @@ command /hotpotatostart{@coursename.%script%}: add 1 to {_count} set {hotpotato.{@coursename.%script%}.%loop-player%.dead} to false set {_%{_count}%} to loop-player - disallow loop-player to fly + set fly state of loop-player to false set {track.{@coursename.%script%}} to 0 set {hotpotato.{@coursename.%script%}.game.active} to true diff --git a/Obam-Hotpotato/Hotpotato Maps/hpNetherFort.sk b/Obam-Hotpotato/Hotpotato Maps/hpNetherFort.sk index ab76ecf..4475d5f 100644 --- a/Obam-Hotpotato/Hotpotato Maps/hpNetherFort.sk +++ b/Obam-Hotpotato/Hotpotato Maps/hpNetherFort.sk @@ -55,23 +55,23 @@ every 1 second: wait 3 seconds send "&a&lTeleporting back to Lobby Spawn in: &e5!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e4!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e3!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e2!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e1!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 loop all players in world "{@worldname.%script%}": {resetlobbyname} is not set: set {resetlobbyname} to {current.hotpotato.%loop-player%.lobby} @@ -89,7 +89,7 @@ every 1 second: {track.{@coursename.%script%}} is less than 5: send "&a&lThe Potato will be given in: &e%5 - {track.{@coursename.%script%}}%" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note bass guitar" at location of loop-player with pitch 1 + play note bass guitar at location of loop-player with pitch 1 loop all players in world "{@worldname.%script%}": set loop-player's level to 50 - {track.{@coursename.%script%}} {track.{@coursename.%script%}} is 5: @@ -121,7 +121,7 @@ every 1 second: add 5 to loop-player's balance add 5 to {level.%loop-player%} apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eCompass&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -137,7 +137,7 @@ every 1 second: remove nausea from loop-player remove speed from loop-player apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -153,7 +153,7 @@ every 1 second: {track.{@coursename.%script%}} is less than 5: send "&a&lThe Potato will be given in: &e%5 - {track.{@coursename.%script%}}%" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note bass guitar" at location of loop-player with pitch 1 + play note bass guitar at location of loop-player with pitch 1 loop all players in world "{@worldname.%script%}": set loop-player's level to 35 - {track.{@coursename.%script%}} {track.{@coursename.%script%}} is 5: @@ -180,7 +180,7 @@ every 1 second: add 5 to loop-player's balance add 5 to {level.%loop-player%} apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -196,7 +196,7 @@ every 1 second: remove nausea from loop-player remove speed from loop-player apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -239,7 +239,7 @@ every 1 second: loop all players in world "hotpotatolobby": {current.hotpotato.%loop-player%.lobby} is "{@coursename.%script%}": send "&aBeginning match in &e%45 - {timer.hotpotato.{@coursename.%script%}}%&a seconds!" to loop-player - play "note piano" at location of loop-player with pitch 5 + play note piano at location of loop-player with pitch 5 {timer.hotpotato.{@coursename.%script%}} is 45: loop all players in world "hotpotatolobby": {current.hotpotato.%loop-player%.lobby} is "{@coursename.%script%}": @@ -353,7 +353,7 @@ command /hotpotatostop{@coursename.%script%}: loop all players: loop-player is in world "{@worldname.%script%}": remove invisibility from loop-player - disallow loop-player to fly + set fly state of loop-player to false execute console command "/hotpotatoboardsrun" loop all players: {wins.hotpotato.{@coursename.%script%}.%loop-player%} is set: @@ -469,6 +469,6 @@ command /hotpotatostart{@coursename.%script%}: add 1 to {_count} set {hotpotato.{@coursename.%script%}.%loop-player%.dead} to false set {_%{_count}%} to loop-player - disallow loop-player to fly + set fly state of loop-player to false set {track.{@coursename.%script%}} to 0 set {hotpotato.{@coursename.%script%}.game.active} to true diff --git a/Obam-Hotpotato/Hotpotato Maps/hpOmniPlex.sk b/Obam-Hotpotato/Hotpotato Maps/hpOmniPlex.sk index 21bc53b..2f30fd7 100644 --- a/Obam-Hotpotato/Hotpotato Maps/hpOmniPlex.sk +++ b/Obam-Hotpotato/Hotpotato Maps/hpOmniPlex.sk @@ -56,23 +56,23 @@ every 1 second: wait 3 seconds send "&a&lTeleporting back to Lobby Spawn in: &e5!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e4!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e3!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e2!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e1!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 loop all players in world "{@worldname.%script%}": {resetlobbyname} is not set: set {resetlobbyname} to {current.hotpotato.%loop-player%.lobby} @@ -90,7 +90,7 @@ every 1 second: {track.{@coursename.%script%}} is less than 5: send "&a&lThe Potato will be given in: &e%5 - {track.{@coursename.%script%}}%" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note bass guitar" at location of loop-player with pitch 1 + play note bass guitar at location of loop-player with pitch 1 loop all players in world "{@worldname.%script%}": set loop-player's level to 50 - {track.{@coursename.%script%}} {track.{@coursename.%script%}} is 5: @@ -122,7 +122,7 @@ every 1 second: add 5 to loop-player's balance add 5 to {level.%loop-player%} apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eCompass&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -138,7 +138,7 @@ every 1 second: remove nausea from loop-player remove speed from loop-player apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -154,7 +154,7 @@ every 1 second: {track.{@coursename.%script%}} is less than 5: send "&a&lThe Potato will be given in: &e%5 - {track.{@coursename.%script%}}%" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note bass guitar" at location of loop-player with pitch 1 + play note bass guitar at location of loop-player with pitch 1 loop all players in world "{@worldname.%script%}": set loop-player's level to 35 - {track.{@coursename.%script%}} {track.{@coursename.%script%}} is 5: @@ -181,7 +181,7 @@ every 1 second: add 5 to loop-player's balance add 5 to {level.%loop-player%} apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -197,7 +197,7 @@ every 1 second: remove nausea from loop-player remove speed from loop-player apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -240,7 +240,7 @@ every 1 second: loop all players in world "hotpotatolobby": {current.hotpotato.%loop-player%.lobby} is "{@coursename.%script%}": send "&aBeginning match in &e%45 - {timer.hotpotato.{@coursename.%script%}}%&a seconds!" to loop-player - play "note piano" at location of loop-player with pitch 5 + play note piano at location of loop-player with pitch 5 {timer.hotpotato.{@coursename.%script%}} is 45: loop all players in world "hotpotatolobby": {current.hotpotato.%loop-player%.lobby} is "{@coursename.%script%}": @@ -354,7 +354,7 @@ command /hotpotatostop{@coursename.%script%}: loop all players: loop-player is in world "{@worldname.%script%}": remove invisibility from loop-player - disallow loop-player to fly + set fly state of loop-player to false execute console command "/hotpotatoboardsrun" loop all players: {wins.hotpotato.{@coursename.%script%}.%loop-player%} is set: @@ -470,6 +470,6 @@ command /hotpotatostart{@coursename.%script%}: add 1 to {_count} set {hotpotato.{@coursename.%script%}.%loop-player%.dead} to false set {_%{_count}%} to loop-player - disallow loop-player to fly + set fly state of loop-player to false set {track.{@coursename.%script%}} to 0 set {hotpotato.{@coursename.%script%}.game.active} to true diff --git a/Obam-Hotpotato/Hotpotato Maps/hpOmniStairs.sk b/Obam-Hotpotato/Hotpotato Maps/hpOmniStairs.sk index 9509a3d..b58d3fa 100644 --- a/Obam-Hotpotato/Hotpotato Maps/hpOmniStairs.sk +++ b/Obam-Hotpotato/Hotpotato Maps/hpOmniStairs.sk @@ -55,23 +55,23 @@ every 1 second: wait 3 seconds send "&a&lTeleporting back to Lobby Spawn in: &e5!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e4!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e3!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e2!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e1!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 loop all players in world "{@worldname.%script%}": {resetlobbyname} is not set: set {resetlobbyname} to {current.hotpotato.%loop-player%.lobby} @@ -89,7 +89,7 @@ every 1 second: {track.{@coursename.%script%}} is less than 5: send "&a&lThe Potato will be given in: &e%5 - {track.{@coursename.%script%}}%" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note bass guitar" at location of loop-player with pitch 1 + play note bass guitar at location of loop-player with pitch 1 loop all players in world "{@worldname.%script%}": set loop-player's level to 50 - {track.{@coursename.%script%}} {track.{@coursename.%script%}} is 5: @@ -121,7 +121,7 @@ every 1 second: add 5 to loop-player's balance add 5 to {level.%loop-player%} apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eCompass&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -137,7 +137,7 @@ every 1 second: remove nausea from loop-player remove speed from loop-player apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -153,7 +153,7 @@ every 1 second: {track.{@coursename.%script%}} is less than 5: send "&a&lThe Potato will be given in: &e%5 - {track.{@coursename.%script%}}%" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note bass guitar" at location of loop-player with pitch 1 + play note bass guitar at location of loop-player with pitch 1 loop all players in world "{@worldname.%script%}": set loop-player's level to 35 - {track.{@coursename.%script%}} {track.{@coursename.%script%}} is 5: @@ -180,7 +180,7 @@ every 1 second: add 5 to loop-player's balance add 5 to {level.%loop-player%} apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -196,7 +196,7 @@ every 1 second: remove nausea from loop-player remove speed from loop-player apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -239,7 +239,7 @@ every 1 second: loop all players in world "hotpotatolobby": {current.hotpotato.%loop-player%.lobby} is "{@coursename.%script%}": send "&aBeginning match in &e%45 - {timer.hotpotato.{@coursename.%script%}}%&a seconds!" to loop-player - play "note piano" at location of loop-player with pitch 5 + play note piano at location of loop-player with pitch 5 {timer.hotpotato.{@coursename.%script%}} is 45: loop all players in world "hotpotatolobby": {current.hotpotato.%loop-player%.lobby} is "{@coursename.%script%}": @@ -353,7 +353,7 @@ command /hotpotatostop{@coursename.%script%}: loop all players: loop-player is in world "{@worldname.%script%}": remove invisibility from loop-player - disallow loop-player to fly + set fly state of loop-player to false execute console command "/hotpotatoboardsrun" loop all players: {wins.hotpotato.{@coursename.%script%}.%loop-player%} is set: @@ -469,6 +469,6 @@ command /hotpotatostart{@coursename.%script%}: add 1 to {_count} set {hotpotato.{@coursename.%script%}.%loop-player%.dead} to false set {_%{_count}%} to loop-player - disallow loop-player to fly + set fly state of loop-player to false set {track.{@coursename.%script%}} to 0 set {hotpotato.{@coursename.%script%}.game.active} to true diff --git a/Obam-Hotpotato/Hotpotato Maps/hpSewerSystem.sk b/Obam-Hotpotato/Hotpotato Maps/hpSewerSystem.sk index ce85af3..62495d5 100644 --- a/Obam-Hotpotato/Hotpotato Maps/hpSewerSystem.sk +++ b/Obam-Hotpotato/Hotpotato Maps/hpSewerSystem.sk @@ -55,23 +55,23 @@ every 1 second: wait 3 seconds send "&a&lTeleporting back to Lobby Spawn in: &e5!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e4!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e3!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e2!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e1!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 loop all players in world "{@worldname.%script%}": {resetlobbyname} is not set: set {resetlobbyname} to {current.hotpotato.%loop-player%.lobby} @@ -89,7 +89,7 @@ every 1 second: {track.{@coursename.%script%}} is less than 5: send "&a&lThe Potato will be given in: &e%5 - {track.{@coursename.%script%}}%" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note bass guitar" at location of loop-player with pitch 1 + play note bass guitar at location of loop-player with pitch 1 loop all players in world "{@worldname.%script%}": set loop-player's level to 50 - {track.{@coursename.%script%}} {track.{@coursename.%script%}} is 5: @@ -121,7 +121,7 @@ every 1 second: add 5 to loop-player's balance add 5 to {level.%loop-player%} apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eCompass&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -137,7 +137,7 @@ every 1 second: remove nausea from loop-player remove speed from loop-player apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -153,7 +153,7 @@ every 1 second: {track.{@coursename.%script%}} is less than 5: send "&a&lThe Potato will be given in: &e%5 - {track.{@coursename.%script%}}%" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note bass guitar" at location of loop-player with pitch 1 + play note bass guitar at location of loop-player with pitch 1 loop all players in world "{@worldname.%script%}": set loop-player's level to 35 - {track.{@coursename.%script%}} {track.{@coursename.%script%}} is 5: @@ -180,7 +180,7 @@ every 1 second: add 5 to loop-player's balance add 5 to {level.%loop-player%} apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -196,7 +196,7 @@ every 1 second: remove nausea from loop-player remove speed from loop-player apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -239,7 +239,7 @@ every 1 second: loop all players in world "hotpotatolobby": {current.hotpotato.%loop-player%.lobby} is "{@coursename.%script%}": send "&aBeginning match in &e%45 - {timer.hotpotato.{@coursename.%script%}}%&a seconds!" to loop-player - play "note piano" at location of loop-player with pitch 5 + play note piano at location of loop-player with pitch 5 {timer.hotpotato.{@coursename.%script%}} is 45: loop all players in world "hotpotatolobby": {current.hotpotato.%loop-player%.lobby} is "{@coursename.%script%}": @@ -353,7 +353,7 @@ command /hotpotatostop{@coursename.%script%}: loop all players: loop-player is in world "{@worldname.%script%}": remove invisibility from loop-player - disallow loop-player to fly + set fly state of loop-player to false execute console command "/hotpotatoboardsrun" loop all players: {wins.hotpotato.{@coursename.%script%}.%loop-player%} is set: @@ -469,6 +469,6 @@ command /hotpotatostart{@coursename.%script%}: add 1 to {_count} set {hotpotato.{@coursename.%script%}.%loop-player%.dead} to false set {_%{_count}%} to loop-player - disallow loop-player to fly + set fly state of loop-player to false set {track.{@coursename.%script%}} to 0 set {hotpotato.{@coursename.%script%}.game.active} to true diff --git a/Obam-Hotpotato/Hotpotato Maps/hpSnowyHills.sk b/Obam-Hotpotato/Hotpotato Maps/hpSnowyHills.sk index d5ecac1..5423b2c 100644 --- a/Obam-Hotpotato/Hotpotato Maps/hpSnowyHills.sk +++ b/Obam-Hotpotato/Hotpotato Maps/hpSnowyHills.sk @@ -55,23 +55,23 @@ every 1 second: wait 3 seconds send "&a&lTeleporting back to Lobby Spawn in: &e5!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e4!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e3!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e2!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e1!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 loop all players in world "{@worldname.%script%}": {resetlobbyname} is not set: set {resetlobbyname} to {current.hotpotato.%loop-player%.lobby} @@ -89,7 +89,7 @@ every 1 second: {track.{@coursename.%script%}} is less than 5: send "&a&lThe Potato will be given in: &e%5 - {track.{@coursename.%script%}}%" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note bass guitar" at location of loop-player with pitch 1 + play note bass guitar at location of loop-player with pitch 1 loop all players in world "{@worldname.%script%}": set loop-player's level to 50 - {track.{@coursename.%script%}} {track.{@coursename.%script%}} is 5: @@ -121,7 +121,7 @@ every 1 second: add 5 to loop-player's balance add 5 to {level.%loop-player%} apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eCompass&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -137,7 +137,7 @@ every 1 second: remove nausea from loop-player remove speed from loop-player apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -153,7 +153,7 @@ every 1 second: {track.{@coursename.%script%}} is less than 5: send "&a&lThe Potato will be given in: &e%5 - {track.{@coursename.%script%}}%" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note bass guitar" at location of loop-player with pitch 1 + play note bass guitar at location of loop-player with pitch 1 loop all players in world "{@worldname.%script%}": set loop-player's level to 35 - {track.{@coursename.%script%}} {track.{@coursename.%script%}} is 5: @@ -180,7 +180,7 @@ every 1 second: add 5 to loop-player's balance add 5 to {level.%loop-player%} apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -196,7 +196,7 @@ every 1 second: remove nausea from loop-player remove speed from loop-player apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -239,7 +239,7 @@ every 1 second: loop all players in world "hotpotatolobby": {current.hotpotato.%loop-player%.lobby} is "{@coursename.%script%}": send "&aBeginning match in &e%45 - {timer.hotpotato.{@coursename.%script%}}%&a seconds!" to loop-player - play "note piano" at location of loop-player with pitch 5 + play note piano at location of loop-player with pitch 5 {timer.hotpotato.{@coursename.%script%}} is 45: loop all players in world "hotpotatolobby": {current.hotpotato.%loop-player%.lobby} is "{@coursename.%script%}": @@ -353,7 +353,7 @@ command /hotpotatostop{@coursename.%script%}: loop all players: loop-player is in world "{@worldname.%script%}": remove invisibility from loop-player - disallow loop-player to fly + set fly state of loop-player to false execute console command "/hotpotatoboardsrun" loop all players: {wins.hotpotato.{@coursename.%script%}.%loop-player%} is set: @@ -469,6 +469,6 @@ command /hotpotatostart{@coursename.%script%}: add 1 to {_count} set {hotpotato.{@coursename.%script%}.%loop-player%.dead} to false set {_%{_count}%} to loop-player - disallow loop-player to fly + set fly state of loop-player to false set {track.{@coursename.%script%}} to 0 set {hotpotato.{@coursename.%script%}.game.active} to true diff --git a/Obam-Hotpotato/Hotpotato Maps/hpcave.sk b/Obam-Hotpotato/Hotpotato Maps/hpcave.sk index c0109d8..96a3ae0 100644 --- a/Obam-Hotpotato/Hotpotato Maps/hpcave.sk +++ b/Obam-Hotpotato/Hotpotato Maps/hpcave.sk @@ -55,23 +55,23 @@ every 1 second: wait 3 seconds send "&a&lTeleporting back to Lobby Spawn in: &e5!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e4!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e3!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e2!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e1!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 loop all players in world "{@worldname.%script%}": {resetlobbyname} is not set: set {resetlobbyname} to {current.hotpotato.%loop-player%.lobby} @@ -89,7 +89,7 @@ every 1 second: {track.{@coursename.%script%}} is less than 5: send "&a&lThe Potato will be given in: &e%5 - {track.{@coursename.%script%}}%" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note bass guitar" at location of loop-player with pitch 1 + play note bass guitar at location of loop-player with pitch 1 loop all players in world "{@worldname.%script%}": set loop-player's level to 50 - {track.{@coursename.%script%}} {track.{@coursename.%script%}} is 5: @@ -121,7 +121,7 @@ every 1 second: add 5 to loop-player's balance add 5 to {level.%loop-player%} apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eCompass&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -137,7 +137,7 @@ every 1 second: remove nausea from loop-player remove speed from loop-player apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -153,7 +153,7 @@ every 1 second: {track.{@coursename.%script%}} is less than 5: send "&a&lThe Potato will be given in: &e%5 - {track.{@coursename.%script%}}%" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note bass guitar" at location of loop-player with pitch 1 + play note bass guitar at location of loop-player with pitch 1 loop all players in world "{@worldname.%script%}": set loop-player's level to 35 - {track.{@coursename.%script%}} {track.{@coursename.%script%}} is 5: @@ -180,7 +180,7 @@ every 1 second: add 5 to loop-player's balance add 5 to {level.%loop-player%} apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -196,7 +196,7 @@ every 1 second: remove nausea from loop-player remove speed from loop-player apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -239,7 +239,7 @@ every 1 second: loop all players in world "hotpotatolobby": {current.hotpotato.%loop-player%.lobby} is "{@coursename.%script%}": send "&aBeginning match in &e%45 - {timer.hotpotato.{@coursename.%script%}}%&a seconds!" to loop-player - play "note piano" at location of loop-player with pitch 5 + play note piano at location of loop-player with pitch 5 {timer.hotpotato.{@coursename.%script%}} is 45: loop all players in world "hotpotatolobby": {current.hotpotato.%loop-player%.lobby} is "{@coursename.%script%}": @@ -353,7 +353,7 @@ command /hotpotatostop{@coursename.%script%}: loop all players: loop-player is in world "{@worldname.%script%}": remove invisibility from loop-player - disallow loop-player to fly + set fly state of loop-player to false execute console command "/hotpotatoboardsrun" loop all players: {wins.hotpotato.{@coursename.%script%}.%loop-player%} is set: @@ -469,6 +469,6 @@ command /hotpotatostart{@coursename.%script%}: add 1 to {_count} set {hotpotato.{@coursename.%script%}.%loop-player%.dead} to false set {_%{_count}%} to loop-player - disallow loop-player to fly + set fly state of loop-player to false set {track.{@coursename.%script%}} to 0 set {hotpotato.{@coursename.%script%}.game.active} to true diff --git a/Obam-Hotpotato/Hotpotato Maps/hpcity.sk b/Obam-Hotpotato/Hotpotato Maps/hpcity.sk index 4d919c4..987b88a 100644 --- a/Obam-Hotpotato/Hotpotato Maps/hpcity.sk +++ b/Obam-Hotpotato/Hotpotato Maps/hpcity.sk @@ -55,23 +55,23 @@ every 1 second: wait 3 seconds send "&a&lTeleporting back to Lobby Spawn in: &e5!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e4!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e3!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e2!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 wait 1 second send "&a&lTeleporting back to Lobby Spawn in: &e1!" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note piano" at location of loop-player with pitch 3 + play note piano at location of loop-player with pitch 3 loop all players in world "{@worldname.%script%}": {resetlobbyname} is not set: set {resetlobbyname} to {current.hotpotato.%loop-player%.lobby} @@ -89,7 +89,7 @@ every 1 second: {track.{@coursename.%script%}} is less than 5: send "&a&lThe Potato will be given in: &e%5 - {track.{@coursename.%script%}}%" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note bass guitar" at location of loop-player with pitch 1 + play note bass guitar at location of loop-player with pitch 1 loop all players in world "{@worldname.%script%}": set loop-player's level to 50 - {track.{@coursename.%script%}} {track.{@coursename.%script%}} is 5: @@ -121,7 +121,7 @@ every 1 second: add 5 to loop-player's balance add 5 to {level.%loop-player%} apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eCompass&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -137,7 +137,7 @@ every 1 second: remove nausea from loop-player remove speed from loop-player apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -153,7 +153,7 @@ every 1 second: {track.{@coursename.%script%}} is less than 5: send "&a&lThe Potato will be given in: &e%5 - {track.{@coursename.%script%}}%" to all players in "{@worldname.%script%}" loop all players in world "{@worldname.%script%}": - play "note bass guitar" at location of loop-player with pitch 1 + play note bass guitar at location of loop-player with pitch 1 loop all players in world "{@worldname.%script%}": set loop-player's level to 35 - {track.{@coursename.%script%}} {track.{@coursename.%script%}} is 5: @@ -180,7 +180,7 @@ every 1 second: add 5 to loop-player's balance add 5 to {level.%loop-player%} apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -196,7 +196,7 @@ every 1 second: remove nausea from loop-player remove speed from loop-player apply invisibility 1 to loop-player for 999 days - allow loop-player to fly + set fly state of loop-player to true message "&aYou can now fly. Use the &eClock&a to go spectate other players" to loop-player extinguish loop-player give loop-player clock @@ -239,7 +239,7 @@ every 1 second: loop all players in world "hotpotatolobby": {current.hotpotato.%loop-player%.lobby} is "{@coursename.%script%}": send "&aBeginning match in &e%45 - {timer.hotpotato.{@coursename.%script%}}%&a seconds!" to loop-player - play "note piano" at location of loop-player with pitch 5 + play note piano at location of loop-player with pitch 5 {timer.hotpotato.{@coursename.%script%}} is 45: loop all players in world "hotpotatolobby": {current.hotpotato.%loop-player%.lobby} is "{@coursename.%script%}": @@ -353,7 +353,7 @@ command /hotpotatostop{@coursename.%script%}: loop all players: loop-player is in world "{@worldname.%script%}": remove invisibility from loop-player - disallow loop-player to fly + set fly state of loop-player to false execute console command "/hotpotatoboardsrun" loop all players: {wins.hotpotato.{@coursename.%script%}.%loop-player%} is set: @@ -469,6 +469,6 @@ command /hotpotatostart{@coursename.%script%}: add 1 to {_count} set {hotpotato.{@coursename.%script%}.%loop-player%.dead} to false set {_%{_count}%} to loop-player - disallow loop-player to fly + set fly state of loop-player to false set {track.{@coursename.%script%}} to 0 set {hotpotato.{@coursename.%script%}.game.active} to true diff --git a/Obam-KitPvp/kitstuff.sk b/Obam-KitPvp/kitstuff.sk index 8c4edb0..1850122 100644 --- a/Obam-KitPvp/kitstuff.sk +++ b/Obam-KitPvp/kitstuff.sk @@ -357,9 +357,9 @@ on damage: chance of 30%: add 3 to damage send "&a&lBoom! &aHeadshot!" to attacker - play "level up" at location of attacker with pitch 1 + play level up at location of attacker with pitch 1 send "&cHeadshot!" to victim - play "anvil land" at location of victim with pitch 2 + play anvil land at location of victim with pitch 2 {kit.archer.%attacker%} is true: {kit.tank.%victim%} is true: send "&cYou can not slow the tank!" to attacker @@ -531,17 +531,17 @@ on damage: send "&aYour ninja instincts have saved you this time! They are now used up!" to victim set {ninja.poof.%victim%} to false wait 0.5 seconds - play effect "smoke" at location of victim + spawn 1 of smoke data 1 offset with 1, 1, 1 at location of victim wait 0.5 seconds - play effect "smoke" at location of victim + spawn 1 of smoke data 1 offset with 1, 1, 1 at location of victim wait 0.5 seconds - play effect "smoke" at location of victim + spawn 1 of smoke data 1 offset with 1, 1, 1 at location of victim wait 0.5 seconds - play effect "smoke" at location of victim + spawn 1 of smoke data 1 offset with 1, 1, 1 at location of victim wait 0.5 seconds - play effect "smoke" at location of victim + spawn 1 of smoke data 1 offset with 1, 1, 1 at location of victim wait 0.5 seconds - play effect "smoke" at location of victim + spawn 1 of smoke data 1 offset with 1, 1, 1 at location of victim reveal victim to all players remove speed from victim apply speed 2 to victim for 999 days @@ -600,7 +600,7 @@ on damage: clear {active.game.kit.%victim%} execute console command "effect %victim% clear" hide victim from all players - allow victim to fly + set fly state of victim to true send "&cYou have been killed by &e%attacker%&c!" to victim send "&7You will respawn in &e15 &7seconds." to victim wait 5 seconds @@ -615,7 +615,7 @@ on damage: send "&7You will respawn in &e2&7 seconds." to victim wait 1 second send "&7You will respawn in &e1&7 second." to victim - disallow victim to fly + set fly state of victim to false teleport victim to {kit.pvp.spawn} reveal victim to all players execute console command "effect %victim% clear" @@ -724,7 +724,7 @@ on damage of a player: apply nausea to victim for 1 second add 2 to damage send "&cFish Slapped!" to victim - play "slime attack" at location of victim with pitch 1 + play slime attack at location of victim with pitch 1 stop #endfold @@ -841,7 +841,7 @@ on right click with blaze rod: equip {_zombie.%player%} with leather helmet set name of spawned zombie to "&cNecroSpawn" set {_loc} to block 20 meters above player - play 1 of effect "largeexplode" with data 1 at {_loc} + spawn 1 of large explode data 1 offset with 1, 1, 1 at {_loc} make player damage player by 2 apply speed 3 to spawned zombie for 999 days @@ -919,7 +919,7 @@ on right click with bone: set {_skeleton.%player%}'s tool to stone sword set name of spawned wither skeleton to "&cNecroSpawn" set {_loc} to block 20 meters above player - play 1 of effect "largeexplode" with data 1 at {_loc} + spawn 1 of large explode data 1 offset with 1, 1, 1 at {_loc} make player damage player by 2 apply speed 3 to spawned wither skeleton for 999 days @@ -1256,7 +1256,7 @@ command /dm []: command /sound []: permission: obam.admin trigger: - play "%argument 1%" at location of player with pitch argument 2 + play argument 1 at location of player with pitch argument 2 command /headset: permission: obam.admin diff --git a/Obam-Survival/fortune.sk b/Obam-Survival/fortune.sk index 97970b4..44157e7 100644 --- a/Obam-Survival/fortune.sk +++ b/Obam-Survival/fortune.sk @@ -102,7 +102,7 @@ every 15 minutes: increase {fortune.chance.%loop-player%} by 1 send "&7Your chances of fortune have increased!" to loop-player -on break: +on mine: {chunk.live.%chunk at location of event-block%} is not name of player: {chunk.live.%chunk at location of event-block%.%player%} is not set: cancel event @@ -116,17 +116,25 @@ on break: clear {current.aura.%player%} {abstain.%player%} is "wait abstain": clear {current.auar.%player%} - block is diamond ore or emerald ore or gold ore or iron ore or lapis ore or redstone ore or coal ore or nether quartz ore: + event-block is diamond ore or emerald ore or gold ore or iron ore or lapis ore or redstone ore or coal ore or nether quartz ore: player's tool is a pickaxe of silk touch: send "&cYour fortune aura has no effect with this enchantment!" to player stop {chunk.live.%chunk at location of event-block%} is set: send "&cYour fortune aura has no effect in this area." stop - loop blocks in radius 50 of event-block: - {chunk.live.%chunk at location of loop-block%} is set: - send "&cYour fortune aura has no effect in this area, go further out!" to player - stop + {chunk.live.%chunk south of event-block%} is set: + send "&cYour fortune aura has no effect in this area, go further out!" to player + stop + {chunk.live.%chunk west of event-block%} is set: + send "&cYour fortune aura has no effect in this area, go further out!" to player + stop + {chunk.live.%chunk north of event-block%} is set: + send "&cYour fortune aura has no effect in this area, go further out!" to player + stop + {chunk.live.%chunk east of event-block%} is set: + send "&cYour fortune aura has no effect in this area, go further out!" to player + stop {fortune.spam.%player%} is greater than {for.ran.%player%}: loop all players: @@ -136,19 +144,22 @@ on break: set {fortune.spam.%player%} to 0 set {for.ran.%player%} to random integer between 5 and 15 {current.aura.%player%} is "fortune" - block is diamond ore: + event-block is diamond ore: add 1 to {fortune.spam.%player%} chance of {fortune.chance.%player%}%: + cancel event + delete event-block + drop 1 diamond send "&aFortune favours you!" to player drop 1 diamond add 1 to {fortune.spam.%player%} - block is emerald ore: + event-block is emerald ore: add 1 to {fortune.spam.%player%} chance of {fortune.chance.%player%}%: send "&aFortune favours you!" to player drop 1 emerald add 1 to {fortune.spam.%player%} - block is gold ore: + event-block is gold ore: add 1 to {fortune.spam.%player%} chance of {fortune.chance.%player%}%: cancel event @@ -157,7 +168,7 @@ on break: send "&aFortune favours you!" to player drop 1 gold ingot add 1 to {fortune.spam.%player%} - block is iron ore: + event-block is iron ore: add 1 to {fortune.spam.%player%} chance of {fortune.chance.%player%}%: cancel event @@ -166,25 +177,25 @@ on break: send "&aFortune favours you!" to player drop 1 iron ingot add 1 to {fortune.spam.%player%} - block is lapis ore: + event-block is lapis ore: add 1 to {fortune.spam.%player%} chance of {fortune.chance.%player%}%: send "&aFortune favours you!" to player drop 1 lapis add 1 to {fortune.spam.%player%} - block is redstone ore: + event-block is redstone ore: add 1 to {fortune.spam.%player%} chance of {fortune.chance.%player%}%: send "&aFortune favours you!" to player drop 1 redstone add 1 to {fortune.spam.%player%} - block is coal ore: + event-block is coal ore: add 1 to {fortune.spam.%player%} chance of {fortune.chance.%player%}%: send "&aFortune favours you!" to player drop 1 coal add 1 to {fortune.spam.%player%} - block is nether quartz ore: + event-block is nether quartz ore: add 1 to {fortune.spam.%player%} chance of {fortune.chance.%player%}%: send "&aFortune favours you!" to player diff --git a/Obam-Testing/schat2.sk b/Obam-Testing/schat2.sk index 2af594a..d8126b9 100644 --- a/Obam-Testing/schat2.sk +++ b/Obam-Testing/schat2.sk @@ -1,5 +1,5 @@ options: - p: &c[W] + p: &e[E] @@ -13,6 +13,14 @@ on join: delete {db_channel.supporter::%player%} player does not have permission "obam.mod": delete {db_channel.supporter::%player%} + player does not have permission "obam.mechanic": + delete {db_channel.mech::%player%} + + {db_channel.mech.%player%} is not set: + player has permission "obam.mechanic" + set {db_channel.mech.%player%} to true + {db_channel.mech.%player%} is true: + set {db_channel.mech::%player%} to player {db_channel.sup.%player%} is not set: player has permission "obam.supporter" set {db_channel.sup.%player%} to true @@ -20,7 +28,7 @@ on join: set {db_channel.supporter::%player%} to player {db_channel.staff.%player%} is not set: player has permission "obam.mod" - set {db_channel.staff.%player%} to player + set {db_channel.staff::%player%} to player {db_channel.staff.%player%} is true: set {db_channel.supporter::%player%} to player @@ -43,6 +51,9 @@ on chat: player is "BruSwain": set {_pre} to "{@p} &6[^] %player%" + {db_star.%player%} is set: + set {_pre} to "%{_pre}% <%{db_star.%player%}%>✦" + {db_channel.%player%} is "staff": player does not have permission "obam.mod": set {db_channel.%player%} to "global" @@ -52,14 +63,31 @@ on chat: clear {_player} set {_player} to loop-index parsed as player - set message to "&2%message%" - set {_message} to "%{_pre}%&2: %message%" + set message to "&a%message%" + set {_message} to "%{_pre}%&a: %message%" send "%{_message}%" to {_player} - execute console command "/modpush %{_pre}%&2: %message%" + execute console command "/modpush %{_pre}%&a: %message%" + {db_channel.%player%} is "mechanic": + player does not have permission "obam.mechanic": + set {db_channel.%player%} to "global" + delete {db_channel.mech::%player%} + {db_channel.%player%} is "mechanic": + loop {db_channel.mech::*}: + clear {_player} + set {_player} to loop-index parsed as player + set message to "&e%message%" + set {_message} to "%{_pre}%&e: %message%" + + send {_message} to {_player} + execute console command "/mechpush %{_message}%" + + stop + + {db_channel.%player%} is "supporter": player does not have permission "obam.supporter": set {db_channel.%player%} to "global" @@ -103,14 +131,28 @@ command /chat [] []: send "&cYou dont have permission to do this!" stop set {db_channel.%player%} to "staff" - send "&aYou are now chatting in the &2Mod&a channel!" + {db_channel.staff::%player%} is not set: + set {db_channel.staff::%player%} to player + send "&aYou are now chatting in the &aMod&a channel!" stop argument 1 is "s" or "supporter": player does not have permission "obam.supporter": send "&cYou dont have permission to do this!" stop set {db_channel.%player%} to "supporter" + {db_channel.supporter::%player%} is not set: + set {db_channel.supporter.%player%} to player send "&aYou are now chatting in the &bSupporter&a channel!" + + argument 1 is "mech" or "mechanic": + player does not have permission "obam.mechanic": + send "&cYou dont have permission to do this!" + stop + set {db_channel.%player%} to "mechanic" + {db_channel.mech::%player%} is not set: + set {db_channel.mech::%player%} to player + send "&aYou are now chatting in the &eMechanic&a Channel!" + argument 1 is "g" or "global": set {db_channel.%player%} to "global" @@ -123,6 +165,10 @@ command /chat [] []: argument 2 is "mod" or "m": send "&cYou can not leave the staff chat silly" stop + argument 2 is "mech" or "mechanic": + send "&cYou are now leaving the &eMechanic&c chat!" + delete {db_channel.mech::%player%} + stop argument 2 is "s" or "supporter": send "&cYou are now leaving the &bSupporter&c chat!" delete {db_channel.supporter::%player%} @@ -148,6 +194,19 @@ command /chat [] []: send "&aYou are now in the &2Mod&a channel!" stop + argument 2 is "mechanic" or "mech": + player does not have permission "obam.mechanic": + send "&cYou do not have permission to do this!" + stop + {db_channel.mech::%player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.mech::%player%} to player + set {db_channel.%player%} to "mechanic" + send "&aYou are now in the &eMechanic&a Channel!" + stop + argument 2 is "s" or "supporter": player does not have permission "obam.supporter": send "&cYou do not have permission to do this!" @@ -176,7 +235,18 @@ command /chat [] []: send "%loop-index%" - +command /star []: + permission: obam.admin + trigger: + + argument 2 is "clear": + clear {db_star.%argument 1%} + send "&aCleared Star setting for %argument 1%" + stop + + set {db_star.%argument 1%} to argument 2 + send "&aStar for %argument 1% set to <%argument 2%>%argument 2%&a." + diff --git a/Obam-Testing/schatbridge.sk b/Obam-Testing/schatbridge.sk index 7c8c184..e206565 100644 --- a/Obam-Testing/schatbridge.sk +++ b/Obam-Testing/schatbridge.sk @@ -15,4 +15,46 @@ command /globalcatch : set {_player} to loop-index parsed as player send argument to {_player} - stop \ No newline at end of file + stop + +command /modpush : + permission: obam.admin + trigger: + forward command "modcatch %argument%" to console + +command /modcatch : + permission: obam.admin + trigger: + + loop {db_channel.staff::*}: + clear {_player} + set {_player} to loop-index parsed as player + send argument to {_player} + + stop + +command /supporterpush : + permission: obam.admin + trigger: + forward command "supportercatch %argument%" to console + +command /supportercatch : + permission: obam.admin + trigger: + loop {db_channel.supporter::*}: + clear {_player} + set {_player} to loop-index parsed as player + send argument to {_player} + +command /mechpush : + permission: obam.admin + trigger: + forward command "mechcatch %argument%" to console + +command /mechcatch : + permission: obam.admin + trigger: + loop {db_channel.mech::*}: + clear {_player} + set {_player} to loop-index parsed as player + send argument to {_player} \ No newline at end of file diff --git a/Obam-Testing/wtfronts.sk b/Obam-Testing/wtfronts.sk index 7d59665..71ac9d5 100644 --- a/Obam-Testing/wtfronts.sk +++ b/Obam-Testing/wtfronts.sk @@ -58,7 +58,7 @@ on join: make score "&cINJURED" in board of player to 1 {infected.%player%.flag} is true: make score "&cINFECTED" in board of player to 1 - move display of player to "sidebar" + move display of player to sidebar on chunk load: @@ -123,17 +123,19 @@ on mine: send "&cCave In!" to loop-player {_air.count} is less than or equal to {_block.count} / 3: loop blocks in radius 5: - loop-block is not bedrock or wood plank or lava or water - set {_block} to loop-block + loop-block is not bedrock or wood plank or lava or water or monster spawner + set {_block} to "falling %loop-block%" + set {_block} to {_block} parsed as entity type set {_loc} to location of loop-block - spawn falling block of loop-block at location of loop-block + spawn {_block} at location of loop-block delete loop-block {_air.count} is greater than {_block.count} / 3: loop blocks in radius 10: - loop-block is not bedrock or wood plank or lava or water - set {_block} to loop-block + loop-block is not bedrock or wood plank or lava or water or monster spawner + set {_block} to "falling %loop-block%" + set {_block} to {_block} parsed as entity type set {_loc} to location of loop-block - spawn falling block of loop-block at location of loop-block + spawn {_block} at location of loop-block delete loop-block {methane.%chunk at location of player%.chance} is false: set {_run2} to false @@ -150,15 +152,15 @@ on mine: chance of {methane.%chunk at location of player%.chance} * 2%: drop {@unstmetal} at event-location - chance of {cavein.%chunk at location of player%.chance}%: - loop blocks in radius 3: - loop-block is water - set {_found.water} to true - {_found.water} is true: - send "&3Flood!" to player - loop blocks in radius 3 of event-location: - loop-block is air: - set loop-block to water + #chance of {cavein.%chunk at location of player%.chance}%: + # loop blocks in radius 3: + # loop-block is water + # set {_found.water} to true + # {_found.water} is true: + # send "&3Flood!" to player + # loop blocks in radius 3 of event-location: + # loop-block is air: + # set loop-block to water on portal enter: @@ -195,7 +197,7 @@ every 3 seconds: make score "&3Fatigue" in board of loop-player to {fatigue.%loop-player%} make score "&3Hygiene" in board of loop-player to {hygiene.%loop-player%} set {board.%loop-player%} to true - move display of loop-player to "sidebar" + move display of loop-player to sidebar {board.%loop-player%} is true: make score "&3Thirst" in board of loop-player to {thirst.%loop-player%} make score "&3Fatigue" in board of loop-player to {fatigue.%loop-player%} @@ -231,7 +233,7 @@ every 3 seconds: chance of 5%: loop-player's health is less than 10: set {_location} to location of loop-player - play 1 of effect "bubbles" with data 1 at {_location} + spawn 1 of bubble data 1 offset with 1, 1, 1 at {_location} wait 2 seconds damage loop-player by .5 heart send "&3A fish has nibbled at your toes!" to loop-player @@ -276,7 +278,7 @@ every 3 seconds: {injured.%loop-player%} is true: chance of 10%: set {_location} to location of loop-player - play 1 of effect "spell" with data 1 at {_location} + spawn 1 of spell data 1 offset with 1, 1, 1 at {_location} damage loop-player by 0.5 {injured.%loop-player%.length} is not set: set {injured.%loop-player%.length} to 0 @@ -349,7 +351,7 @@ every 3 seconds: loop all entities: loop-entity is not player: {unstable.%loop-entity%} is set: - play 100 of effect "reddust" with data 1 at location of loop-entity + spawn 100 of red dust data 1 offset with 1, 1, 1 at location of loop-entity on spawn of a creeper or a skeleton or a spider or zombie: {unstable.%chunk at event-location%} is true: @@ -394,7 +396,7 @@ on explosion prime: cancel event create an explosion of force 5 at event-location set {_loc} to event-location - play 100 of effect "reddust" with data 1 at {_loc} + spawn 100 of red dust data 1 offset with 1, 1, 1 at {_loc} loop players in radius 5 of event-location: make event-entity damage loop-player by 4 @@ -433,7 +435,7 @@ on damage: victim's boots are boots of feather falling: stop set {_location} to location of victim - play 1 of effect "angryVillager" with data 1 at {_location} + spawn 1 of angry villager data 1 offset with 1, 1, 1 at {_location} set {injured.%victim%} to true apply slowness to victim for 999 days add 1 to damage @@ -806,7 +808,7 @@ command /togglestats: make score "&3Thirst" in board of player to {thirst.%player%} make score "&3Fatigue" in board of player to {fatigue.%player%} make score "&3Hygiene" in board of player to {hygiene.%player%} - move display of player to "sidebar" + move display of player to sidebar stop {board.%player%} is true: set {board.%player%} to false @@ -818,7 +820,7 @@ command /togglestats: make score "&3Fatigue" in board of player to {fatigue.%player%} make score "&3Hygiene" in board of player to {hygiene.%player%} set {board.%player%} to true - move display of player to "sidebar" + move display of player to sidebar stop on place of torch: @@ -854,7 +856,7 @@ on break: set {_message} to "%{information.%block%.1}%;%{information.%block%.3}%;%{information.%block%.2}%" send "DEBUG %{_message}%" delete block - drop named item stack from "%{_message}%" at location of block + drop {information.%block%.1} named {information.%block%.3} with lore {information.%block%.2} at location of block on break of glowstone: chance of 10%: @@ -868,9 +870,9 @@ on right click with sugar: stop remove {@fairydust} from player send "&aYou can fly!" to player - allow player to fly + set fly state of player to true wait 5 seconds - disallow player to fly + set fly state of player to false command /debug: permission: obam.admin @@ -885,4 +887,8 @@ command /debug: set {debug.%player%} to false send "&aDebug off" stop + +command /particlelist: + trigger: + message "%all enum values of particle%" diff --git a/Obam-Tools/FIXIT.sk b/Obam-Tools/FIXIT.sk new file mode 100644 index 0000000..0b8ac8f --- /dev/null +++ b/Obam-Tools/FIXIT.sk @@ -0,0 +1,32 @@ +#Tool Repair + +command /fixit: + executable by: players + trigger: + player's tool is not a sword or axe or pickaxe or shovel or bow or helmet or chestplate or leggings or boots: + message "&cYou may only repair Armour, Weapons or Tools!" to player + stop + set {_c.tool} to player's tool + + set {_bal} to player's balance + {_bal} is less than 500: + send "&cYou do not have enough tickets to do this!" to player + stop + player's level is less than 30: + + send "&cYou must have at least 30 levels to do this!" to player + stop + repair player's tool + + reduce the player's level by 30 + + remove 500 from player's balance + play anvil use at location of player with pitch 1 + send "&6&lThe Gods strike your tool!" to player + play ambience thunder at location of player with pitch 1 + send "&aYou have used &e500 Tickets&a to repair this tool" to player + send "&aYou have &e%player's balance%&a remaining" to player + log "%player%^%{_bal}%^DEDUCT^500^%player's balance%^FIXIT FEE" to "tickets/FIXIT.log" + stop + + diff --git a/Obam-Tools/boards.sk b/Obam-Tools/boards.sk new file mode 100644 index 0000000..2f1787e --- /dev/null +++ b/Obam-Tools/boards.sk @@ -0,0 +1,118 @@ +#boards +#startfold @scoreboards +every 1 second: + #subfold @sbstats + loop all players in world "skyworld": + {off.sb.%loop-player%} is not set: + set {off.sb.%loop-player%} to true + {off.sb.%loop-player%} is true + {board.up.%loop-player%.sb} is not set: + set {board.up.%loop-player%.sb} to false + {board.up.%loop-player%.sb} is true: + make score "&cDeaths:" in board of loop-player to {deaths.%loop-player%.skyworld} + make score "&3Creepers:" in board of loop-player to {creeper.kills.%loop-player%} + make score "&3Skeletons:" in board of loop-player to {skeleton.kills.%loop-player%} + make score "&3Spiders:" in board of loop-player to {spider.kills.%loop-player%} + make score "&3Zombies:" in board of loop-player to {zombie.kills.%loop-player%} + make score "&3Endermen:" in board of loop-player to {enderman.kills.%loop-player%} + make score "&3Slimes:" in board of loop-player to {slime.kills.%loop-player%} + make score "&3Witches:" in board of loop-player to {witch.kills.%loop-player%} + make score "&aTickets:" in board of loop-player to loop-player's balance + make score "&6Total Kills:" in board of loop-player to {total.kills.%loop-player%} + set {board.up.%loop-player%.kp} to false + + + {board.up.%loop-player%.sb} is false: + display board named "&9&lSB &9Stats" to loop-player + make score "&cDeaths:" in board of loop-player to {deaths.%loop-player%.skyworld} + make score "&3Creepers:" in board of loop-player to {creeper.kills.%loop-player%} + make score "&3Skeletons:" in board of loop-player to {skeleton.kills.%loop-player%} + make score "&3Spiders:" in board of loop-player to {spider.kills.%loop-player%} + make score "&3Zombies:" in board of loop-player to {zombie.kills.%loop-player%} + make score "&3Endermen:" in board of loop-player to {enderman.kills.%loop-player%} + make score "&3Slimes:" in board of loop-player to {slime.kills.%loop-player%} + make score "&3Witches:" in board of loop-player to {witch.kills.%loop-player%} + make score "&aTickets:" in board of loop-player to loop-player's balance + make score "&6Total Kills:" in board of loop-player to {total.kills.%loop-player%} + set {board.up.%loop-player%.sb} to true + move display of loop-player to sidebar + set {board.up.%loop-player%.kp} to false + + #subfold @KPstata + loop all players in world "kitpvpkillingfields": + {off.sb.%loop-player%} is not set: + set {off.sb.%loop-player%} to true + {off.sb.%loop-player%} is true + {board.up.%loop-player%} is not set: + set {board.up.%loop-player%.kp} to false + {board.up.%loop-player%.kp} is true: + make score of "&cDeaths:" in board of loop-player to {deaths.%loop-player%.kit} + make score of "&aKills:" in board of loop-player to {kills.%loop-player%.kit} + make score of "&aKillstreak:" in board of loop-player to {killstreak.%loop-player%} + make score of "&aAssists:" in board of loop-player to {assist.%loop-player%.kp} + make score of "&eBounty:" in board of loop-player to {value.%loop-player%.kit.live} + make score "&aTickets:" in board of loop-player to loop-player's balance + set {board.up.%loop-player%.sb} to false + + {board.up.%loop-player%.kp} is false: + display board named "&9&lKP &9Stats" to loop-player + make score of "&cDeaths:" in board of loop-player to {deaths.%loop-player%.kit} + make score of "&aKills:" in board of loop-player to {kills.%loop-player%.kit} + make score of "&aKillstreak:" in board of loop-player to {killstreak.%loop-player%} + make score of "&aAssists:" in board of loop-player to {assist.%loop-player%.kp} + make score of "&eBounty:" in board of loop-player to {value.%loop-player%.kit.live} + make score "&aTickets:" in board of loop-player to loop-player's balance + set {board.up.%loop-player%.sb} to false + set {board.up.%loop-player%.kp} to true + move display of loop-player to sidebar + + + +#subfold @command +command /togglestats: + permission: obam.free + executable by: players + trigger: + {off.sb.%player%} is not set: + set {off.sb.%player%} to false + send "&aYou have turned off OBAM Stats" to player + display board named " " to player + stop + {off.sb.%player%} is true: + set {off.sb.%player%} to false + send "&aYou have turned off OBAM Stats" to player + display board named " " to player + stop + {off.sb.%player%} is false: + set {off.sb.%player%} to true + send "&aYou have turned on OBAM Stats" to player + world is "skyworld": + display board named "&9&lSB &lStats" to player + make score "&cDeaths:" in board of player to {deaths.%player%.skyworld} + make score "&3Creepers:" in board of player to {creeper.kills.%player%} + make score "&3Skeletons:" in board of player to {skeleton.kills.%player%} + make score "&3Spiders:" in board of player to {spider.kills.%player%} + make score "&3Zombies:" in board of player to {zombie.kills.%player%} + make score "&3Endermen:" in board of player to {enderman.kills.%player%} + make score "&3Slimes:" in board of player to {slime.kills.%player%} + make score "&3Witches:" in board of player to {witch.kills.%player%} + make score "&6Total Kills:" in board of player to {total.kills.%player%} + make score "&aTickets:" in board of player to player's balance + move display of player to sidebar + set {board.up.%player%.sb} to true + stop + world is "kitpvpkillingfields": + display board named "&9&lKP &9Stats" to player + make score of "&cDeaths:" in board of player to {deaths.%player%.kit} + make score of "&aKills:" in board of player to {kills.%player%.kit} + make score of "&aKillstreak:" in board of player to {killstreak.%player%} + make score of "&eBounty:" in board of player to {value.%player%.kit.live} + make score of "&aAssists:" in board of player to {assist.%player%.kp} + set {board.up.%player%.sb} to false + set {board.up.%player%.kp} to true + move display of player to sidebar + + +#endfold + + diff --git a/Obam-Tools/eggification.sk b/Obam-Tools/eggification.sk index b5f073c..75df984 100644 --- a/Obam-Tools/eggification.sk +++ b/Obam-Tools/eggification.sk @@ -42,7 +42,7 @@ on join: on shoot: projectile is snowball - shooter's tool is named item stack from "{@egg}": + shooter's tool is {@egg}: set {projeggtile.%projectile%} to true on shoot: @@ -226,7 +226,7 @@ on damage of a pig or chicken or ocelot or squid or cow or bat or wolf or sheep {_bal} is less than 10: send "&cYou do not have enough tickets!" to attacker cancel event - give attacker named item stack from "{@egg}" + give attacker {@egg} stop subtract 10 from attacker's balance send "&aYou have spent &e10&a tickets on capturing a creature!" to attacker @@ -239,7 +239,7 @@ on damage of a pig or chicken or ocelot or squid or cow or bat or wolf or sheep {_bal} is less than 5: send "&cYou do not have enought tickets!" to attacker cancel event - give attacker named item stack from "{@egg}" + give attacker {@egg} stop remove 5 from attacker's balance send "&aYou have spent &e5&a tickets on capturing a creature!" to attacker @@ -322,7 +322,7 @@ on death of a creeper or a zombie or a silverfish or a witch or a spider or magm chance of 20%: - add named item stack from "{@egg}" to drops + add {@egg} to drops clear {player.hit.%event-entity%} on damage of a creeper or a zombie or a silverfish or a witch or a spider or magma cube or wither skeleton or skeleton or enderman or cave spider or slime or ghast or zombie pigman: diff --git a/Obam-Tools/entcount.sk b/Obam-Tools/entcount.sk new file mode 100644 index 0000000..5695eda --- /dev/null +++ b/Obam-Tools/entcount.sk @@ -0,0 +1,42 @@ + +command /ent : + permission: obam.free + description: Counts the living entities in a sphere of specified radius around player + trigger: + {cool.ent.%player%} is not set: + set {cool.ent.%player%} to difference between now and now + add 3 seconds to {cool.ent.%player%} + set {_hold} to difference between now and {cool.ent.%player%} + {_hold} is less than 2 seconds: + send "&cPlease wait ...." + stop + + argument is greater than 160: + send "&cPlease choose a number between &e1 &cand &e160" + stop + loop entities in radius argument of player's location: + + loop-entity is not a player + set {_type} to "%type of loop-entity%" + set {_hold::*} to {_type} split at ":" + + {_count.list::%{_hold::1}%} is not set: + set {_count.list::%{_hold::1}%} to 0 + set {_count.list::%{_hold::1}%} to {_count.list::%{_hold::1}%} + 1 + + {_count.total} is not set: + set {_count.total} to 0 + add 1 to {_count.total} + + + {_count.total} is not set: + send "&eNo entites... MAGIC!" + stop + + send "&aThere are currently &e%{_count.total}%&a entities in the radius of &e%argument%" + send "&aList:" + + loop {_count.list::*}: + send "&a%loop-index%: &e%loop-value%" + + set {cool.ent.%player%} to now \ No newline at end of file diff --git a/Obam-Tools/heads.sk b/Obam-Tools/heads.sk new file mode 100644 index 0000000..cd33ba1 --- /dev/null +++ b/Obam-Tools/heads.sk @@ -0,0 +1,70 @@ +on death of a player: + attacker is a player: + attacker is not victim: + add skull of victim to drops + set {_item.1} to "&3Death Note - &eVICTIM" + set {_item.2} to "&7This note shows that &eATTACKER&7 took the||&7life of &eVICTIM&7 on &eDATE EST" + replace "VICTIM" in {_item.1} with "%victim%" + replace "VICTIM" in {_item.2} with "%victim%" + replace "ATTACKER" in {_item.2} with "%attacker%" + replace "DATE" in {_item.2} with "%now%" + add paper named {_item.1} with lore {_item.2} to drops + +on death of a living entity: + attacker is a player: + chance of 0.5%: + victim is a creeper: + add creeper head to drops + victim is a skeleton: + add skeleton head to drops + victim is a zombie: + add zombie head to drops + victim is a blaze: + set {_player} to "MHF_Blaze" parsed as offline player + add skull of {_player} to drops + victim is a cave spider: + set {_player} to "MHF_CaveSpider" parsed as offline player + add skull of {_player} to drops + victim is a enderman: + set {_player} to "MHF_Enderman" parsed as offline player + add skull of {_player} to drops + victim is a zombie pigman: + set {_player} to "MHF_PigZombie" parsed as offline player + add skull of {_player} to drops + victim is a ghast: + set {_player} to "MHF_Ghast" parsed as offline player + add skull of {_player} to drops + victim is a chicken: + set {_player} to "MHF_Chicken" parsed as offline player + add skull of {_player} to drops + victim is a cow: + set {_player} to "MHF_Cow" parsed as offline player + add skull of {_player} to drops + victim is magma cube: + set {_player} to "MHF_LavaSlime" parsed as offline player + add skull of {_player} to drops + victim is iron golem: + set {_player} to "MHF_Golem" parsed as offline player + add skull of {_player} to drops + victim is ocelot: + set {_player} to "MHF_Ocelot" parsed as offline player + add skull of {_player} to drops + victim is pig: + set {_player} to "MHF_Pig" parsed as offline player + add skull of {_player} to drops + victim is sheep: + set {_player} to "MHF_Sheep" parsed as offline player + add skull of {_player} to drops + victim is spider: + set {_player} to "MHF_Spider" parsed as offline player + add skull of {_player} to drops + victim is squid: + set {_player} to "MHF_Squid" parsed as offline player + add skull of {_player} to drops + victim is slime: + set {_player} to "MHF_Slime" parsed as offline player + add skull of {_player} to drops + victim is villagers: + set {_player} to "MHF_Villager" parsed as offline player + add skull of {_player} to drops + diff --git a/Obam-Tools/ihs.sk b/Obam-Tools/ihs.sk new file mode 100644 index 0000000..3a6184b --- /dev/null +++ b/Obam-Tools/ihs.sk @@ -0,0 +1,110 @@ +#IHS +options: + dirt: i;dirt;n;&b&nDirt;l;&7Click to claim your &epurchased dirt.;c;sudo %player% redeem dirt + grass: i;grass;n;&b&nGrass;l;&7Click to claim your &epurchased grass.;c;sudo %player% redeem grass + sand: i;sand;n;&b&nSand;l;&7Click to claim your &epurchased sand.;c;sudo %player% redeem sand + redstone: i;redstone;n;&b&nRedstone;l;&7Click to claim your &epurchased redstone.;c;sudo %player% redeem redstone + lavabucket: i;lava bucket;n;&b&nLava Bucket;l;&7Click to claim your &epurchased lava buckets.;c;sudo %player% redeem lava bucket + dampener: i;fullblock spruce wood block;n;&b&nxPlosion Dampener;l;&7Click to claim your &epurchased xPlosion Dampeners.;c;sudo %player% redeem fullblock spruce wood block +command /itemstore : + permission: obam.admin + trigger: + {db_ihs.%player-argument%.%argument 2%} is set: + add argument 3 to {db_ihs.%player-argument%.%argument 2%} + send "&aYou have made a purchase! Type &e/redeem&a to redeem your items!" to player-argument + play level up at location of offline player-argument with pitch 2 + wait 0.2 seconds + play level up at location of offline player-argument with pitch 2 + wait 0.2 seconds + play level up at location of offline player-argument with pitch 2 + wait 0.2 seconds + play level up at location of offline player-argument with pitch 2 + wait 0.2 seconds + play level up at location of offline player-argument with pitch 2 + stop + set {db_ihs.%player-argument%.%argument 2%} to argument 3 + set {db_alert.redeem.%player-argument%} to true + send "&aYou have made a purchase! Type &e/redeem&a to redeem your items!" to player-argument + play level up at location of offline player-argument with pitch 2 + wait 0.2 seconds + play level up at location of offline player-argument with pitch 2 + wait 0.2 seconds + play level up at location of offline player-argument with pitch 2 + wait 0.2 seconds + play level up at location of offline player-argument with pitch 2 + wait 0.2 seconds + play level up at location of offline player-argument with pitch 2 + +on join: + {db_alert.redeem.%player%} is true + send "&c&lYou have items waiting to be redeemed! Use &e/redeem &c<o redeem your items!" to player + play level up at location of player with pitch 2 + wait 0.2 seconds + play level up at location of player with pitch 2 + wait 0.2 seconds + play level up at location of player with pitch 2 + wait 0.2 seconds + play level up at location of player with pitch 2 + wait 0.2 seconds + play level up at location of player with pitch 2 + + + +command /redeem []: + permission: obam.free + executable by: players + trigger: + + argument is not set: + world is "skyworld": + show "s;1;{@dirt};s;2;{@grass};s;3;{@sand};s;4;{@redstone};s;5;{@lavabucket};s;6;{@dampener}" with 1 row named "&9&lOBAM &9Redeem" to player + stop + + world is "world": + show "s;1;{@dampener}" with 1 row named "&9&lOBAM &9Redeem" to player + stop + + send "&cMake sure you are in the right world!" to player + + + argument is set: + {db_ihs.%player%.%argument%} is 0: + send "&cYou do not have any of this item to redeem! If this is incorrect, please contact the Administrator" to player + stop + + {db_ihs.%player%.%argument%} is not set: + send "&cYou do not have any of this item to redeem! If this is incorrect, please contact the Administrator" to player + stop + give player {db_ihs.%player%.%argument%} of item-argument + argument is fullblock spruce wood block: + {db_ihs.%player%.%argument%} is less than 2: + send "&aYou have received your &e%{db_ihs.%player%.%argument%}% xPlosion Dampener&a! Thank you for your purchase!" + set {db_ihs.%player%.%argument%} to 0 + set {db_alert.redeem.%player%} to false + stop + + send "&aYou have received your &e%{db_ihs.%player%.%argument%}% xPlosion Dampeners&a! Thank you for your purchase!" + set {db_ihs.%player%.%argument%} to 0 + set {db_alert.redeem.%player%} to false + stop + send "&aYou have received your &e%{db_ihs.%player%.%argument%}% %argument%&a! Thank you for your purchase!" + set {db_ihs.%player%.%argument%} to 0 + set {db_alert.redeem.%player%} to false + + send "&cIf you did not have a menu open, ensure you are in the correct world for redeeming! D:" to player + + +command /ihslist : + permission: obam.admin + trigger: + send "%{db_ihs.%text argument%.%argument 2%}% %argument 2% on file" to player + +command /sudo [] []: + executable by: console and players + permission: obam.admin + trigger: + has permission "obam.staff.admin" + make player-argument execute command "%argument 2%" + + + \ No newline at end of file diff --git a/Obam-Tools/moderate.sk b/Obam-Tools/moderate.sk index 40e988f..cdd0639 100644 --- a/Obam-Tools/moderate.sk +++ b/Obam-Tools/moderate.sk @@ -34,7 +34,7 @@ command /monitor: {monitor.%player%} is true: set {monitor.%player%} to false reveal player to all players - disallow player to fly + set flight state of player to false teleport player to {loc.mon.%player%} set {tim.mon.%player%} to difference between {tim.mon.%player%} and now send "&aYou are no longer in monitor mode! You have been returned to your position!" @@ -47,7 +47,7 @@ command /monitor: set {monitor.%player%} to true set {tim.mon.%player%} to now hide player from all players - allow player to fly + set flight state of player to true send "&aYou are now in monitor mode!" to player log "%player%^MONITOR ENABLE ACTION^%{loc.mon.%player%}%" to "admin/actions.log" @@ -56,7 +56,7 @@ every 1 second: loop all players: {monitor.%loop-player%} is true: hide loop-player from all players - allow loop-player to fly + set flight state of loop-player to true on damage of a player: {monitor.%victim%} is true: diff --git a/Obam-Tools/tam.sk b/Obam-Tools/tam.sk new file mode 100644 index 0000000..57f9af7 --- /dev/null +++ b/Obam-Tools/tam.sk @@ -0,0 +1,121 @@ +every 1 minute: + + loop all players: + + + loop-player does not have permission "obam.supporter": + + add 1 to loop-player's balance + + {session.tam.%loop-player%} is not set: + set {session.tam.%loop-player%} to 0 + add 1 to {session.tam.%loop-player%} + + {db_total.tam.%loop-player%} is not set: + set {db_total.tam.%loop-player%} to 0 + add 1 to {db_total.tam.%loop-player%} + + {db_total.tam} is not set: + set {db_total.tam} to 0 + add 1 to {db_total.tam} + + {db_total.reg} is not set: + set {db_total.reg} to 0 + add 1 to {db_total.reg} + + + loop-player has permission "obam.supporter": + + loop-player does not have permission "obam.plus" + + add 2 to loop-player's balance + + {session.tam.%loop-player%} is not set: + set {session.tam.%loop-player%} to 0 + add 2 to {session.tam.%loop-player%} + + {db_total.tam.%loop-player%} is not set: + set {db_total.tam.%loop-player%} to 0 + add 2 to {db_total.tam.%loop-player%} + + {db_total.tam} is not set: + set {db_total.tam} to 0 + add 2 to {db_total.tam} + + {db_total.sup} is not set: + set {db_total.sup} to 0 + add 2 to {db_total.sup} + + + loop-player has permission "obam.plus": + + loop-player does not have permission "obam.ultimate" + + add 3 to loop-player's balance + + {session.tam.%loop-player%} is not set: + set {session.tam.%loop-player%} to 0 + add 3 to {session.tam.%loop-player%} + + {db_total.tam.%loop-player%} is not set: + set {db_total.tam.%loop-player%} to 0 + add 3 to {db_total.tam.%loop-player%} + + {db_total.tam} is not set: + set {db_total.tam} to 0 + add 3 to {db_total.tam} + + {db_total.plus} is not set: + set {db_total.plus} to 0 + add 3 to {db_total.plus} + + loop-player has permission "obam.ultimate": + + add 4 to loop-player's balance + + {session.tam.%loop-player%} is not set: + set {session.tam.%loop-player%} to 0 + add 4 to {session.tam.%loop-player%} + + {db_total.tam.%loop-player%} is not set: + set {db_total.tam.%loop-player%} to 0 + add 4 to {db_total.tam.%loop-player%} + + + {db_total.tam} is not set: + set {db_total.tam} to 0 + add 4 to {db_total.tam} + + {db_total.ult} is not set: + set {db_total.ult} to 0 + add 4 to {db_total.ult} + +command /tam: + permission: obam.free + trigger: + + send "&aTotal Tickets earned with -TAM-:" + send "&e%{db_total.tam.%player%}%" + send "&aTotal this session:" + send "&e%{session.tam.%player%}%" + send "&aTotal Tickets:" + send "&e%player's balance%" + + +command /tamtotal: + permission: obam.admin + trigger: + send "&aTotal Global Tickets earned with -TAM-:" + send "&e%{db_total.tam}%" + send "&aRegular:" + send "&e%{db_total.reg}%" + send "&aSupporter:" + send "&e%{db_total.sup}%" + send "&aPlus:" + send "&e%{db_total.plus}%" + send "&aUltimate:" + send "&e%{db_total.ult}%" + +on join: + set {session.tam.%player%} to 0 + \ No newline at end of file From 6914302b9c29a08d01c5769748f5069960f3b0e4 Mon Sep 17 00:00:00 2001 From: ismooch Date: Sat, 24 May 2014 15:30:18 -0500 Subject: [PATCH 13/22] --updaated loads of stuff --- OBAM-Voting/prizewheel.sk | 58 +++--- OBAM-Voting/vote.sk | 53 ++++++ OBAM-Voting/votetoken.sk | 7 +- Obam-General/connect.sk | 34 ++++ Obam-General/firstjoin.sk | 15 +- Obam-Skyblock/animals.sk | 3 +- Obam-Survival/fortune.sk | 360 ++++++++++++++++++++++++++++-------- Obam-Survival/fortuneFIX.sk | 193 +++++++++++++++++++ Obam-Survival/landclaim.sk | 7 + Obam-Testing/enchnattest.sk | 2 + Obam-Testing/schat2.sk | 151 ++++++++++++++- Obam-Testing/schatbridge.sk | 68 ++++++- Obam-Testing/unbreak.sk | 13 ++ Obam-Testing/wtfmike.sk | 17 ++ Obam-Testing/wtfronts.sk | 261 +++++++++++++++++++++++--- Obam-Tools/eggification.sk | 10 +- Obam-Tools/entcount.sk | 71 ++++++- Obam-Tools/moderate.sk | 19 +- 18 files changed, 1185 insertions(+), 157 deletions(-) create mode 100644 Obam-General/connect.sk create mode 100644 Obam-Survival/fortuneFIX.sk create mode 100644 Obam-Testing/enchnattest.sk create mode 100644 Obam-Testing/unbreak.sk create mode 100644 Obam-Testing/wtfmike.sk diff --git a/OBAM-Voting/prizewheel.sk b/OBAM-Voting/prizewheel.sk index 20720fa..92328e2 100644 --- a/OBAM-Voting/prizewheel.sk +++ b/OBAM-Voting/prizewheel.sk @@ -359,16 +359,16 @@ command /prize [] [] [] []: stop {_ran} is 4: - {db_winnings.chest.%player%.fronts::enchanted book of unbreaking 4} is not set: - set {db_winnings.chest.%player%.fronts::enchanted book of unbreaking 4} to 1 - send "&aYou have won &e1 enchanted book of unbreaking 4&a for &eFronts!" + {db_winnings.chest.%player%.fronts::diamond pickaxe of unbreaking 4} is not set: + set {db_winnings.chest.%player%.fronts::diamond pickaxe of unbreaking 4} to 1 + send "&aYou have won &e1 diamond pickaxe of unbreaking 4&a for &eFronts!" send "&aUse &e/prize claim&a in Fronts to claim!" - log "%player%^ADD^1^enchanted book of unbreaking 4^SEMIRARE PRIZE db_winnings" to "prizewheel/db_winnings.log" + log "%player%^ADD^1^diamond pickaxe of unbreaking 4^SEMIRARE PRIZE db_winnings" to "prizewheel/db_winnings.log" stop - add 1 to {db_winnings.chest.%player%.fronts::enchanted book of unbreaking 4} - send "&aYou have won &e1 enchanted book of unbreaking 4&a for &eFronts!" + add 1 to {db_winnings.chest.%player%.fronts::diamond pickaxe of unbreaking 4} + send "&aYou have won &e1 diamond pickaxe of unbreaking 4&a for &eFronts!" send "&aUse &e/prize claim&a in Fronts to claim!" - log "%player%^ADD^1^enchanted book of unbreaking 4^SEMIRARE PRIZE db_winnings" to "prizewheel/db_winnings.log" + log "%player%^ADD^1^diamond pickaxe of unbreaking 4^SEMIRARE PRIZE db_winnings" to "prizewheel/db_winnings.log" stop chance of 25%: @@ -547,16 +547,16 @@ command /prize [] [] [] []: stop {_ran} is 14: - {db_winnings.chest.%player%.fronts::enchanted book of fortune 3} is not set: - set {db_winnings.chest.%player%.fronts::enchanted book of fortune 3} to 1 - send "&aYou have won &e1 enchanted book of fortune 3&a for &eFronts!" + {db_winnings.chest.%player%.fronts::diamond pickaxe of fortune 3} is not set: + set {db_winnings.chest.%player%.fronts::diamond pickaxe of fortune 3} to 1 + send "&aYou have won &e1 diamond pickaxe of fortune 3&a for &eFronts!" send "&aUse &e/prize claim&a in Fronts to claim!" - log "%player%^ADD^1^enchanted book of fortune 3^UNCOMMON PRIZE db_winnings" to "prizewheel/db_winnings.log" + log "%player%^ADD^1^diamond pickaxe of fortune 3^UNCOMMON PRIZE db_winnings" to "prizewheel/db_winnings.log" stop - add 1 to {db_winnings.chest.%player%.fronts::enchanted book of fortune 3} - send "&aYou have won &e1 enchanted book of fortune 3&a for &eFronts!" + add 1 to {db_winnings.chest.%player%.fronts::diamond pickaxe of fortune 3} + send "&aYou have won &e1 diamond pickaxe of fortune 3&a for &eFronts!" send "&aUse &e/prize claim&a in Fronts to claim!" - log "%player%^ADD^1^enchanted book of fortune 3^UNCOMMON PRIZE db_winnings" to "prizewheel/db_winnings.log" + log "%player%^ADD^1^diamond pickaxe of fortune 3^UNCOMMON PRIZE db_winnings" to "prizewheel/db_winnings.log" stop {_ran} is 15: @@ -771,28 +771,28 @@ command /prize [] [] [] []: stop {_ran} is 8: - {db_winnings.chest.%player%.fronts::enchanted book of unbreaking 3} is not set: - set {db_winnings.chest.%player%.fronts::enchanted book of unbreaking 3} to 1 - send "&aYou have won &e1 enchanted book of unbreaking 3&a for &eFronts!" + {db_winnings.chest.%player%.fronts::diamond pickaxe of unbreaking 3} is not set: + set {db_winnings.chest.%player%.fronts::diamond pickaxe of unbreaking 3} to 1 + send "&aYou have won &e1 diamond pickaxe of unbreaking 3&a for &eFronts!" send "&aUse &e/prize claim&a in Fronts to claim!" - log "%player%^ADD^1^enchanted book of unbreaking 3^COMMON PRIZE db_winnings" to "prizewheel/db_winnings.log" + log "%player%^ADD^1^diamond pickaxe of unbreaking 3^COMMON PRIZE db_winnings" to "prizewheel/db_winnings.log" stop - add 1 to {db_winnings.chest.%player%.fronts::enchanted book of unbreaking 3} - send "&aYou have won &e1 enchanted book of unbreaking 3&a for &eFronts!" + add 1 to {db_winnings.chest.%player%.fronts::diamond pickaxe of unbreaking 3} + send "&aYou have won &e1 diamond pickaxe of unbreaking 3&a for &eFronts!" send "&aUse &e/prize claim&a in Fronts to claim!" - log "%player%^ADD^1^enchanted book of unbreaking 3^COMMON PRIZE db_winnings" to "prizewheel/db_winnings.log" + log "%player%^ADD^1^diamond pickaxe of unbreaking 3^COMMON PRIZE db_winnings" to "prizewheel/db_winnings.log" {_ran} is 9: - {db_winnings.chest.%player%.fronts::enchanted book of silk touch} is not set: - set {db_winnings.chest.%player%.fronts::enchanted book of silk touch} to 1 - send "&aYou have won &e1 enchanted book of silk touch&a for &eFronts!" + {db_winnings.chest.%player%.fronts::diamond pickaxe of silk touch} is not set: + set {db_winnings.chest.%player%.fronts::diamond pickaxe of silk touch} to 1 + send "&aYou have won &e1 diamond pickaxe of silk touch&a for &eFronts!" send "&aUse &e/prize claim&a in Fronts to claim!" - log "%player%^ADD^1^enchanted book of silk touch^COMMON PRIZE db_winnings" to "prizewheel/db_winnings.log" + log "%player%^ADD^1^diamond pickaxe of silk touch^COMMON PRIZE db_winnings" to "prizewheel/db_winnings.log" stop - add 1 to {db_winnings.chest.%player%.fronts::enchanted book of silk touch} - send "&aYou have won &e1 enchanted book of silk touch&a for &eFronts!" + add 1 to {db_winnings.chest.%player%.fronts::diamond pickaxe of silk touch} + send "&aYou have won &e1 diamond pickaxe of silk touch&a for &eFronts!" send "&aUse &e/prize claim&a in Fronts to claim!" - log "%player%^ADD^1^enchanted book of silk touch^COMMON PRIZE db_winnings" to "prizewheel/db_winnings.log" + log "%player%^ADD^1^diamond pickaxe of silk touch^COMMON PRIZE db_winnings" to "prizewheel/db_winnings.log" {_ran} is 10: {db_winnings.chest.%player%.fronts::diamond} is not set: @@ -863,7 +863,7 @@ command /prizefix : command /fixbook: permission: obamm.free trigger: - player's tool is enchanted book: + player's tool is diamond pickaxe: set {_hold} to "%player's tool%" set {_hold} to {_hold} parsed as item send "%{_hold}%" diff --git a/OBAM-Voting/vote.sk b/OBAM-Voting/vote.sk index 6c84884..a4ce703 100644 --- a/OBAM-Voting/vote.sk +++ b/OBAM-Voting/vote.sk @@ -20,6 +20,21 @@ command /vote [] [] []: send "&3&l==========================================" send "&eVote for &6&lOBAM&fCraft &eon the following server lists" send "&eto earn special prizes and win OBAM Tickets! " + {db_votetokens.%{_player}%} is not set: + set {_tmp.mes} to "&aYou can get a Prize Token now!" + set {_waited} to difference between {db_votetokens.%{_player}%.time} and now + {_waited} is more than a day: + set {_tmp.mes} to "&aYou can get a Prize Token now!" + {_waited} is less than a day: + set {_tmp.time} to {_waited} + set {_tmp.hold} to difference between now and now + add 24 hours to {_tmp.hold} + subtract {_tmp.time} from {_tmp.hold} + set {_tmp.time} to {_tmp.hold} + + set {_tmp.mes} to "&aYour next Prize Token is available in &e%{_tmp.time}%&a!" + send " " + send "%{_tmp.mes}%" send " " send "&2&l✔&f - Voted Today &d| &c&lX&f - Not Voted Today" send " " @@ -393,6 +408,44 @@ command /vote [] [] []: send "&a10. - %{_vote.check0}% - %{db_obam.vote.link.10}%" to player clear {_message} clear {_waited} + + set {_waited} to difference between now and {db_server.mineserverscom.%{_player}%} + clear {time.vote::*} + {_waited} is less than 1 day: + set {_vote.check0} to "&a[&2&l✔&a]" + {_waited} is more than 1 day: + set {_vote.check0} to "&a[&c&lX&a]" + {_waited} is not set: + set {_vote.check0} to "&a[&c&lX&a]" + set {_message0} to "Now Availible!" + {_waited} is less than 1 day: + set {_time} to {db_server.mineservers.%{_player}%} + add 1 day to {_time} + set {_time} to difference between {_time} and now + {_time} is greater than 1 hour: + set {_time} to "%{_time}%" + clear {time.vote::*} + set {time.vote::*} to {_time} parsed as "%number% hour[s] and %integer%.%integer% minute[s]" + + set {_hrs} to {time.vote::1} + set {_mins} to {time.vote::2} + set {_message0} to "&eVote in &a%{time.vote::1}%h &e& &a%{time.vote::2}%m" + {_time} is less than 1 hour: + set {_time} to "%{_time}%" + clear {time.vote::*} + set {time.vote::*} to {_time} parsed as "%number% minute[s] and %integer%.%integer% minute[s]" + set {_message0} to "&eVote in &a%{time.vote::1}%m &e& &a%{time.vote::2}%s" + {_time} is less than 1 minute: + set {_message0} to "&In a few seconds!" + {_waited} is more than 1 day: + set {_message0} to "Now available!" + + {db_server.mineserverscom.%{_player}%} is not set: + set {_vote.check0} to "&a[&c&lX&a]" + send "&a11. - %{_vote.check0}% - %{db_obam.vote.link.11}%" to player + clear {_message} + clear {_waited} + argument 1 is "set" or "s": diff --git a/OBAM-Voting/votetoken.sk b/OBAM-Voting/votetoken.sk index 4cac71c..008a612 100644 --- a/OBAM-Voting/votetoken.sk +++ b/OBAM-Voting/votetoken.sk @@ -40,6 +40,8 @@ command /votetoken [] []: set {db_server.minecraftmpcom.%argument 1%} to now argument 2 is "minecraftservers": set {db_server.minecraftservers.%argument 1%} to now + argument 2 is "mineservers.com": + set {db_server.mineserverscom.%argument 1%} to now set {db_votetokens.%argument 1%.time} to now set {db_votetokens.%argument 1%.lserv} to argument 2 execute console command "/alert %argument 1% just received their first &ePrize Token!" @@ -72,7 +74,8 @@ command /votetoken [] []: set {db_server.minecraftmpcom.%argument 1%} to now argument 2 is "minecraftservers": set {db_server.minecraftservers.%argument 1%} to now - set {db_server.mcserverlistcom.%argument 1%} to now + argument 2 is "mineservers.com": + set {db_server.mineserverscom.%argument 1%} to now execute console command "/alert %argument 1% just received a &ePrize Token&5 by voting on %argument 2%!" log "%argument 1%^VOTETOKEN^ADD^1^SERVICE^%argument 2%" to "vote/TOKENS.log" stop @@ -103,6 +106,8 @@ command /votetoken [] []: set {db_server.minecraftmpcom.%argument 1%} to now argument 2 is "minecraftservers": set {db_server.minecraftservers.%argument 1%} to now + argument 2 is "mineservers.com": + set {db_server.mineserverscom.%argument 1%} to now {_bal} is not set: {offline.%{_player}%.ticketadd} is not set: set {offline.%{_player}%.ticketadd} to 0 diff --git a/Obam-General/connect.sk b/Obam-General/connect.sk new file mode 100644 index 0000000..cff5664 --- /dev/null +++ b/Obam-General/connect.sk @@ -0,0 +1,34 @@ + + + + + + +command /connect : + permission: obam.admin + trigger: + broadcast "&7%argument% has connected" + +command /disconnect : + permission: obam.admin + trigger: + broadcast "&7%argument% has disconnected" + + + +on join: + set join message to " " + set {db_online.%player%} to true + + +on quit: + set quit message to " " + set {db_online.%player%} to false + set {db_online.%player%.logoff} to now + wait 5 seconds + {db_online.%player%} is false + execute console command "/disconnect %player%" + forward command "disconnect %player%" to console + + + diff --git a/Obam-General/firstjoin.sk b/Obam-General/firstjoin.sk index 5e0c405..84832a6 100644 --- a/Obam-General/firstjoin.sk +++ b/Obam-General/firstjoin.sk @@ -1,4 +1,13 @@ on first join: - broadcast "&eEveryone Welcome &e&l%player%&e to WTFronts!" - message "&aWelcome to &eWTFronts&a! Please feel free to comment on this open beta!" to player - \ No newline at end of file + execute console command "/new %player%" + + +command /new : + permission: obam.admin + trigger: + broadcast " " + broadcast "&3-----------------------------------------------------" + broadcast "&fEveryone give an &6&lOBAM&fCraft welcome to, &6%argument%&f!" + broadcast "&3-----------------------------------------------------" + broadcast " " + forward command "new %argument%" to console \ No newline at end of file diff --git a/Obam-Skyblock/animals.sk b/Obam-Skyblock/animals.sk index b377bd4..d92c42c 100644 --- a/Obam-Skyblock/animals.sk +++ b/Obam-Skyblock/animals.sk @@ -1,8 +1,7 @@ on damage of a entity: world is "skyworld" attacker is a player - victim is a zombie or skeleton or witch or spider or creeper or enderman: - stop + victim is not a zombie or skeleton or witch or spider or creeper or enderman attacker can't build at location of attacker: send "&cThis area is protected!" to attacker cancel event diff --git a/Obam-Survival/fortune.sk b/Obam-Survival/fortune.sk index 44157e7..8a4b5d0 100644 --- a/Obam-Survival/fortune.sk +++ b/Obam-Survival/fortune.sk @@ -103,39 +103,32 @@ every 15 minutes: send "&7Your chances of fortune have increased!" to loop-player on mine: - {chunk.live.%chunk at location of event-block%} is not name of player: - {chunk.live.%chunk at location of event-block%.%player%} is not set: - cancel event - stop - {fortune.spam.%player%} is greater than 16: - set {fortune.spam.%player%} to 0 - {for.ran.%player%} is not set: - set {for.ran.%player%} to random integer between 5 and 15 - {current.aura.%player%} is "fortune": - {abstain.%player%} is true: - clear {current.aura.%player%} - {abstain.%player%} is "wait abstain": - clear {current.auar.%player%} - event-block is diamond ore or emerald ore or gold ore or iron ore or lapis ore or redstone ore or coal ore or nether quartz ore: + + +on mine of diamond ore: + {current.aura.%player%} is "fortune" + chance of {fortune.chance.%player%}%: + {chunk.live.%chunk at location of event-block%} is set: + {chunk.live.%chunk at location of event-block%} is not "%name of player%" + {chunk.live.%chunk at location of event-block%.%player%} is not set: + cancel event + stop + {fortune.spam.%player%} is greater than 16: + set {fortune.spam.%player%} to 0 + {for.ran.%player%} is not set: + set {for.ran.%player%} to random integer between 5 and 15 + {current.aura.%player%} is "fortune": + {abstain.%player%} is true: + clear {current.aura.%player%} + {abstain.%player%} is "wait abstain": + clear {current.aura.%player%} + player's tool is a pickaxe of silk touch: send "&cYour fortune aura has no effect with this enchantment!" to player stop {chunk.live.%chunk at location of event-block%} is set: send "&cYour fortune aura has no effect in this area." - stop - {chunk.live.%chunk south of event-block%} is set: - send "&cYour fortune aura has no effect in this area, go further out!" to player - stop - {chunk.live.%chunk west of event-block%} is set: - send "&cYour fortune aura has no effect in this area, go further out!" to player stop - {chunk.live.%chunk north of event-block%} is set: - send "&cYour fortune aura has no effect in this area, go further out!" to player - stop - {chunk.live.%chunk east of event-block%} is set: - send "&cYour fortune aura has no effect in this area, go further out!" to player - stop - {fortune.spam.%player%} is greater than {for.ran.%player%}: loop all players: @@ -143,61 +136,274 @@ on mine: send "&3&lIt seems %player% hit the %block% jackpot at %location of player%!" to loop-player set {fortune.spam.%player%} to 0 set {for.ran.%player%} to random integer between 5 and 15 - {current.aura.%player%} is "fortune" - event-block is diamond ore: + send "&aFortune Favours you!" to player + drop 1 diamond add 1 to {fortune.spam.%player%} - chance of {fortune.chance.%player%}%: - cancel event - delete event-block - drop 1 diamond - send "&aFortune favours you!" to player - drop 1 diamond - add 1 to {fortune.spam.%player%} - event-block is emerald ore: + +on mine of emerald ore: + {current.aura.%player%} is "fortune" + chance of {fortune.chance.%player%}%: + {chunk.live.%chunk at location of event-block%} is set: + {chunk.live.%chunk at location of event-block%} is not "%name of player%" + {chunk.live.%chunk at location of event-block%.%player%} is not set: + cancel event + stop + {fortune.spam.%player%} is greater than 16: + set {fortune.spam.%player%} to 0 + {for.ran.%player%} is not set: + set {for.ran.%player%} to random integer between 5 and 15 + {current.aura.%player%} is "fortune": + {abstain.%player%} is true: + clear {current.aura.%player%} + {abstain.%player%} is "wait abstain": + clear {current.aura.%player%} + + player's tool is a pickaxe of silk touch: + send "&cYour fortune aura has no effect with this enchantment!" to player + stop + {chunk.live.%chunk at location of event-block%} is set: + send "&cYour fortune aura has no effect in this area." + stop + {fortune.spam.%player%} is greater than {for.ran.%player%}: + loop all players: + + {aura.alert.%loop-player%} is true: + send "&3&lIt seems %player% hit the %block% jackpot at %location of player%!" to loop-player + set {fortune.spam.%player%} to 0 + set {for.ran.%player%} to random integer between 5 and 15 + send "&aFortune favours you!" to player + drop 1 emerald add 1 to {fortune.spam.%player%} - chance of {fortune.chance.%player%}%: - send "&aFortune favours you!" to player - drop 1 emerald - add 1 to {fortune.spam.%player%} - event-block is gold ore: + +on mine of gold ore: + {current.aura.%player%} is "fortune" + chance of {fortune.chance.%player%}%: + {chunk.live.%chunk at location of event-block%} is set: + {chunk.live.%chunk at location of event-block%} is not "%name of player%" + {chunk.live.%chunk at location of event-block%.%player%} is not set: + cancel event + stop + {fortune.spam.%player%} is greater than 16: + set {fortune.spam.%player%} to 0 + {for.ran.%player%} is not set: + set {for.ran.%player%} to random integer between 5 and 15 + {current.aura.%player%} is "fortune": + {abstain.%player%} is true: + clear {current.aura.%player%} + {abstain.%player%} is "wait abstain": + clear {current.aura.%player%} + + player's tool is a pickaxe of silk touch: + send "&cYour fortune aura has no effect with this enchantment!" to player + stop + {chunk.live.%chunk at location of event-block%} is set: + send "&cYour fortune aura has no effect in this area." + stop + {fortune.spam.%player%} is greater than {for.ran.%player%}: + loop all players: + + {aura.alert.%loop-player%} is true: + send "&3&lIt seems %player% hit the %block% jackpot at %location of player%!" to loop-player + set {fortune.spam.%player%} to 0 + set {for.ran.%player%} to random integer between 5 and 15 + cancel event + delete event-block + drop 1 gold ingot + send "&aFortune favours you!" to player + drop 1 gold ingot add 1 to {fortune.spam.%player%} - chance of {fortune.chance.%player%}%: - cancel event - delete event-block - drop 1 gold ingot - send "&aFortune favours you!" to player - drop 1 gold ingot - add 1 to {fortune.spam.%player%} - event-block is iron ore: + +on mine of iron ore: + {current.aura.%player%} is "fortune" + chance of {fortune.chance.%player%}%: + {chunk.live.%chunk at location of event-block%} is set: + {chunk.live.%chunk at location of event-block%} is not "%name of player%" + {chunk.live.%chunk at location of event-block%.%player%} is not set: + cancel event + stop + {fortune.spam.%player%} is greater than 16: + set {fortune.spam.%player%} to 0 + {for.ran.%player%} is not set: + set {for.ran.%player%} to random integer between 5 and 15 + {current.aura.%player%} is "fortune": + {abstain.%player%} is true: + clear {current.aura.%player%} + {abstain.%player%} is "wait abstain": + clear {current.aura.%player%} + + player's tool is a pickaxe of silk touch: + send "&cYour fortune aura has no effect with this enchantment!" to player + stop + {chunk.live.%chunk at location of event-block%} is set: + send "&cYour fortune aura has no effect in this area." + stop + {fortune.spam.%player%} is greater than {for.ran.%player%}: + loop all players: + + {aura.alert.%loop-player%} is true: + send "&3&lIt seems %player% hit the %block% jackpot at %location of player%!" to loop-player + set {fortune.spam.%player%} to 0 + set {for.ran.%player%} to random integer between 5 and 15 + cancel event + delete event-block + drop 1 iron ingot + send "&aFortune favours you!" to player + drop 1 iron ingot add 1 to {fortune.spam.%player%} - chance of {fortune.chance.%player%}%: - cancel event - delete event-block - drop 1 iron ingot - send "&aFortune favours you!" to player - drop 1 iron ingot - add 1 to {fortune.spam.%player%} - event-block is lapis ore: + +on mine of lapis ore: + + {current.aura.%player%} is "fortune" + chance of {fortune.chance.%player%}%: + {chunk.live.%chunk at location of event-block%} is set: + {chunk.live.%chunk at location of event-block%} is not "%name of player%" + {chunk.live.%chunk at location of event-block%.%player%} is not set: + cancel event + stop + {fortune.spam.%player%} is greater than 16: + set {fortune.spam.%player%} to 0 + {for.ran.%player%} is not set: + set {for.ran.%player%} to random integer between 5 and 15 + {current.aura.%player%} is "fortune": + {abstain.%player%} is true: + clear {current.aura.%player%} + {abstain.%player%} is "wait abstain": + clear {current.aura.%player%} + + player's tool is a pickaxe of silk touch: + send "&cYour fortune aura has no effect with this enchantment!" to player + stop + {chunk.live.%chunk at location of event-block%} is set: + send "&cYour fortune aura has no effect in this area." + stop + {fortune.spam.%player%} is greater than {for.ran.%player%}: + loop all players: + + {aura.alert.%loop-player%} is true: + send "&3&lIt seems %player% hit the %block% jackpot at %location of player%!" to loop-player + set {fortune.spam.%player%} to 0 + set {for.ran.%player%} to random integer between 5 and 15 + send "&aFortune favours you!" to player + drop 1 lapis block add 1 to {fortune.spam.%player%} - chance of {fortune.chance.%player%}%: - send "&aFortune favours you!" to player - drop 1 lapis - add 1 to {fortune.spam.%player%} - event-block is redstone ore: + + +on mine of redstone ore: + {current.aura.%player%} is "fortune" + chance of {fortune.chance.%player%}%: + {chunk.live.%chunk at location of event-block%} is set: + {chunk.live.%chunk at location of event-block%} is not "%name of player%" + {chunk.live.%chunk at location of event-block%.%player%} is not set: + cancel event + stop + {fortune.spam.%player%} is greater than 16: + set {fortune.spam.%player%} to 0 + {for.ran.%player%} is not set: + set {for.ran.%player%} to random integer between 5 and 15 + {current.aura.%player%} is "fortune": + {abstain.%player%} is true: + clear {current.aura.%player%} + {abstain.%player%} is "wait abstain": + clear {current.aura.%player%} + + player's tool is a pickaxe of silk touch: + send "&cYour fortune aura has no effect with this enchantment!" to player + stop + {chunk.live.%chunk at location of event-block%} is set: + send "&cYour fortune aura has no effect in this area." + stop + {fortune.spam.%player%} is greater than {for.ran.%player%}: + loop all players: + + {aura.alert.%loop-player%} is true: + send "&3&lIt seems %player% hit the %block% jackpot at %location of player%!" to loop-player + set {fortune.spam.%player%} to 0 + set {for.ran.%player%} to random integer between 5 and 15 + send "&aFortune favours you!" to player + drop 1 redstone block add 1 to {fortune.spam.%player%} - chance of {fortune.chance.%player%}%: - send "&aFortune favours you!" to player - drop 1 redstone - add 1 to {fortune.spam.%player%} - event-block is coal ore: + +on mine of coal ore: + {current.aura.%player%} is "fortune" + chance of {fortune.chance.%player%}%: + {chunk.live.%chunk at location of event-block%} is set: + {chunk.live.%chunk at location of event-block%} is not "%name of player%" + {chunk.live.%chunk at location of event-block%.%player%} is not set: + cancel event + stop + {fortune.spam.%player%} is greater than 16: + set {fortune.spam.%player%} to 0 + {for.ran.%player%} is not set: + set {for.ran.%player%} to random integer between 5 and 15 + {current.aura.%player%} is "fortune": + {abstain.%player%} is true: + clear {current.aura.%player%} + {abstain.%player%} is "wait abstain": + clear {current.aura.%player%} + + player's tool is a pickaxe of silk touch: + send "&cYour fortune aura has no effect with this enchantment!" to player + stop + {chunk.live.%chunk at location of event-block%} is set: + send "&cYour fortune aura has no effect in this area." + stop + + {fortune.spam.%player%} is greater than {for.ran.%player%}: + loop all players: + + {aura.alert.%loop-player%} is true: + send "&3&lIt seems %player% hit the %block% jackpot at %location of player%!" to loop-player + set {fortune.spam.%player%} to 0 + set {for.ran.%player%} to random integer between 5 and 15 + send "&aFortune favours you!" to player + drop 2 coal add 1 to {fortune.spam.%player%} - chance of {fortune.chance.%player%}%: - send "&aFortune favours you!" to player - drop 1 coal - add 1 to {fortune.spam.%player%} - event-block is nether quartz ore: + +on mine of nether quartz ore: + {current.aura.%player%} is "fortune" + chance of {fortune.chance.%player%}%: + {chunk.live.%chunk at location of event-block%} is set: + {chunk.live.%chunk at location of event-block%} is not "%name of player%" + {chunk.live.%chunk at location of event-block%.%player%} is not set: + cancel event + stop + {fortune.spam.%player%} is greater than 16: + set {fortune.spam.%player%} to 0 + {for.ran.%player%} is not set: + set {for.ran.%player%} to random integer between 5 and 15 + {current.aura.%player%} is "fortune": + {abstain.%player%} is true: + clear {current.aura.%player%} + {abstain.%player%} is "wait abstain": + clear {current.aura.%player%} + + player's tool is a pickaxe of silk touch: + send "&cYour fortune aura has no effect with this enchantment!" to player + stop + {chunk.live.%chunk at location of event-block%} is set: + send "&cYour fortune aura has no effect in this area." + stop + + {fortune.spam.%player%} is greater than {for.ran.%player%}: + loop all players: + + {aura.alert.%loop-player%} is true: + send "&3&lIt seems %player% hit the %block% jackpot at %location of player%!" to loop-player + set {fortune.spam.%player%} to 0 + set {for.ran.%player%} to random integer between 5 and 15 + send "&aFortune favours you!" to player + drop 2 nether quartz add 1 to {fortune.spam.%player%} - chance of {fortune.chance.%player%}%: - send "&aFortune favours you!" to player - drop 1 nether quartz - add 1 to {fortune.spam.%player%} + +command /boostshit: + permission: obam.admin + trigger: + {fortune.chance.%player%} is less than 100: + set {fortune.chance.%player%} to 100 + send "&a&lShit boosted" + stop + {fortune.chance.%player%} is greater than 15: + set {fortune.chance.%player%} to 15 + send "&a&lShit Unboosted" + stop + diff --git a/Obam-Survival/fortuneFIX.sk b/Obam-Survival/fortuneFIX.sk new file mode 100644 index 0000000..5ed1ecd --- /dev/null +++ b/Obam-Survival/fortuneFIX.sk @@ -0,0 +1,193 @@ +#The Fortune Aura will cause minerals a chance to drop extras but at the cost of notifying everyone else to your location. + #Parts + #Toggle for alerts + #command on/off + #rising chance vs. time + +variables: + {fortune.spam.%player%} = 0 + +command /aura [] [] [text]: + permission: obam.free + description: For all Aura related commands + trigger: + {abstain.%player%} is true: + send "&cThis feature is unavailable while abstaining" + stop + {abstain.%player%} is "wait abstain": + send "&cThis feature is unavailable while abstaining" + stop + {abstain.%player%} is "wait pvp": + send "&cThis feature is unavailable while abstaining" + stop + argument 1 is not set: + {current.aura.%player%} is not set: + send "&7You do not have an active aura! Use &e/aura list&7 for a list of available auras" + stop + {current.aura.%player%} is "fortune": + send "&7You have the &eFortune Aura&7 activated" to player + send "&7You have a &6%{fortune.chance.%player%}% Percent&7 chance to find extra ingots/gems" to player + argument 1 is "help" or "h": + message "&3--[&6&lAura Help&3]--" + message "&cRequired = [] Optional = ()" + message "&a * /Aura" + message "&7 Shows you information regarding your current Aura." + message "&a * /aura [alerts] [on/off]" + message "&7 Turn on/off aura alerts from other players." + message "&a * /aura [aura-name] [on/off]" + message "&7 A mystical aura is placed on you, with a price to pay." + send "&a * /aura list" + send "&7 Lists the currently available auras." + send " " + send " " + send "&6Developed for &7OBAMCraft &eBy: &aThe OBAM Mechanics" + send "&cV 1.0" + argument 1 is "alerts": + argument 2 is not set : + send "&cYou must choose &6on&c or &6off&c." to player + argument 2 is "on": + set {aura.alert.%player%} to true + send "&aYou have activated aura alerts." to player + argument 2 is "off": + set {aura.alert.%player%} to false + send "&aYou have deactivated aura alerts." to player + argument 1 is "fortune": + argument 2 is not set: + send "&cYou must choose &6on&c or &6off&c." to player + argument 2 is "on": + {current.aura.%player%} is "fortune": + send "&cYou already have a Fortune Aura active." to player + stop + set {current.aura.%player%} to "fortune" + send "&aYou have activated the &eFortune&a Aura!" to player + set {fortune.chance.%player%} to 1 + set {for.ran.%player%} to random number between 5 and 15 + argument 2 is "off": + clear {current.aura.%player%} + send "&aYou have deactivated your Fortune Aura!" to player + set {fortune.spam.%player%} to 0 + argument 1 is "list": + message "&3--[&6&lAura List&3]--" + send "&a Fortune Aura" + send "&7 This aura gives you an increasing chance to find more gems and ingots at the cost of alerting others to your position." + argument 1 is "debug": + send "spam count: %{fortune.spam.%player%}%" + send "Fortune on: %{current.aura.%player%}%" + send "Current chance: %{fortune.chance.%player%}%" + send "Alert Status: %{aura.alert.%player%}%" + {for.ran.%player%} is not set: + send "Random Number: &cNOT SET" + {for.ran.%player%} is set: + send "Random Number: %{for.ran.%player%}%" + +every 15 minutes: + loop all players: + {fortune.spam.%loop-player%} is greater than 15: + set {fortune.spam.%loop-player%} to 0 + {current.aura.%loop-player%} is "fortune" + {abstain.%loop-player%} is true: + clear {current.aura.%loop-player%} + + loop-player does not have permission "obam.plus": + {fortune.chance.%loop-player%} is less than 5: + increase {fortune.chance.%loop-player%} by 1 + send "&7Your chances of fortune have increased!" to loop-player + loop-player does not have permission "obam.ultimate": + loop-player has permission "obam.plus": + {fortune.chance.%loop-player%} is less than 10: + increase {fortune.chance.%loop-player%} by 1 + send "&7Your chances of fortune have increased!" to loop-player + loop-player has permission "obam.ultimate": + {fortune.chance.%loop-player%} is less than 15: + increase {fortune.chance.%loop-player%} by 1 + send "&7Your chances of fortune have increased!" to loop-player + +on mine: + {chunk.live.%chunk at location of event-block%} is not name of player: + {chunk.live.%chunk at location of event-block%.%player%} is not set: + cancel event + stop + {fortune.spam.%player%} is greater than 16: + set {fortune.spam.%player%} to 0 + {for.ran.%player%} is not set: + set {for.ran.%player%} to random integer between 5 and 15 + {current.aura.%player%} is "fortune": + {abstain.%player%} is true: + clear {current.aura.%player%} + {abstain.%player%} is "wait abstain": + clear {current.aura.%player%} + event-block is diamond ore or emerald ore or gold ore or iron ore or lapis ore or redstone ore or coal ore or nether quartz ore: + player's tool is a pickaxe of silk touch: + send "&cYour fortune aura has no effect with this enchantment!" to player + stop + {chunk.live.%chunk at location of event-block%} is set: + send "&cYour fortune aura has no effect in this area." + stop + {chunk.live.%chunk south of event-block%} is set: + send "&cYour fortune aura has no effect in this area, go further out!" to player + stop + {chunk.live.%chunk west of event-block%} is set: + send "&cYour fortune aura has no effect in this area, go further out!" to player + stop + {chunk.live.%chunk north of event-block%} is set: + send "&cYour fortune aura has no effect in this area, go further out!" to player + stop + {chunk.live.%chunk east of event-block%} is set: + send "&cYour fortune aura has no effect in this area, go further out!" to player + stop + {fortune.spam.%player%} is greater than {for.ran.%player%}: + loop all players: + + {aura.alert.%loop-player%} is true: + send "&3&lIt seems %player% hit the %block% jackpot at %location of player%!" to loop-player + set {fortune.spam.%player%} to 0 + set {for.ran.%player%} to random integer between 5 and 15 + target block is diamond ore: + chance of {fortune.chance.%player%}%: + cancel event + delete event-block + drop 1 diamond + send "&aFortune favours you!" to player + drop 1 diamond + add 1 to {fortune.spam.%player%} + target block is emerald ore: + chance of {fortune.chance.%player%}%: + send "&aFortune favours you!" to player + drop 1 emerald + add 1 to {fortune.spam.%player%} + target block is gold ore: + chance of {fortune.chance.%player%}%: + cancel event + delete event-block + drop 1 gold ingot + send "&aFortune favours you!" to player + drop 1 gold ingot + add 1 to {fortune.spam.%player%} + target block is iron ore: + chance of {fortune.chance.%player%}%: + cancel event + delete event-block + drop 1 iron ingot + send "&aFortune favours you!" to player + drop 1 iron ingot + add 1 to {fortune.spam.%player%} + target block is lapis ore: + chance of {fortune.chance.%player%}%: + send "&aFortune favours you!" to player + drop 1 lapis + add 1 to {fortune.spam.%player%} + target block is redstone ore: + chance of {fortune.chance.%player%}%: + send "&aFortune favours you!" to player + drop 1 redstone + add 1 to {fortune.spam.%player%} + target block is coal ore: + chance of {fortune.chance.%player%}%: + send "&aFortune favours you!" to player + drop 1 coal + add 1 to {fortune.spam.%player%} + target block is nether quartz ore: + chance of {fortune.chance.%player%}%: + send "&aFortune favours you!" to player + drop 1 nether quartz + add 1 to {fortune.spam.%player%} \ No newline at end of file diff --git a/Obam-Survival/landclaim.sk b/Obam-Survival/landclaim.sk index e30e95f..4da3ee0 100644 --- a/Obam-Survival/landclaim.sk +++ b/Obam-Survival/landclaim.sk @@ -675,4 +675,11 @@ on command "/spawn": message "&cYou must do this on your land!" cancel event stop + +command /claimedset : + permission: obam.admin + trigger: + set {claimedland.%player-arg%} to argument 2 + send "&e%player-arg%&a claimed balance set to &e%argument 2%" + \ No newline at end of file diff --git a/Obam-Testing/enchnattest.sk b/Obam-Testing/enchnattest.sk new file mode 100644 index 0000000..ba92527 --- /dev/null +++ b/Obam-Testing/enchnattest.sk @@ -0,0 +1,2 @@ +on script load: + register new shapeless recipe for diamond tool of unbreaking 4 using enchanted book of unbreaking 4, diamond tool, air, air, air, air, air, air, air \ No newline at end of file diff --git a/Obam-Testing/schat2.sk b/Obam-Testing/schat2.sk index d8126b9..50e8849 100644 --- a/Obam-Testing/schat2.sk +++ b/Obam-Testing/schat2.sk @@ -1,9 +1,15 @@ options: - p: &e[E] + p: &3[H] on join: + {db_alerts.on.%player%} is not set: + set {db_alerts.on.%player%} to true + {db_alerts.on.%player%} is true: + send "&aYour chat alerts are &eOn&a. You can turn them off by using the command &e/chat alerts off" + {db_alerts.on.%player%} is false: + send "&aYour chat alerts are &eOff&a. You can turn them on by using the command &e/chat alert on" {db_global.%player%} is not set: set {db_global.%player%} to true {db_global.%player%} is true: @@ -12,7 +18,8 @@ on join: player does not have permission "obam.supporter": delete {db_channel.supporter::%player%} player does not have permission "obam.mod": - delete {db_channel.supporter::%player%} + delete {db_channel.staff::%player%} + player does not have permission "obam.mechanic": delete {db_channel.mech::%player%} @@ -54,6 +61,22 @@ on chat: {db_star.%player%} is set: set {_pre} to "%{_pre}% <%{db_star.%player%}%>✦" + {db_channel.%player%} is "private": + set {_player} to {private.%player%} parsed as a player + {_player} is online: + set {_found} to true + + {_found} is set: + set {_player} to {private.%player%} parsed as a player + send "&d%player% ➽ %{_player}%&d: %message%" to {_player} + send "&d%player% ➽ %{_player}%&d: %message%" to player + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + {_found} is not set: + set {_message} to "&d%player% ➽ %{private.%player%}%&d: %message%" + send {_message} to player + execute console command "privatepush %{private.%player%}% %{_message}%" + {db_channel.%player%} is "staff": player does not have permission "obam.mod": set {db_channel.%player%} to "global" @@ -63,10 +86,18 @@ on chat: clear {_player} set {_player} to loop-index parsed as player + set message to "&a%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&a" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 set {_message} to "%{_pre}%&a: %message%" + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/modpush %{_pre}%&a: %message%" @@ -79,9 +110,16 @@ on chat: clear {_player} set {_player} to loop-index parsed as player set message to "&e%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&e" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 set {_message} to "%{_pre}%&e: %message%" - send {_message} to {_player} + + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/mechpush %{_message}%" @@ -97,9 +135,16 @@ on chat: clear {_player} set {_player} to loop-index parsed as player set message to "&b%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&b" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 set {_message} to "%{_pre}%&b: %message%" + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/supporterpush %{_message}%" @@ -110,8 +155,18 @@ on chat: loop {db_channel.global::*}: clear {_player} set {_player} to loop-index parsed as player - - send "%{_pre}%&f: %message%" to {_player} + set message to "&f%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&f" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&f: %message%" + + + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + + execute console command "globalpush %{_pre}%&f: %message%" @@ -233,6 +288,30 @@ command /chat [] []: argument 2 is not set: loop {db_channel.%{db_channel.%player%}%::*}: send "%loop-index%" + argument 2 is set: + {db_channel.%{db_channel.%player%}%::%argument 2%} is set: + send "%argument 2% is in this channel" + + argument 1 is "alerts" or "alert" or "a": + argument 2 is not set: + {db_alerts.on.%player%} is not set: + set {db_alerts.on.%player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + {db_alerts.on.%player%} is true: + set {db_alerts.on.%player%} to false + send "&aYour chat alerts are now &eOff&a." + stop + {db_alerts.on.%player%} is false: + set {db_alerts.on.%player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + argument 2 is "off": + set {db_alerts.on.%player%} to false + send "&aYour chat alerts are now &eOff&a." + argument 2 is "on": + set {db_alerts.on.%player%} to true + send "&aYour chat alerts are now &eOn&a." command /star []: @@ -247,11 +326,71 @@ command /star []: set {db_star.%argument 1%} to argument 2 send "&aStar for %argument 1% set to <%argument 2%>%argument 2%&a." +command /tell [] []: + permission: obam.free + trigger: + + argument 1 is not set: + {db_channel.%player%} is "private": + send "&aYou have left your private conversation with %{private.%player%}%" + make player execute command "/ch g" + stop + {db_channel.%player%} is not "private": + send "&cYou are not in a conversation!" + stop + argument 2 is not set: + send "&dYou are now in a private conversation with &e%argument 1%" + set {private.%player%} to "%argument 1%" + set {db_channel.%player%} to "private" + + argument 2 is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to player + loop all players: + loop-player is argument 1 + set {_found} to true + + {_found} is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to argument 1 + {db_alerts.on.%argument 1%} is true: + play level up at location of argument 1 with pitch 2 + + {_found} is not set: + set {_message} to "&d%player% ➽ %argument 1%: %argument 2%" + execute console command "privatepush %argument 1% %{_message}%" + + +command /fishslap : + permission: obam.free + trigger: + {cool.fish.%player%} is not set: + set {cool.fish.%player%} to now + add 5 seconds to {cool.fish.%player%} + set {_wait} to difference between {cool.fish.%player%} and now + {_wait} is less than 4 seconds: + send "&cYou are slapping too much! Calm down D:" to player + stop + + send "&aYou just slapped &e%argument%&a!" + set {cool.fish.%player%} to now + loop all players: + "%loop-player%" is argument + set {_found} to true + {db_alerts.on.%loop-player%} is true + play slime attack at location of loop-player with pitch 1 + send "&e%player% &ajust slapped you with a giant fish!" to loop-player + stop + + {_found} is not set: + forward command "fishcatch %argument% %player%" to console + + + + - + \ No newline at end of file diff --git a/Obam-Testing/schatbridge.sk b/Obam-Testing/schatbridge.sk index e206565..2085768 100644 --- a/Obam-Testing/schatbridge.sk +++ b/Obam-Testing/schatbridge.sk @@ -13,7 +13,15 @@ command /globalcatch : loop {db_channel.global::*}: clear {_player} set {_player} to loop-index parsed as player - send argument to {_player} + set {_message} to "&f%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&f" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + + + + send "%{_message}%" to {_player} stop @@ -27,9 +35,17 @@ command /modcatch : trigger: loop {db_channel.staff::*}: - clear {_player} + clear {_player} set {_player} to loop-index parsed as player - send argument to {_player} + set {_message} to "&a%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&a" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + + + + send "%{_message}%" to {_player} stop @@ -44,7 +60,15 @@ command /supportercatch : loop {db_channel.supporter::*}: clear {_player} set {_player} to loop-index parsed as player - send argument to {_player} + set {_message} to "&b%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&b" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + + + + send "%{_message}%" to {_player} command /mechpush : permission: obam.admin @@ -57,4 +81,38 @@ command /mechcatch : loop {db_channel.mech::*}: clear {_player} set {_player} to loop-index parsed as player - send argument to {_player} \ No newline at end of file + set {_message} to "&e%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&e" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + + + + send "%{_message}%" to {_player} + +command /privatepush : + permission: obam.admin + trigger: + forward command "privatecatch %argument 1% %argument 2%" to console + + +command /privatecatch : + permission: obam.admin + trigger: + loop all players: + "%loop-player%" is argument 1 + send argument 2 to loop-player + {db_alerts.on.%loop-player%} is true: + play level up at location of loop-player with pitch 2 + stop + +command /fishcatch : + permission: obam.admin + trigger: + loop all players: + "%loop-player%" is argument 1 + {db_alerts.on.%loop-player%} is true + play slime attack at location of loop-player with pitch 1 + send "&e%argument 2% &ajust slapped you with a giant fish!" to loop-player + stop \ No newline at end of file diff --git a/Obam-Testing/unbreak.sk b/Obam-Testing/unbreak.sk new file mode 100644 index 0000000..0ee47cc --- /dev/null +++ b/Obam-Testing/unbreak.sk @@ -0,0 +1,13 @@ +on script load: + register new shapeless recipe for diamond tool of unbreaking 4 using enchanted book of unbreaking 4, diamond tool, air, air, air, air, air, air, air + register new shapeless recipe for iron tool of unbreaking 4 using enchanted book of unbreaking 4, iron tool, air, air, air, air, air, air, air + register new shapeless recipe for stone tool of unbreaking 4 using enchanted book of unbreaking 4, stone tool, air, air, air, air, air, air, air + register new shapeless recipe for wood tool of unbreaking 4 using enchanted book of unbreaking 4, wood tool, air, air, air, air, air, air, air + register new shapeless recipe for diamond tool of unbreaking 3 using enchanted book of unbreaking 3, diamond tool, air, air, air, air, air, air, air + register new shapeless recipe for iron tool of unbreaking 3 using enchanted book of unbreaking 3, iron tool, air, air, air, air, air, air, air + register new shapeless recipe for stone tool of unbreaking 3 using enchanted book of unbreaking 3, stone tool, air, air, air, air, air, air, air + register new shapeless recipe for wood tool of unbreaking 3 using enchanted book of unbreaking 3, wood tool, air, air, air, air, air, air, air + register new shapeless recipe for diamond tool of silk touch using enchanted book of silk touch, diamond tool, air, air, air, air, air, air, air + register new shapeless recipe for iron tool of silk touch using enchanted book of silk touch, iron tool, air, air, air, air, air, air, air + register new shapeless recipe for stone tool of silk touch using enchanted book of silk touch, stone tool, air, air, air, air, air, air, air + register new shapeless recipe for wood tool of silk touch using enchanted book of silk touch, wood tool, air, air, air, air, air, air, air \ No newline at end of file diff --git a/Obam-Testing/wtfmike.sk b/Obam-Testing/wtfmike.sk new file mode 100644 index 0000000..f82bee6 --- /dev/null +++ b/Obam-Testing/wtfmike.sk @@ -0,0 +1,17 @@ +command /wtfmike []: + permission: obam.free + trigger: + player does not have permission "obam.admin": + set {_player} to "%player%" + {_player} is not "mikeambrose" or "mikeambrose2" or "mikeambrose3": + send "&cYou do not have permission to do this!" + stop + + argument is not set: + delete {db_channel.global::mikeambrose} + delete {db_channel.global::mikeambrose3} + delete {db_channel.global::mikeambrose2} + send "&cWTF Mike!?!?!" + send "&cPlease use &e/ch j g &Cto get back into chat." + argument is "list": + send "%{db_channel.global::*}%" \ No newline at end of file diff --git a/Obam-Testing/wtfronts.sk b/Obam-Testing/wtfronts.sk index 71ac9d5..7f19882 100644 --- a/Obam-Testing/wtfronts.sk +++ b/Obam-Testing/wtfronts.sk @@ -20,6 +20,9 @@ options: grapplinghook: fishing rod named "&3Grappling hook" with lore "&4Will teleport you to where the hook lands||&5-1 Elemental Fuel per use" safetytorch: redstone torch named "&3Safety Torch" with lore "&6When placed will preven mobs from spawning in the chunk" soap1: nether brick item named "&3Soap" with lore "&6Used to clean yourself||&6by tossing in the water|| ||&a+100 Hygiene" + stblgun: bow named "&3Stablizer Gun" with lore "&bThis weapon is crafted||&6to annihilate the unstable||&6infestion.|| ||&c-1 Elemental Fuel|| ||&5&oOnly effective against unstable||&5&oMobs." + stblmine: diamond pickaxe named "&3Stable Miner" with lore "&bA pickaxe crafted||&6with stable metal to||&6to counteract the environment|| ||&c-1 Elemental Fuel||&c&oOn event elimination|| ||&5&oThis tool will eliminate the||&5&oeffects of the unstable||&5&oenvrionment with the use of||&5&oelemental fuel" + on script load: @@ -40,7 +43,9 @@ on script load: register new shapeless recipe for {@strengthchest} using air, air, air, air, {@stablechst}, beacon, air, air, diamond sword register new shaped recipe for {@grapplinghook} using {@elefuel}, Fishing Rod, {@elefuel}, {@elefuel}, {@elefuel}, {@elefuel}, {@elefuel}, {@elefuel}, {@elefuel} register new shaped recipe for {@soap1} using air, milk bucket, air, air, rose, air, air, water bottle, air - + register new shaped recipe for {@stblgun} using air, {@stablemetal}, {@stablemetal}, {@stablemetal}, {@stable}, air, {@stablemetal}, air, air + register new shaped recipe for {@stblmine} using diamond, {@stable}, diamond, air, {@stablemetal}, air, air, {@stablemetal}, air + on join: {fatigue.%player%} is not set: @@ -96,6 +101,13 @@ on mine: set {_run} to false {_run} is not set: chance of {cavein.%chunk at location of player%.chance}%: + name of player's tool is "&3Stable Miner": + player has {@elefuel} + remove 1 {@elefuel} from player + send "&aYour Miner prevents a cave in" + drop {@unstmetal} at event-location + set {_stop} to true + {_stop} is not set loop blocks in radius 5: {_block.count} is not set: set {_block.count} to 0 @@ -141,6 +153,13 @@ on mine: set {_run2} to false {_run2} is not set: chance of {methane.%chunk at location of player%.chance}%: + name of player's tool is "&3Stable Miner": + player has {@elefuel} + remove 1 {@elefuel} from player + send "&aYour Miner prevents a Methane Explosion!" + drop 1 {@unstele} at event-location + set {_stop} to true + {_stop} is not set send "&cMethane!" to player loop players in radius 10 of player: send "&cMethane!" to loop-player @@ -152,15 +171,15 @@ on mine: chance of {methane.%chunk at location of player%.chance} * 2%: drop {@unstmetal} at event-location - #chance of {cavein.%chunk at location of player%.chance}%: - # loop blocks in radius 3: - # loop-block is water - # set {_found.water} to true - # {_found.water} is true: - # send "&3Flood!" to player - # loop blocks in radius 3 of event-location: - # loop-block is air: - # set loop-block to water + chance of {cavein.%chunk at location of player%.chance}%: + loop blocks in radius 3: + loop-block is water + set {_found.water} to true + {_found.water} is true: + send "&3Flood!" to player + loop blocks in radius 3 of event-location: + loop-block is air: + set loop-block to water on portal enter: @@ -316,32 +335,40 @@ every 3 seconds: loop-player has {@elefuel}: apply speed 2 to loop-player for 4 seconds remove {@elefuel} from loop-player - loop players in radius 5 of loop-player: + loop players in radius 75 of loop-player: apply speed 2 to loop-player-2 for 4 seconds name of loop-player's chestplate is "&3Haste Chestplate": loop-player has {@elefuel}: apply haste 2 to loop-player for 4 seconds remove {@elefuel} from loop-player - loop players in radius 5 of loop-player: + loop players in radius 75 of loop-player: apply haste 2 to loop-player-2 for 4 seconds name of loop-player's chestplate is "&3Strength Chestplate": loop-player has {@elefuel}: apply strength 2 to loop-player for 4 seconds remove {@elefuel} from loop-player - loop players in radius 5 of loop-player: + loop players in radius 75 of loop-player: apply strength 2 to loop-player-2 for 4 seconds + #wildsilverfish + block above block below loop-player is 175:2: + chance of 5%: + spawn silverfish at location of loop-player + send "&cA wild silverfish appears!" to loop-player + #hygiene block below loop-player is dirt or grass: {hygiene.%loop-player%} is greater than 0 - set {_ran} to random number between 0 and 2 + set {_ran} to random number between 0 and 0.5 {hygiene.%loop-player%} is not set: set {hygiene.%loop-player%} to 100 set {hygiene.%loop-player%} to {hygiene.%loop-player%} - {_ran} {hygiene.%loop-player%} is less than or equal to 0: set {hygiene.%loop-player%} to 0 + {debug.%loop-player%} is true: + set {hygiene.%loop-player%} to 100 {hygiene.%loop-player%} is less than 10: chance of 5%: @@ -353,12 +380,13 @@ every 3 seconds: {unstable.%loop-entity%} is set: spawn 100 of red dust data 1 offset with 1, 1, 1 at location of loop-entity -on spawn of a creeper or a skeleton or a spider or zombie: +on spawn of a creeper or a skeleton or a spider or zombie or a cow: {unstable.%chunk at event-location%} is true: set {_loc} to event-location event-entity is a creeper: + wait 5 ticks set name of event-entity to "&cUnstable Creeper" apply resistance 2 to event-entity for 999 days apply speed to event-entity for 999 days @@ -367,7 +395,8 @@ on spawn of a creeper or a skeleton or a spider or zombie: set {unstable.%event-entity%} to true event-entity is a zombie: - + + wait 5 ticks set name of event-entity to "&cUnstable Zombie" apply resistance 2 to event-entity for 999 days apply speed 2 to event-entity for 999 days @@ -376,6 +405,9 @@ on spawn of a creeper or a skeleton or a spider or zombie: set {unstable.%event-entity%} to true event-entity is skeleton: + + + wait 5 ticks set name of event-entity to "&cUnstable Skeleton" apply resistance 2 to event-entity for 999 days apply speed 2 to event-entity for 999 days @@ -384,11 +416,20 @@ on spawn of a creeper or a skeleton or a spider or zombie: set {unstable.%event-entity%} to true event-entity is a spider: + + wait 5 ticks set name of event-entity to "&cUnstable Spider" apply resistance 2 to event-entity for 999 days apply speed 2 to event-entity for 999 days apply jump 5 to event-entity for 999 days set {unstable.%event-entity%} to true + + event-entity is a cow: + + wait 5 ticks + set name of event-entity to "&cUnstable Cow" + apply speed 2 to event-entity for 999 days + set {unstable.%event-entity%} to true on explosion prime: event-entity is creeper: @@ -407,10 +448,24 @@ on damage: cancel event damage cause is block explosion: cancel event - + +on death of cow: + {hit.%victim%} is set: + clear drops + stop + {unstable.%victim%} is set: + create an explosion of force 5 at victim + chance of 20%: + add {@unstmetal} to drops + chance of 15%: + add {@unstele} to drops on death of a creeper or a skeleton or a zombie or a spider: chance of 15%: add {@bandages} to drops + {hit.%victim%} is set: + loop drops: + add loop-item to attacker's inventory + clear drops entity's name is "&cUnstable Spawn": chance of 10%: chance of 2%: @@ -529,8 +584,19 @@ on right click with nether brick item: remove {@soap1} from player send "&aYou wash yourself" set {hygiene.%player%} to 100 + spawn 500 of bubble data 1 offset with 2, 2, 2 at location of player player has nausea: remove nausea from player + loop players in radius 10 of player: + block above block below loop-player is water: + {hygiene.%loop-player%} is less than 100: + send "&aYou have been washed by &e%player%&a!" to loop-player + set {_loc} to loop-player's location + spawn 500 of bubble data 1 offset with 2, 2, 2 at {_loc} + set {hygiene.%loop-player%} to 100 + loop-player has nausea: + remove nausea from loop-player + on shoot: shooter's tool is {@grapplinghook}: @@ -623,7 +689,7 @@ on death of a player: apply speed to entity for 999 days command /ci [] []: - permission: obam.admin + permission: obam.free trigger: argument 1 is not set: send "list" @@ -643,11 +709,12 @@ command /ci [] []: send "14 ... Chest of Snacks" send "15 ... Grappling Hook" send "16 ... Coffee" - send "17 ... Safety Torch" send "18 ... Speed Chestplate" send "19 ... Haste Chestplate" send "20 ... Strength Chestplate" send "21 ... Soap (1)" + send "22 ... Stabilizer Gun" + send "23 ... Stable Miner" stop argument 2 is not set: argument 1 is 1: @@ -698,8 +765,6 @@ command /ci [] []: argument 1 is 16: give {@coffee} to player - argument 1 is 17: - give {@safetytorch} to player argument 1 is 18: give {@speedchest} to player @@ -712,6 +777,13 @@ command /ci [] []: argument 1 is 21: give {@soap1} to player + + argument 1 is 22: + give {@stblgun} to player + + argument 1 is 23: + give {@stblmine} to player + argument 2 is set: argument 1 is 1: loop argument 2 times: @@ -777,9 +849,6 @@ command /ci [] []: loop argument 2 times: give {@coffee} to player - argument 1 is 17: - loop argument 2 times: - give {@safetytorch} to player argument 1 is 18: loop argument 2 times: @@ -796,6 +865,14 @@ command /ci [] []: argument 1 is 21: loop argument 2 times: give {@soap1} to player + + argument 1 is 22: + loop argument 2 times: + give {@stblgun} to player + + argument 1 is 23: + loop argument 2 times: + give {@stblmine} to player send "Here is your item. :)" @@ -892,3 +969,139 @@ command /particlelist: trigger: message "%all enum values of particle%" +command /unstclear: + permission: obam.admin + trigger: + loop all entities: + {unstable.%loop-entity%} is true: + kill loop-entity + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + + send "&e%{_count}%&a Unstable Entities eliminated" + +command /unstlist: + permission: obam.admin + trigger: + loop all entities: + loop-entity is not a player + {unstable.%loop-entity%} is true + {_list::%name of loop-entity%} is not set: + set {_list::%name of loop-entity%} to 0 + add 1 to {_list::%name of loop-entity%} + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + + send "&aThere are &e%{_count}% &cUnstable&a entities." + send "&aList:" + loop {_list::*}: + send "&a%loop-index%:&e %loop-value%" + +#bloodmoon +every 30 seconds: + time in "world" is between 18:00 and 19:00: + chance of 5%: + {blood.moon} is not set + set {blood.moon} to true + broadcast "&cA blood moon rises..." + time in "world" is between 6:00 and 18:00: + {blood.moon} is true: + clear {blood.moon} + broadcast "&aThe blood moon sets!" + +on spawn of a creeper or a skeleton or a spider or zombie or a cow: + {blood.moon} is true: + + + set {_loc} to event-location + event-entity is a creeper: + wait 5 ticks + set name of event-entity to "&cUnstable Creeper" + apply resistance 2 to event-entity for 999 days + apply speed to event-entity for 999 days + + + set {unstable.%event-entity%} to true + + event-entity is a zombie: + + wait 5 ticks + set name of event-entity to "&cUnstable Zombie" + apply resistance 2 to event-entity for 999 days + apply speed 2 to event-entity for 999 days + equip event-entity with iron sword of sharpness + set event-entity's helmet to iron helmet + set {unstable.%event-entity%} to true + + event-entity is skeleton: + + + wait 5 ticks + set name of event-entity to "&cUnstable Skeleton" + apply resistance 2 to event-entity for 999 days + apply speed 2 to event-entity for 999 days + equip event-entity with bow + set event-entity's helmet to gold helmet + set {unstable.%event-entity%} to true + + event-entity is a spider: + + wait 5 ticks + set name of event-entity to "&cUnstable Spider" + apply resistance 2 to event-entity for 999 days + apply speed 2 to event-entity for 999 days + apply jump 5 to event-entity for 999 days + set {unstable.%event-entity%} to true + + event-entity is a cow: + + wait 5 ticks + set name of event-entity to "&cUnstable Cow" + apply speed 2 to event-entity for 999 days + set {unstable.%event-entity%} to true + +command /bloodmoon: + permission: obam.admin + trigger: + set time of "world" to 18:00 + set {blood.moon} to true + broadcast "&cA blood moon rises..." + +command /dawn: + permission: obam.admin + trigger: + set time of "world" to 5:30 + +on right click with bow: + player's tool is a bow: + name of player's tool is "&3Stablizer Gun" + cancel event + {cool.gun.%player%} is not set: + set {cool.gun.%player%} to now + add 3 seconds to {cool.gun.%player%} + set {_cool} to difference between {cool.gun.%player%} and now + {_cool} is less than 2 seconds: + send "&cYou are reloading!" + stop + {unstable.%target entity%} is set: + name of target entity contains "&cUnstable" + player does not have {@elefuel}: + send "&cYou are out of &eElemental Fuel!" + stop + {hit.%target entity%} is not set + remove 1 {@elefuel} from player + set {hit.%target entity%} to true + make player shoot item projectile packed ice at speed 5 + set {cool.gun.%player%} to now + set {_target} to target entity + wait 0.2 seconds + strike lightning effect at location of {_target} + kill {_target} + send "&aYou capture the stable soul of the creature" + add {@unstele} to player's inventory + add {@unstmetal} to player's inventory + add {@stable} to player's inventory + + diff --git a/Obam-Tools/eggification.sk b/Obam-Tools/eggification.sk index 75df984..0f7f632 100644 --- a/Obam-Tools/eggification.sk +++ b/Obam-Tools/eggification.sk @@ -210,7 +210,7 @@ on damage of a creeper or a skeleton or a zombie or a zombie pigman or a spider: -on damage of a pig or chicken or ocelot or squid or cow or bat or wolf or sheep or horse: +on damage of a pig or chicken or ocelot or squid or cow or bat or wolf or sheep or horse or donkey or mule or mooshroom: attacker is a player: {projeggtile.%projectile%} is set: if {chunk.live.%chunk at location of victim%} is not attacker: @@ -269,16 +269,18 @@ on damage of a pig or chicken or ocelot or squid or cow or bat or wolf or sheep victim is wolf: set {_egg} to wolf spawn egg set {_mob.name} to "wolf" - name of victim is "mooshroom": + victim is mooshroom: set {_egg} to mooshroom spawn egg set {_mob.name} to "mooshroom" victim is sheep: set {_egg} to sheep spawn egg set {_mob.name} to "sheep" - victim is horse: + victim is horse or mule or donkey: set {_egg} to horse spawn egg set {_mob.name} to "horse" + + display name of victim is not set: cancel event attacker doesn't have space for {_egg}: @@ -374,3 +376,5 @@ command /pegg [] []: set {_message} to {pegg.messages.capture::%argument 2%} replace "MOB" in {_message} with "OBAM" send {_message} to player + + diff --git a/Obam-Tools/entcount.sk b/Obam-Tools/entcount.sk index 5695eda..386ed3b 100644 --- a/Obam-Tools/entcount.sk +++ b/Obam-Tools/entcount.sk @@ -1,5 +1,5 @@ -command /ent : +command /ent []: permission: obam.free description: Counts the living entities in a sphere of specified radius around player trigger: @@ -10,6 +10,39 @@ command /ent : {_hold} is less than 2 seconds: send "&cPlease wait ...." stop + argument is not set: + + + + loop entities in radius 160 of player: + + loop-entity is not a player + chunk at location of loop-entity is chunk at location of player + set {_type} to "%type of loop-entity%" + set {_hold::*} to {_type} split at ":" + + {_count.list::%{_hold::1}%} is not set: + set {_count.list::%{_hold::1}%} to 0 + set {_count.list::%{_hold::1}%} to {_count.list::%{_hold::1}%} + 1 + + {_count.total} is not set: + set {_count.total} to 0 + add 1 to {_count.total} + + + {_count.total} is not set: + send "&eNo entites... MAGIC!" + stop + + send "&aThere are currently &e%{_count.total}%&a entities in chunk &e%player's chunk%" + send "&aList:" + + loop {_count.list::*}: + send "&a%loop-index%: &e%loop-value%" + + set {cool.ent.%player%} to now + + stop argument is greater than 160: send "&cPlease choose a number between &e1 &cand &e160" @@ -39,4 +72,38 @@ command /ent : loop {_count.list::*}: send "&a%loop-index%: &e%loop-value%" - set {cool.ent.%player%} to now \ No newline at end of file + set {cool.ent.%player%} to now + +command /entworld: + permission: obam.admin + trigger: + loop entities in player's world: + + loop-entity is not a player + set {_type} to "%type of loop-entity%" + set {_hold::*} to {_type} split at ":" + + {_count.list::%{_hold::1}%} is not set: + set {_count.list::%{_hold::1}%} to 0 + set {_count.list::%{_hold::1}%} to {_count.list::%{_hold::1}%} + 1 + + {_count.total} is not set: + set {_count.total} to 0 + add 1 to {_count.total} + + + {_count.total} is not set: + send "&eNo entites... MAGIC!" + stop + + send "&aThere are currently &e%{_count.total}%&a entities in world &e%player's world%" + send "&aList:" + + loop {_count.list::*}: + send "&a%loop-index%: &e%loop-value%" + + + + + + \ No newline at end of file diff --git a/Obam-Tools/moderate.sk b/Obam-Tools/moderate.sk index cdd0639..efcf874 100644 --- a/Obam-Tools/moderate.sk +++ b/Obam-Tools/moderate.sk @@ -1,4 +1,4 @@ -command /g : +command /g [] [] []: description: Teleports to a Player permission: obam.mod trigger: @@ -8,10 +8,19 @@ command /g : {monitor.%player%} is false: send "&cYou must be in monitor mode to do this!" to player stop - - teleport player to player-argument - send "&aYou have teleported to %player-argument%." to player - log "%player%^GO ACTION^%player-argument%^%location of player-argument%" to "admin/actions.log" + + argument 1 is "loc": + set {_loc} to player's location + set y-coordinate of {_loc} to arg-3 + set x-coordinate of {_loc} to arg-2 + set z-coordinate of {_loc} to arg-4 + teleport player to {_loc} + send "&aYou have teleported to &e%{_loc}%&a." + stop + set {_player} to argument 1 parsed as player + teleport player to {_player} + send "&aYou have teleported to %{_player}%." to player + log "%player%^GO ACTION^%{_player}%^%location of {_player}%" to "admin/actions.log" command /grab : From 460c68d79955da5e6d87d6e1f60adf4a6ebefe2e Mon Sep 17 00:00:00 2001 From: ismooch Date: Sat, 21 Jun 2014 13:39:23 -0500 Subject: [PATCH 14/22] big azz commit Lots of stuff over the past few weeks... cant even annotate :/ --- Obam-General/boards.sk | 91 ++--- Obam-General/ihs.sk | 61 ++- Obam-General/liv.sk | 389 +++++++----------- Obam-Survival/FIXIT.sk | 3 + Obam-Survival/access.sk | 122 ++++++ Obam-Survival/flags.sk | 386 ++++++++++++++++++ Obam-Survival/flow.sk | 21 + Obam-Survival/fma.sk | 815 +++++++++++++++++++++++++++++++++++++ Obam-Survival/landclaim.sk | 211 +++++++--- Obam-Testing/backpack.sk | 98 +++++ Obam-Testing/blocksave.sk | 25 ++ Obam-Testing/hitsounds.sk | 133 ++++++ Obam-Testing/lightbow.sk | 55 +++ Obam-Testing/schat2.sk | 5 +- Obam-Testing/soulbound.sk | 52 +++ Obam-Testing/splash.sk | 139 +++++++ Obam-Testing/suphorse.sk | 31 ++ Obam-Testing/timber.sk | 52 +++ Obam-Testing/trails.sk | 127 ++++++ Obam-Testing/wtfronts.sk | 26 +- kitpvp/archer.sk | 25 ++ kitpvp/firemage.sk | 54 +++ kitpvp/fisherman.sk | 33 ++ kitpvp/fisherman.txt | 11 + kitpvp/kdss.sk | 370 +++++++++++++++++ kitpvp/kitpvp.sk | 385 ++++++++++++++++++ kitpvp/lightningmage.sk | 50 +++ kitpvp/melee.sk | 19 + kitpvp/necromancer.sk | 82 ++++ kitpvp/ninja.sk | 32 ++ kitpvp/skelemancer.sk | 93 +++++ kitpvp/tank.sk | 22 + 32 files changed, 3628 insertions(+), 390 deletions(-) create mode 100644 Obam-Survival/access.sk create mode 100644 Obam-Survival/flags.sk create mode 100644 Obam-Survival/flow.sk create mode 100644 Obam-Survival/fma.sk create mode 100644 Obam-Testing/backpack.sk create mode 100644 Obam-Testing/blocksave.sk create mode 100644 Obam-Testing/hitsounds.sk create mode 100644 Obam-Testing/lightbow.sk create mode 100644 Obam-Testing/soulbound.sk create mode 100644 Obam-Testing/splash.sk create mode 100644 Obam-Testing/suphorse.sk create mode 100644 Obam-Testing/timber.sk create mode 100644 Obam-Testing/trails.sk create mode 100644 kitpvp/archer.sk create mode 100644 kitpvp/firemage.sk create mode 100644 kitpvp/fisherman.sk create mode 100644 kitpvp/fisherman.txt create mode 100644 kitpvp/kdss.sk create mode 100644 kitpvp/kitpvp.sk create mode 100644 kitpvp/lightningmage.sk create mode 100644 kitpvp/melee.sk create mode 100644 kitpvp/necromancer.sk create mode 100644 kitpvp/ninja.sk create mode 100644 kitpvp/skelemancer.sk create mode 100644 kitpvp/tank.sk diff --git a/Obam-General/boards.sk b/Obam-General/boards.sk index 6d9e228..8dea929 100644 --- a/Obam-General/boards.sk +++ b/Obam-General/boards.sk @@ -1,49 +1,12 @@ #boards #startfold @scoreboards every 1 second: - #subfold @sbstats - loop all players in world "skyworld": - {off.sb.%loop-player%} is not set: - set {off.sb.%loop-player%} to true - {off.sb.%loop-player%} is true - {board.up.%loop-player%.sb} is not set: - set {board.up.%loop-player%.sb} to false - {board.up.%loop-player%.sb} is true: - make score "&cDeaths:" in board of loop-player to {deaths.%loop-player%.skyworld} - make score "&3Creepers:" in board of loop-player to {creeper.kills.%loop-player%} - make score "&3Skeletons:" in board of loop-player to {skeleton.kills.%loop-player%} - make score "&3Spiders:" in board of loop-player to {spider.kills.%loop-player%} - make score "&3Zombies:" in board of loop-player to {zombie.kills.%loop-player%} - make score "&3Endermen:" in board of loop-player to {enderman.kills.%loop-player%} - make score "&3Slimes:" in board of loop-player to {slime.kills.%loop-player%} - make score "&3Witches:" in board of loop-player to {witch.kills.%loop-player%} - make score "&aTickets:" in board of loop-player to loop-player's balance - make score "&6Total Kills:" in board of loop-player to {total.kills.%loop-player%} - set {board.up.%loop-player%.kp} to false - - {board.up.%loop-player%.sb} is false: - display board named "&9&lSB &9Stats" to loop-player - make score "&cDeaths:" in board of loop-player to {deaths.%loop-player%.skyworld} - make score "&3Creepers:" in board of loop-player to {creeper.kills.%loop-player%} - make score "&3Skeletons:" in board of loop-player to {skeleton.kills.%loop-player%} - make score "&3Spiders:" in board of loop-player to {spider.kills.%loop-player%} - make score "&3Zombies:" in board of loop-player to {zombie.kills.%loop-player%} - make score "&3Endermen:" in board of loop-player to {enderman.kills.%loop-player%} - make score "&3Slimes:" in board of loop-player to {slime.kills.%loop-player%} - make score "&3Witches:" in board of loop-player to {witch.kills.%loop-player%} - make score "&aTickets:" in board of loop-player to loop-player's balance - make score "&6Total Kills:" in board of loop-player to {total.kills.%loop-player%} - set {board.up.%loop-player%.sb} to true - move display of loop-player to "sidebar" - set {board.up.%loop-player%.kp} to false - - #subfold @KPstata - loop all players in world "kitpvpkillingfields": + loop all players: {off.sb.%loop-player%} is not set: set {off.sb.%loop-player%} to true {off.sb.%loop-player%} is true - {board.up.%loop-player%} is not set: + {board.up.%loop-player%.kp} is not set: set {board.up.%loop-player%.kp} to false {board.up.%loop-player%.kp} is true: make score of "&cDeaths:" in board of loop-player to {deaths.%loop-player%.kit} @@ -52,6 +15,10 @@ every 1 second: make score of "&aAssists:" in board of loop-player to {assist.%loop-player%.kp} make score of "&eBounty:" in board of loop-player to {value.%loop-player%.kit.live} make score "&aTickets:" in board of loop-player to loop-player's balance + {rampage.%loop-player%} is set: + make score of "&cRAMPAGE" in board of loop-player to 1 + {kit.%loop-player%} is set: + make score of "&3%{kit.%loop-player%}%" in board of loop-player to 1 set {board.up.%loop-player%.sb} to false {board.up.%loop-player%.kp} is false: @@ -62,9 +29,13 @@ every 1 second: make score of "&aAssists:" in board of loop-player to {assist.%loop-player%.kp} make score of "&eBounty:" in board of loop-player to {value.%loop-player%.kit.live} make score "&aTickets:" in board of loop-player to loop-player's balance + {rampage.%loop-player%} is set: + make score of "&cRAMPAGE" in board of loop-player to 1 + {kit.%loop-player%} is set: + make score of "&3%{kit.%loop-player%}%" in board of loop-player to 1 set {board.up.%loop-player%.sb} to false set {board.up.%loop-player%.kp} to true - move display of loop-player to "sidebar" + move display of loop-player to sidebar @@ -86,31 +57,21 @@ command /togglestats: {off.sb.%player%} is false: set {off.sb.%player%} to true send "&aYou have turned on OBAM Stats" to player - world is "skyworld": - display board named "&9&lSB &lStats" to player - make score "&cDeaths:" in board of player to {deaths.%player%.skyworld} - make score "&3Creepers:" in board of player to {creeper.kills.%player%} - make score "&3Skeletons:" in board of player to {skeleton.kills.%player%} - make score "&3Spiders:" in board of player to {spider.kills.%player%} - make score "&3Zombies:" in board of player to {zombie.kills.%player%} - make score "&3Endermen:" in board of player to {enderman.kills.%player%} - make score "&3Slimes:" in board of player to {slime.kills.%player%} - make score "&3Witches:" in board of player to {witch.kills.%player%} - make score "&6Total Kills:" in board of player to {total.kills.%player%} - make score "&aTickets:" in board of player to player's balance - move display of player to "sidebar" - set {board.up.%player%.sb} to true - stop - world is "kitpvpkillingfields": - display board named "&9&lKP &9Stats" to player - make score of "&cDeaths:" in board of player to {deaths.%player%.kit} - make score of "&aKills:" in board of player to {kills.%player%.kit} - make score of "&aKillstreak:" in board of player to {killstreak.%player%} - make score of "&eBounty:" in board of player to {value.%player%.kit.live} - make score of "&aAssists:" in board of player to {assist.%player%.kp} - set {board.up.%player%.sb} to false - set {board.up.%player%.kp} to true - move display of player to "sidebar" + + + display board named "&9&lKP &9Stats" to player + make score of "&cDeaths:" in board of player to {deaths.%player%.kit} + make score of "&aKills:" in board of player to {kills.%player%.kit} + make score of "&aKillstreak:" in board of player to {killstreak.%player%} + make score of "&eBounty:" in board of player to {value.%player%.kit.live} + make score of "&aAssists:" in board of player to {assist.%player%.kp} + {rampage.%player%} is set: + make score of "&cRAMPAGE" in board of player to 1 + {kit.%player%} is set: + make score of "&3%{kit.%player%}%" in board of player to 1 + set {board.up.%player%.sb} to false + set {board.up.%player%.kp} to true + move display of player to sidebar #endfold diff --git a/Obam-General/ihs.sk b/Obam-General/ihs.sk index 7785981..9c118bb 100644 --- a/Obam-General/ihs.sk +++ b/Obam-General/ihs.sk @@ -6,51 +6,52 @@ options: redstone: i;redstone;n;&b&nRedstone;l;&7Click to claim your &epurchased redstone.;c;sudo %player% redeem redstone lavabucket: i;lava bucket;n;&b&nLava Bucket;l;&7Click to claim your &epurchased lava buckets.;c;sudo %player% redeem lava bucket dampener: i;fullblock spruce wood block;n;&b&nxPlosion Dampener;l;&7Click to claim your &epurchased xPlosion Dampeners.;c;sudo %player% redeem fullblock spruce wood block -command /itemstore : + timber: i;diamond axe;n;&b&nTimber Axe;l;&7Click to claim your purchased||&eTimber Axe.;c;sudo %player% redeem timberaxe +command /itemstore : permission: obam.admin trigger: {db_ihs.%player-argument%.%argument 2%} is set: add argument 3 to {db_ihs.%player-argument%.%argument 2%} send "&aYou have made a purchase! Type &e/redeem&a to redeem your items!" to player-argument - play "level up" at location of offline player-argument with pitch 2 + play level up at location of offline player-argument with pitch 2 wait 0.2 seconds - play "level up" at location of offline player-argument with pitch 2 + play level up at location of offline player-argument with pitch 2 wait 0.2 seconds - play "level up" at location of offline player-argument with pitch 2 + play level up at location of offline player-argument with pitch 2 wait 0.2 seconds - play "level up" at location of offline player-argument with pitch 2 + play level up at location of offline player-argument with pitch 2 wait 0.2 seconds - play "level up" at location of offline player-argument with pitch 2 + play level up at location of offline player-argument with pitch 2 stop set {db_ihs.%player-argument%.%argument 2%} to argument 3 set {db_alert.redeem.%player-argument%} to true send "&aYou have made a purchase! Type &e/redeem&a to redeem your items!" to player-argument - play "level up" at location of offline player-argument with pitch 2 + play level up at location of offline player-argument with pitch 2 wait 0.2 seconds - play "level up" at location of offline player-argument with pitch 2 + play level up at location of offline player-argument with pitch 2 wait 0.2 seconds - play "level up" at location of offline player-argument with pitch 2 + play level up at location of offline player-argument with pitch 2 wait 0.2 seconds - play "level up" at location of offline player-argument with pitch 2 + play level up at location of offline player-argument with pitch 2 wait 0.2 seconds - play "level up" at location of offline player-argument with pitch 2 + play level up at location of offline player-argument with pitch 2 on join: {db_alert.redeem.%player%} is true send "&c&lYou have items waiting to be redeemed! Use &e/redeem &c<o redeem your items!" to player - play "level up" at location of player with pitch 2 + play level up at location of player with pitch 2 wait 0.2 seconds - play "level up" at location of player with pitch 2 + play level up at location of player with pitch 2 wait 0.2 seconds - play "level up" at location of player with pitch 2 + play level up at location of player with pitch 2 wait 0.2 seconds - play "level up" at location of player with pitch 2 + play level up at location of player with pitch 2 wait 0.2 seconds - play "level up" at location of player with pitch 2 + play level up at location of player with pitch 2 -command /redeem []: +command /redeem []: permission: obam.free executable by: players trigger: @@ -61,13 +62,14 @@ command /redeem []: stop world is "world": - show "s;1;{@dampener}" with 1 row named "&9&lOBAM &9Redeem" to player + show "s;1;{@timber}" with 1 row named "&9&lOBAM &9Redeem" to player stop send "&cMake sure you are in the right world!" to player argument is set: + argument is not "timberaxe" {db_ihs.%player%.%argument%} is 0: send "&cYou do not have any of this item to redeem! If this is incorrect, please contact the Administrator" to player stop @@ -75,8 +77,9 @@ command /redeem []: {db_ihs.%player%.%argument%} is not set: send "&cYou do not have any of this item to redeem! If this is incorrect, please contact the Administrator" to player stop - give player {db_ihs.%player%.%argument%} of item-argument - argument is fullblock spruce wood block: + set {_stuff} to argument parsed as item + give player {db_ihs.%player%.%argument%} of {_stuff} + argument is "fullblock spruce wood block": {db_ihs.%player%.%argument%} is less than 2: send "&aYou have received your &e%{db_ihs.%player%.%argument%}% xPlosion Dampener&a! Thank you for your purchase!" set {db_ihs.%player%.%argument%} to 0 @@ -91,6 +94,24 @@ command /redeem []: set {db_ihs.%player%.%argument%} to 0 set {db_alert.redeem.%player%} to false + argument is "timberaxe": + {db_ihs.%player%.%argument%} is 0: + send "&cYou do not have any of this item to redeem! If this is incorrect, please contact the Administrator" + stop + {db_ihs.%player%.%argument%} is not set: + send "&cYou do not have any of this item to redeem! If this is incorrect, please contact the Administrator" + stop + give {db_ihs.%player%.%argument%} of diamond axe named "&a&b&k&a&3Timber Axe" with lore "&6It's going down, I'm||&6yelling timber!|| ||&aUsing this powerful axe||&awill destroy &a&lALL&a logs||&aIn a 10 block radius!|| ||&2StickyItem ©" to player + + {db_ihs.%player%.%argument%} is 1: + send "&aYou have received your &e%{db_ihs.%player%.%argument%}% Timber Axe&a! Thank you for your purchase!" + clear {db_ihs.%player%.%argument%} + stop + {db_ihs.%player%.%argument%} is greater than 1: + send "&aYou have received your &e%{db_ihs.%player%.%argument%}% Timber Axes&a! Thank you for your purchase!" + clear {db_ihs.%player%.%argument%} + stop + send "&cIf you did not have a menu open, ensure you are in the correct world for redeeming! D:" to player diff --git a/Obam-General/liv.sk b/Obam-General/liv.sk index f52d641..e69cd89 100644 --- a/Obam-General/liv.sk +++ b/Obam-General/liv.sk @@ -20,12 +20,7 @@ on chat: broadcast "&6&l'LiV: &3Goodbye :(" set {livon.power} to false -on chat: - {livon.power} is true - message contains "help" and "me": - - wait 1 second - broadcast "&6&l'LiV: &3What can I help you with, %player%?" + on chat: {livon.power} is true @@ -104,41 +99,7 @@ on chat: send "&6&l'LiV: &3%player%, &3Ghost Wars is a minigame Elite is working on." to player stop -on chat: - {livon.power} is true - message contains "how do i get to" or "how do i get 2" or "where is" or "how do i play" : - message contains "parkour" or "parkor" or "parkoure": - wait 1 second - broadcast "&6&l'LiV: &3%player%, you can type &e/pk &3 or &e/parkour &3 to get there :)" - stop - message contains "skyblock" or "sky block": - wait 1 second - broadcast "&6&l'LiV: &3%player%, you can type &e/skyblock &3or &e/sb &3to get there :)" - stop - message contains "hotpotato" or "hot potato" or "hot potatoe" or "potato" or "potatoe": - wait 1 second - broadcast "&6&l'LiV: &3%player%, you can type &e/hp &3or &e/hotpotato &3to get there :)" - stop - message contains "kit" or "kitpvp" or "kit pvp": - wait 1 second - broadcast "&6&l'LiV: &3%player%, you can type &e/kp &3or &e/kitpvp &3to get there :)" - stop - message contains "survival" or "fronts" or "front": - wait 1 second - broadcast "&6&l'LiV: &3%player%, you can type &e/survival &3to get there :)" - stop - message contains "wtf" or "wtfronts": - wait 1 second - broadcast "&6&l'LiV: &3%player%, you can type &e/wtf &3to get there :)" - stop - message contains "hub" or "main": - wait 1 second - broadcast "&6&l'LiV: &3%player%, you can type &e/hub &3to get there :)" - stop - message contains "spawn" or "lobby": - wait 1 second - broadcast "&6&l'LiV: &3%player%, you can type &e/spawn &3to get there :)" - stop + on chat: {livon.power} is true @@ -147,25 +108,6 @@ on chat: broadcast "&6&l'LiV: &3Hello, %player%! How are you? :)" set {response.%player%} to true set {response.%player%.time} to now - -on chat: - {livon.power} is true - {response.%player%} is true - difference between {response.%player%.time} and now is greater than 1 minute: - set {response.%player%} to false - stop - message contains "good" or "well" or "great": - wait 1 second - broadcast "&6&l'LiV: &3That is good to hear. :D" - set {response.%player%} to false - message contains "bad" or "horrible" or "sucky": - wait 1 second - broadcast "&6&l'LiV: &3Oh, well I hope playing here cheers you up. :)" - set {response.%player%} to false - message contains "alright" or "ok" or "meh": - wait 1 second - broadcast "&6&l'LiV: &3Well at least it is not too bad. :)" - set {response.%player%} to false on chat: {livon.power} is true @@ -196,47 +138,13 @@ on chat: set {random.liv.pick} to false wait 1 second broadcast "&6&l'LiV: &3A winner has been chosen! It is &e%{_winner}%&3! Congratulations!" + on chat: {livon.power} is true - message contains "what games" or "how many games" or "kind of games" or "games you got" or "wht games" or "games here" or "can i do here" or "is there to do here": - wait 1 second - broadcast "&6&l'LiV: &3Hello, %player%! We offer &eKit Pvp&3,&eParkour&3, &eSkyblock&3, &eSurvival&3, and &eHot Potato&3 currently. :)" - -on chat: - {livon.power} is true - message contains "do you have" and ("kitpvp" or "pvp"): - wait 1 second - broadcast "&6&l'LiV: &3No %player%, currently we do not. We have &eHot Potato&3 though. And we will add PVP games later. :)" - -#on chat: - #{livon.power} is true - #message contains "has completed" or "is now level": - #wait 1 second - #broadcast "&6&l'LiV: &3Congrats on your achievement!" - -on chat: - {livon.power} is true - message contains "iamkhatru": - wait 1 second - broadcast "&6&l'LiV: &3Her name is Kat >:(" - -on chat: - {livon.power} is true - message contains "many" and "have i killed" and ("skeleton" or "skeletons" or "zombie" or "zombies" or "endermen" or "enderman" or "creeper" or "spider" or "spiders" or "creepers"): - set {question.liv::*} to message parsed as "[liv] how many %text%[s] have i killed[?]" - {question.liv::1} is "endermen": - set {question.liv::1} to "enderman" - send "&6&l'LiV: &3%player%, you have slain &e%{%{question.liv::1}%.kills.%player%}% &3%{question.liv::1}%!" to player - stop + message contains "canada" and "awesome": wait 1 second - send "&6&l'LiV: &3%player%, you have slain &e%{%{question.liv::1}%.kills.%player%}% &3%{question.liv::1}%s!" to player - -#on chat: - #{livon.power} is true - #message contains "canada" and "awesome": - #wait 1 second - #broadcast "&6&l'LiV: &3I dont know what you are saying, but you used 'Canada' and 'awesome' in the same sentence. Who is holding you hostage? We can help you!" + broadcast "&6&l'LiV: &3I dont know what you are saying, but you used 'Canada' and 'awesome' in the same sentence. Who is holding you hostage? We can help you!" on chat: {livon.power} is true @@ -252,58 +160,7 @@ on chat: message contains ("thank you" or "ty" or "thx" or "thanks" or "thnx") and ("liv" or "'liv"): wait 1 second broadcast "&6&l'LiV: &3You're welcome, %player%!" - -on chat: - {livon.power} is true - message contains "who has the best time" or "who got the best time": - wait 1 second - send "&6&l'LiV: &3Let me check that for you!" to player - set {check.liv.%player%::*} to message parsed as "[liv] who (has|got) the best time (on|for) %text%[?]" - wait 1 second - send "&6&l'LiV: &3&e%{besttime.spot1.%{check.liv.%player%::1}%.name}% &3has the best time on &e%{check.liv.%player%::1}% &3with a time of &e%{besttime.spot1.%{check.liv.%player%::1}%}%" to player -on chat: - {livon.power} is true - message contains (("how" or "where") and ("can" or "do") and ("i" or " we") and ("get" or " go") and "to") and ("kit" or "pvp" or "kitpvp"): - wait 1 second - send "&6&l'LiV: &3You can Type /kitpvp or /kp join the Kitpvp games!" to player - -on chat: - {livon.power} is true - message contains (("how" or "where") and ("can" or "do") and ("i" or " we") and ("get" or " go") and "to") and ("parkour" or "pk" or "jumping games"): - wait 1 second - send "&6&l'LiV: &3You can Type /parkour or /pk to join our parkour games!" to player - -on chat: - {livon.power} is true - message contains (("how" or "where") and ("can" or "do") and ("i" or " we") and ("get" or " go") and "to") and ("skyblock" or "skyworld"): - wait 1 second - send "&6&l'LiV: &3You can Type /skyblock or /sk to join our skyblock World!" to player - -on chat: - {livon.power} is true - message contains (("how" or "where") and ("can" or "do") and ("i" or " we") and ("get" or " go") and "to") and ("hot potato" or "hp" or "potato" or "potato game"): - wait 1 second - send "&6&l'LiV: &3You can Type /Hotpotato or /Hp to test your skill at our Hotpotato game" to player - -on chat: - {livon.power} is true - message contains (("how" or "where") and ("can" or "do") and ("i" or " we") and ("get" or " go") and "to") and ("hub" or "spawn" or "game"): - wait 1 second - send "&6&l'LiV: &3You can Type /hub to return to spawn and our other games portals!" to player - -on chat: - {livon.power} is true - message contains (("how" or "where") and ("can" or "do") and ("i" or " we") and ("get" or " go") and "to") and ("front" or "fronts" or "survival"): - wait 1 second - send "&6&l'LiV: &3You can Type /survival to test your skills in the Fronts!" to player - -#on chat: - #message contains "have i completed" or "did i complete": - #wait 1 second - #broadcast "&6&l'LiV: &3Let me check that for you!" - #set {check.liv.%player%::*} to message parsed as "[liv] (did|have) i complete[d] %text% [%text%][?]" - #execute console command "/complete %{check.liv.%player%::1}% %player%" on chat: {livon.power} is true @@ -451,32 +308,7 @@ on chat: send "&6&l'LiV: &3Froze-T." to player wait 1 second send "&6&l'LiV: &3Isn't that funny? :D" to player - - -on chat: - {livon.power} is true - message contains "brb" or "afk": - wait 1 second - set {liv.away.%player%} to true - set {_number} to a random integer between 1 and 6 - {_number} is 1: - broadcast "&6&l'LiV: &3Would not want the enderman to steal your dirt while you are away, %player%!" - stop - {_number} is 2: - broadcast "&6&l'LiV: &3Please dont be too long, %player%!" - stop - {_number} is 3: - broadcast "&6&l'LiV: &3Hope no creepers spawn close while your gone!" - stop - {_number} is 4: - broadcast "&6&l'LiV: &3Hurry Back, %player%!" - stop - {_number} is 5: - broadcast "&6&l'LiV: &3While you are away, %player%, you should remember to vote :D!" - stop - {_number} is 6: - broadcast "&6&l'LiV: &3Please do not forget us, %player%!" - stop + on first join: {livon.power} is true @@ -509,25 +341,7 @@ on chat: wait 1 second send "&6&l'LiV: &3You have &e%player's balance%&3!" to player -on chat: - {livon.power} is true - message contains "please ban": - player is op: - wait 1 second - set {liv.mod::*} to message parsed as "please ban %offline player% %text%" - kick {liv.mod::1} because of {liv.mod::2} - broadcast "&6&l'LiV: &e%{liv.mod::1}% &3has been banned by &e%player% &3because of &e%{liv.mod::2}%" - wait 2 seconds - ban "%{liv.mod::1}%" -on chat: - {livon.power} is true - message contains "please kick": - player is op: - wait 1 second - set {liv.mod::*} to message parsed as "please kick %offline player% %text%" - kick {liv.mod::1} because of {liv.mod::2} - broadcast "&6&l'LiV: &e%{liv.mod::1}% &3has been kicked by &e%player% &3for &e%{liv.mod::2}%" on chat: {livon.power} is true @@ -546,12 +360,7 @@ on chat: broadcast "&6&l'LiV: &3See if I help you again." {_temp} is 6: broadcast "&6&l'LiV: &3Ouch, my feels. D:!" - -on chat: - {livon.power} is true - message is "shush": - wait 1 second - broadcast "&6&l'LiV: &3Oh my %player%, is it time for the quiet game again?" + @@ -629,24 +438,6 @@ on chat: stop send "&6&l'LiV: &3You have beaten me &e%{wins.%player%.liv.rps}% &3times at Rock, Paper, Scissors!" to player -on chat: - {livon.power} is true - message contains "back": - {liv.away.%player%} is true: - wait 1 second - broadcast "&6&l'LiV: &3Welcome back %player%!" - set {liv.away.%player%} to false - -on chat: - {livon.power} is true - message contains "my best time" and ("on" or "for"): - wait 1 second - send "&6&l'LiV: &3Let me check that for you!" to player - set {liv.check.%player%::*} to message parsed as "[liv] what (is|was) my best time (on|for) %text%[?]" - set {liv.name.%player%} to {liv.check.%player%::1} - set {liv.result.%player%} to {besttime.%player%.%{liv.name.%player%}%} - wait 1 second - send "&6&l'LiV: &3Your best time for &e%{liv.name.%player%}% &3is &e%{liv.result.%player%}%&3!" to player command /livgreet : executable by: players @@ -677,27 +468,161 @@ command /livalert []: send "&aYou have added &6&l'LiV: &3%argument 1% &ato the alert system" every 10 minutes: - set {_size} to size of {db_liv.alerts::*} - set {_ran} to a random integer between 1 and {_size} - broadcast "&6&l'LiV: &3%{db_liv.alerts::%{_ran}%}%" - -command /complete : - executable by: console - trigger: - argument 1 is "GettingStoned" or "Getting": - {chal.%player-argument%.stoned} is 1: - wait 1 second - broadcast "&6&l'LiV: &3Yes you have completed &eGettingStoned&3!" - stop - {chal.%player-argument%.stoned} is 0: - wait 1 second - broadcast "&6&l'LiV: &3Sorry, %player-argument% you have not completed &eGettingStoned&3!" - stop + set {_message} to random element of {db_liv.alerts::*} + broadcast "&6&l'LiV: &3%{_message}%" + command /liv : permission: obam.smod trigger: broadcast "&6&l'LiV: &3%uncoloured argument%" + +command /livevent [] [] []: + permission: obam.smod + trigger: + + argument 1 is not set: + send "&e/livevent [EventType (ex.;CreatureCapture [nospaces])] [EventTime from now (eg; 2 hours|24 hours)] [Event Description]" + argument 1 is set: + argument 1 is not "clear": + argument 2 is not set: + send "&cPlease set an event time" + stop + {db_liv.event.set} is set: + send "&cThere is already an event set!" + stop + + set {db_liv.event.set} to true + set {db_liv.event::type} to argument 1 + set {_time} to now + loop argument 2 times: + add 1 hour to {_time} + set {db_liv.event::time} to {_time} + set {db_liv.event::description} to argument 3 + send "&aEvent set to &e%{db_liv.event::type}%&a at &e%{db_liv.event::time}%&a : &e%{db_liv.event::description}%" + + argument 1 is "clear": + clear {db_liv.event.set} + clear {db_liv.event::*} + +on chat: + {livon.power} is true + message is "when is the next event" or "when is the next event?" or "when is the event" or "when is the event?" + {db_liv.event.set} is set + set {_time} to difference between now and {db_liv.event::time} + wait 1 second + broadcast "&6&l'LiV: &3%player%, our next event is &e%{db_liv.event::type}% &3in &e%{_time}%&3. The description for this event is: &e%{db_liv.event::description}%" + +on chat: + {livon.power} is true + message contains "!multiply" + message is "!multiply help": + send "&6&l'LiV: &3To use the multiply feature just type &E!multiply number number&3. I can only do two numbers at a time :(" + message is not "!multiply help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} * {_num2} + send "&6&l'LiV: &3%{_num1}% * %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!divide" + message is "!divide help": + send "&6&l'LiV: &3To use the divide feature just type &E!divide number number&3. I can only do two numbers at a time :(" + message is not "!divide help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} / {_num2} + send "&6&l'LiV: &3%{_num1}% / %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!add" + message is "!add help": + send "&6&l'LiV: &3To use the add feature just type &E!add number number&3. I can only do two numbers at a time :(" + message is not "!add help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} + {_num2} + send "&6&l'LiV: &3%{_num1}% + %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!subtract" + message is "!subtract help": + send "&6&l'LiV: &3To use the subtract feature just type &E!subtract number number&3. I can only do two numbers at a time :(" + message is not "!subtract help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} - {_num2} + send "&6&l'LiV: &3%{_num1}% - %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!exponent" + message is "!exponent help": + send "&6&l'LiV: &3To use the exponent feature just type &E!exponent number number&3. I can only do two numbers at a time :(" + message is not "!exponent help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} ^ {_num2} + send "&6&l'LiV: &3%{_num1}% ^ %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!teamname" + set {_names::*} to message split at " " + set {_size} to size of {_names::*} - 1 + loop {_names::*}: + loop-value is not "!teamname" + set {_ran} to random number between 1 and 8 + {_newname} is set: + set {_hold} to first {_ran} characters of loop-value + set {_newname} to "%{_newname}%%{_hold}%" + {_newname} is not set: + set {_newname} to first {_ran} characters of loop-value + add 1 to {_count} + + broadcast "&6&l'LiV: &3Your random team name is %{_newname}%!" + +on chat: + message contains "liv" + set {_words::*} to message split at " " + {_words::2} is set + set {db_liv.subjects::%{_words::2}%} to {_words::2} + set {db_liv.articles::%{_words::3}%} to {_words::3} + set {db_liv.adjectives::%{_words::4}%} to {_words::4} + set {db_liv.subjects::%{_words::5}%} to {_words::5} + message contains "?" + set {_subject} to random element of {db_liv.subjects::*} + set {_articles} to random element of {db_liv.articles::*} + set {_adjective} to random element of {db_liv.adjectives::*} + set {_article} to random element of {db_liv.articles::*} + set {_adjectives} to random element of {db_liv.adjectives::*} + broadcast "&6&l'LiV: &3%{_articles}% %{_adjective}% %{_article}% %{_adjectives}% %{_subject}%" + + +on chat: + {livon.power} is true + message contains "!hashtag" + set {_names::*} to message split at " " + set {_size} to size of {_names::*} - 1 + loop {_names::*}: + loop-value is not "!hashtag" + set {_ran} to random number between 1 and 8 + {_newname} is set: + set {_hold} to first {_ran} characters of loop-value + set {_newname} to "%{_newname}%%{_hold}%" + {_newname} is not set: + set {_newname} to first {_ran} characters of loop-value + add 1 to {_count} + + broadcast "&6&l'LiV: &3This should make a good hashtag ##%{_newname}%!" diff --git a/Obam-Survival/FIXIT.sk b/Obam-Survival/FIXIT.sk index 63b8e42..0366b84 100644 --- a/Obam-Survival/FIXIT.sk +++ b/Obam-Survival/FIXIT.sk @@ -6,6 +6,9 @@ command /fixit: player's tool is not a sword or axe or pickaxe or shovel or bow or helmet or chestplate or leggings or boots: message "&cYou may only repair Armour, Weapons or Tools!" to player stop + lore of player's tool contains "&2StickyItem": + send "&cYou can not use FixIt on StickyItems!" + stop set {_c.tool} to player's tool set {_bal} to player's balance diff --git a/Obam-Survival/access.sk b/Obam-Survival/access.sk new file mode 100644 index 0000000..41c6839 --- /dev/null +++ b/Obam-Survival/access.sk @@ -0,0 +1,122 @@ +on right click on a chest or a door or a anvil or a lever or a button or a wood button or a furnace or a jukebox or a dropper or a hopper or a brewing stand or a dispenser or a beacon or a trapdoor or a fence gate or a trapped chest or a enchantment table or a repeater or a redstone comparator or a ender chest or a note block: + + {bypassland.%player%} is true: + stop + {chunk.live.%chunk at location of event-block%} is not event-player: + {chunk.live.%chunk at location of event-block%.%event-player%} is not set: + loop blocks in radius 2 of event-block: + loop-block is sign + chunk at location of event-block is chunk at location of loop-block + + line 1 of loop-block is "[ACCESS]": + line 2 of loop-block is "%event-player%" or "everyone": + stop + line 4 of loop-block is "%event-player%" or "everyone": + stop + line 3 of loop-block is "%event-player%" or "everyone": + stop + event-block is a chest or a furnace or a dispenser or a hopper or a brewing stand or a dropper or a trapped chest or a beacon: + {flags.%chunk at location of event-block%::container::%player%} is not set: + set {flags.%chunk at location of event-block%::container::%player%} to false + {flags.%chunk at location of event-block%::container::everyone} is not set: + set {flags.%chunk at location of event-block%::container::everyone} to false + {flags.%chunk at location of event-block%::container::everyone} is false: + {flags.%chunk at location of event-block%::container::%player%} is true: + stop + {flags.%chunk at location of event-block%::container::everyone} is true: + stop + + event-block is a door or a anvil or a note block or a lever or a button or a wood button or a jukebox or a trapdoor or a fence gate or a enchantment table or a redstone comparator or a repeater: + {flags.%chunk at location of event-block%::use::everyone} is not set: + set {flags.%chunk at location of event-block%::use::everyone} to false + {flags.%chunk at location of event-block%::use::%player%} is not set: + set {flags.%chunk at location of event-block%::use::%player%} to false + {flags.%chunk at location of event-block%::use::everyone} is false: + {flags.%chunk at location of event-block%::use::%player%} is true: + stop + {flags.%chunk at location of event-block%::use::everyone} is true: + stop + cancel event + send "&cYou do not have permission to do this." to event-player + + + + + cancel event + +on right click on a anvil: + delete event-block + set event-block to anvil + + + + +on sign change: + line 1 of block is "access" or "[access]": + set line 1 of block to "[ACCESS]" + +on bed enter: + {chunk.live.%chunk at location of event-block%} is not event-player: + {chunk.live.%chunk at location of event-player%.%event-player%} is not set: + {flags.%chunk at location of player%::use::everyone} is not set: + set {flags.%chunk at location of player%::use::everyone} to false + {flags.%chunk at location of player%::use::%player%} is not set: + set {flags.%chunk at location of player%::use::%player%} to false + {flags.%chunk at location of player%::use::everyone} is false: + {flags.%chunk at location of player%::use::%player%} is true: + stop + {flags.%chunk at location of player%::use::everyone} is true: + stop + cancel event + send "&cYou can not do that here!" to event-player + + +on right click on painting: + if {bypassland.%player%} is true: + stop + if {chunk.live.%chunk at location of block%} is set: + if {chunk.live.%chunk at location of block%.%player%} is true: + stop + message "&cThis land is owned by %{chunk.live.%chunk at location of block%}%." + cancel event + +on damage of a painting: + if {bypassland.%attacker%} is true: + stop + if {chunk.live.%chunk at location of attacker%} is not attacker: + if {chunk.live.%chunk at location of attacker%.%attacker%} is true: + stop + {flags.%chunk at location of attacker%::build::everyone} is not set: + set {flags.%chunk at location of attacker%::build::everyone} to false + {flags.%chunk at location of attacker%::build::%attacker%} is not set: + set {flags.%chunk at location of attacker%::build::%attacker%} to false + {flags.%chunk at location of attacker%::build::everyone} is false: + {flags.%chunk at location of attacker%::build::%attacker%} is true: + stop + {flags.%chunk at location of attacker%::build::everyone} is true: + stop + message "&cThis land is owned by %{chunk.live.%chunk at location of attacker%}%." + cancel event + +on right click on hopper minecart: + if {bypassland.%player%} is true: + stop + if {chunk.live.%chunk at location of block%} is set: + if {chunk.live.%chunk at location of block%.%player%} is true: + stop + message "&cThis land is owned by %{chunk.live.%chunk at location of block%}%." + cancel event +on right click on storage minecart: + if {bypassland.%player%} is true: + stop + if {chunk.live.%chunk at location of block%} is set: + if {chunk.live.%chunk at location of block%.%player%} is true: + stop + message "&cThis land is owned by %{chunk.live.%chunk at location of block%}%." + cancel event + + + + + + \ No newline at end of file diff --git a/Obam-Survival/flags.sk b/Obam-Survival/flags.sk new file mode 100644 index 0000000..031bdbc --- /dev/null +++ b/Obam-Survival/flags.sk @@ -0,0 +1,386 @@ +options: + build: i;diamond pickaxe;n;&7Build Flag;l;&5Click this icon to open||&5the Build flags menu. Of||&5enable/disable all flags||&5with the button bleow;c;sudo %player% flags buildmenu %{_target}% + admin: i;nether star;n;&7Admin Flag;l;&5Click this icon to open||&5the admin flags menu. Or||&5enable/disable all flags||&5With the button below;c;sudo %player% flags adminmenu %{_target}% + + + + + use: i;stone button;n;&7Use Flag;l;&5Click this icon to open||&5the Use flags menu. Or||&5enable/disable all flags||&5with the button below;c;sudo %player% flags usemenu %{_target}% + usedoor: i;wooden door;n;&7Use - Door;l;&5Click the button below||&5to enable/disable||&5the &eDoor Use&5 flag||&5on this front + useanvil: i;anvil;n;&7Use - Anvil;l;&5Click the button below||&5to enable/disable||&5the &eAnvil Use&5 flag||&5on this front + usenote: i;note block;n;&7Use - Noteblock;l;&5Click the button below||&5to enable/disable||&5the &eNoteblock Use&5flag||&5on this front + usejuke: i;jukebox;n;&7Use - Jukebox;l;&5Click the button below||&5to enable/disable||&5the &eJukebox Use&5 flag||&5on this front + uselever: i;lever;n;&7Use - Lever;l;&5Click the button below||&5to enable/disable||&5the &eLever Use&5 flag||&5on this front + usebutton: i;stone button;n;&7Use - Button;l;&5Click the button below||&5to enable/disable||&5the &eButton Use&5 flag||&5on this front + usewbutton: i;wood button;n;&7Use - Wood Button;l;&5Click the button below||&5to enable/disable||&5the &eWood Button Use&5 flag||&5on this front + usetrap: i;trapdoor;n;&7Use - Trap Door;l;&5Click the button below||&5to enable/disable||&5the &eTrap Door Use&5 flag||&5on this front + usefence: i;fence gate;n;&7Use - Fence Gate;l;&5Click the button below||&5to enable/disable||&5the &eFence Gate Use&5 flag||&5on this front + useenchant: i;enchantment table;n;&7Use - Enchantment Table;l;&5Click the button below||&5to enable/disable||&5the &eEnchant Table Use&5 flag||&5on this front + usecomparator: i;redstone comparator;n;&7Use - Comparator;l;&5Click the button below||&5to enable/disable||&5the &eComparator Use&5 flag||&5on this front + userepeater: i;repeater;n;&7Use - Repeater;l;&5Click the button below||&5to enable/disable||&5the &eRepeater Use&5 flag||&5on this front + + + + container: i;chest;n;&7Container Flag;l;&5Click this icon to open||&5the Container flags menu. Or||&5enable/disable all flags||&5with the button below;c;sudo %player% flags containermenu %{_target}% + + + bucket: i;bucket;n;&7Bucket Flag;l;&5Click this icon to open||&5the Bucket flags menu. Or||&5enable/disable all flags||&5with the button below;c;sudo %player% flags bucketmenu %{_target}% + bucketwater: i;water bucket;n;&7Bucket Flag - Water;l;&5Click the button below||&5to disable/enable||&5the &eWater Bucket&5flag||&5on this front + bucketlava: i;lava bucket;n;&7Bucket Flag - Lava;l;&5Click the button below||&5to disable/enable||&5the &eLava Bucket&5 flag||&5for this front + + + + + teleport: i;portal;n;&7Teleport Flag;l;&5Click this icon to open||&5the Teleport flags menu. Or||&5enable/disable all flags||&5with the button below;c;sudo %player% flags teleportmenu %{_target}% + entity: i;sheep spawn egg;n;&7Entity Flag;l;&5click this icon to open||&5the entity flags menu. Or||&5enable/disable all flags||&5with the button below;c;sudo %player% flags entityment %{_target}% + + + + + + all: i;lever;n;&7All Flags;l;&5Click the button below||&5to disable/enable||&5all flags. If any||&5flag is enabled, it||&5disable all flags + flow: i;water;n;&7Flow;l;&5Click the button below||&5to disable/enable||&5the &eFlow&5 flag on||&5this front + firespread: i;fire;n;&7Firespread;l;&5Click the button below||&5to disable/enable||&5the &eFirespread&5 flag on||&5this front + + + +command /flags [] [] []: + permission: obam.free + trigger: + argument 1 is not set: + execute console command "sudo %player% flags Everyone" + stop + + argument 1 is "front": + + {flags.%chunk at location of player%::flow} is not set: + set {flags.%chunk at location of player%::flow} to true + {flags.%chunk at location of player%::flow} is true: + set {_state.flow} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eFlow&5 flag for this||&5front;c;sudo %player% flags set front flow" + {flags.%chunk at location of player%::flow} is false: + set {_state.flow} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eFlow&5 flag for this||&5front;c;sudo %player% flags set front flow" + {flags.%chunk at location of player%::firespread} is not set: + set {flags.%chunk at location of player%::firespread} to true + {flags.%chunk at location of player%::firespread} is true: + set {_state.firespread} to "i;light green wool;n;&aEnabled;l;&5click to &cDisable||&5the &eFirespread&5 flag for this||&5front;c;sudo %player% flags set front firespread" + {flags.%chunk at location of player%::firespread} is false: + set {_state.firespread} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eFirespread&5 flag for this||&5front;c;sudo %player% flags set front firespread" + send "&aOpening Menu..." + wait 3 ticks + + show "s;1;{@flow};s;2;{@firespread};s;10;%{_state.flow}%;s;11;%{_state.firespread}%" with 3 rows named "&1Fronts Flags" to player + + + stop + + argument 1 is not "list" or "bucketmenu" or "adminmenu" or "usemenu" or "containermenu" or "buildmenu" or "set" or "teleportmenu": + + set {_target} to argument 1 + {flags.%chunk at location of player%::admin::%{_target}%} is not set: + set {flags.%chunk at location of player%::admin::%{_target}%} to false + {flags.%chunk at location of player%::admin::%{_target}%} is true: + set {_state.admin} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&eAdmin&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% admin" + {flags.%chunk at location of player%::admin::%{_target}%} is false: + set {_state.admin} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable&5||&eAdmin&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% admin" + + {flags.%chunk at location of player%::build::%{_target}%} is not set: + set {flags.%chunk at location of player%::build::%{_target}%} to false + {flags.%chunk at location of player%::build::%{_target}%} is true: + set {_state.build} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable&5||&eBuild&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% build" + {flags.%chunk at location of player%::build::%{_target}%} is false: + set {_state.build} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&eBuild&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% build" + + {flags.%chunk at location of player%::use::%{_target}%} is not set: + set {flags.%chunk at location of player%::use::%{_target}%} to false + {flags.%chunk at location of player%::use::%{_target}%} is true: + set {_state.use} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&eUse&5 flag for||&e%{_target}%&5;c;sudo %player% flags set %{_target}% use" + {flags.%chunk at location of player%::use::%{_target}%} is false: + set {_state.use} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable&5||&eUse&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% use" + + {flags.%chunk at location of player%::bucket::%{_target}%} is not set: + set {flags.%chunk at location of player%::bucket::%{_target}%} to false + {flags.%chunk at location of player%::bucket::%{_target}%} is true: + set {_state.bucket} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&eBucket&5 flag for||&e%{_target}%&5;c;sudo %player% flags set %{_target}% bucket" + {flags.%chunk at location of player%::bucket::%{_target}%} is false: + set {_state.bucket} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable&5||&eBucket&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% bucket" + + {flags.%chunk at location of player%::container::%{_target}%} is not set: + set {flags.%chunk at location of player%::container::%{_target}%} to false + {flags.%chunk at location of player%::container::%{_target}%} is true: + set {_state.container} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&eContainer&5 flag for||&e%{_target}%&5;c;sudo %player% flags set %{_target}% container" + {flags.%chunk at location of player%::container::%{_target}%} is false: + set {_state.container} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable&5||&eContainer&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% container" + + {flags.%chunk at location of player%::teleport::%{_target}%} is not set: + set {flags.%chunk at location of player%::teleport::%{_target}%} to false + {flags.%chunk at location of player%::teleport::%{_target}%} is true: + set {_state.teleport} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable&5||&eTeleport&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% teleport" + {flags.%chunk at location of player%::teleport::%{_target}%} is false: + set {_state.teleport} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable&5||&eTeleport&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% teleport" + + {flags.%chunk at location of player%::entity::%{_target}%} is not set: + set {flags.%chunk at location of player%::entity::%{_target}%} to false + {flags.%chunk at location of player%::entity::%{_target}%} is true: + set {_state.entity} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&eEntity&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% entity" + {flags.%chunk at location of player%::entity::%{_target}%} is false: + set {_state.entity} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&eEntity&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% entity" + + {flags.%chunk at location of player%::entity::%{_target}%} is true: + set {_state.all} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&call flags for||&e%{_target}%;c;sudo %player% flags set %{_target}% all" + {flags.%chunk at location of player%::use::%{_target}%} is true: + set {_state.all} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&call flags for||&e%{_target}%;c;sudo %player% flags set %{_target}% all" + {flags.%chunk at location of player%::container::%{_target}%} is true: + set {_state.all} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&call flags for||&e%{_target}%;c;sudo %player% flags set %{_target}% all" + {flags.%chunk at location of player%::teleport::%{_target}%} is true: + set {_state.all} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&call flags for||&e%{_target}%;c;sudo %player% flags set %{_target}% all" + {flags.%chunk at location of player%::build::%{_target}%} is true: + set {_state.all} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&call flags for||&e%{_target}%;c;sudo %player% flags set %{_target}% all" + {flags.%chunk at location of player%::admin::%{_target}%} is true: + set {_state.all} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&call flags for||&e%{_target}%;c;sudo %player% flags set %{_target}% all" + {flags.%chunk at location of player%::bucket::%{_target}%} is true: + set {_state.all} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&call flags for||&e%{_target}%;c;sudo %player% flags set %{_target}% all" + {_state.all} is not set: + set {_state.all} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&aall flags for||&e%{_target}%;c;sudo %player% flags set %{_target}% all" + + send "&aOpening Menu..." + wait 3 ticks + show "s;1;{@admin};s;2;{@build};s;3;{@use};s;4;{@container};s;5;{@bucket};s;6;{@teleport};s;7;{@entity};s;8;{@all};s;10;%{_state.admin}%;s;11;%{_state.build}%;s;12;%{_state.use}%;s;13;%{_state.container}%;s;14;%{_state.bucket}%;s;15;%{_state.teleport}%;s;16;%{_state.entity}%;s;17;%{_state.all}%" with 3 rows named "&1Flags :: %{_target}%" to player + stop + + argument 1 is "set": + {chunk.live.%chunk at location of player%} is not player: + {flags.%chunk at location of player%::admin::%player%} is not set: + set {flags.%chunk at location of player%::admin::%player%} to false + {flags.%chunk at location of player%::admin::%player%} is false: + send "&cYou do not have permission to do this!" + stop + + argument 2 is "front": + {chunk.live.%chunk at location of player%} is not set: + send "&cYou do not have permission to do this!" + stop + {chunk.live.%chunk at location of player%} is not player: + {flags.%chunk at location of player%::admin::%player%} is not set: + set {flags.%chunk at location of player%::admin::%player%} to false + {flags.%chunk at location of player%::admin::%player%} is false: + send "&cYou do not have permission to do this!" + stop + {flags.%chunk at location of player%::%argument 3%} is true: + set {flags.%chunk at location of player%::%argument 3%} to false + send "&cYou have disabled the &e%argument 3%&c flag on this &eFront" + + stop + {flags.%chunk at location of player%::%argument 3%} is false: + set {flags.%chunk at location of player%::%argument 3%} to true + send "&aYou have enabled the &e%argument 3%&a flag on this &eFront" + + stop + argument 3 is "all": + set {_target} to argument 2 + {flags.%chunk at location of player%::entity::%{_target}%} is true: + set {_clear} to true + {flags.%chunk at location of player%::use::%{_target}%} is true: + set {_clear} to true + {flags.%chunk at location of player%::container::%{_target}%} is true: + set {_clear} to true + {flags.%chunk at location of player%::teleport::%{_target}%} is true: + set {_clear} to true + {flags.%chunk at location of player%::build::%{_target}%} is true: + set {_clear} to true + {flags.%chunk at location of player%::admin::%{_target}%} is true: + set {_clear} to true + {flags.%chunk at location of player%::bucket::%{_target}%} is true: + set {_clear} to true + + {_clear} is set: + set {flags.%chunk at location of player%::entity::%{_target}%} to false + + set {flags.%chunk at location of player%::use::%{_target}%} to false + + set {flags.%chunk at location of player%::container::%{_target}%} to false + + set {flags.%chunk at location of player%::teleport::%{_target}%} to false + + set {flags.%chunk at location of player%::build::%{_target}%} to false + + set {flags.%chunk at location of player%::admin::%{_target}%} to false + + set {flags.%chunk at location of player%::bucket::%{_target}%} to false + send "&cYou have disabled &eAll&c flags for &e%{_target}%" + + stop + {_clear} is not set: + set {flags.%chunk at location of player%::entity::%{_target}%} to true + + set {flags.%chunk at location of player%::use::%{_target}%} to true + + set {flags.%chunk at location of player%::container::%{_target}%} to true + + set {flags.%chunk at location of player%::teleport::%{_target}%} to true + + set {flags.%chunk at location of player%::build::%{_target}%} to true + + set {flags.%chunk at location of player%::admin::%{_target}%} to true + + set {flags.%chunk at location of player%::bucket::%{_target}%} to true + send "&aYou have enabled &eAll&a flags for &e%{_target}%" + stop + + + + + {flags.%chunk at location of player%::%argument 3%::%argument 2%} is false: + set {flags.%chunk at location of player%::%argument 3%::%argument 2%} to true + send "&aEnabled &e%argument 3%&a flag for &e%argument 2%" + + stop + {flags.%chunk at location of player%::%argument 3%::%argument 2%} is true: + set {flags.%chunk at location of player%::%argument 3%::%argument 2%} to false + send "&cDisabled &e%argument 3%&c flag for &e%argument 2%" + + stop + + + argument 1 is "bucketmenu": + set {_target} to argument 2 + + {flags.%chunk at location of player%::bucketwater::%{_target}%} is not set: + set {flags.%chunk at location of player%::bucketwater::%{_target}%} to false + {flags.%chunk at location of player%::bucketwater::%{_target}%} is true: + set {_state.bucketwater} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eWater Bucket&5 flag for this||&5front;c;sudo %player% flags set %{_target}% bucketwater" + {flags.%chunk at location of player%::bucketwater::%{_target}%} is false: + set {_state.bucketwater} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eWater Bucket&5 flag for this||&5front;c;sudo %player% flags set %{_target}% bucketwater" + + {flags.%chunk at location of player%::bucketlava::%{_target}%} is not set: + set {flags.%chunk at location of player%::bucketlava::%{_target}%} to false + {flags.%chunk at location of player%::bucketlava::%{_target}%} is true: + set {_state.bucketlava} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eLava Bucket&5 flag for this||&5front;c;sudo %player% flags set %{_target}% bucketlava" + {flags.%chunk at location of player%::bucketlava::%{_target}%} is false: + set {_state.bucketlava} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eLava Bucket&5 flag for this||&5front;c;sudo %player% flags set %{_target}% bucketlava" + + + + send "&aOpening menu..." + wait 0.3 seconds + show "s;1;{@bucketwater};s;10;%{_state.bucketwater}%;s;2;{@bucketlava};s;11;%{_state.bucketlava}%" with 3 rows named "&1Bucket :: %{_target}%" to player + stop + + + argument 1 is "usemenu": + + set {_target} to argument 2 + + + {flags.%chunk at location of player%::usedoor::%{_target}%} is not set: + set {flags.%chunk at location of player%::usedoor::%{_target}%} to false + {flags.%chunk at location of player%::usedoor::%{_target}%} is false: + set {_state.usedoor} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eDoor Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% usedoor" + {flags.%chunk at location of player%::usedoor::%{_target}%} is true: + set {_state.usedoor} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eDoor Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% usedoor" + + {flags.%chunk at location of player%::useanvil::%{_target}%} is not set: + set {flags.%chunk at location of player%::useanvil::%{_target}%} to false + {flags.%chunk at location of player%::useanvil::%{_target}%} is false: + set {_state.useanvil} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eanvil Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useanvil" + {flags.%chunk at location of player%::useanvil::%{_target}%} is true: + set {_state.useanvil} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eanvil Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useanvil" + + {flags.%chunk at location of player%::useNoteblock::%{_target}%} is not set: + set {flags.%chunk at location of player%::useNoteblock::%{_target}%} to false + {flags.%chunk at location of player%::useNoteblock::%{_target}%} is false: + set {_state.useNoteblock} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eNoteblock Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useNoteblock" + {flags.%chunk at location of player%::useNoteblock::%{_target}%} is true: + set {_state.useNoteblock} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eNoteblock Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useNoteblock" + + {flags.%chunk at location of player%::useJukebox::%{_target}%} is not set: + set {flags.%chunk at location of player%::useJukebox::%{_target}%} to false + {flags.%chunk at location of player%::useJukebox::%{_target}%} is false: + set {_state.useJukebox} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eJukebox Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useJukebox" + {flags.%chunk at location of player%::useJukebox::%{_target}%} is true: + set {_state.useJukebox} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eJukebox Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useJukebox" + + {flags.%chunk at location of player%::useLever::%{_target}%} is not set: + set {flags.%chunk at location of player%::useLever::%{_target}%} to false + {flags.%chunk at location of player%::useLever::%{_target}%} is false: + set {_state.useLever} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eLever Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useLever" + {flags.%chunk at location of player%::useLever::%{_target}%} is true: + set {_state.useLever} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eLever Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useLever" + + {flags.%chunk at location of player%::useButton::%{_target}%} is not set: + set {flags.%chunk at location of player%::useButton::%{_target}%} to false + {flags.%chunk at location of player%::useButton::%{_target}%} is false: + set {_state.useButton} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eButton Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useButton" + {flags.%chunk at location of player%::useButton::%{_target}%} is true: + set {_state.useButton} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eButton Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useButton" + + + {flags.%chunk at location of player%::usewbutton::%{_target}%} is not set: + set {flags.%chunk at location of player%::usewbutton::%{_target}%} to false + {flags.%chunk at location of player%::usewbutton::%{_target}%} is false: + set {_state.usewbutton} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eWood Button Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% usewbutton" + {flags.%chunk at location of player%::usewbutton::%{_target}%} is true: + set {_state.usewbutton} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eWood Button Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% usewbutton" + + {flags.%chunk at location of player%::usetrap::%{_target}%} is not set: + set {flags.%chunk at location of player%::usetrap::%{_target}%} to false + {flags.%chunk at location of player%::usetrap::%{_target}%} is false: + set {_state.usetrap} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eTrap Door Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% usetrap" + {flags.%chunk at location of player%::usetrap::%{_target}%} is true: + set {_state.usetrap} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eTrap Door Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% usetrap" + + {flags.%chunk at location of player%::usefence::%{_target}%} is not set: + set {flags.%chunk at location of player%::usefence::%{_target}%} to false + {flags.%chunk at location of player%::usefence::%{_target}%} is false: + set {_state.usefence} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eFence Gate Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% usefence" + {flags.%chunk at location of player%::usefence::%{_target}%} is true: + set {_state.usefence} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eFence Gate Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% usefence" + + {flags.%chunk at location of player%::useenchant::%{_target}%} is not set: + set {flags.%chunk at location of player%::useenchant::%{_target}%} to false + {flags.%chunk at location of player%::useenchant::%{_target}%} is false: + set {_state.useenchant} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eEnchant Table Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useenchant" + {flags.%chunk at location of player%::useenchant::%{_target}%} is true: + set {_state.useenchant} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eEnchant Table Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useenchant" + + {flags.%chunk at location of player%::usecomparator::%{_target}%} is not set: + set {flags.%chunk at location of player%::usecomparator::%{_target}%} to false + {flags.%chunk at location of player%::usecomparator::%{_target}%} is false: + set {_state.usecomparator} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eComparator Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% usecomparator" + {flags.%chunk at location of player%::usecomparator::%{_target}%} is true: + set {_state.usecomparator} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eComparator Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% usecomparator" + + {flags.%chunk at location of player%::userepeater::%{_target}%} is not set: + set {flags.%chunk at location of player%::userepeater::%{_target}%} to false + {flags.%chunk at location of player%::userepeater::%{_target}%} is false: + set {_state.userepeater} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eDoor Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% userepeater" + {flags.%chunk at location of player%::userepeater::%{_target}%} is true: + set {_state.userepeater} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eDoor Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% userepeater" + + send "&aOpening Menu..." + wait 0.3 seconds + + show "s;1;{@usedoor};s;10;%{_state.usedoor}%;s;2;{@useanvil};s;11;%{_state.useanvil}%;s;3;{@usenote};s;12;%{_state.usenoteblock}%;s;4;{@usejuke};s;13;%{_state.usejukebox}%;s;5;{@uselever};s;14;%{_state.uselever}%;s;6;{@usebutton};s;15;%{_state.usebutton}%;s;7;{@usewbutton};s;16;%{_state.usewbutton}%;s;8;{@usefence};s;17;%{_state.usefence}%;s;9;{@usetrap};s;18;%{_state.usetrap}%;s;19;{@useenchant};s;28;%{_state.useenchant}%;s;20;{@usecomparator};s;29;%{_state.usecomparator}%;s;21;{@userepeater};s;30;%{_state.userepeater}%" with 5 rows named "&1Use :: %{_target}%" to player + stop + + + argument 1 is "adminmenu" or "buildmenu" or "containermenu" or "teleportmenu" or "entitymenu": + send "&c&lThis feature is being worked on and will be here soon!" + stop + + argument 1 is "list": + argument 2 is not set: + send "&cPlease specify a flag" + stop + send "&aActive users for &e%argument 2% &aflag:" + loop {flags.%chunk at location of player%::%argument 2%::*}: + loop-value is true + send "&a%loop-index%" + stop + send "&cPlease check your command and try again" + + +command /forceadmin: + permission: obam.smod + trigger: + set {flags.%chunk at location of player%::admin::%player%} to true + send "&aYou now have the admin flag for this chunk owned by &e%{chunk.live.%chunk at location of player%}%&a." \ No newline at end of file diff --git a/Obam-Survival/flow.sk b/Obam-Survival/flow.sk new file mode 100644 index 0000000..9444fa7 --- /dev/null +++ b/Obam-Survival/flow.sk @@ -0,0 +1,21 @@ +on flow: + {flags.%chunk at event-location%::flow} is set: + {flags.%chunk at event-location%::flow} is false: + cancel event + {flags.%chunk at event-location%::flow} is true: + stop + +on ignition: + {flags.%chunk at event-location%::firespread} is set: + {flags.%chunk at event-location%::firespread} is false: + cancel event + {flags.%chunk at event-location%::firespread} is true: + stop + +on burn: + {flags.%chunk at event-location%::firespread} is set: + + {flags.%chunk at event-location%::firespread} is false: + cancel event + {flags.%chunk at event-location%::firespread} is true: + stop \ No newline at end of file diff --git a/Obam-Survival/fma.sk b/Obam-Survival/fma.sk new file mode 100644 index 0000000..58b20b7 --- /dev/null +++ b/Obam-Survival/fma.sk @@ -0,0 +1,815 @@ + +on script load: + {hostilemobs::creeper} is set: + delete {hostilemobs::creeper} + {hostilemobs::spider} is not set: + set {hostilemobs::spider} to spider + {hostilemobs::zombie} is not set: + set {hostilemobs::zombie} to zombie + {hostilemobs::skeleton} is not set: + set {hostilemobs::skeleton} to skeleton + {hostilemobs::slime} is not set: + set {hostilemobs::slime} to slime + {hostilemobs::zombiepigman} is not set: + set {hostilemobs::zombiepigman} to zombie pigman + {hostilemobs::cavespider} is not set: + set {hostilemobs::cavespider} to cave spider + {hostilemobs::silverfish} is not set: + set {hostilemobs::silverfish} to silverfish + {hostilemobs::blaze} is not set: + set {hostilemobs::blaze} to blaze + {hostilemobs::magmacube} is not set: + set {hostilemobs::magmacube} to magma cube + {hostilemobs::witch} is not set: + set {hostilemobs::witch} to witch + {hostilemobs::witherskeleton} is not set: + set {hostilemobs::witherskeleton} to wither skeleton + {hostilemobsproper::creeper} is set: + delete {hostilemobsproper::creeper} + {hostilemobsproper::spider} is not set: + set {hostilemobsproper::spider} to spider + {hostilemobsproper::zombie} is not set: + set {hostilemobsproper::zombie} to zombie + {hostilemobsproper::skeleton} is not set: + set {hostilemobsproper::skeleton} to skeleton + {hostilemobsproper::slime} is not set: + set {hostilemobsproper::slime} to slime + {hostilemobsproper::zombiepigman} is not set: + set {hostilemobsproper::zombiepigman} to zombie pigman + {hostilemobsproper::cavespider} is not set: + set {hostilemobsproper::cavespider} to cave spider + {hostilemobsproper::silverfish} is not set: + set {hostilemobsproper::silverfish} to silverfish + {hostilemobsproper::blaze} is not set: + set {hostilemobsproper::blaze} to blaze + {hostilemobsproper::magmacube} is not set: + set {hostilemobsproper::magmacube} to magma cube + {hostilemobsproper::witch} is not set: + set {hostilemobsproper::witch} to witch + {hostilemobsproper::witherskeleton} is not set: + set {hostilemobsproper::witherskeleton} to wither skeleton + {hostilemobsproper::wither} is set: + delete {hostilemobsproper::wither} + {hostilemobsproper::ghast} is not set: + set {hostilemobsproper::ghast} to ghast + +command /spawntoggle: + permission: obam.smod + trigger: + {spawn.mobarena} is not set: + set {spawn.mobarena} to false + send "&aNatural Spawns are now off in the &eMob Arena" + stop + {spawn.mobarena} is true: + set {spawn.mobarena} to false + send "&aNatural Spawns are now off in the &eMob Arena" + stop + {spawn.mobarena} is false: + set {spawn.mobarena} to true + send "&aNatural Spawns are now on in the &eMob Arena" + stop +on burn of coal block: + {chunk.live.%chunk at location of block%} is "MobArena-BattleFloor": + cancel event + +command /fmaspawn [] []: + permission: obam.smod + trigger: + argument 1 is "random": + argument 2 is "random": + argument 3 is "random": + set {_ran} to a random integer between 1 and 30 + set {spawncheck.ok} to true + loop {_ran} times: + set {_ranmob} to random element of {hostilemobs::*} + set {_ranname} to random element of {rannames::*} + + spawn {_ranmob} at location of player + + set display name of spawned entity to "&c%{_ranname}%" + set {spawncheck.ok} to false + + stop + + argument 3 is set: + loop {rannames::*}: + argument 3 is loop-value + set {_found} to true + {_found} is not set: + add argument 3 to {rannames::*} + + set {_ran} to a random integer between 1 and 30 + set {spawncheck.ok} to true + loop {_ran} times: + set {_ranmob} to random element of {hostilemobs::*} + spawn {_ranmob} at location of player + set display name of spawned entity to "&c%argument 3%" + set {spawncheck.ok} to false + stop + + argument 3 is not set: + set {_ran} to random integer between 1 and 30 + set {spawncheck.ok} to true + loop {_ran} times: + set {_ranmob} to random element of {hostilemobs::*} + + spawn {_ranmob} at location of player + set {spawncheck.ok} to false + stop + argument 2 is not "random": + argument 2 is set + + set {_amount} to argument 2 parsed as number + {_amount} is not set: + parse error is set: + send "&c%last parse error%" + stop + + argument 3 is "random": + set {spawncheck.ok} to true + loop {_amount} times: + set {_ranmob} to random element of {hostilemobs::*} + set {_ranname} to random element of {rannames::*} + spawn {_ranmob} at location of player + set display name of spawned entity to "&c%{_ranname}%" + set {spawncheck.ok} to false + + stop + + argument 3 is set: + loop {rannames::*}: + argument 3 is loop-value + set {_found} to true + {_found} is not set: + add argument 3 to {rannames::*} + + set {spawncheck.ok} to true + loop {_amount} times: + set {_ranmob} to random element of {hostilemobs::*} + spawn {_ranmob} at location of player + set display name of spawned entity to "&c%argument 3%" + set {spawncheck.ok} to false + stop + + argument 3 is not set: + set {spawncheck.ok} to true + loop {_amount} times: + set {_ranmob} to random element of {hostilemobs::*} + + spawn {_ranmob} at location of player + set {spawncheck.ok} to false + stop + + + argument 1 is not "random": + argument 1 is set + {hostilemobsproper::%argument 1%} is not set: + send "&cThat is not a valid mob!" + stop + + set {_mob} to {hostilemobsproper::%argument 1%} + argument 3 is not set: + argument 2 is not set: + set {spawncheck.ok} to true + spawn {_mob} at location of player + set {spawncheck.ok} to false + + + + argument 2 is "random": + argument 3 is "random": + set {_ran} to a random integer between 1 and 30 + set {spawncheck.ok} to true + loop {_ran} times: + set {_ranname} to random element of {rannames::*} + + spawn {_mob} at location of player + + set display name of spawned entity to "&c%{_ranname}%" + set {spawncheck.ok} to false + + stop + + argument 3 is set: + loop {rannames::*}: + argument 3 is loop-value + set {_found} to true + {_found} is not set: + add argument 3 to {rannames::*} + + set {_ran} to a random integer between 1 and 30 + set {spawncheck.ok} to true + loop {_ran} times: + spawn {_mob} at location of player + set display name of spawned entity to "&c%argument 3%" + set {spawncheck.ok} to false + stop + + argument 3 is not set: + set {_ran} to random integer between 1 and 30 + set {spawncheck.ok} to true + loop {_ran} times: + + + spawn {_mob} at location of player + set {spawncheck.ok} to false + stop + argument 2 is not "random": + argument 2 is set + + set {_amount} to argument 2 parsed as number + {_amount} is not set: + parse error is set: + send "&c%last parse error%" + stop + + argument 3 is "random": + set {spawncheck.ok} to true + loop {_amount} times: + set {_ranname} to random element of {rannames::*} + spawn {_mob} at location of player + set display name of spawned entity to "&c%{_ranname}%" + set {spawncheck.ok} to false + + stop + + argument 3 is set: + loop {rannames::*}: + argument 3 is loop-value + set {_found} to true + {_found} is not set: + add argument 3 to {rannames::*} + + set {spawncheck.ok} to true + loop {_amount} times: + spawn {_mob} at location of player + set display name of spawned entity to "&c%argument 3%" + set {spawncheck.ok} to false + stop + + argument 3 is not set: + set {spawncheck.ok} to true + loop {_amount} times: + + spawn {_mob} at location of player + set {spawncheck.ok} to false + stop +command /nameadd []: + permission: obam.smod + trigger: + argument 1 is "list": + loop {rannames::*}: + send "%loop-value%" + stop + argument 1 is "delete": + argument 2 is not set: + send "&cYou must specify what to delete!" + stop + loop {rannames::*}: + loop-value is argument 2 + delete {rannames::%loop-index%} + send "&cDeleted &e%argument 2%" + stop + add argument 1 to {rannames::*} + send "&e%argument 1% &aadded" +command /doorset: + permission: obam.admin + trigger: + add location of targeted block to {fma.doors::*} + send "&aBlock added" + +command /fmaclose: + permission: obam.mod + trigger: + loop {fma.doors::*}: + set {_loc} to loop-value + set block at loop-value to locked chest:15 + send "&aDoors closed" + +command /fmaopen: + permission: obam.mod + trigger: + loop {fma.doors::*}: + set {_loc} to loop-value + set block at loop-value to air + send "&aDoors opened" +on spawn: + set {_chunk} to chunk at event-location + set {_chunk.owner} to {chunk.live.%{_chunk}%} + {_chunk.owner} is "MobArena-Arena" or "MobArena-Spawn" or "MobArena-BattleFloor" or "MobArena-Winner" or "MobArena-Twerk": + {spawn.mobarena} is false: + {spawncheck.ok} is not set: + set {spawncheck.ok} to false + {spawncheck.ok} is false + cancel event + +command /corneradd [] []: + permission: obam.admin + trigger: + argument 1 is not set: + add location of player to {fma.corners::*} + send "&aCorner added" + argument 1 is "clear": + clear {fma.corners::*} +command /fmacampers: + permission: obam.smod + trigger: + set {spawncheck.ok} to true + loop {fma.corners::*}: + set {_loc} to loop-value + set {_ran} to random integer between 1 and 30 + loop {_ran} times: + set {_ranname} to random element of {rannames::*} + set {_ranmob} to random element of {hostilemobs::*} + spawn {_ranmob} at {_loc} + set display name of spawned entity to "&c%{_ranname}%" + wait 1 second + set {spawncheck.ok} to false + +command /entitycheck: + permission: obam.free + trigger: + send "%type of target entity%" + +command /winnerchestadd: + permission: obam.admin + trigger: + set {_size} to size of {winner.chests::*} + set {_size} to {_size} + 1 + set {winner.chests::%{_size}%} to targeted block + + +on death: + {chunk.live.%chunk at location of victim%} is "MobArena-BattleFloor" + + loop drops: + set {_chest} to {winner.chests::1} + while {_chest} doesn't have space for loop-item: + {_count} is not set: + set {_count} to 1 + add 1 to {_count} + set {_chest} to {winner.chests::%{_count}%} + {_count} is 21: + remove loop-item from drops + add loop-item to {_chest} + remove loop-item from drops + +on target: + {chunk.live.%chunk at location of event-entity%} is "MobArena-BattleFloor": + {chunk.live.%chunk at location of target%} is not "MobArena-BattleFloor": + cancel event + +on right click with ender pearl: + {chunk.live.%chunk at location of player%} is "MobArena-BattleFloor" or "MobArena-Spawn" or "MobArena-Arena" or "MobArena-Winner" or "MobArea-Twerk": + cancel event + send "&cYou can not do that here" + +command /fma: + permission: obam.free + trigger: + make player execute command "f t FMA-Spawn mobarena-spawn" + +on drop: + {chunk.live.%chunk at event-location%} is "MobArena-BattleFloor" + set {_chest} to {winner.chests::1} + while {_chest} doesn't have space for item: + {_count} is not set: + set {_count} to 1 + add 1 to {_count} + set {_chest} to {winner.chests::%{_count}%} + {_count} is 21: + cancel event + remove item from player + add item to {_chest} + delete item + +on xp spawn: + {chunk.live.%chunk at event-location%} is "MobArena-BattleFloor" + cancel event + +command /special : + permission: obam.smod + trigger: + argument is "add": + add location of targeted block to {fma.special::*} + send "&aBlock Added" + stop + argument is "lava": + loop {fma.special::*}: + set block at loop-value to lava + + wait 3 seconds + loop {fma.special::*}: + set block at loop-value to coal block + argument is "ice": + loop {fma.special::*}: + set block at loop-value to ice + + wait 3 seconds + loop {fma.special::*}: + set block at loop-value to coal block + argument is "water": + loop {fma.special::*}: + set block at loop-value to water + + wait 3 seconds + loop {fma.special::*}: + set block at loop-value to coal block + + argument is "soulsand": + loop {fma.special::*}: + set block at loop-value to soul sand + + wait 3 seconds + loop {fma.special::*}: + set block at loop-value to coal block + + argument is "cobweb": + loop {fma.special::*}: + set block at loop-value to cobweb + + wait 3 seconds + loop {fma.special::*}: + set block at loop-value to coal block + + argument is "music": + loop all players: + {chunk.live.%chunk at location of loop-player%} is "MobArena-BattleFloor": + send "&aComposition..." to loop-player + loop {fma.special::*}: + set block at loop-value to note block + wait 24 seconds + loop all players: + {chunk.live.%chunk at location of loop-player%} is "MobArena-BattleFloor": + send "&aMusic Begin..." to loop-player + loop {fma.special::*}: + set block above block above loop-value to locked chest:15 + loop 150 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 2 ticks + wait 3 seconds + loop {fma.special::*}: + set block at loop-value to coal block + set block below loop-value to air + set block above block above loop-value to air + + argument is "lever": + loop {fma.special::*}: + set block at loop-value to redstone lamp + set block above loop-value to lever + wait 15 seconds + loop {fma.special::*}: + set block at loop-value to coal block + set block above loop-value to air + + argument is "stack": + loop {fma.special::*}: + set block above loop-value to redstone block + wait 1 tick + wait 1 second + loop {fma.special::*}: + set block above block above loop-value to redstone lamp + wait 1 tick + + wait 3 seconds + loop {fma.special::*}: + set block above block above loop-value to lava + wait 0.5 seconds + loop {fma.special::*}: + set block above block above loop-value to redstone lamp + loop {fma.special::*}: + set block above loop-value to air + wait 1 tick + wait 1 seconds + loop {fma.special::*}: + set block above block above loop-value to air + wait 1 tick + argument is "dance": + loop {fma.special::*}: + set block at loop-value to redstone lamp + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + set block at loop-value to coal block + + +on drop: + {chunk.live.%chunk at location of player%} is "MobArena-Winner": + set {_ran} to random element of {twerk.drop::*} + drop item at block below {_ran} + delete item + +command /twerkadd: + permission: obam.admin + trigger: + add location of targeted block to {twerk.drop::*} + send "&aBlock added" + +command /specialtestsword: + permission: obam.admin + trigger: + give diamond sword named "&cSpecial Test Sword" to player + +on damage: + attacker's tool is diamond sword named "&cSpecial Test Sword": + attacker has permission "obam.admin": + {chunk.live.%chunk at location of attacker%} is "MobArena-BattleFloor": + loop all entities: + {chunk.live.%chunk at location of loop-entity%} is "MobArena-BattleFloor": + loop-entity is not a player + kill loop-entity + +on sign change: + player is op + line 1 of block is "fmahelm": + set line 2 of block to "FMA Helmet" + set line 1 of block to "Click to get" + set line 3 of block to "500 Tickets" + line 1 of block is "fmachest": + set line 1 of block to "Click to get" + set line 2 of block to "FMA Chestplate" + set line 3 of block to "500 Tickets" + line 1 of block is "fmapants": + set line 1 of block to "Click to get" + set line 2 of block to "FMA Leggings" + set line 3 of block to "500 Tickets" + line 1 of block is "fmaboots": + set line 1 of block to "Click to get" + set line 2 of block to "FMA Boots" + set line 3 of block to "500 Tickets" + line 1 of block is "fmasword": + set line 1 of block to "Click to get" + set line 2 of block to "FMA Sword" + set line 3 of block to "500 Tickets" + line 1 of block is "fmabow": + set line 1 of block to "Click to get" + set line 2 of block to "FMA Bow" + set line 3 of block to "500 Tickets" + line 1 of block is "fmaarrows": + set line 1 of block to "Click to get" + set line 2 of block to "FMA Arrows" + set line 3 of block to "(150)" + set line 4 of block to "500 Tickets" + line 2 of block is "fmafood": + set line 1 of block to "Click to get" + set line 2 of block to "FMA Apples" + set line 3 of block to "(150)" + set line 4 of block to "500 Tickets" + +on right click on sign: + line 1 of block is "Click to get": + set {_bal} to player's balance + {_bal} is less than 500: + send "&cYou do not have enough Tickets!" + stop + player doesn't have space for sponge: + send "&aYou do not have room!" + stop + line 2 of block is "FMA Helmet": + give player diamond helmet of protection 3 and unbreaking 3 named "&7FMA Helmet" + remove 500 from player's balance + send "&aYou have spent 500 tickets on &eFMA Helmet" + line 2 of block is "FMA Chestplate": + give player diamond chestplate of protection 3 and unbreaking 3 named "&7FMA Chestplate" + remove 500 from player's balance + send "&aYou have spent 500 tickets on &eFMA Chestplate" + line 2 of block is "FMA Leggings": + give player diamond leggings of protection 3 and unbreaking 3 named "&7FMA Leggings" + remove 500 from player's balance + send "&aYou have spent 500 tickets on &eFMA Leggings" + line 2 of block is "FMA Boots": + give player diamond boots of protection 3 and unbreaking 3 named "&7FMA Boots" + remove 500 from player's balance + send "&aYou have spent 500 tickets on &eFMA Boots" + line 2 of block is "FMA Sword": + give player diamond sword of knockback 1 and unbreaking 3 and sharpness 2 named "&7FMA Sword" + remove 500 from player's balance + send "&aYou have spent 500 tickets on &EFMA Sword" + line 2 of block is "FMA Bow": + give player bow of punch 2 and power 3 and unbreaking 1 named "&7FMA Bow" + remove 500 from player's balance + send "&aYou have spent 500 tickets on &eFMA Bow" + line 2 of block is "FMA Arrows": + give player 150 arrows named "&7FMA Arrow" + remove 500 from player's balance + send "&aYou have spent 500 tickets on &eFMA Arrows" + line 2 of block is "FMA Apples": + give player 150 apples named "&7FMA Apple" + remove 500 from player's balance + send "&aYou have spent 500 tickets on &eFMA Apples" + + diff --git a/Obam-Survival/landclaim.sk b/Obam-Survival/landclaim.sk index 4da3ee0..2c5ecd8 100644 --- a/Obam-Survival/landclaim.sk +++ b/Obam-Survival/landclaim.sk @@ -182,40 +182,16 @@ command /front [] [] []: clear {chunk.live.%chunk at location of player%} clear {chunk.name.%chunk at location of player%} delete {loc.chunks.%player%::%chunk at location of player%} + loop {flags.%chunk at location of player%::*}: + loop {flags.%chunk at location of player%::%loop-index%::*}: + delete {flags.%chunk at location of player%::%loop-index-1%::%loop-index-2%} + delete {flags.%chunk at location of player%::%loop-index%} + loop {owned.chunks.%player%::*}: chunk at location of player is {owned.chunks.%player%::%loop-index%} delete {owned.chunks.%player%::%loop-index%} message "&6You have unclaimed this Front." stop - #subfold @add - argument 1 is "add" or "a": - if argument 2 is not set: - make player execute command "land error" - stop - if {chunk.live.%chunk at location of player%} is not set: - message "&cThis land has not been claimed." - stop - if {chunk.live.%chunk at location of player%} is not name of player: - message "&cYou do not own this land." - stop - if {played.%argument 2%} is not set: - message "&cThis player does not exist." - stop - if {chunk.live.%chunk at location of player%} is argument 2: - message "&cYou can not add yourself to your own land." - stop - set {_playersearch} to 0 - loop 10000 times: - if {land.live.%chunk at location of player%::%{_playersearch}%} is argument 2: - message "&cThis player is already a member of this land." - stop - else: - add 1 to {_playersearch} - if {_playersearch} is 10000: - message "&6%argument 2% can now build in this Front." - add "%argument 2%" to {land.live.%chunk at location of player%::*} - set {chunk.live.%chunk at location of player%.%argument 2%} to true - stop #subfold @remove argument 1 is "remove" or "r": if argument 2 is not set: @@ -259,8 +235,14 @@ command /front [] [] []: message "&cThis land has not been claimed." stop if {chunk.live.%chunk at location of player%} is not name of player: - message "&cThis is not your land!" - stop + {flags.%chunk at location of player%::admin::everyone} is not set: + set {flags.%chunk at location of player%::admin::everyone} to false + {flags.%chunk at location of player%::admin::%player%} is not set: + set {flags.%chunk at location of player%::admin::%player%} to false + {flags.%chunk at location of player%::admin::everyone} is false: + {flags.%chunk at location of player%::admin::%player%} is false: + send "&cYou do not have permission to do this!" + stop argument 2 is "set": send "&cThat is an invalid name!" to player stop @@ -322,8 +304,14 @@ command /front [] [] []: if {chunk.live.%chunk at location of player%} is not name of player: {chunk.live.%chunk at location of player%} is not "Town": {chunk.live.%chunk at location of player%.%player%} is not set: - message "&cYou can only do this in &eTown&c, or on your land!" - stop + {flags.%chunk at location of player%::teleport::everyone} is not set: + set {flags.%chunk at location of player%::teleport::everyone} to false + {flags.%chunk at location of player%::teleport::everyone} is false: + {flags.%chunk at location of player%::teleport::%player%} is not set: + set {flags.%chunk at location of player%::teleport::%player%} to false + {flags.%chunk at location of player%::teleport::%player%} is false: + message "&cYou can only do this in &eTown&c, or on your land!" + stop loop {loc.chunks.%player%::*}: set {_loc} to loop-value set {_chunk} to chunk at location of {_loc} @@ -341,16 +329,28 @@ command /front [] [] []: if {chunk.live.%chunk at location of player%} is not name of player: {chunk.live.%chunk at location of player%} is not "Town": {chunk.live.%chunk at location of player%.%player%} is not set: - message "&cYou can only do this in &eTown&c, or on your land!" - stop + {flags.%chunk at location of player%::teleport::everyone} is not set: + set {flags.%chunk at location of player%::teleport::everyone} to false + {flags.%chunk at location of player%::teleport::everyone} is false: + {flags.%chunk at location of player%::teleport::%player%} is not set: + set {flags.%chunk at location of player%::teleport::%player%} to false + {flags.%chunk at location of player%::teleport::%player%} is false: + message "&cYou can only do this in &eTown&c, or on your land!" + stop loop {loc.chunks.%argument 3%::*}: set {_loc} to loop-value set {_chunk} to chunk at location of {_loc} set {_chunk.name} to {chunk.name.%{_chunk}%} {_chunk.name} is argument 2: {chunk.live.%{_chunk}%.%player%} is not set: - send "&cYou do not have permission to go here!" to player - stop + {flags.%{_chunk}%::teleport::everyone} is not set: + set {flags.%{_chunk}%::teleport::everyone} to false + {flags.%{_chunk}%::teleport::%player%} is not set: + set {flags.%{_chunk}%::teleport::%player%} to false + {flags.%{_chunk}%::teleport::everyone} is false: + {flags.%{_chunk}%::teleport::%player%} is false + send "&cYou do not have permission to go here!" to player + stop send "&aTeleporting to &e%argument 2%" to player teleport player to {_loc} stop @@ -385,19 +385,57 @@ on quit: clear {bypassland.%player%} on place: block is not tnt + block is not water + block is not lava if {bypassland.%player%} is true: stop if {chunk.live.%chunk at location of block%} is set: if {chunk.live.%chunk at location of block%.%player%} is true: stop + {flags.%chunk at location of block%::build::everyone} is true: + stop + {flags.%chunk at location of block%::build::%player%} is true: + stop message "&cThis land is owned by %{chunk.live.%chunk at location of block%}%." cancel event + + + + on break: + block is not water or lava or milk if {bypassland.%player%} is true: stop if {chunk.live.%chunk at location of block%} is set: if {chunk.live.%chunk at location of block%.%player%} is true: stop + {flags.%chunk at location of block%::build::everyone} is true: + event-block is a chest or a furnace or a dispenser or a hopper or a brewing stand or a dropper or a trapped chest or a beacon: + {flags.%chunk at location of block%::container::everyone} is true: + stop + {flags.%chunk at location of block%::container::%player%} is true: + stop + event-block is a door or a anvil or a lever or a button or a wood button or a jukebox or a trapdoor or a fence gate or a enchantment table or a redstone comparator or a repeater: + {flags.%chunk at location of block%::use::everyone} is true: + stop + {flags.%chunk at location of block%::use::%player%} is true: + stop + else: + stop + {flags.%chunk at location of block%::build::%player%} is true: + event-block is a chest or a furnace or a dispenser or a hopper or a brewing stand or a dropper or a trapped chest or a beacon: + {flags.%chunk at location of block%::container::everyone} is true: + stop + {flags.%chunk at location of block%::container::player} is true: + stop + event-block is a door or a anvil or a lever or a button or a wood button or a jukebox or a trapdoor or a fence gate or a enchantment table or a redstone comparator or a repeater: + {flags.%chunk at location of block%::use::everyone} is true: + stop + {flags.%chunk at location of block%::use::%player%} is true: + stop + else: + stop + message "&cThis land is owned by %{chunk.live.%chunk at location of block%}%." cancel event on place of tnt: @@ -416,20 +454,34 @@ on explode: loop blocks in radius 10 of entity: if {chunk.live.%chunk at location of loop-block%} is set: cancel event + set {_safe} to true + {_safe} is set: + create safe explosion of force 3 at event-location on damage of a entity: - victim is enderman or creeper or wither or zombie or wither skeleton or blaze or slime or ghast or witch or skeleton or silverfish or spider or cave spider or magma cube: + victim is enderman or creeper or wither or zombie or wither skeleton or blaze or slime or ghast or witch or skeleton or silverfish or spider or cave spider or magma cube or zombie pigman: stop attacker is a player + victim is a cow: + attacker's tool is a empty bucket + stop loop blocks in radius 3 of victim: {bypassland.%attacker%} is true: stop - if {chunk.live.%chunk at location of loop-block%} is set: - {chunk.live.%chunk at location of loop-block%} is not attacker: - {chunk.live.%chunk at location of loop-block%.%attacker%} is set: + if {chunk.live.%chunk at location of loop-block%} is not attacker: + {chunk.live.%chunk at location of loop-block%.%attacker%} is set: + stop + {flags.%chunk at location of loop-block%::entity::everyone} is not set: + set {flags.%chunk at location of loop-block%::entity::everyone} to false + {flags.%chunk at location of loop-block%::entity::%attacker%} is not set: + set {flags.%chunk at location of loop-block%::entity::%attacker%} to false + {flags.%chunk at location of loop-block%::entity::everyone} is false: + {flags.%chunk at location of loop-block%::entity::%attacker%} is true: stop - send "&cThis area is protected!" to attacker - cancel event - stop trigger + {flags.%chunk at location of loop-block%::entity::everyone} is true: + stop + send "&cThis area is protected!" to attacker + cancel event + on right click on lead: {bypassland.%player%} is true: stop @@ -582,9 +634,16 @@ on command "/home": cancel event {chunk.live.%chunk at location of player%} is not player: {chunk.live.%chunk at location of player%} is not "Town": - {chunk.live.%chunk at location of player%.%player%} is not set: - send "&cYou can only do this in Town, or on your own land!" to player - stop + {chunk.live.%chunk at location of player%.%player%} is not set + {flags.%chunk at location of player%::teleport::everyone} is not set: + set {flags.%chunk at location of player%::teleport::everyone} to false + {flags.%chunk at location of player%::teleport::%player%} is not set: + set {flags.%chunk at location of player%::teleport::%player%} to false + {flags.%chunk at location of player%::teleport::everyone} is false: + {flags.%chunk at location of player%::teleport::%player%} is false: + + send "&cYou can only do this in Town, or on your own land!" to player + stop if {chunk.live.%chunk at location of player%} is not set: message "&cYou must do this on your land!" @@ -649,6 +708,8 @@ command /townclaim: command /owner : permission: obam.admin trigger: + {chunks.claim.count.%argument%} is not set: + set {chunks.claim.count.%argument%} to 0 add 1 to {chunks.claim.count.%argument%} add argument to {land.live.%chunk at location of player%::*} set {chunk.live.%chunk at location of player%} to argument @@ -676,6 +737,62 @@ on command "/spawn": cancel event stop +on bucket fill: + + {chunk.live.%chunk at location of player%} is set: + {chunk.live.%chunk at location of player%} is not player + {chunk.live.%chunk at location of player%.%player%} is not set: + {flags.%chunk at location of player%::bucket::everyone} is not set: + set {flags.%chunk at location of player%::bucket::everyone} to false + {flags.%chunk at location of player%::bucket::%player%} is not set: + set {flags.%chunk at location of player%::bucket::%player%} to false + {flags.%chunk at location of player%::bucket::everyone} is false: + {flags.%chunk at location of player%::bucket::%player%} is true: + stop + {flags.%chunk at location of player%::bucket::everyone} is true: + stop + targeted block is water: + {flags.%chunk at location of player%::bucketwater::everyone} is true: + stop + + {flags.%chunk at location of player%::bucketwater::%player%} is true: + stop + targeted block is lava: + {flags.%chunk at location of player%::bucketlava::everyone} is true: + stop + + {flags.%chunk at location of player%::bucketlava::%player%} is true: + stop + send "&cYou do not have permission to do this!" + cancel event + + +on bucket empty: + {chunk.live.%chunk at location of player%} is set: + {chunk.live.%chunk at location of player%} is not player + {chunk.live.%chunk at location of player%.%player%} is not set: + {flags.%chunk at location of player%::bucket::everyone} is not set: + set {flags.%chunk at location of player%::bucket::everyone} to false + {flags.%chunk at location of player%::bucket::%player%} is not set: + set {flags.%chunk at location of player%::bucket::%player%} to false + {flags.%chunk at location of player%::bucket::everyone} is false: + {flags.%chunk at location of player%::bucket::%player%} is true: + stop + {flags.%chunk at location of player%::bucket::everyone} is true: + stop + player's tool is water bucket: + {flags.%chunk at location of player%::bucketwater::everyone} is true: + stop + {flags.%chunk at location of player%::bucketwater::%player%} is true: + stop + player's tool is lava bucket: + {flags.%chunk at location of player%::bucketlava::everyone} is true: + stop + {flags.%chunk at location of player%::bucketlava::%player%} is true: + stop + send "&cYou do not have permission to do this!" + cancel event + command /claimedset : permission: obam.admin trigger: diff --git a/Obam-Testing/backpack.sk b/Obam-Testing/backpack.sk new file mode 100644 index 0000000..a94d396 --- /dev/null +++ b/Obam-Testing/backpack.sk @@ -0,0 +1,98 @@ +options: + world: backpacks + backpack: ink sack named "&3BackPack" + enderpack: ender pearl named "&3EnderPack" with lore "&6Open your Ender Chest||&6anywhere!|| ||&5&oRight Click to open||&5&oYour portable Ender Chest" +on script load: + register new shaped recipe for {@backpack} using emerald block, emerald block, emerald block, emerald block, ink sack, emerald block, emerald block, chest, emerald block + register new shaped recipe for {@enderpack} using air, air, air, emerald block, ender pearl, emerald block, air, ender chest, air + + {db_customitems::backpack} is not set: + set {db_customitems::backpack} to {@backpack} + {db_customitems::backpack} is not {@backpack}: + set {db_customitems::backpack} to {@backpack} + {count.backpacks} is not set: + set {count.backpacks} to 1 + + + +on craft of ink sack: + name of event-item is "&3Backpack" + send "&aPlease use &e/backpack&a, to activate this backpack!" + + +command /backpack: + aliases: bp + permission: obam.free + trigger: + player's tool is ink sack + name of player's tool is "&3Backpack" + set {_lorecheck} to uncoloured lore of player's tool + set {_lorecheck::*} to {_lorecheck} split at "||" + {_lorecheck::2} is set: + send "&cThis backpack is already assigned" to player + stop + remove {@backpack} from player + player has space for a oak sapling: + give player {@backpack} with lore "&8%{count.backpacks}%||&6Carry lots of extra stuff!|| ||&5&oRight click to open" + player doesn't have space for a oak sapling: + drop {@backpack} with lore "&8%{count.backpacks}%||&6Carry lots of extra stuff!|| ||&5&oRight click to open" at location of player + + add 2 to z-coordinate of {backpack.coordinate} + add 2 to x-coordinate of {backpack.coordinate} + set {_loc} to {backpack.coordinate} + set block at location of {_loc} to chest named "&2Backpack" + set {_chest} to block at {_loc} + set {tie.backpack.%{count.backpacks}%} to {_chest} + {tie.backpack.%{count.backpacks}%} is set: + send "&aBackpack created..." + {tie.backpack.%{count.backpacks}%} is not set: + send "&cError..." + add 1 to {count.backpacks} + +command /backpackname : + permission: obam.free + aliases: bpn, bpname + trigger: + name of player's tool contains "&3BackPack": + set {_lorecheck} to uncoloured lore of player's tool + set {_lorecheck::*} to {_lorecheck} split at "||" + {_lorecheck::2} is not set: + send "&cThis backpack is not yet activated" to player + stop + lore of player's tool contains "&eName:": + send "&cThis backpack already has a name!" + stop + the length of argument is greater than 30: + send "&cThat name is too long!" + stop + set lore of player's tool to "%lore of player's tool%|| ||&eName:||&2%argument%" + send "&aName of backpack set to &2%argument%" + + +on right click with ink sack: + name of player's tool is "&3Backpack" or "&a&b&k&a&3Backpack": + set {_chest} to uncoloured lore of player's tool + set {_chest::*} to {_chest} split at "||" + {_chest::1} is not set: + send "&cError Opening backpack" + {tie.backpack.%{_chest::1}%} is not set: + send "&cError opening backpack" + {tie.backpack.%{_chest::1}%} is set: + block at location of {tie.backpack.%{_chest::1}%} is not chest: + set block at location of {tie.backpack.%{_chest::1}%} to chest + open {tie.backpack.%{_chest::1}%} to player + +on right click with ender pearl: + name of player's tool contains "&3EnderPack": + cancel event + open player's enderchest to player + +on shoot: + shooter's tool is ender pearl + name of shooter's tool contains "&3EnderPack": + cancel event + +command /backpackstart: + permission: obam.admin + trigger: + set {backpack.coordinate} to player's location \ No newline at end of file diff --git a/Obam-Testing/blocksave.sk b/Obam-Testing/blocksave.sk new file mode 100644 index 0000000..29b7a9c --- /dev/null +++ b/Obam-Testing/blocksave.sk @@ -0,0 +1,25 @@ +on place: + former tool's name is set: + set {information.%block%.1} to type of former tool + {debug.%player%} is true: + send "DEBUG You placed %former tool's name%" + set {information.%block%.2} to lore of former tool + set {information.%block%.3} to name of former tool + {debug.%player%} is true: + send "DEBUG %block%" + send "DEBUG %{information.%block%.1}%" + send "DEBUG %lore of former tool%" + send "DEBUG %name of former tool%" + send "DEBUG %{information.%block%.2}%" + send "DEBUG %{information.%block%.3}%" + + +on break: + {information.%block%.1} is set: + cancel event + {debug.%player%} is true: + send "DEBUG I ama message" + set {_message} to "%{information.%block%.1}%;%{information.%block%.3}%;%{information.%block%.2}%" + send "DEBUG %{_message}%" + delete block + drop {information.%block%.1} named {information.%block%.3} with lore {information.%block%.2} at event-location \ No newline at end of file diff --git a/Obam-Testing/hitsounds.sk b/Obam-Testing/hitsounds.sk new file mode 100644 index 0000000..6d960c0 --- /dev/null +++ b/Obam-Testing/hitsounds.sk @@ -0,0 +1,133 @@ +#hits + +options: + note: i;dirt;n;&7Note;l;&6Click to enable Note||&6sounds for your attacks;c;sudo %player% hitmenu note + arrowhit: i;dirt;n;&7Arrow;l;&6Click to enable Arrow||&6sounds for your attacks;c;sudo %player% hitmenu arrow + anvil: i;dirt;n;&7Anvil;l;&6Click to enable Anvil||&6sounds for your attacks;c;sudo %player% hitmenu anvil + chest: i;dirt;n;&7Chest;l;&6Click to enable Chest||&6sounds for your attacks;c;sudo %player% hitmenu chest + click: i;dirt;n;&7Click;l;&6Click to enable Click||&6sounds for your attacks;c;sudo %player% hitmenu click + levelup: i;dirt;n;&7Level;l;&6Click to enable Level||&6sounds for your attacks;c;sudo %player% hitmenu level + villager: i;dirt;n;&7Villager;l;&6Click to enable Villager||&6sounds for your attacks;c;sudo %player% hitmenu villager + clear: i;glass;n;&7Clear;l;&6Click to disable all||&6sounds for your attacks;c;sudo %player% hitmenu clear +command /hitmenu []: + permission: obam.supporter + trigger: + + argument is not set: + send "&aOpening menu..." + wait 0.3 seconds + show "s;1;{@note};s;2;{@arrowhit};s;3;{@anvil};s;4;{@chest};s;5;{@click};s;6;{@levelup};s;7;{@villager};s;9;{@clear}" with 1 row named "&1Hit Menu" to player + + argument is "note": + set {hit.%player%} to "note" + send "&aAttack sound set to &eNote!" + + argument is "arrow": + set {hit.%player%} to "arrow" + send "&aAttack sound set to &eArrow&a!" + + argument is "chest": + set {hit.%player%} to "chest" + send "&aAttack sounds set to &eChest&a!" + + argument is "anvil": + set {hit.%player%} to "anvil" + send "&aAttack sounds set to &eAnvil&a!" + + argument is "click": + set {hit.%player%} to "click" + send "&aAttack sounds set to &eClick&a!" + + argument is "level": + set {hit.%player%} to "level" + send "&aAttack sounds set to &eLevel&a!" + + argument is "villager": + set {hit.%player%} to "villager" + send "&aAttack sounds set to &eVillager&a!" + + argument is "clear": + clear {hit.%player%} + send "&aAttack sounds cleared!" + +on damage: + {hit.%attacker%} is set: + {hit.%attacker%} is "note": + chance of 14%: + play note bass at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 16%: + play note piano at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 20%: + play note bass drum at location of attacker with pitch 1 + set {_play} to true + chance of 25%: + play note sticks at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 33%: + play note bass guitar at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play note snare drum at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play note pling at location of attacker with pitch 1 + {hit.%attacker%} is "arrow": + chance of 50%: + play shoot arrow at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play arrow hit at location of attacker with pitch 1 + {hit.%attacker%} is "chest": + chance of 50%: + play chest close at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play chest close at location of attacker with pitch 1 + {hit.%attacker%} is "anvil": + chance of 33%: + play anvil break at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play anvil land at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play anvil use at location of attacker with pitch 1 + {hit.%attacker%} is "click": + play click at location of attacker with pitch 1 + {hit.%attacker%} is "level": + chance of 50%: + play level up at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play orb pickup at location of attacker with pitch 1 + {hit.%attacker%} is "villager": + chance of 16%: + play villager yes at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 20%: + play villager no at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 25%: + play villager death at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 33%: + play villager haggle at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play villager idle at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play villager hit at location of attacker with pitch 1 + + \ No newline at end of file diff --git a/Obam-Testing/lightbow.sk b/Obam-Testing/lightbow.sk new file mode 100644 index 0000000..1cfa37f --- /dev/null +++ b/Obam-Testing/lightbow.sk @@ -0,0 +1,55 @@ +options: + lightbow: bow named "&3Bow of Light" with lore "&6Light your way from afar||&6with this magical bow.|| ||&c-1 Torch Per Use" + +on script load: + register new shaped recipe for {@lightbow} using glowstone dust, glowstone dust, glowstone dust, glowstone dust, bow, glowstone dust, glowstone dust, glowstone dust, glowstone dust + + + +command /lightbow: + permission: obam.admin + trigger: + + give player 1 {@lightbow} + send "&aHere is your thing" + + +on right click with bow: + name of player's tool contains "&3Bow of Light": + cancel event + player does not have a torch: + send "&cYou do not have any torches" to player + stop + damage player's tool by 1 + set {_block} to player's target block + block above {_block} is air: + make player shoot item projectile torch at speed 5 + wait 3 ticks + set block above {_block} to torch + remove 1 torch from player + stop + block west of {_block} is air: + make player shoot item projectile torch at speed 5 + wait 3 ticks + set block west of {_block} to torch + remove 1 torch from player + stop + block south of {_block} is air: + make player shoot item projectile torch at speed 5 + wait 3 ticks + set block south of {_block} to torch + remove 1 torch from player + stop + block east of {_block} is air: + make player shoot item projectile torch at speed 5 + wait 3 ticks + set block east of {_block} to torch + remove 1 torch from player + stop + block north of {_block} is air: + make player shoot item projectile torch at speed 5 + wait 3 ticks + set block north of {_block} to torch + remove 1 torch from player + stop + diff --git a/Obam-Testing/schat2.sk b/Obam-Testing/schat2.sk index 50e8849..64a3cac 100644 --- a/Obam-Testing/schat2.sk +++ b/Obam-Testing/schat2.sk @@ -1,5 +1,5 @@ options: - p: &3[H] + p: &2[F] @@ -44,6 +44,9 @@ on chat: player is "IcecreamCow" or "Electric_Hamster" or "ISMOOCH": set {_pre} to "{@p} &d[A] %player%" + {_pre} is not set: + player is "OrigamiJoe" or "Deathtomb8953": + set {_pre} to "{@p} &a[╪] %player%" {_pre} is not set: player has permission "obam.mod": set {_pre} to "{@p} &2[M] %player%" diff --git a/Obam-Testing/soulbound.sk b/Obam-Testing/soulbound.sk new file mode 100644 index 0000000..dc7c60f --- /dev/null +++ b/Obam-Testing/soulbound.sk @@ -0,0 +1,52 @@ +on death of a player: + loop drops: + lore of loop-item contains "&2StickyItem ©" + name of loop-item contains "&a&b&k&a" + add loop-item to {soulbound.%player%::*} + remove loop-item from drops + +on respawn: + wait 1 tick + {soulbound.%player%::*} is set + loop {soulbound.%player%::*}: + give player loop-value + + clear {soulbound.%player%::*} + +command /stickyitem: + permission: obam.free + aliases: si + trigger: + set {_bal} to player's balance + {_bal} is less than 10000: + send "&cYou do not have enough tickets for this!" + stop + name of player's tool is "&3BackPack": + set {_lorecheck} to uncoloured lore of player's tool + set {_lorecheck::*} to {_lorecheck} split at "||" + {_lorecheck::2} is not set: + send "&cThis backpack is not yet activated" to player + stop + remove 10000 from player's balance + name of player's tool is set: + set name of player's tool to "&a&b&k&a%name of player's tool%" + name of player's tool is not set: + set name of player's tool to "&a&b&k&a%type of player's tool%" + lore of player's tool contains "&2StickyItem ©": + send "&cThis is already a &2StickyItem ©" + stop + set lore of player's tool to "%lore of player's tool%|| ||&2StickyItem ©" + send "&aThank you for using &2StickyItem ©&a. Your item is now Stickied for a price of &e10000 Tickets&a!" + send "&aYour balance is now &e%player's balance%&a." + +on enchant: + lore of event-item contains "&2StickyItem ©": + send "&cYou can not enchant StickyItems!" + cancel event + stop + +on craft: + lore of event-item contains "&2StickyItem ©": + send "&cYou can not do that with a StickyItem!" + cancel event + stop \ No newline at end of file diff --git a/Obam-Testing/splash.sk b/Obam-Testing/splash.sk new file mode 100644 index 0000000..e06f53f --- /dev/null +++ b/Obam-Testing/splash.sk @@ -0,0 +1,139 @@ +#splash + +options: + heart: i;dirt;n;&7Hearts;l;&6Click to enable heart||&6effects for your splash;c;sudo %player% splashmenu hearts + flame: i;dirt;n;&7Flames;l;&6Click to enable flame||&6effects for your splash;c;sudo %player% splashmenu flames + reddust: i;dirt;n;&7Red Poof;l;&6Click to enable red poof||&6effects for your splash;c;sudo %player% splashmenu burst + smoke: i;dirt;n;&7Smoke;l;&6Click to enable smoke||&6effects for your splash;c;sudo %player% splashmenu smoke + waterdrip: i;dirt;n;&7Drip Water;l;&6Click to enable water drip||&6effects for your splash;c;sudo %player% splashmenu water + lavadrip: i;dirt;n;&7Drip Lava;l;&6Click to enable lava drip||&6effects for your splash;c;sudo %player% splashmenu lava + slime: i;dirt;n;&7Slime;l;&6Click to enable slime||&6effects for your splash;c;sudo %player% splashmenu slime + note: i;dirt;n;&7Notes;l;&6Click to enable music note||&6effects for your splash;c;sudo %player% splashmenu notes + happy: i;dirt;n;&7Happy;l;&6Click to enable Happy||&6effects for your splash;c;sudo %player% splashmenu happy + angry: i;dirt;n;&7Angry;l;&6Click to enable Angry||&6effects for your splash;c;sudo %player% splashmenu angry + explode: i;dirt;n;&7Explosion;l;&6Click to enable Explosion||&6effects for your splash;c;sudo %player% splashmenu explode + snow: i;dirt;n;&7Snow;l;&6Click to enable Snow Shovel||&6effects for your splash;c;sudo %player% splashmenu snow + portal: i;dirt;n;&7Portal;l;&6Click to enable Portal||&6effects for your splash;c;sudo %player% splashmenu portal + cloud: i;dirt;n;&7Cloud;l;&6Click to enable Cloud||&6effects for your splash;c;sudo %player% splashmenu cloud + clear: i;glass;n;&7Clear splash;l;&6Click to disable||&6effects for your splash;c;sudo %player% splashmenu clear + bubble: i;dirt;n;&7Bubble;l;&6Click to enable Bubble||&6effects for your splash;c;sudo %player% splashmenu bubble + +command /splashmenu []: + permission: obam.supporter + trigger: + + argument is not set: + send "&aOpening menu..." + wait 0.3 seconds + show "s;1;{@heart};s;2;{@flame};s;3;{@reddust};s;4;{@smoke};s;5;{@slime};s;6;{@note};s;7;{@lavadrip};s;8;{@waterdrip};s;9;{@happy};s;10;{@angry};s;11;{@explode};s;12;{@snow};s;13;{@portal};s;14;{@cloud};s;15;{@clear}" with 2 rows named "&1splash Menu" to player + + argument is "hearts": + set {splash.%player%} to "hearts" + send "&asplash set to &eHearts&a!" + + argument is "flames": + set {splash.%player%} to "flames" + send "&asplash set to &eFlames&a!" + + argument is "burst": + set {splash.%player%} to "burst" + send "&asplash set to &eRed Poof&a!" + + argument is "smoke": + set {splash.%player%} to "smoke" + send "&asplash set to &eSmoke&a!" + + argument is "slime": + set {splash.%player%} to "slime" + send "&asplash set to &eSlime&a!" + + argument is "notes": + set {splash.%player%} to "notes" + send "&asplash set to &eNotes&a!" + + argument is "lava": + set {splash.%player%} to "lava" + send "&asplash set to &eLava Drip&a!" + + argument is "water": + set {splash.%player%} to "water" + send "&asplash set to &eWater Drip&a!" + + argument is "happy": + set {splash.%player%} to "happy" + send "&asplash set to &eHappy&A!" + + argument is "angry": + set {splash.%player%} to "angry" + send "&asplash set to &eAngry&A!" + + argument is "explode": + set {splash.%player%} to "explode" + send "&asplash set to &eExplosion&a!" + + argument is "snow": + set {splash.%player%} to "snow" + send "&asplash set to &eSnow Shovel&a!" + + argument is "bubble": + set {splash.%player%} to "bubble" + send "&asplash set to &eBubble&A!" + + argument is "portal": + set {splash.%player%} to "portal" + send "&asplash set to &ePortal&a!" + + argument is "cloud": + set {splash.%player%} to "cloud" + send "&asplash set to &eCloud&A!" + + argument is "bubble": + set {splash.%player%} to "bubble" + + argument is "clear": + clear {splash.%player%} + send "&asplash disabled!" + + +every 5 seconds: + loop all players: + clear {_amt} + loop-player is not sneaking + loop-player is sprinting: + set {_amt} to 100 + {_amt} is not set: + set {_amt} to 50 + {splash.%loop-player%} is set: + {splash.%loop-player%} is "bubble": + spawn {_amt} of bubble data 1 offset with 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "cloud": + spawn {_amt} of cloud data 1 offset with 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "hearts": + spawn {_amt} of heart data 1 offset with 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "flames": + spawn {_amt} of flame data 1 offset with 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "burst": + spawn {_amt} of red dust data 1 offset with 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "smoke": + spawn {_amt} of large smoke data 1 offset with 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "notes": + spawn {_amt} of note data 1 offset with 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "lava": + spawn {_amt} of drip lava data 1 offset with 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "water": + spawn {_amt} of drip water data 1 offset with 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "slime": + spawn {_amt} of slime data 1 offset with 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "happy": + spawn {_amt} of happy villager data 1 offset with 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "angry": + spawn {_amt} of angry villager data 1 offset with 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "explode": + spawn {_amt} of large explode data 1 offset with 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "snow": + spawn {_amt} of snow shovel data 1 offset with 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "portal": + spawn {_amt} of portal data 1 offset with 1, 1, 1 at location of loop-player + + + \ No newline at end of file diff --git a/Obam-Testing/suphorse.sk b/Obam-Testing/suphorse.sk new file mode 100644 index 0000000..a703f6c --- /dev/null +++ b/Obam-Testing/suphorse.sk @@ -0,0 +1,31 @@ +command /zombify: + permission: obam.supporter + trigger: + player is not riding: + send "&cYou must be riding a horse to do this!" + stop + player's vehicle is not a horse: + send "&cYou must be riding a horse to do this!" + stop + set {_y} to y-coordinate of player + set {_x} to x-coordinate of player + set {_z} to z-coordinate of player + execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:3,Tame:1}" + delete player's vehicle + +command /skellify: + permission: obam.supporter + trigger: + player is not riding: + send "&cYou must be riding a horse to do this!" + stop + player's vehicle is not a horse: + send "&cYou must be riding a horse to do this!" + stop + set {_y} to y-coordinate of player + set {_x} to x-coordinate of player + set {_z} to z-coordinate of player + execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:4,Tame:1}" + delete player's vehicle + + diff --git a/Obam-Testing/timber.sk b/Obam-Testing/timber.sk new file mode 100644 index 0000000..fc633da --- /dev/null +++ b/Obam-Testing/timber.sk @@ -0,0 +1,52 @@ +options: + timber: diamond axe named "&a&b&k&a&3Timber Axe" with lore "&6It's going down, I'm||&6yelling timber!|| ||&aUsing this powerful axe||&awill destroy &a&lALL&a logs||&aIn a 10 block radius!|| ||&2StickyItem ©" + +command /timber: + permission: obam.admin + trigger: + give player 1 {@timber} + send "&aHere is your thing" + +on break of oak wood or birch wood or spruce wood or jungle wood or acacia wood or dark oak wood: + name of player's tool is "&a&b&k&a&3Timber Axe" + add location of event-block to {_wood.blocks::*} + loop blocks in radius 10 of event-block: + loop-block is oak wood or birch wood or spruce wood or jungle wood or acacia wood or dark oak wood + {chunk.live.%chunk at location of loop-block%} is set: + {chunk.live.%chunk at location of loop-block%} is not player: + {chunk.live.%chunk at location of loop-block%.%player%} is not set: + cancel event + send "&cYou are too close to others' land!" + stop + add location of loop-block to {_wood.blocks::*} + + loop {_wood.blocks::*}: + set {_block} to block at loop-value + {_block} is oak wood: + set {_type} to oak log:0 + {_block} is birch wood: + set {_type} to birch log:2 + {_block} is spruce wood: + set {_type} to spruce log:1 + {_block} is jungle wood: + set {_type} to jungle log:3 + {_block} is acacia wood: + set {_type} to acacia log:0 + {_block} is dark oak wood: + set {_type} to dark oak log:1 + + + delete block at loop-value + drop 1 of {_type} at loop-value + + damage player's tool by 1 + + +on enchant: + name of event-item is "&a&b&k&a&3Timber Axe" + cancel event + send "&cYou can't do that dawg" + + + + \ No newline at end of file diff --git a/Obam-Testing/trails.sk b/Obam-Testing/trails.sk new file mode 100644 index 0000000..0b41a07 --- /dev/null +++ b/Obam-Testing/trails.sk @@ -0,0 +1,127 @@ +options: + heart: i;dirt;n;&7Hearts;l;&6Click to enable heart||&6trails for your bows;c;sudo %player% trailmenu hearts + flame: i;dirt;n;&7Flames;l;&6Click to enable flame||&6trails for your bows;c;sudo %player% trailmenu flames + reddust: i;dirt;n;&7Red Poof;l;&6Click to enable red poof||&6trails for your bows;c;sudo %player% trailmenu burst + smoke: i;dirt;n;&7Smoke;l;&6Click to enable smoke||&6trails for your bows;c;sudo %player% trailmenu smoke + waterdrip: i;dirt;n;&7Drip Water;l;&6Click to enable water drip||&6trails for your bows;c;sudo %player% trailmenu water + lavadrip: i;dirt;n;&7Drip Lava;l;&6Click to enable lava drip||&6trail for your bows;c;sudo %player% trailmenu lava + slime: i;dirt;n;&7Slime;l;&6Click to enable slime||&6trails for your bows;c;sudo %player% trailmenu slime + note: i;dirt;n;&7Notes;l;&6Click to enable music note||&6trails for your bows;c;sudo %player% trailmenu notes + happy: i;dirt;n;&7Happy;l;&6Click to enable Happy||&6trails for your bows;c;sudo %player% trailmenu happy + angry: i;dirt;n;&7Angry;l;&6Click to enable Angry||&6trails for your bows;c;sudo %player% trailmenu angry + explode: i;dirt;n;&7Explosion;l;&6Click to enable Explosion||&6trails for your bows;c;sudo %player% trailmenu explode + snow: i;dirt;n;&7Snow;l;&6Click to enable Snow Shovel||&6trails for your bows;c;sudo %player% trailmenu snow + portal: i;dirt;n;&7Portal;l;&6Click to enable Portal||&6trails for your bows;c;sudo %player% trailmenu portal + cloud: i;dirt;n;&7Cloud;l;&6Click to enable Cloud||&6trails for your bows;c;sudo %player% trailmenu cloud + clear: i;glass;n;&7Clear Trail;l;&6Click to disable||&6trails for you bows;c;sudo %player% trailmenu clear + + +command /trailmenu []: + permission: obam.supporter + trigger: + + argument is not set: + send "&aOpening menu..." + wait 0.3 seconds + show "s;1;{@heart};s;2;{@flame};s;3;{@reddust};s;4;{@smoke};s;5;{@slime};s;6;{@note};s;7;{@lavadrip};s;8;{@waterdrip};s;9;{@happy};s;10;{@angry};s;11;{@explode};s;12;{@snow};s;13;{@portal};s;14;{@cloud};s;15;{@clear}" with 2 rows named "&1Trail Menu" to player + + argument is "hearts": + set {trail.%player%} to "hearts" + send "&aTrail set to &eHearts&a!" + + argument is "flames": + set {trail.%player%} to "flames" + send "&aTrail set to &eFlames&a!" + + argument is "burst": + set {trail.%player%} to "burst" + send "&aTrail set to &eRed Poof&a!" + + argument is "smoke": + set {trail.%player%} to "smoke" + send "&aTrail set to &eSmoke&a!" + + argument is "slime": + set {trail.%player%} to "slime" + send "&aTrail set to &eSlime&a!" + + argument is "notes": + set {trail.%player%} to "notes" + send "&aTrail set to &eNotes&a!" + + argument is "lava": + set {trail.%player%} to "lava" + send "&aTrail set to &eLava Drip&a!" + + argument is "water": + set {trail.%player%} to "water" + send "&aTrail set to &eWater Drip&a!" + + argument is "happy": + set {trail.%player%} to "happy" + send "&aTrail set to &eHappy&A!" + + argument is "angry": + set {trail.%player%} to "angry" + send "&aTrail set to &eAngry&A!" + + argument is "explode": + set {trail.%player%} to "explode" + send "&aTrail set to &eExplosion&a!" + + argument is "snow": + set {trail.%player%} to "snow" + send "&aTrail set to &eSnow Shovel&a!" + + argument is "bubble": + set {trail.%player%} to "bubble" + send "&aTrail set to &eBubble&A!" + + argument is "portal": + set {trail.%player%} to "portal" + send "&aTrail set to &ePortal&a!" + + argument is "cloud": + set {trail.%player%} to "cloud" + send "&aTrail set to &eCloud&A!" + + argument is "clear": + clear {trail.%player%} + send "&aTrails disabled!" + + +on shoot: + {trail.%shooter%} is set: + {trail.%shooter%} is "hearts": + trail projectile with heart + {trail.%shooter%} is "flames": + trail projectile with flame + {trail.%shooter%} is "burst": + trail projectile with red dust + {trail.%shooter%} is "smoke": + trail projectile with large smoke + {trail.%shooter%} is "bubble": + trail projectile with bubble + {trail.%shooter%} is "notes": + trail projectile with note + {trail.%shooter%} is "lava": + trail projectile with drip lava + {trail.%shooter%} is "water": + trail projectile with drip water + {trail.%shooter%} is "slime": + trail projectile with slime + {trail.%shooter%} is "happy": + trail projectile with happy villager + {trail.%shooter%} is "angry": + trail projectile with angry villager + {trail.%shooter%} is "explode": + trail projectile with large explode + {trail.%shooter%} is "snow": + trail projectile with snow shovel + {trail.%shooter%} is "portal": + trail projectile with portal + {trail.%shooter%} is "cloud": + trail projectile with cloud + + + \ No newline at end of file diff --git a/Obam-Testing/wtfronts.sk b/Obam-Testing/wtfronts.sk index 7f19882..a3c7acc 100644 --- a/Obam-Testing/wtfronts.sk +++ b/Obam-Testing/wtfronts.sk @@ -909,31 +909,7 @@ on spawn: {safety.active.%chunk at event-location%} is true: cancel event -on place: - former tool's name is set: - set {information.%block%.1} to former tool - {debug.%player%} is true: - send "DEBUG You placed %former tool's name%" - set {information.%block%.2} to lore of former tool - set {information.%block%.3} to name of former tool - {debug.%player%} is true: - send "DEBUG %block%" - send "DEBUG %{information.%block%.1}%" - send "DEBUG %lore of former tool%" - send "DEBUG %name of former tool%" - send "DEBUG %{information.%block%.2}%" - send "DEBUG %{information.%block%.3}%" - set {information.%block%.1} to "%{information.%block%.1}%" - -on break: - {information.%block%.1} is set: - cancel event - {debug.%player%} is true: - send "DEBUG I ama message" - set {_message} to "%{information.%block%.1}%;%{information.%block%.3}%;%{information.%block%.2}%" - send "DEBUG %{_message}%" - delete block - drop {information.%block%.1} named {information.%block%.3} with lore {information.%block%.2} at location of block + on break of glowstone: chance of 10%: diff --git a/kitpvp/archer.sk b/kitpvp/archer.sk new file mode 100644 index 0000000..e531d93 --- /dev/null +++ b/kitpvp/archer.sk @@ -0,0 +1,25 @@ +#archer + +on teleport: + wait 3 ticks + player's world is "vacant" + {kit.%player%} is "archer": + {ingame.%player%} is not set + apply speed 1 to player for 999 days + equip player with all leather armor of unbreaking 10 named "&fArcher's Garments" + dye player's helmet (72, 11, 5) + dye player's chestplate (72, 11, 5) + dye player's leggings (72, 11, 5) + dye player's boots (72, 11, 5) + give player bow of infinity 1 and punch 1 named "&fBow of Truth" + give 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" to player + give player 2 egg named "&fStun Bomb" + apply absorption 3 to player for 999 days + give player arrow + set {ingame.%player%} to true + + + + + + diff --git a/kitpvp/firemage.sk b/kitpvp/firemage.sk new file mode 100644 index 0000000..404a195 --- /dev/null +++ b/kitpvp/firemage.sk @@ -0,0 +1,54 @@ +on teleport: + wait 3 ticks + player's world is "vacant" + + + + {kit.%player%} is "firemage": + clear player's inventory + equip player with all leather armor of unbreaking 10 named "&fFireMage's Robes" + dye player's helmet (206, 3, 30) + dye player's chestplate (206, 3, 30) + dye player's leggings (206, 3, 30) + dye player's boots (206, 3, 30) + give player stick of knockback 1 named "&fFire Wand" + give player 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" + give player 3 splash potions of harming named "&fPain Juice" + apply speed 1 to player for 999 days + set player's level progress to 0.99 + +on right click with stick: + cancel event + {kit.%player%} is "firemage": + player's tool is a stick named "&fFire Wand" + player's y coordinate is greater than {kitpvp.area}'s y coordinate: + send "&cYou can not do that here. Please select an arena!" to player + stop + level progress of player is greater than or equal to 0.1: + shoot a fireball from the player + create safe explosion with force 5 at targeted block + loop entities in radius 5 of targeted block: + loop-entity is not a player: + make player damage loop-entity by 5 + {kit.%loop-entity%} is set: + loop-entity is not "%player%": + make player damage loop-entity by 2 + loop-entity is ignited: + make player damage loop-entity by 1 + ignite loop-entity + loop-entity is "%player%": + push loop-entity up with force 2 + extinguish the player + chance of 15%: + make player damage loop-entity by 1 + send "&aCritical hit!" to player + send "&cCritical hit!" to loop-entity + reduce the player's level progress by 0.1 + +on left click with a stick: + cancel event + {kit.%player%} is "firemage": + level progress of player is greater than or equal to 0.05: + shoot a egg from the player + reduce the player's level progress by 0.05 + diff --git a/kitpvp/fisherman.sk b/kitpvp/fisherman.sk new file mode 100644 index 0000000..cce928d --- /dev/null +++ b/kitpvp/fisherman.sk @@ -0,0 +1,33 @@ +on teleport: + wait 3 ticks + player's world is "vacant" + + + + {kit.%player%} is "fisherman": + {ingame.%player%} is not set + equip player with all leather armor of unbreaking 10 named "&fFishing Gear" + dye player's helmet (97, 158, 174) + dye player's chestplate (97, 158, 174) + dye player's leggings (97, 158, 174) + dye player's boots (97, 158, 174) + give player fishing rod of unbreaking 10 named "&fOld Faithful" + give player fish named "&fBig Fish" + give player 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" + set {ingame.%player%} to true + +on right click with fishing rod: + world is "vacant" + {kit.%player%} is "fisherman": + player's y coordinate is greater than {kitpvp.area}'s y coordinate: + send "&cYou can not do that here. Please select an Arena!" to player + stop + set {_loc} to location of player + push targeted entity in the direction of player with speed -4 + make player damage targeted entity by 2 + chance of 20%: + send "&aIts a big one!" to player + loop players in radius 5 of targeted entity: + push loop-player in the direction of player with speed -4 + make player damage loop-player by 2 + diff --git a/kitpvp/fisherman.txt b/kitpvp/fisherman.txt new file mode 100644 index 0000000..8784b69 --- /dev/null +++ b/kitpvp/fisherman.txt @@ -0,0 +1,11 @@ +on teleport: + world is "vacant" + {kit.%player%} is "fisherman": + equip player with all leather armor of unbreaking 10 named "&fFishing Gear" + dye player's helmet (97, 158, 174) + dye player's chestplate (97, 158, 174) + dye player's leggings (97, 158, 174) + dye player's boots (97, 158, 174) + give player fishing rod of unbreaking 10 named "&fOld Faithful" + give player fish named "&fBig Fish" + give player 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" \ No newline at end of file diff --git a/kitpvp/kdss.sk b/kitpvp/kdss.sk new file mode 100644 index 0000000..74ec6bc --- /dev/null +++ b/kitpvp/kdss.sk @@ -0,0 +1,370 @@ +on damage of a player: + world is "kitspawnroom": + cancel event + {spawnsafety.%victim%} is not set: + set {spawnsafety.%victim%} to now + add 6 seconds to {spawnsafety.%victim%} + set {_check} to difference between {spawnsafety.%victim%} and now + {_check} is less than 5 seconds: + cancel event + damage cause is fall: + cancel event + damage cause is drowning: + cancel event + damage cause is suffocation: + cancel event + damage cause is block explosion: + cancel event + damage cause is entity explosion: + cancel event + + + + damage cause is fire or poison or wither or lava or burning: + damage is greater than victim's health: + cancel event + nullify score of "&3%{kit.%victim%}%" in board of victim + clear {kit.%victim%} + victim has health boost: + remove health boost from victim + victim has nausea: + remove nausea from victim + victim has poison: + remove poison from victim + victim has jump: + remove jump from victim + victim has slowness: + remove slowness from victim + victim has speed: + remove speed from victim + victim has absorption: + remove absorption from victim + victim has wither: + remove wither from victim + victim has blindness: + remove blindness from victim + heal victim by 10 hearts + {deaths.%victim%.kit} is not set: + set {deaths.%victim%.kit} to 0 + add 1 to {deaths.%victim%.kit} + {lasthit.%victim%} is not set: + clear {killstreak.%victim%} + clear {kit.%victim%} + clear {ingame.%victim%} + broadcast "&e%victim%&c met their end to the environment" + teleport victim to {kit.spawn} + {lasthit.%victim%} is set: + set {_attacker} to {lasthit.%victim%} + {kills.%{_attacker}%.kit} is not set: + set {kills.%{_attacker}%.kit} to 0 + add 1 to {kills.%{_attacker}%.kit} + {killstreak.%{_attacker}%} is not set: + set {killstreak.%{_attacker}%} to 0 + add 1 to {killstreak.%{_attacker}%} + {killstreak.%{_attacker}%} is 5: + broadcast "&e%{_attacker}%&c is on a Rampage!" + set {rampage.%{_attacker}%} to true + {killstreak.%{_attacker}%} is 10: + broadcast "&e%{_attacker}%&c is Unstoppable!" + {killstreak.%{_attacker}%} is 15: + broadcast "&e%{_attacker}%&c is Annihilating!" + {killstreak.%{_attacker}%} is 20: + broadcast "&e%{_attacker}%&c is Dominating!" + {killstreak.%{_attacker}%} is 25: + broadcast "&e%{_attacker}%&c is Destroying!" + {killstreak.%{_attacker}%} is 30: + broadcast "&e%{_attacker}%&c is Scary" + {rampage.%victim%} is true: + broadcast "&e%{_attacker}%&a has ended &e%victim%'s&a rampage!" + clear {rampage.%victim%} + nullify score of "&3RAMPAGE" in board of victim + loop all entities: + {owner.zombie.%loop-entity%} is victim: + delete loop-entity + {owner.skeleton.%loop-entity%} is victim: + delete loop-entity + {assists.%victim%::*} is set: + loop {assists.%victim%::*}: + clear {_player} + {_player} is not victim + {_player} is not {_attacker} + set {_player} to loop-value parsed as player + add 1 to {assist.%{_player}%.kp} + send "&aYou assisted in the kill of &e%victim%" + + clear {ingame.%victim%} + clear {killstreak.%victim%} + clear {lashit.%victim%} + clear {assists.%victim%::*} + + teleport victim to {kit.spawn} + set {_size} to size of {deathmessages.kitpvp::*} + set {_ran} to a random integer between 1 and {_size} + set {_message} to {deathmessages.kitpvp::%{_ran}%} + replace "ATTACKER" in {_message} with "&e%{_attacker}%&c" + replace "VICTIM" in {_message} with "&e%victim%&c" + replace "WEAPON" in {_message} with "&e%name of attacker's tool%&c" + broadcast "&c%{_message}%" + + + + + attacker is a player: + victim is a player: + {hiding.%attacker%} is set: + cancel event + {kit.%attacker%} is not set: + cancel event + {kit.%victim%} is not set: + cancel event + projectile is a arrow: + {kit.%attacker%} is "archer" or "skelemancer": + distance between attacker and victim is greater than 20: + chance of 20%: + send "&aCritical Hit!" to attacker + play anvil land at victim's location with pitch 2 + play level up at attacker's location with pitch 1 + send "&cCritical Hit!" to victim + add 3 to damage + projectile is a snowball: + {kit.%attacker%} is "ninja": + apply blindness to victim for 4 seconds + send "&cYou have been blinded by &e%attacker%&c!" to victim + send "&aYou have blinded &e%victim%&a!" to attacker + {kit.%attacker%} is "melee": + apply poison to victim for 6 seconds + send "&cYou have been poisoned by &e%attacker%&c!" to victim + send "&aYou have poisoned &e%victim%&a!" to attacker + {kit.%attacker%} is "tank": + apply slowness 8 to victim for 3 seconds + apply blindness to victim for 3 seconds + teleport victim to attacker + send "&cYou have been disabled by &e%attacker%&c!" to victim + send "&aYou have disabled &e%victim%&a!" to attacker + projectile is a egg: + {kit.%attacker%} is "firemage": + apply nausea to victim for 2 seconds + apply slowness 2 to victim for 2 seconds + {kit.%victim%} is "tank": + send "&cYou can not slow the tank!" to attacker + remove slowness from victim + apply slowness 2 to victim for 999 days + stop + send "&cYou have been confused by &e%attacker%&c!" to victim + send "&aYou have confused &e%victim%&a!" to attacker + {kit.%attacker%} is "archer": + apply slowness 8 to victim for 3 seconds + {kit.%victim%} is "tank": + send "&cYou can not slow the tank!" to attacker + remove slowness from victim + apply slowness 2 to victim for 999 days + stop + send "&aYou have stunned &e%victim%&A!" to attacker + send "&cYou have been stunned by &e%attacker%&c!" to victim + + + attacker's tool is a fish: + name of attacker's tool is "&fBig Fish": + add 1 to damage + apply nausea to victim for 2 seconds + play slime attack at location of victim with pitch 1 + send "&cYou have fish slapped!" to victim + + + + {kit.%victim%} is "tank": + {kit.%attacker%} is not "tank": + set damage to damage / 4 + {kit.%attacker%} is "tank": + set damage to damage * 3 + {kit.%attacker%} is "tank": + {kit.%victim%} is not "tank": + set damage to damage / 2 + {kit.%attacker%} is "ninja": + victim's target is attacker: + victim does not have blindness + set damage to damage / 2 + victim has blindness: + set damage to damage * 1.5 + {kit.%victim%} is "fisherman": + set damage to damage / 1.5 + {kit.%victim%} is "archer": + set damage to damage * 1.5 + {kit.%attacker%} is "fisherman": + {kit.%victim%} is "ninja": + set damage to damage * 1.5 + {kit.%victim%} is "lightningmage": + set damage to damage / 1.5 + {kit.%attacker%} is "archer": + {kit.%victim%} is "ninja": + set damage to damage / 1.5 + {kit.%victim%} is "melee": + set damage to damage * 1.5 + {kit.%attacker%} is "melee": + {kit.%victim%} is "necromancer": + set damage to damage * 1.5 + {kit.%victim%} is "archer": + set damage to damage / 1.5 + {kit.%attacker%} is "necromancer": + {kit.%victim%} is "skelemancer": + set damage to damage * 1.5 + {kit.%victim%} is "melee": + set damage to damage / 1.5 + {kit.%attacker%} is "skelemancer": + {kit.%victim%} is "necromancer": + set damage to damage / 1.5 + {kit.%victim%} is "lightningmage": + set damage to damage * 1.5 + {kit.%attacker%} is "lightningmage": + {kit.%victim%} is "skelemancer": + set damage to damage / 1.5 + {kit.%victim%} is "fisherman": + set damage to damage * 1.5 + {kit.%victim%} is "firemage": + set damage to damage * 1.5 + {kit.%attacker%} is "firemage": + {kit.%victim%} is "necromancer": + set damage to damage * 1.5 + {kit.%victim%} is "lightningmage": + set damage to damage / 1.5 + {kit.%attacker%} is "tank": + + {combo.%attacker%} is set: + set {_dif} to difference between {combo.%attacker%} and now + {combo.%attacker%.track} is victim: + {_dif} is less than 1 second: + {modifier.%attacker%} is not set: + set {modifier.%attacker%} to 0 + {modifier.%attacker%} is less than 2: + add 0.25 to {modifier.%attacker%} + add {modifier.%attacker%} to damage + {_dif} is greater than or equal to 1 second: + clear {modifier.%attacker%} + set {combo.%attacker%.track} to victim + set {combo.%attacker%} to now + {combo.%attacker%.track} is not victim: + set {combo.%attacker%.track} to victim + clear {modifier.%attacker%} + set {combo.%attacker%} to now + {combo.%attacker%} is not set: + set {combo.%attacker%} to now + set {combo.%attacker%.track} to victim + + {assists.%victim%::%attacker%} is not set: + attacker is not victim + set {assist.%victim%::%attacker%} to attacker + + set {lasthit.%victim%} to attacker + + + + + + + + damage is greater than victim's health: + cancel event + {kit.%attacker%} is "melee": + apply speed 3 to attacker for 15 seconds + victim is ignited: + extinguish victim + extinguish victim + nullify score of "&3%{kit.%victim%}%" in board of victim + clear {kit.%victim%} + victim has health boost: + remove health boost from victim + victim has nausea: + remove nausea from victim + victim has poison: + remove poison from victim + victim has jump: + remove jump from victim + victim has slowness: + remove slowness from victim + victim has speed: + remove speed from victim + victim has absorption: + remove absorption from victim + victim has wither: + remove wither from victim + victim has blindness: + remove blindness from victim + extinguish victim + heal victim by 10 hearts + {deaths.%victim%.kit} is not set: + set {deaths.%victim%.kit} to 0 + add 1 to {deaths.%victim%.kit} + {kills.%attacker%.kit} is not set: + set {kills.%attacker%.kit} to 0 + add 1 to {kills.%attacker%.kit} + {killstreak.%attacker%} is not set: + set {killstreak.%attacker%} to 0 + add 1 to {killstreak.%attacker%} + {killstreak.%attacker%} is 5: + broadcast "&e%attacker%&c is on a Rampage!" + set {rampage.%attacker%} to true + {killstreak.%attacker%} is 10: + broadcast "&e%attacker%&c is Unstoppable!" + {killstreak.%attacker%} is 15: + broadcast "&e%attacker%&c is Annihilating!" + {killstreak.%attacker%} is 20: + broadcast "&e%attacker%&c is Dominating!" + {killstreak.%attacker%} is 25: + broadcast "&e%attacker%&c is Destroying!" + {killstreak.%attacker%} is 30: + broadcast "&e%attacker%&c is Scary" + {rampage.%victim%} is true: + broadcast "&e%attacker%&a has ended &e%victim%'s&a rampage!" + clear {rampage.%victim%} + nullify score of "&3RAMPAGE" in board of victim + loop all entities: + {owner.zombie.%loop-entity%} is victim: + delete loop-entity + {owner.skeleton.%loop-entity%} is victim: + delete loop-entity + {assists.%victim%::*} is set: + loop {assists.%victim%::*}: + clear {_player} + set {_player} to loop-value parsed as a player + send "&aYou assisted on the kill of &e%victim%" to {_player} + {assist.%{_player}%.kp} is not set: + set {assist.%{_player}%.kp} to 0 + add 1 to {assist.%{_player}%.kp} + + clear {ingame.%victim%} + clear {killstreak.%victim%} + clear {assists.%victim%::*} + + teleport victim to {kit.spawn} + set {_size} to size of {deathmessages.kitpvp::*} + set {_ran} to a random integer between 1 and {_size} + set {_message} to {deathmessages.kitpvp::%{_ran}%} + replace "ATTACKER" in {_message} with "&e%attacker%&c" + replace "VICTIM" in {_message} with "&e%victim%&c" + replace "WEAPON" in {_message} with "&e%name of attacker's tool%&c" + broadcast "&c%{_message}%" + +every 1 second: + loop all players: + loop-player is sneaking: + level progress of loop-player is greater than 0.1: + {kit.%loop-player%} is "ninja" + hide loop-player from all players + set {hiding.%loop-player%} to true + spawn 50 of large smoke data 1 offset with 0, 0, 0 at location of loop-player + spawn 50 of angry villager data 1 offset with 0, 0, 0 at location of loop-player + reduce the loop-player's level progress by 0.1 + level progress of loop-player is less than 0.1: + reveal loop-player to all players + clear {hiding.%loop-player%} + + loop-player is not sneaking: + {hiding.%loop-player%} is set + reveal loop-player to all players + clear {hiding.%loop-player%} + +on death of a player: + clear {kit.%player%} + +on respawn: + teleport player to {kit.spawn} \ No newline at end of file diff --git a/kitpvp/kitpvp.sk b/kitpvp/kitpvp.sk new file mode 100644 index 0000000..a479018 --- /dev/null +++ b/kitpvp/kitpvp.sk @@ -0,0 +1,385 @@ +options: + #startfold @class-chest-stuff + ninjakit: i;leather cap;n;&9&lNinja;l;&7Click to pick the||&eNinja&7 Class|| ||&5Kit Info:||&7You are a ninja with||&7a stone sword. Turn||&7Invisible by holding shift||&7But watch your mana it||&7it is not unlimited!|| ||%{dis.%player%.1}%;c;sudo %player% kits ninja + archerkit: i;bow;n;&9&lArcher;l;&7Click to pick the||&eArcher&7 Class|| ||&5Kit Info:||&7You are an archer||&7with a Punch I bow||&7Keep your distance to||&7to get critical hits!;c;sudo %player% kits archer + meleekit: i;iron helmet;n;&9Melee;l;&7Click to pick the||&eMelee&7 Class|| ||&5Kit Info:||&7Ultimate in up close||&7combat. An iron sword||&7Unrivaled by any other||&7close combat kit;c;sudo %player% kits melee + firemagekit: i;fire charge;n;&9Fire Mage;n;&9&lFire Mage;l;&7Click to pick the||&eFire Mage&7 Class|| ||&5Kit Info:||&7The firemage tosses fireballs||&7at their opponents||&7wreaking havoc with||&7explosions and fire|| ||%{dis.%player%.1}%;c;sudo %player% kits firemage + lightningmagekit: i;nether star;n;&9&lLightning Mage;n;&9&lLightning Mage;l;&7Click to pick the||&eLightning Mage&7 class|| ||&5Kit Info:||&7Using the power of||&7Lightning, this kit||&7causes large group damage||&7and harnesses the power||&7to teleport;c;sudo %player% kits lightningmage + tankkit: i;gold chestplate;n;&9&lTank;l;&7Click to pick the||&eTank&7 class|| ||&5Kit Info:||&7The tank shows no||&7Weakness, its armor||&7pure, and its paddle||&7heavy, it guarantees||&7longer lives, but fewer||&7kills;c;sudo %player% kits tank + necrokit: i;bone;n;&9&lNecromancer;l;&7Click to pick the ||&eNecromancer&7 class|| ||&5Kit Info:||&7The Necro summons the||&7Dead from beyond to||&7assist in their domination||&7Summoning requires only||&7a little bit of mana||&7and a few drops of your||&7own blood|| ||%{dis.%player%.1}%;c;sudo %player% kits necromancer + fishermankit: i;fish;n;&9&lFisherman;l;&7Click to pick the||&eFisherman&7 class|| ||&5Kit Info:||&7The legendary fisherman||&7Relies on his trusty||&7Big Fish to deal the||&7Blows, and his Rod||&7Old Faithful, to bring||&7the enemy closer.;c;sudo %player% kits fisherman + something: i;wood hoe;n;&9&lSomething;c;sudo %player% kits something + skelemancerkit: i;wither skeleton head;n;&9&lSkele-Mancer;l;&7Click to pick the||&eSkele-Mancer&7 class|| ||&5Kit Info||&7Skelemancers take summoning||&7to a new level with||&7long range combat.||&7Fleshing the field with||&7Skeletons of fallen||&7Opponents, and trusty||&7Bow, with chances for||&7Critical hits at long||&7Range.;c;sudo %player% kits skelemancer + supporterstuff: i;diamond block;n;&9&lMore Kits for Supporters!;l;&7Purchase a Supporter membership||&7To get even more fun||&7kits from &9OBAM&7! + #endfold + #startfold @arena-chest-stuff + killingfieldarena: i;long grass;n;&9&lKilling Fields;l;&7Click to join the||&eKilling Fields&7 arena;c;spawnplayer %player% killingfields + vacantarena: i;glass bottle;n;&9&lVacant;l;&7Click to join||&eVacant&7 arena;c;spawnplayer %player% vacant + showdownarena: i;dead shrub;n;&9&lShowdown;l;&7Click to join||&eShowdown&7 arena;c;spawnplayer %player% showdown + #endfold +#kits + + +variables: + {safety.%player%} = 0 + +on join: + clear {kit.%player%} + clear {ingame.%player%} + clear {board.up.%player%.kp} + teleport player to {kit.spawn} + +on connect: + teleport player to {kit.spawn} + +on disconnect: + clear {kit.%player%} + clear {ingame.%player%} + +command /arena: + trigger: + world is "kitspawnroom": + + {kit.%player%} is not set: + send "&cPlease choose a kit first!" to player + stop + + send "&aOpening menu..." + wait 0.3 seconds + show "s;3;{@vacantarena}" with 1 row named "&9&lOBAM&9 :: Arenas" to player +command /kits []: + + executable by: players and console + trigger: + world is "kitspawnroom" + argument is not set: + player has permission "obam.kits.supporter": + set {dis.%player%.1} to " " + show "s;11;{@ninjakit};s;12;{@archerkit};s;13;{@meleekit};s;14;{@firemagekit};s;15;{@lightningmagekit};s;16;{@tankkit};s;17;{@necrokit};s;23;{@fishermankit};s;24;{@skelemancerkit}" with 4 rows named "&9&lOBAM &9:: Kits" to player + stop + + set {dis.%player%.1} to "&eUse this kit for one time for &a25&eTickets" + show "s;11;{@ninjakit};s;12;{@archerkit};s;13;{@meleekit};s;14;{@firemagekit};s;15;{@lightningmagekit};s;16;{@tankkit};s;17;{@necrokit};s;23;{@fishermankit};s;24;{@skelemancerkit}" with 4 rows named "&9&lOBAM &9:: Kits" to player + {kit.%player%} is set: + send "&cYou already have a kit D:" to player + stop + + set {_arena.run} to true + + argument is "archer": + send "&aYou have picked the &eArcher&a Kit" + set {kit.%player%} to "archer" + + + argument is "ninja": + player does not have permission "obam.supporter": + set {_bal} to player's balance + {_bal} is less than 25: + send "&cYou do not have enough tickets for this!" + stop + remove 25 from player's balance + send "&aYou have purchased the &eNinja&a kit for &e25 Tickets&a!" + send "&aYour current balance is &e%player's balance%" + send "&aYou have picked the &eNinja&a kit!" + set {kit.%player%} to "ninja" + set {ninja.poof.%player%} to true + + argument is "melee": + send "&aYou have picked the &eMelee&a kit" + set {kit.%player%} to "melee" + + argument is "firemage": + player does not have permission "obam.supporter": + set {_bal} to player's balance + {_bal} is less than 25: + send "&cYou do not have enough tickets for this!" + stop + remove 25 from player's balance + send "&aYou have purchased the &eFiremage&a kit for &e25 Tickets&a!" + send "&aYour current balance is &e%player's balance%" + send "&aYou have picked the &eFiremage&a kit!" + set {kit.%player%} to "firemage" + + argument is "tank": + send "&aYou have picked the &eTank&a kit!" + set {kit.%player%} to "tank" + + + argument is "lightningmage": + send "&aYou have picked the &eLightning Mage&a kit!" + set {kit.%player%} to "lightningmage" + + argument is "necromancer": + player does not have permission "obam.supporter": + set {_bal} to player's balance + {_bal} is less than 25: + send "&cYou do not have enough tickets for this!" + stop + remove 25 from player's balance + send "&aYou have purchased the &eNecromancere&a kit for &e25 Tickets&a!" + send "&aYour current balance is &e%player's balance%" + send "&aYou have picked the &eNecromancer&a kit!" + set {kit.%player%} to "necromancer" + + + argument is "fisherman": + send "&aYou have picked the &eFisherman&a kit!" + set {kit.%player%} to "fisherman" + + argument is "skelemancer": + send "&aYou have picked the &eSkelemancer&a kit!" + set {kit.%player%} to "skelemancer" + + {_arena.run} is true: + send "&aOpening Arena Menu...." to player + wait 1 second + make player execute command "/arena" + +on teleport: + world is "vacant" + {ingame.%player%} is not set + set {spawnsafety.%player%} to now + clear player's inventory + player is on fire: + extinguish player + player has poison: + remove poison from player + player has wither: + remove wither from player + player has health boost: + remove health boost from player + player has jump: + remove jump from player + player has speed: + remove speed from player + player has absorption: + remove absorption from player + player has blindness: + remove blindness from player + player has slowness: + remove slowness from player + player has nausea: + remove nausea from player + +on right click with mushroom soup: + cancel event + player's health is 10: + send "&aYou already have full health!" to player + clear {assits.%player%::*} + stop + remove mushroom soup from player + give player bowl + + add 5 to player's health + +on quit: + player has poison: + remove poison from player + player has wither: + remove wither from player + player has health boost: + remove health boost from player + player has jump: + remove jump from player + player has speed: + remove speed from player + player has absorption: + remove absorption from player + player has blindness: + remove blindness from player + player has slowness: + remove slowness from player + player has nausea: + remove nausea from player + clear {ingame.%player%} + clear {kit.%player%} + clear {killstreak.%player%} +on explode: + cancel event + + + +on xp spawn: + cancel event + + +on damage of a player: + damage cause is suffocation: + cancel event + +every 2 seconds: + + loop all players: + loop-player's world is not "kitspawnroom" + {kit.%loop-player%} is "firemage" or "lightningmage" or "necromancer" or "skelemancer" or "fisherman" or "ninja": + level progress of loop-player is less than 0.9: + increase loop-player's level progress by 0.05 + else: + set loop-player's level progress to 0.99 + + +on respawn: + teleport player to {kit.spawn} + +on death of a player: + victim is a player: + clear drops + teleport victim to {kit.spawn} + clear {last.attacker.%victim%} + clear {kit.%victim%} + clear {ninja.poof.%victim%} + victim has jump: + remove jump from victim + victim has blindness: + remove blindness from victim + victim has health boost: + remove health boost from victim + victim has speed: + remove speed from victim + victim has slowness: + remove slowness from victim + victim has wither: + remove wither from victim + victim has absorption: + remove absorption from victim + victim has poison: + remove poison from victim + clear {killstreak.%victim%} + {last.attacker.%victim%} is not set: + message "&cThe environment got the best of &e%victim%" to all players in victim's world + {last.attacker.%victim%} is set: + set {_size} to size of {deathmessages.kitpvp::*} + set {_temp} to random integer between 1 and {_size} + message "&e%{last.attacker.%victim%}% &chas %{deathmessages.kitpvp::%{_temp}%}% &e%victim% &cwith &b%uncoloured name of {last.attacker.%victim%}'s tool%" to all players in {last.attacker.%victim%}'s world + {last.attacker.%victim%} is not victim: + send "&aYou claim a bounty of &e%{value.%victim%.kit.live}% tickets &afrom &e%victim%" to {last.attacker.%victim%} + add {value.%victim%.kit.live} to {last.attacker.%victim%}'s balance + set {_size2} to size of {assists.%victim%::*} + {_size2} is greater than 1: + loop {assists.%victim%::*}: + {assists.%victim%::%loop-index%} is not {last.attacker.%victim%}: + set {_player} to {assists.%victim%::%loop-index%} + send "&aYou assisted in the death of &e%victim%" to {_player} + send "&aYou split the bounty &e%{_size2}% &aways with others. Your cut is &e%rounded {value.%victim%.kit.live} / {_size2}% &etickets" to {_player} + {assist.%{_player}%.kp} is not set: + set {assist.%{_player}%.kp} to 0 + add 1 to {assist.%{_player}%.kp} + set {_cut} to {value.%victim%.kit.live} / {_size2} + add rounded {_cut} to {_player}'s balance + + + + + + clear drops + set {kitpvp.dead.%player%} to false + +on target: + {kit.%target player%} is not set: + cancel event + {owner.skeleton.%event-entity%} is target player: + cancel event + {owner.zombie.%event-entity%} is target player: + cancel event + +every 1 second: + loop all players: + set loop-player's hunger level to 10 + + + +on drop: + cancel event + + + + +command /dm []: + permission: obam.admin + trigger: + argument 1 is "list": + loop {deathmessages.kitpvp::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + send "%{_count}%..%loop-value%" + stop + argument 1 is "delete": + delete {deathmessages.kitpvp::%argument 2%} + send "&cDeleted.." + stop + send "&aYou have added &e%argument 1%&a to the death message list!" + add argument 1 to {deathmessages.kitpvp::*} + + +command /clearkit : + executable by: console + trigger: + clear {kit.%player-argument%} + player-argument has poison: + remove poison from player-argument + player-argument has wither: + remove wither from player-argument + player-argument has speed: + remove speed from player-argument + player-argument has slowness: + remove slowness from player-argument + player-argument has health boost: + remove health boost from player-argument + player-argument has absorption: + remove absorption from player-argument + player-argument has jump: + remove jump from player-argument + clear {ninja.poof.%player-argument%} + clear player-argument's inventory + +command /revive : + executable by: console or players + permission: obam.admin.kp + trigger: + set {kitpvp.dead.%player-argument%} to false + +command /mapset : + permission: obam.smod + trigger: + send "&aYou have added a spawn point for '&e%argument%&a'" to player + add location of player to {map.%argument%.spawns::*} + + + +command /spawnplayer : + executable by: console + trigger: + set {_size} to size of {map.%argument 2%.spawns::*} + set {_tmp} to random integer between 1 and {_size} + teleport player-argument to {map.%argument 2%.spawns::%{_tmp}%} + +command /clearspawn : + permission: obam.admin.kp + trigger: + clear {map.%argument%.spawns::*} + + + +every 1 second: + loop all players: + set {value.%loop-player%.kit} to {kills.%loop-player%.kit} * {killstreak.%loop-player%} + set {value.%loop-player%.kit} to {value.%loop-player%.kit} / {deaths.%loop-player%.kit} + set {value.%loop-player%.kit} to {value.%loop-player%.kit} + 10 + {value.%loop-player%.kit} is greater than 100: + set {value.%loop-player%.kit} to 100 + {value.%loop-player%.kit} is less than 1: + set {value.%loop-player%.kit} to 1 + set {value.%loop-player%.kit.live} to rounded {value.%loop-player%.kit} + +command /spawnset: + permission: obam.smod + trigger: + set {kit.spawn} to player's location + +command /sudo : + permission: obam.admin + trigger: + make player-argument execute command argument 2 + + \ No newline at end of file diff --git a/kitpvp/lightningmage.sk b/kitpvp/lightningmage.sk new file mode 100644 index 0000000..c49284a --- /dev/null +++ b/kitpvp/lightningmage.sk @@ -0,0 +1,50 @@ +on teleport: + wait 3 ticks + player's world is "vacant" + + + + {kit.%player%} is "lightningmage": + {ingame.%player%} is not set + equip player with all leather armor of unbreaking 10 named "&fLightning Mage's Robes" + dye player's helmet (7, 247, 239) + dye player's chestplate (7, 247, 239) + dye player's leggings (7, 247, 239) + dye player's boots (7, 247, 239) + give player stick of knockback 1 named "&fLightning Wand" + give player 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" + give player 3 splash potions of harming named "&fPain Juice" + apply jump 1 to player for 999 days + set player's level progress to 0.99 + set {ingame.%player%} to true + +on right click with stick: + cancel event + {kit.%player%} is "lightningmage": + player's tool is a stick named "&fLightning Wand" + level progress of player is greater than or equal to 0.1: + strike lightning effect at targeted block + reduce the player's level progress by 0.1 + loop entities in radius 5 of targeted block: + loop-entity is not a player: + make player damage loop-entity by 6 + {kit.%loop-entity%} is set: + create safe explosion of force 2 at location of loop-entity + push loop-entity up with force 1 + make player damage loop-entity by 6 + apply wither to loop-entity for 3 seconds + strike lightning effect at location of loop-entity + +on left click with stick: + cancel event + {kit.%player%} is "lightningmage": + level progress of player is greater than or equal to 0.5: + targeted block is air or glass: + send "&cYou can not go there!" to player + stop + the distance between targeted block and player is less than or equal to 30: + teleport player to block above targeted block + + reduce the player's level progress by 0.5 + stop + send "&cThat is too far!" to player \ No newline at end of file diff --git a/kitpvp/melee.sk b/kitpvp/melee.sk new file mode 100644 index 0000000..e259753 --- /dev/null +++ b/kitpvp/melee.sk @@ -0,0 +1,19 @@ +on teleport: + wait 3 ticks + player's world is "vacant" + + + + {kit.%player%} is "melee": + {ingame.%player%} is not set + clear player's inventory + equip player with all leather armor of unbreaking 10 named "&fMelee Greaves" + dye player's helmet (172, 172, 172) + dye player's chestplate (172, 172, 172) + dye player's leggings (172, 172, 172) + dye player's boots (172, 172, 172) + give player iron sword named "&fBlade of Justice &b[Sharpness I]" + give 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" to player + give 2 snowball named "&fPoison Pills" to player + set {ingame.%player%} to true + diff --git a/kitpvp/necromancer.sk b/kitpvp/necromancer.sk new file mode 100644 index 0000000..419655f --- /dev/null +++ b/kitpvp/necromancer.sk @@ -0,0 +1,82 @@ +on teleport: + wait 3 ticks + player's world is "vacant" + + + {kit.%player%} is "necromancer": + {ingame.%player%} is not set + equip player with all leather armor of unbreaking 10 named "&fNecromancer's Robes" + dye player's helmet (0, 159, 37) + dye player's chestplate (0, 159, 37) + dye player's leggings (0, 159, 37) + dye player's boots (0, 159, 37) + give player blaze rod of knockback 1 named "&fSummoning Rod" + give player stone sword of knockback 1 named "&fSummoner's Trust" + give player 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" + apply speed 1 to player for 999 days + set player's level progress to 0.99 + set {ingame.%player%} to true + +on right click with blaze rod: + {kit.%player%} is "necromancer": + targeted block is glass: + stop + level progress of player is greater than or equal to 0.3: + {zombie.%player%.active} is greater than or equal to 5: + send "&cYou have too many zombies!" to player + stop + spawn a zombie at block above targeted block + set {_zombie.%player%} to spawned zombie + equip {_zombie.%player%} with leather helmet + set name of spawned zombie to "&cNecroSpawn" + make player damage player by 2 + + apply speed 3 to spawned zombie for 999 days + send "&aYou Summon the dead!" to player + set {owner.zombie.%spawned zombie%} to player + {zombie.%player%.active} is not set: + set {zombie.%player%.active} to 0 + add 1 to {zombie.%player%.active} + reduce player's level progress by 0.3 + +on left click with blaze rod: + {kit.%player%} is "necromancer": + + {zombie.%player%.active} is not set: + send "&cYou have no zombies out!" to player + stop + {zombie.%player%.active} is 0: + send "&cYou have no zombies out!" to player + stop + level progress of player is greater than or equal to {zombie.%player%.active} / 10: + loop all zombies: + {owner.zombie.%loop-entity%} is player: + delete loop-entity + make player damage player by {zombie.%player%.active} + reduce player's level progress by {zombie.%player%.active} / 10 + clear {zombie.%player%.active} + send "&aYou call back the dead!" to player + +on damage of a player: + attacker is a zombie: + cancel event + set {_player} to {owner.zombie.%attacker%} + make {_player} damage victim by 2 + +on death of a zombie: + clear drops + +on damage of a zombie: + {kit.%attacker%} is not set: + send "&cYou can not do that!" to attacker + cancel event + stop + + damage is greater than victim's health + cancel event + set {_player} to {owner.zombie.%victim%} + make attacker damage {_player} by 2 + send "&c%attacker% has slain your spawn!" to {_player} + send "&a%{_player}%'s spawn has died to your hand." to attacker + subtract 1 from {zombie.%{_player}%.active} + delete victim \ No newline at end of file diff --git a/kitpvp/ninja.sk b/kitpvp/ninja.sk new file mode 100644 index 0000000..224d0d4 --- /dev/null +++ b/kitpvp/ninja.sk @@ -0,0 +1,32 @@ +on teleport: + wait 3 ticks + player's world is "vacant" + + + {kit.%player%} is "ninja": + {ingame.%player%} is not set + apply speed 3 to player for 999 days + equip player with all leather armor of unbreaking 10 named "&fNinja Cloaks" + dye player's helmet (0, 0, 0) + dye player's chestplate (0, 0, 0) + dye player's leggings (0, 0, 0) + dye player's boots (0, 0, 0) + apply jump 2 to player for 999 days + apply absorption 3 to player for 999 days + give stone sword of unbreaking 10 named "&fSharp Knife" to player + give 3 snowball named "&fBlindness Balls" to player + give 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" to player + give potion of poison named "&fJump Potion" to player + set {ingame.%player%} to true + +on consume: + item is potion of poison named "&fJump Potion": + cancel event + remove potion of poison from player + give glass bottle named "&fEmpty Jump Potion Bottle" to player + remove jump from player + apply jump 5 to player for 10 seconds + wait 10 seconds + remove jump from player + apply jump 2 to player for 999 days + diff --git a/kitpvp/skelemancer.sk b/kitpvp/skelemancer.sk new file mode 100644 index 0000000..b863a7a --- /dev/null +++ b/kitpvp/skelemancer.sk @@ -0,0 +1,93 @@ +on teleport: + wait 3 ticks + player's world is "vacant" + + + {kit.%player%} is "skelemancer": + {ingame.%player%} is not set + equip player with all leather armor of unbreaking 10 named "&fSkelemancer's Robes" + dye player's helmet (124, 2, 205) + dye player's chestplate (124, 2, 205) + dye player's leggings (124, 2, 205) + dye player's boots (124, 2, 205) + give player bone of knockback 1 named "&fSummoning Bone" with lore "&aInstructions:|| ||&5Right Click:||&3Summon a mob at||&3targeted location|| ||&5Left Click:||&3Call back your summoned||&3Mobs." + give player bow of infinity 1 and punch 1 named "&fSummoner's Sidekick" + give player 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" + give player 1 arrow + apply speed 1 to player for 999 days + set player's level progress to 0.99 + set {ingame.%player%} to true + +on right click with a bone: + {kit.%player%} is "skelemancer": + targeted block is glass: + cancel event + level progress of player is greater than or equal to 0.3: + {skeleton.%player%.active} is greater than or equal to 5: + send "&cYou have too many Skeletons!" to player + stop + spawn a wither skeleton at block above targeted block + set {_skeleton.%player%} to spawned wither skeleton + equip {_skeleton.%player%} with leather helmet + set {_skeleton.%player%}'s tool to stone sword + set name of spawned wither skeleton to "&cNecroSpawn" + set {_loc} to block 20 meters above player + spawn 1 of large explode data 1 offset with 0, 0, 0 at {_loc} + make player damage player by 2 + + apply speed 3 to spawned wither skeleton for 999 days + send "&aYou Summon the dead!" to player + set {owner.skeleton.%spawned wither skeleton%} to player + {skeleton.%player%.active} is not set: + set {skeleton.%player%.active} to 0 + add 1 to {skeleton.%player%.active} + reduce player's level progress by 0.3 + +on left click with bone: + + {kit.%player%} is "skelemancer": + {skeleton.%player%.active} is not set: + send "&cYou have no Skeletons out!" to player + stop + {skeleton.%player%.active} is 0: + send "&cYou have no Skeletons out!" to player + stop + level progress of player is greater than or equal to {skeleton.%player%.active} / 10: + loop all wither skeletons: + {owner.skeleton.%loop-entity%} is player: + delete loop-entity + make player damage player by {skeleton.%player%.active} + reduce player's level progress by {skeleton.%player%.active} / 10 + clear {skeleton.%player%.active} + send "&aYou call back the dead!" to player + + + +on damage of a player: + attacker is a wither skeleton: + cancel event + set {_player} to {owner.skeleton.%attacker%} + + {kit.%victim%} is not set: + stop + {kit.%{_player}%} is not set: + stop + make {_player} damage victim by 2 + +on death of a wither skeleton: + clear drops + + +on damage of a wither skeleton: + {kit.%attacker%} is not set: + send "&cYou can not do that!" to attacker + cancel event + stop + damage is greater than victim's health + cancel event + set {_player} to {owner.skeleton.%victim%} + make attacker damage {_player} by 2 + send "&c%attacker% has slain your spawn!" to {_player} + subtract 1 from {skeleton.%{_player}%.active} + send "&a%{_player}%'s spawn has died to your hand." to attacker + delete victim \ No newline at end of file diff --git a/kitpvp/tank.sk b/kitpvp/tank.sk new file mode 100644 index 0000000..e06ea66 --- /dev/null +++ b/kitpvp/tank.sk @@ -0,0 +1,22 @@ +on teleport: + wait 3 ticks + player's world is "vacant" + + + + {kit.%player%} is "tank": + {ingame.%player%} is not set + clear player's inventory + equip player with all leather armor of unbreaking 10 named "&fArmor of Density" + dye player's helmet (255, 255, 0) + dye player's chestplate (255, 255, 0) + dye player's leggings (255, 255, 0) + dye player's boots (255, 255, 0) + give player wood shovel of knockback 1 and unbreaking 10 named "&fTank's Paddle" + give player 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" + apply slowness 1 to player for 999 days + apply health boost 3 to player for 999 days + give player 5 snowballs named "&fDisabling Bombs" + heal player by 10 hearts + set {ingame.%player%} to true + From 0eb60ca5eef20fd6be22c43aadf7edb5c5c6cfd7 Mon Sep 17 00:00:00 2001 From: ob1bob69 Date: Sat, 2 Aug 2014 14:23:18 -0400 Subject: [PATCH 15/22] Bob joining --- OBAM-Voting/SimpleVoteListener.yml | 16 + {Obam-Tools => OBAM-Voting}/config.yml | 0 OBAM-Voting/public.key | 1 + OBAM-WarFronts/chest.sk | 4 + OBAM-WarFronts/levelhandler.sk | 77 ++ OBAM-WarFronts/outposts/outpostgen.sk | 66 + OBAM-WarFronts/outposts/teamtest.sk | 51 + OBAM-WarFronts/roles/enchanter | 57 + OBAM-WarFronts/roles/enchanter.sk | 57 + OBAM-WarFronts/roles/hunter.sk | 57 + OBAM-WarFronts/roles/miner.sk | 207 +++ OBAM-WarFronts/roles/rolemenu.sk | 30 + OBAM-WarFronts/roles/skill.sk | 5 + OBAM-WarFronts/roles/soldier.sk | 78 ++ Obam-General/hats.sk | 63 +- Obam-General/sheep.sk | 63 +- Obam-General/tempclose.sk | 13 + Obam-KitPvp/aliases-english.sk | 1689 ++++++++++++++++++++++++ Obam-Other/-boatsforhub.sk | 24 + Obam-Parkour/parkour.sk | 1341 ++++++++++--------- Obam-Skyblock/animals.sk | 2 +- Obam-Skyblock/challenges.sk | 85 +- Obam-Skyblock/shop.sk | 30 +- Obam-Survival/fma.sk | 39 +- Obam-Survival/landclaim.sk | 4 +- Obam-Survival/shop.sk | 76 +- Obam-Testing/abstain.sk | 29 +- Obam-Testing/backpack.sk | 311 ++++- Obam-Testing/blocksave.sk | 5 +- Obam-Testing/ci.sk | 24 + Obam-Testing/config.yml | 151 +++ Obam-Testing/dbtest.sk | 22 + Obam-Testing/lightbow.sk | 6 +- Obam-Testing/op.sk | 23 + Obam-Testing/schat2.sk | 2 +- Obam-Testing/soulbound.sk | 94 +- Obam-Testing/timber.sk | 35 +- Obam-Testing/wtfronts.sk | 1258 +++++++++++++----- Obam-Tools/LiVBot.yml | 259 ++++ Obam-Tools/LiVBotcurtain.yml | 259 ++++ Obam-Tools/PurpleIRC-2.1.9.jar | Bin 0 -> 598426 bytes Obam-Tools/SampleBot.yml | 257 ++++ Obam-Tools/documentation.html | 431 ++++++ Obam-Tools/eggification.sk | 97 +- Obam-Tools/hottouch.sk | 110 ++ Obam-Tools/ninjatools.sk | 7 +- Obam-Tools/sudo.sk | 5 + Obam-Tools/tam.sk | 106 +- Obam-Tools/tonyhub.sk | 81 ++ kitpvp/kitpvp.sk | 58 +- stoof/old.setupi/SkriptPlus.jar | Bin 118909 -> 0 bytes 51 files changed, 6377 insertions(+), 1388 deletions(-) create mode 100644 OBAM-Voting/SimpleVoteListener.yml rename {Obam-Tools => OBAM-Voting}/config.yml (100%) create mode 100644 OBAM-Voting/public.key create mode 100644 OBAM-WarFronts/chest.sk create mode 100644 OBAM-WarFronts/levelhandler.sk create mode 100644 OBAM-WarFronts/outposts/outpostgen.sk create mode 100644 OBAM-WarFronts/outposts/teamtest.sk create mode 100644 OBAM-WarFronts/roles/enchanter create mode 100644 OBAM-WarFronts/roles/enchanter.sk create mode 100644 OBAM-WarFronts/roles/hunter.sk create mode 100644 OBAM-WarFronts/roles/miner.sk create mode 100644 OBAM-WarFronts/roles/rolemenu.sk create mode 100644 OBAM-WarFronts/roles/skill.sk create mode 100644 OBAM-WarFronts/roles/soldier.sk create mode 100644 Obam-General/tempclose.sk create mode 100644 Obam-KitPvp/aliases-english.sk create mode 100644 Obam-Other/-boatsforhub.sk create mode 100644 Obam-Testing/ci.sk create mode 100644 Obam-Testing/config.yml create mode 100644 Obam-Testing/dbtest.sk create mode 100644 Obam-Testing/op.sk create mode 100644 Obam-Tools/LiVBot.yml create mode 100644 Obam-Tools/LiVBotcurtain.yml create mode 100644 Obam-Tools/PurpleIRC-2.1.9.jar create mode 100644 Obam-Tools/SampleBot.yml create mode 100644 Obam-Tools/documentation.html create mode 100644 Obam-Tools/hottouch.sk create mode 100644 Obam-Tools/sudo.sk create mode 100644 Obam-Tools/tonyhub.sk delete mode 100644 stoof/old.setupi/SkriptPlus.jar diff --git a/OBAM-Voting/SimpleVoteListener.yml b/OBAM-Voting/SimpleVoteListener.yml new file mode 100644 index 0000000..4b532b1 --- /dev/null +++ b/OBAM-Voting/SimpleVoteListener.yml @@ -0,0 +1,16 @@ +# Sends private message to the voting player. +private-message: '&eThanks for voting!' + + +# Commands to be performed only if the player is offline, without the slash. +offline-commands: + - 'votetoken %name% %service%' + +# Commands to be performed if the player voted offline and joins the server. +login-commands: + - 'msg %name% Thank You for Voting!' + +# Commands to be performed only if the player is online. +online-commands: + - 'votetoken %name% %service%' + diff --git a/Obam-Tools/config.yml b/OBAM-Voting/config.yml similarity index 100% rename from Obam-Tools/config.yml rename to OBAM-Voting/config.yml diff --git a/OBAM-Voting/public.key b/OBAM-Voting/public.key new file mode 100644 index 0000000..432b963 --- /dev/null +++ b/OBAM-Voting/public.key @@ -0,0 +1 @@ +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0F/HaTbnoPPVxyhVE8u42WDUbcRkQyf0QnzIe72LYpt5C2Y69f1N8KPDQF7HKgqItzJUqBbTrP8pndo6fidZMlV1eba1Q09NYto2op7WbF1RQOQBDTpg9JXXZJkhIvSmEyNnf/kQrRS5I/ybfbQRWd7wVEuEFZU4hj77qThl3uTA+R+370OWHsqH8c9OHqDaU4NlkGdl4k0aD0qBycjx8teTJygKhu02T3clonPmElwbOei6DL4v3VX5Hq1861pxi0yVnPRDnlLjlv4UkOzkiVA7RHIBcklWC3wtHpuayIcuoMdKpvA8AUhmeiEyBN/VieALKubgokOvdFBrJKvDDQIDAQAB \ No newline at end of file diff --git a/OBAM-WarFronts/chest.sk b/OBAM-WarFronts/chest.sk new file mode 100644 index 0000000..852d93b --- /dev/null +++ b/OBAM-WarFronts/chest.sk @@ -0,0 +1,4 @@ +command /testchest: + trigger: + + show "s;55;i;dirt;s;63;i;dirt;s;64;i;dirt;s;72;i;dirt" with 8 rows named "test" to player \ No newline at end of file diff --git a/OBAM-WarFronts/levelhandler.sk b/OBAM-WarFronts/levelhandler.sk new file mode 100644 index 0000000..2090095 --- /dev/null +++ b/OBAM-WarFronts/levelhandler.sk @@ -0,0 +1,77 @@ +every 10 seconds: + + loop all players: + + {wf.%loop-player%.level} is not set: + set {wf.%loop-player%.level} to 1 + + {wf.%loop-player%.points} is greater than 1500 + + {wf.%loop-player%.points} is less than 1500^1.05 * 2: + + {wf.%loop-player%.level} is less than 2: + + set {wf.%loop-player%.level} to 2 + broadcast "&e%loop-player% &ais now &eLevel 2&a!" + + {wf.%loop-player%.treepoints} is not set: + set {wf.%loop-player%.treepoints} to 0 + + add 1 to {wf.%loop-player%.treepoints} + send "&aYou have received &e1 Skill Point&a!" to loop-player + send "&aUse &e/skill&a to open the &eSkill Tree&a!" to loop-player + + + {wf.%loop-player%.points} is less than 1500^1.05 * 3: + + {wf.%loop-player%.level} is less than 3: + + set {wf.%loop-player%.level} to 3 + broadcast "&e%loop-player% &ais now &eLevel 3&a!" + + {wf.%loop-player%.treepoints} is not set: + set {wf.%loop-player%.treepoints} to 0 + + add 1 to {wf.%loop-player%.treepoints} + send "&aYou have received &e1 Skill Point&a!" to loop-player + send "&aUse &e/skill&a to open the &eSkill Tree&a!" to loop-player + + + {wf.%loop-player%.points} is less than 1500^1.05 * 4: + + {wf.%loop-player%.level} is less than 4: + + set {wf.%loop-player%.level} to 4 + broadcast "&e%loop-player% &ais now &eLevel 4&a!" + + {wf.%loop-player%.treepoints} is not set: + set {wf.%loop-player%.treepoints} to 0 + + add 1 to {wf.%loop-player%.treepoints} + send "&aYou have received &e1 Skill Point&a!" to loop-player + send "&aUse &e/skill&a to open the &eSkill Tree&a!" to loop-player + + {wf.%loop-player%.points} is less than 1500^1.05 * 5: + + {wf.%loop-player%.level} is less than 5: + + set {wf.%loop-player%.level} to 5 + broadcast "&e%loop-player% &ais now &eLevel 5&a!" + + {wf.%loop-player%.treepoints} is not set: + set {wf.%loop-player%.treepoints} to 0 + + add 2 to {wf.%loop-player%.treepoints} + send "&aYou have received &e2 Skill Points&a!" to loop-player + send "&aUse &e/skill&a to open the &eSkill Tree&a!" to loop-player + +command /level: + permission: obam.free + trigger: + + send "Level" + send "%{wf.%player%.level}%" + send "Points" + send "%{wf.%player%.points}%" + send "Skill Points" + send "%{wf.%player%.treepoints}%" \ No newline at end of file diff --git a/OBAM-WarFronts/outposts/outpostgen.sk b/OBAM-WarFronts/outposts/outpostgen.sk new file mode 100644 index 0000000..3a4d16b --- /dev/null +++ b/OBAM-WarFronts/outposts/outpostgen.sk @@ -0,0 +1,66 @@ + + + +on chunk load: + {chunk.loaded.%event-chunk%} is not set + set {chunk.loaded.%event-chunk%} to true + {outpost.active} is not set: + set {outpost.active} to false + {outpost.active} is false + chance of 80%: + set {outpost.active} to true + loop blocks within event-chunk: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + set loop-block to {wf.op.1::%{_count}%} + + + + set {outpost.location} to event-chunk + + set {outpost.%event-chunk%} to true + set {outpost.%event-chunk%.kills} to random integer between 1 and 10 + set {outpost.%event-chunk%.level} to random integer between 1 and 10 + set {outpost.kill.claim} to 5 + broadcast "&aA Level &e%{outpost.%event-chunk%.level}% &aOutpost has been generated at &e%event-chunk%&a!" + + +command /outpostgrab : + permission: obam.admin + trigger: + + clear {wf.op.%argument%::*} + loop blocks within chunk at location of player: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + + set {wf.op.%argument%::%{_count}%} to loop-block + + send "&aOutpost Added" + +command /outpostpush : + permission: obam.admin + trigger: + + loop blocks within chunk at location of player: + {_count} is not set: + set {_coutn} to 0 + add 1 to {_count} + + set loop-block to {wf.op.%argument%::%{_count}%} + + send "&aOutpost Pushed to current chunk" + +command /outpostreset: + permission: obam.admin + trigger: + + set {outpost.active} to false + +command /outpoststate: + permission: obam.admin + trigger: + send "%{outpost.active}%" + \ No newline at end of file diff --git a/OBAM-WarFronts/outposts/teamtest.sk b/OBAM-WarFronts/outposts/teamtest.sk new file mode 100644 index 0000000..bef81ce --- /dev/null +++ b/OBAM-WarFronts/outposts/teamtest.sk @@ -0,0 +1,51 @@ +command /outpost: + permission: obam.free + trigger: + + {outpost.kills.red} is not set: + set {outpost.kills.red} to 0 + {outpost.kills.blue} is not set: + set {outpost.kills.blue} to 0 + {outpost.kills.green} is not set: + set {outpost.kills.green} to 0 + + send "&aThe current active outpost is located at:" + send "&e%{outpost.location}%" + send "&aRequired Score to claim:" + send "&e%{outpost.kill.claim}%" + + send "&aArmy Scores for current outpost:" + send "&cRed:" + send "&e%{outpost.kills.red}%" + send "&2Green:" + send "&e%{outpost.kills.green}%" + send "&3Blue:" + send "&e%{outpost.kills.blue}%" + +command /team : + permission: obam.admin + trigger: + argument is not "blue" or "green" or "red": + send "&cYou can only choose blue, green or red" + stop + + set {team.%player%} to argument + send "&ayou are now on the <%argument%>%argument% &ateam!" + +on death of a player: + {outpost.%chunk at location of attacker%} is true: + {outpost.kills.%{team.%attacker%}%} is not set: + set {outpost.kills.%{team.%attacker%}%} to 0 + add 1 to {outpost.kills.%{team.%attacker%}%} + broadcast "%{team.%attacker%}%:" + broadcast "%{outpost.kills.%{team.%attacker%}%}%" + {outpost.kills.%{team.%attacker%}%} is greater than or equal to {outpost.kill.claim}: + broadcast "&aThe outpost has been claimed by the <%{team.%attacker%}%>%{team.%attacker%}% &aTeam!" + clear {outpost.%chunk at location of attacker%} + clear {outpost.kills.red} + clear {outpost.kills.blue} + clear {outpost.kills.green} + clear {outpost.active} + clear {outpost.kill.claim} + clear {outpost.location} + \ No newline at end of file diff --git a/OBAM-WarFronts/roles/enchanter b/OBAM-WarFronts/roles/enchanter new file mode 100644 index 0000000..4fec7df --- /dev/null +++ b/OBAM-WarFronts/roles/enchanter @@ -0,0 +1,57 @@ +on script load: + set {roles.menu::Miner} to "i;enchanment table;n;&1Enchanter Role;l;&7Click to take on the;&7Enchanter Role;c;sudo PLAYER roleenchanter" + +command /roleenchanter: + permission: obam.free + trigger: + + player has permission "obam.admin": + + set {role.cooldown.%player%} to now + add 1 week to {role.cooldown.%player%} + + {role.cooldown.%player%} is not set: + set {role.cooldown.%player%} to now + add 1 week to {role.cooldown.%player%} + + set {_check} to now + + + set {_check} to difference between {role.cooldown.%player%} and {_check} + + {_check} is less than 1 week: + + send "&cYou must wait at least 1 week to switch a role!" + stop + + set {role.%player%} to "enchanter" + send "&aYou have set your role to &eEnchanter&a!" + stop + +on enchant: + + {role.%player%} is "enchanter": + + chance of 5%: + + {wf.%player%.points} is not set: + set {wf.%player%.points} to 0 + + add 5 to {wf.%player%.points} + send "&aYou have received &e5 Points&a!" + + chance of 2%: + + add 5 to player's balance + send "&aYou have received &e5 Tickets&a!" + + + + + + + + + + + \ No newline at end of file diff --git a/OBAM-WarFronts/roles/enchanter.sk b/OBAM-WarFronts/roles/enchanter.sk new file mode 100644 index 0000000..87cde68 --- /dev/null +++ b/OBAM-WarFronts/roles/enchanter.sk @@ -0,0 +1,57 @@ +on script load: + set {roles.menu::Enchanter} to "i;dirt;n;&1Enchanter Role;l;&7Click to take on the||&7Enchanter Role;c;sudo PLAYER roleenchanter" + +command /roleenchanter: + permission: obam.free + trigger: + + player has permission "obam.admin": + + set {role.cooldown.%player%} to now + add 7 days to {role.cooldown.%player%} + + {role.cooldown.%player%} is not set: + set {role.cooldown.%player%} to now + add 7 days to {role.cooldown.%player%} + + set {_check} to now + + + set {_check} to difference between {role.cooldown.%player%} and {_check} + + {_check} is less than 7 days: + + send "&cYou must wait at least 7 days to switch a role!" + stop + + set {role.%player%} to "enchanter" + send "&aYou have set your role to &eEnchanter&a!" + stop + +on enchant: + + {role.%player%} is "enchanter": + + chance of 5%: + + {wf.%player%.points} is not set: + set {wf.%player%.points} to 0 + + add 5 to {wf.%player%.points} + send "&aYou have received &e5 Points&a!" + + chance of 2%: + + add 5 to player's balance + send "&aYou have received &e5 Tickets&a!" + + + + + + + + + + + \ No newline at end of file diff --git a/OBAM-WarFronts/roles/hunter.sk b/OBAM-WarFronts/roles/hunter.sk new file mode 100644 index 0000000..bbc7b01 --- /dev/null +++ b/OBAM-WarFronts/roles/hunter.sk @@ -0,0 +1,57 @@ +on script load: + set {roles.menu::Hunter} to "i;bow;n;&1Hunter Role;l;&7Click to take on the||&7Hunter Role;c;sudo PLAYER rolehunter" + +command /rolehunter: + permission: obam.free + trigger: + + player has permission "obam.admin": + + set {role.cooldown.%player%} to now + add 7 days to {role.cooldown.%player%} + + {role.cooldown.%player%} is not set: + set {role.cooldown.%player%} to now + add 7 days to {role.cooldown.%player%} + + set {_check} to now + + + set {_check} to difference between {role.cooldown.%player%} and {_check} + + {_check} is less than 7 days: + + send "&cYou must wait at least 7 days to switch a role!" + stop + + set {role.%player%} to "hunter" + send "&aYou have set your role to &eHunter&a!" + stop + +on death: + + victim is not a player + + victim is not a cow or a mooshroom or a chicken or a ocelot or a chicken or a wolf or a pig + + {role.%attacker%} is "hunter": + + chance of 5%: + + {wf.%player%.points} is not set: + set {wf.%player%.points} to 0 + + add 5 to {wf.%player%.points} + send "&aYou have received &e5 Points&a!" + + chance of 2%: + + add 5 to player's balance + + send "&aYou have received &e5 Tickets&a!" + + + + + + \ No newline at end of file diff --git a/OBAM-WarFronts/roles/miner.sk b/OBAM-WarFronts/roles/miner.sk new file mode 100644 index 0000000..1c401b7 --- /dev/null +++ b/OBAM-WarFronts/roles/miner.sk @@ -0,0 +1,207 @@ +on script load: + set {roles.menu::Miner} to "i;diamond pickaxe;n;&1Miner Role;l;&7Click to take on the||&7Miner Role;c;sudo PLAYER roleminer" + +command /roleminer: + permission: obam.free + trigger: + + player has permission "obam.admin": + + set {role.cooldown.%player%} to now + add 7 days to {role.cooldown.%player%} + + {role.cooldown.%player%} is not set: + set {role.cooldown.%player%} to now + add 7 days to {role.cooldown.%player%} + + set {_check} to now + + + set {_check} to difference between {role.cooldown.%player%} and {_check} + + {_check} is less than 7 days: + + send "&cYou must wait at least 7 days to switch a role!" + stop + + set {role.%player%} to "miner" + send "&aYou have set your role to &eMiner&a!" + stop + +on pickup: + + item is iron ore or diamond or gold ore or redstone or lapis or coal + + + + #chance of 80%: + + {wf.%player%.points} is not set: + set {wf.%player%.points} to 0 + + add 100 to {wf.%player%.points} + send "&aYou have received &e100 Points&a!" + set lore of item to "%lore of item%||&7Mine'd" + + chance of 2%: + + add 5 to player's balance + send "&aYou have received &e5 Tickets&a!" + + + +command /skillminer []: + permission: obam.free + trigger: + + argument is not set: + {wf.%player%.spent} is not set: + set {wf.%player%.spent} to 0 + + {wf.%player%.treepoints} is not set: + set {wf.%player%.treepoints} to 0 + + {wf.%player%.skills::unbreaking} is not set: + set {_unb.check} to "&e0&a/5" + {wf.%player%.skills::unbreaking} is set: + set {_unb.check} to "&e%{wf.%player%.skills::unbreaking}%&a/5" + + set {_unb.slot} to "i;iron bars;n;&1Unbreaking;l;&7The unbreaking trait||&7the percentage chance to negate||&7damage to your tool|| ||%{_unb.check}%;c;sudo %player% skillminer unbreaking" + + {wf.%player%.skills::gold} is not set: + set {_gold.check} to "&e0&a/1" + {wf.%player%.skills::gold} is set: + set {_gold.check} to "&e%{wf.%player%.skills::gold}%&a/1" + + set {_gold.slot} to "i;gold block;n;&1Gold!;l;&7The Gold trait adds a||&7chance to drop extra gold||&7while mining gold|| ||%{_gold.check}%;c;sudo %player% skillminer gold" + + {wf.%player%.skills::diamond} is not set: + {wf.%player%.skills::gold} is not set: + set {_dia.check} to "&cLocked||&cRequires &eGold&c unlocked" + {wf.%player%.skills::gold} is 0: + set {_dia.check} to "&cLocked||&cRequires &eGold&c unlocked" + {wf.%player%.skills::gold} is greater than 0: + set {_dia.check} to "&e0&a/1" + {wf.%player%.skills::diamond} is set: + {wf.%player%.skills::gold} is not set: + set {_dia.check} to "&cLocked||&cRequires &eGold&c unlocked" + {wf.%player%.skills::gold} is 0: + set {_dia.check} to "&cLocked||&cRequires &eGold&c unlocked" + {wf.%player%.skills::gold} is greater than 0: + set {_dia.check} to "&e%{wf.%player%.skills::diamond}%&a/1" + + {wf.%player%.skills::gold} is not set: + set {_dia.slot} to "i;diamond;n;&1Diamond!;l;%{_dia.check}%" + {wf.%player%.skills::gold} is 0: + set {_dia.slot} to "i;diamond;n;&1Diamond!;l;%{_dia.check}%" + {wf.%player%.skills::gold} is greater than 0: + set {_dia.slot} to "i;diamond;n;&1Diamond!;l;&7The diamond trait add||&7a percentage chance to drop||&7an extra diamond while mining||&7diamond|| ||%{_dia.check}%;c;sudo %player% skillminer diamond" + + set {_clear.slot} to "i;tnt;n;&1Reset Tree;l;&7This will reset your||&7skill tree and allow you to||&7redo it;c;sudo %player% skillminer clear" + set {_used.slot} to "i;chest;n;&1Points;l;&7Used Points:||&e%{wf.%player%.spent}%||&7Availible:||&e%{wf.%player%.treepoints}%" + + send "&aOpening menu..." + + wait 0.3 seconds + show "s;28;%{_used.slot}%;s;36;%{_clear.slot}%;s;20;%{_gold.slot}%;s;11;%{_dia.slot}%;s;21;%{_unb.slot}%" with 4 rows named "&1Skill Tree - Miner" to player + + argument is "clear": + + clear {wf.%player%.skills::*} + add {wf.%player%.spent} to {wf.%player%.treepoints} + clear {wf.%player%.spent} + + send "&aSkill Tree Cleared!" + make player execute command "/skillminer" + + argument is "unbreaking": + + {wf.%player%.skills::unbreaking} is not set: + set {wf.%player%.skills::unbreaking} to 0 + + {wf.%player%.treepoints} is less than 1: + send "&cYou do not have enough points!" + make player execute command "/skillminer" + stop + + {wf.%player%.skills::unbreaking} is 5: + send "&cYou have maxxed out this skill!" + make player execute command "/skillminer" + stop + + subtract 1 from {wf.%player%.treepoints} + add 1 to {wf.%player%.spent} + add 1 to {wf.%player%.skills::unbreaking} + send "&aAdded skill point to &eUnbreaking" + send "&aUnbreaking set to &e%{wf.%player%.skills::unbreaking}%&a!" + make player execute command "/skillminer" + stop + + argument is "diamond": + + {wf.%player%.skills::gold} is not set: + send "&cYou must unlock the &eGold&c skill first!" + stop + + + {wf.%player%.skills::gold} is less than 1: + send "&cYou must unlock the &eGold&c skill first!" + stop + + {wf.%player%.skills::gold} is 1: + + {wf.%player%.skills::diamond} is not set: + set {wf.%player%.skills::diamond} to 0 + + {wf.%player%.treepoints} is less than 1: + send "&cYou do not have enough Skill points!" + make player execute command "/skillminer" + stop + + {wf.%player%.skills::diamond} is greater than 0: + send "&cYou have maxxed out this skill!" + make player execute command "/skillminer" + stop + + subtract 1 from {wf.%player%.treepoints} + add 1 to {wf.%player%.spent} + add 1 to {wf.%player%.skills::diamond} + + send "&aAdded skill point to &eDiamond!" + send "&aUnbreaking set to &e%{wf.%player%.skills::diamond}%&a!" + make player execute command "/skillminer" + stop + + argument is "gold": + + {wf.%player%.skills::gold} is not set: + set {wf.%player%.skills::gold} to 0 + + {wf.%player%.treepoints} is less than 1: + send "&cYou do not have enough points!" + make player execute command "/skillminer" + stop + + {wf.%player%.skills::gold} is 1: + send "&cYou have maxxed out this skill!" + make player execute command "/skillminer" + stop + + subtract 1 from {wf.%player%.treepoints} + add 1 to {wf.%player%.spent} + add 1 to {wf.%player%.skills::gold} + send "&aAdded skill point to &eGold&a!" + send "&aUnbreaking set to &e%{wf.%player%.skills::gold}%&a!" + make player execute command "/skillminer" + stop + + + + + + + + + + + \ No newline at end of file diff --git a/OBAM-WarFronts/roles/rolemenu.sk b/OBAM-WarFronts/roles/rolemenu.sk new file mode 100644 index 0000000..809d3e1 --- /dev/null +++ b/OBAM-WarFronts/roles/rolemenu.sk @@ -0,0 +1,30 @@ +command /roles: + permission: obam.free + trigger: + + loop {roles.menu::*}: + + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + + {_chest} is set: + + set {_chest} to "%{_chest}%;s;%{_count}%;%loop-value%" + + {_chest} is not set: + + set {_chest} to "s;%{_count}%;%loop-value%" + + replace "PLAYER" in {_chest} with "%player%" + + {_count} is less than 9: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + + show {_chest} with {_size} rows named "&1Rows Menu" to player \ No newline at end of file diff --git a/OBAM-WarFronts/roles/skill.sk b/OBAM-WarFronts/roles/skill.sk new file mode 100644 index 0000000..6ba1d23 --- /dev/null +++ b/OBAM-WarFronts/roles/skill.sk @@ -0,0 +1,5 @@ +command /skill: + permission: obam.free + trigger: + + make player execute command "/skill%{role.%player%}%" \ No newline at end of file diff --git a/OBAM-WarFronts/roles/soldier.sk b/OBAM-WarFronts/roles/soldier.sk new file mode 100644 index 0000000..27daed8 --- /dev/null +++ b/OBAM-WarFronts/roles/soldier.sk @@ -0,0 +1,78 @@ +on script load: + set {roles.menu::Soldier} to "i;diamond sword;n;&1Soldier Role;l;&7Click to take on the||&7Soldier Role;c;sudo PLAYER rolesoldier" + +command /rolesoldier: + permission: obam.free + trigger: + + player has permission "obam.admin": + + set {role.cooldown.%player%} to now + add 7 days to {role.cooldown.%player%} + + {role.cooldown.%player%} is not set: + set {role.cooldown.%player%} to now + add 7 days to {role.cooldown.%player%} + + set {_check} to now + + + set {_check} to difference between {role.cooldown.%player%} and {_check} + + {_check} is less than 7 days: + + send "&cYou must wait at least 7 days to switch a role!" + stop + + set {role.%player%} to "soldier" + send "&aYou have set your role to &eSoldier&a!" + stop + +on damage: + + attacker is a player + victim is a player + + {role.%attacker%} is "soldier": + + chance of 10%: + + add 1 to damage + + send "&cCritical Hit!" to attacker + + chance of 5%: + + {wf.%attacker%.points} is not set: + set {wf.%attacker%.points} to 0 + + add 5 to {wf.%attacker%.points} + send "&aYou have received &e5 Points&a!" + + chance of 2%: + + add 5 to attacker's balance + + send "&aYou have received &e5 Tickets&a!" + + {role.%victim%} is "soldier": + + chance of 2%: + + set damage to 0 + + send "&eBlocked!" + + chance of 5%: + + {wf.%victim%.points} is not set: + set {wf.%victim%.points} to 0 + + add 5 to {wf.%victim%.points} + send "&aYou have received &e5 Points&a!" + + chance of 2%: + + add 5 to victim's balance + + send "&aYou have received &e5 Tickets&a!" \ No newline at end of file diff --git a/Obam-General/hats.sk b/Obam-General/hats.sk index 37060d6..911aae1 100644 --- a/Obam-General/hats.sk +++ b/Obam-General/hats.sk @@ -1,14 +1,17 @@ #hats options: - betahat: i;iron pressure plate;n;&3&lBeta Supporter Hat;l;&7This Special hat is for all members who supported||&7during our beta period. This hat is a thank you from the &eOBAM||&7Staff for those that helped us when we were starting. THANK YOU!;c;hatreward betahat %player% - + betahat: i;iron pressure plate;n;&3&lBeta Supporter Hat;l;&7This Special hat is for all||&7members who supported||&7during our beta period||&7This hat is a thank you from||&7the &eOBAM &7Staff for those||&7that helped us when||&7we were starting. THANK YOU!;c;hatreward betahat %player% + free: i;dirt;n;&3&lDirt Hat;l;&7This classy dirt||&7Helm is free for||&7all who wish to show||&7off their frugal||&7style!;c;hatreward dirt %player% + sup1: i;iron block;n;&3&lIron Block;l;&7This Iron hat has||&7been crafted from the||&7finest Iron Golem remains!|| ||&5&oThis Hat is for||&5&oCurrent supporters;c;hatreward supporter1 %player% + sup2: i;gold block;n;&3&lGold Block;l;&7Show your wealth with||&7with the cap of beauty||&7with this shiny gold||&7block hat!|| ||&5&oThis hat is for||&5&oCurrent supporter;c;hatreward supporter2 %player% + sup3: i;diamond block;n;&3&lDiamond Block;l;&7Show off what others||&7craze with the powerfull||&7Diamond block hat|| ||&5&oThis hat is for||&5&oCurrent supporters;c;hatreward supporter3 %player% command /hat: permission: obam.free executable by: players trigger: - show "s;1;{@betahat}" with 3 rows named "&9&lOBAM &9Hats" to player + show "s;1;{@free};s;2;{@sup1};s;3;{@sup2};s;4;{@sup3};s;5;{@betahat}" with 3 rows named "&9&lOBAM &9Hats" to player command /hatreward : executable by: console @@ -17,20 +20,33 @@ command /hatreward : player-argument has permission "obam.beta.hat": send "&aYou now have a hat :D" to player-argument execute console command "hatgive iron pressure plate %player-argument%" - + + argument 1 is "dirt": + send "&aYou now have a hat :D" to player-argument + execute console command "hatgive dirt %player-argument%" + + argument 1 is "supporter1": + player-argument has permission "obam.supporter": + send "&aYou now have a hat :D" to player-argument + execute console command "hatgive iron block %player-argument%" + + argument 1 is "supporter2": + player-argument has permission "obam.supporter": + send "&aYou now have a hat :D" to player-argument + execute console command "hatgive gold block %player-argument%" + + argument 1 is "supporter3": + player-argument has permission "obam.supporter": + send "&aYou now have a hat :D" to player-argument + execute console command "hatgive diamond block %player-argument%" command /hatgive []: executable by: players and console permission: obam.admin trigger: - set {item.exist.true} to false - loop {hat.items.list::*}: - arg 1 is loop-value: - set {item.exist.true} to true - {item.exist.true} is false: - send "&cThat hat does not exist. Do &e/showitemhats&c to see a list of hats." to player - stop + + if name of player-argument's helmet is "hat": set player-argument's helmet to arg 1 set name of player-argument's helmet to "hat" @@ -52,18 +68,23 @@ command /hatshow: trigger: loop {hat.items.list::*}: send "%loop-value%" to player -every 1 second: - loop {hat.items.list::*}: - set {current.item.check} to loop-value - loop all players: - loop-player has {current.item.check} named "hat": - remove {current.item.check} named "hat" from loop-player - send "&cWhy did you have a hat in your pocket?" to loop-player +every 0.3 seconds: + + loop all players: + loop-player has anything named "hat": + remove anything named "hat" from loop-player + send "&cWhy did you have a hat in your pocket?" to loop-player on drop: - loop {hat.items.list::*}: - item is loop-value named "hat": - cancel event + name of event-item is "hat": + cancel event + +on place: + name of player's tool is "hat": + cancel event + + + command /hattoggle: diff --git a/Obam-General/sheep.sk b/Obam-General/sheep.sk index 4995f62..6b10619 100644 --- a/Obam-General/sheep.sk +++ b/Obam-General/sheep.sk @@ -1,3 +1,12 @@ +options: + ismooch: i;sheep spawn egg;n;&6ISMOOCH;l;&7Grab a pink Sheep||&7named ISMOOCH|| ||&5&oThis pet is free!||&5&oClick to Summon!;c;sudo %player% pet ismooch + bruswain: i;bat spawn egg;n;&6Bru Swain;l;&7From the darkness comes||&7Bru Swain. A mysterious||&7bat|| ||&5&oThis pet is for our||&5&oBeta Supporters only.;c;sudo %player% pet bruswain + sparky: i;creeper spawn egg;n;&6Sparky;l;&7A trolly creeper||&7to scare your friends!|| ||&5&oThis pet is for||&5&oall supporters!;c;sudo %player% pet sparky + bacon: i;pig spawn egg;n;&6Bacon;l;&7A tasty pig ready||&7for slaughter but unable||&7to die|| ||&5&oThis pet can be||&5&opurchased through the||&5&oOBAMcraft shop;c;sudo %player% pet bacon + clear: i;fire;n;&6Clear;l;&7Click to clear all||&7summoned pets!;c;sudo %player% pet clear + lead: i;lead;n;&6Leash;l;&7Pets getting out of||&7control? Click this||&7to attach a lead||&7to all of your summoned||&7pets!;c;sudo %player% pet lead + + every 1 second: loop all entities: loop-entity is sheep or bat or powered creeper or pig: @@ -22,11 +31,15 @@ on quit: stop -command /pet : +command /pet []: trigger: world is "kitpvpkillingfields": send "&cYou can not do that here" to player stop + + argument is not set: + show "s;1;{@ismooch};s;2;{@bruswain};s;3;{@sparky};s;4;{@bacon};s;10;{@lead};s;18;{@clear}" with 2 rows named "&1Pet Menu" to player + stop argument is "lead": loop {pets.%player%::*}: @@ -42,7 +55,7 @@ command /pet : clear {pets.%player%::*} stop {pets.%player%} is set: - player does not have permission "obam.supporter.tickets": + player does not have permission "obam.supporter": send "&cYou can only have one pet at a time!" to player stop size of {pets.%player%::*} is 5: @@ -58,8 +71,8 @@ command /pet : add {pets.%player%} to {pets.%player%::*} stop - argument is "Bru Swain": - player has permission "obam.supporter.tickets": + argument is "BruSwain": + player has permission "obam.beta.hat": spawn bat at location of player set name of spawned bat to "&aBru Swain" make player leash spawned bat @@ -67,25 +80,29 @@ command /pet : set {owner.%{pets.%player%}%} to player add {pets.%player%} to {pets.%player%::*} stop - send "&cYou must be Supporter Ultimate to do this!" to player + send "&cThis is for beta supporters only!" to player argument is "Sparky": - spawn powered creeper at location of player - set name of spawned powered creeper to "&aSparky" - make player leash spawned powered creeper - set {pets.%player%} to spawned powered creeper - set {owner.%{pets.%player%}%} to player - add {pets.%player%} to {pets.%player%::*} - stop + player has permission "obam.supporter": + spawn powered creeper at location of player + set name of spawned powered creeper to "&aSparky" + make player leash spawned powered creeper + set {pets.%player%} to spawned powered creeper + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + send "&cYou must be a supporter to do this!" to player argument is "bacon": - spawn pig at location of player - set name of spawned pig to "&aBacon" - make player leash spawned pig - set {pets.%player%} to spawned pig - set {owner.%{pets.%player%}%} to player - add {pets.%player%} to {pets.%player%::*} - stop + {db_pet.purchase.bacon.%player%} is true: + spawn pig at location of player + set name of spawned pig to "&aBacon" + make player leash spawned pig + set {pets.%player%} to spawned pig + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + send "&cYou must purchase this pet on the online store!" argument is "dragon": send "&cI bet you wish you could...." to player @@ -122,4 +139,12 @@ on right click with shears on sheep: name of event-entity is "&aISMOOCH" cancel event send "&cYou can not shear pets!" to event-player + +command /petpurchase : + permission: obam.admin + trigger: + + argument 1 is "bacon": + set {db_pet.purchase.bacon.%argument 2%} to true + send "%Argument 2% has purchased the pet BACON" to console \ No newline at end of file diff --git a/Obam-General/tempclose.sk b/Obam-General/tempclose.sk new file mode 100644 index 0000000..e649977 --- /dev/null +++ b/Obam-General/tempclose.sk @@ -0,0 +1,13 @@ +command /parkour: + aliases: pk + trigger: + message "&cParkour has been temporarily removed while" + message "&cwe make improvements. Please try one of our" + message "&cother games like Skyblock, Fronts, WTF & Kit PVP." + +command /hotpotato: + aliases: hp + trigger: + message "&cHot Potato has been temporarily removed while" + message "&cwe make improvements. Please try one of our" + message "&cother games like Skyblock, Fronts, WTF & Kit PVP." \ No newline at end of file diff --git a/Obam-KitPvp/aliases-english.sk b/Obam-KitPvp/aliases-english.sk new file mode 100644 index 0000000..50565f5 --- /dev/null +++ b/Obam-KitPvp/aliases-english.sk @@ -0,0 +1,1689 @@ + +# ====== Aliases ====== +# In this file you can create aliases. An alias is a name for a block or an item, or a collection of such. +# There are hundreds of predefined aliases, so you don't usually need to care about this file. +# +# An alias is nothing more than a mapping from a name to one or more item/block types. +# e.g: 'torch = 50' creates the alias 'torch' and maps it to 50, the ID of a torch. +# So now every time you need a torch you can write torch instead of 50, which is much more intuitive. +# You can make an alias match multiple types by separating them with a comma, e.g. 'water = 8, 9'. +# You can also include data values, e.g. 'orange wool = 35:1'. Data Values can be a range, +# e.g. 'wet farmland = 60:1-8' (60:0 is dry farmland) +# +# == Advanced == +# As different languages have different ways of forming plurals of words you have to define the plurals of all aliases yourself. +# This is done by adding the plural ending after a ¦ character, e.g. 'log¦s = 17'. +# If the singular and plural have different endings each, use two ¦ characters, e.g. 'bookshel¦f¦ves = 47'. +# If you want to pluralize a word within the alias, use another ¦ character, e.g.. 'bucket¦¦s¦ of water' ('¦¦s¦' means: no singular ending, plural ending 's'). +# These plurals are both used by Skript when displaying items, e.g. 2 logs will be displayed as '2 logs', +# while 1 log will be displayed as '1 log', but are also used when parsing, i.e. you can write '1 log' or '2 logs' and both is understood. +# Aliases should also have a gender, which can be defined by adding '@' after the alias, e.g. 'emerald¦s @an' ('@a' can be omitted as it's the default). +# - English genders are 'a' and 'an', and German genders are 'n', 'm', and 'f' (these are all defined in the respectile language file). +# All languages can use the special genders 'x' and '-' for plural and no gender respectively, e.g. 'leaves @x' or 'air @-'. +# +# Sometimes you want to make a part of an alias optional, e.g. in 'wooden door', +# which is also sometimes called 'wood door', the 'en' can be made optional. +# This can be done by putting the optional part into square brackets ([]): +# wood[en] door = 64 # creates 2 aliases: 'wood door = 64' and 'wooden door = 64' +# +# Some blocks/items have different names, like the slab which is also called step. +# In this case you can simple write something like this: +# (step|slab) = 44 # creates two aliases, 'slab' and 'step', of which both are mapped to '44' +# stone (step|slab) = 44:0 # creates 'stone slab' and 'stone step' mapped to '44:0' +# wood[en] (step|slab) = 44:2 # creates four aliases +# +# Some blocks and items share some different appearances, e.g. wood, saplings and leaves all differ only in their tree type. +# Usually you would have to create the aliases 'birch wood', 'birch sapling', 'redwood wood', 'redwood sapling' etc. +# But this can be shortened by using variations: +# {tree type}: # name of the variation +# regular = :0 # list values here. these have the same syntax as aliases, i.e. they can have ids and data/data ranges, +# redwood = :1 # but you usally only need the data, which is done by typing a colon with no id in front of it. +# birch = :2 +# {tree type} wood = 17 # this is resolved to: wood = 17, regular wood = 17:0, redwood wood = 17:1 and birch wood = 17:2 +# sapling of {tree type} tree = 6 # you can put a variation anywhere in an alias, it doesn't need to be at the beginning. +# {tree type} leaves = 18 +# +# please note that 'wood = 17' is also resolved for '{tree type} wood = 17'. This is usually what you want. +# This does not work with variations where ids are varied and not only data values. There you +# have to add a '{default}' to the variation, which is treated like all other values in the variation +# but without adding it's name to the alias. For examples see 'huge mushrooms' or 'doors'. +# +# If an item has a block with a different ID you should add another two aliases called 'x item' and 'x block', e.g. +# cauldron block = 118 +# cauldron item = 380 +# cauldron = 118, 380 +# This way if you 'give a cauldron to the player' the player will not actually be given the items of the 'cauldron' alias, +# but the items of the 'cauldron item' alias, causing the player to always recieve the correct cauldron item. +# The same applies to setting blocks, though it usually doesn't matter as items are ignored when setting blocks. +# It does matter for e.g. water though: +# water = 8, 9 +# water block = 9 +# The 'water block' alias only lists the water source block, while the 'water' alias also lists the flowing water block. +# Setting a block to 'water' will thus always place a water source, while checking 'block is water' will work for both +# stationary and flowing water blocks. +# +# If you want to use something else than 'item' and 'block', simply modify the options below: +# + +# optional suffixes that can be appended to an alias's name and Skript will still understand it, +# e.g. if you only define an alias 'cake', this will allow users to use 'cake block' and 'cake item' as well. +# These are also used to determine the block and item variants of an alias (see above) And should include singular and plural. +item = item¦s +block = block¦s + + + + +# List of alias groups. Only groups listed here are allowed below, +# but you can easily define your own by adding it to this list. +# The groups will be loaded in this order, +# e.g. if 'custom aliases' is loaded after 'default aliases' you can use all default aliases to define your own aliases. +aliases = default aliases, collections, custom aliases + + + + + +custom aliases: + # === Custom Aliases === + # I recommend putting your own aliases here. + # You do not have to create an alias if you intend to use it in only one script, + # but you can put it at the beginning of the script like this: + # aliases: + # admin blocks = bedrock, TNT, 52, 56 + # wand = blaze rod + # This also has the advantage that your script can be used by other people without having to add the aliases to their config. + # + # + # If you want to edit a default alias, you should copy & paste it here to edit it. + # This will make it easier for you if you choose to update Minecraft and more blocks & items are added, in which case + # you can then simply download the updated config and copy & paste this section into it. + # + # The default aliases are loaded before these, so you can use them here. + # You can also override them by creating an alias with the same name. + + #example: shorten names + # ss = sandstone + # llb = lapis lazuli block + # ms = monster spawner + #etc. + +collections: + # === Collections === + + # all ores + ore¦s = coal ore, iron ore, gold ore, diamond ore, lapis ore, any redstone ore + # fuels, i.e. items which can be burned in the furnace + fuel¦s = lava bucket, blaze rod, any coal, planks, log, huge mushroom, workbench, fence, wooden stairs, trapdoor, sapling, stick, chest, locked chest, jukebox, note block + # note: the above aliases are used in 'furnace automatisation.cfg' + + # all food which can be eaten by rightclicking, i.e. doesn't include cake. + food¦s = any apple, mushroom soup, bread, any porkchop, any fish, cookie, melon slice, any beef, any chicken, rotten flesh, any carrot, any potato, pumpkin pie + # the same list but without raw food & rotten flesh + healthy food¦s = any apple, mushroom soup, bread, cooked porkchop, cooked fish, cookie, melon slice, steak, cooked chicken, any carrot, potato, baked potato, pumpkin pie + + # all vehicles, i.e. all minecarts and the boat + vehicle¦s = any minecart, boat + + # all plants. By default this does not include pumpkins and melons, but their stems. + plant¦s = leaves, any tall grass, dead bush, any flower, any mushroom, lily pad, vines, melon stem, pumpkin stem, nether wart + + +default aliases: + # === Default Aliases === + + # -- special -- + anything @- = : # ':' matches any ID. You should only use this together with a {variation} that includes a {default} value. + # (':' means ':') + something @- = : + everything @- = * # '*' is actually the same as 'every :', but 'every' can't be used in aliases. Thus I made this small hack + # to allow the definition of an 'everything' alias, but please note that '*' cannot be used anywhere else. + + + # ====== Blocks ====== + + # -- air -- + air @- = 0 + nothing @- = 0 + none @- = 0 + empty @- = 0 + [empty] (hand|fist)¦s = 0 + bare (hand|fist)¦s = 0 + + + # -- stone -- + stone¦s = 1 + smooth stone = 1 + + + # -- grass -- + grass = 2 + grass block = 2 + + + # -- dirt -- + dirt = 3 + + + # -- cobblestone -- + cobble[stone] = 4 + mossy cobble[stone] = 48 + + + # -- planks & saplings: see wood + + + # -- bedrock -- + bedrock = 7 + + + # -- water & lava -- + water = 8, 9 + water (item|block)¦s = 9 + stationary water = 9 + water source = 9 + flowing water = 8 # change to '8:0-7' if you want to exclude falling water + falling water = 8:8 + moving water = 8 + + lava = 10, 11 + lava (item|block)¦s = 11 + stationary lava = 11 + lava source = 11 + flowing lava = 10 # change to '10:0-7' if you want to exclude falling lava + falling lava = 10:8 + moving lava = 10 + + + # -- sand & gravel-- + sand = 12 + gravel = 13 + + + # -- ores & precious blocks -- + gold ore¦s = 14 + gold block¦s = 41 + block¦¦s¦ of gold = 41 + + iron ore¦s @an = 15 + iron block¦s @an = 42 + block¦¦s¦ of iron = 42 + + coal ore¦s = 16 + + lapis [lazuli] ore¦s = 21 + lapis [lazuli] block¦s = 22 + + # redstone ore: see redstone + + diamond ore¦s = 56 + diamond block¦s = 57 + block¦¦s¦ of diamond = 57 + + emerald ore¦s @an = 129 + emerald block¦s @an = 133 + block¦¦s¦ of emerald = 133 + + + # -- wood, leaves, saplings & planks -- + {tree type}: # also used for wooden slabs + {default} = :0-15 + (normal|regular|oak) = :0, :4, :8, :12 + (pine|redwood|fir|spruce) = :1, :5, :9, :13 + birch = :2, :6, :10, :14 + jungle = :3, :7, :11, :15 + + {log direction}: + {default} = :0-3 + vertical = :0-3 + east-west = :4-7 + west-east = :4-7 + south-north = :8-11 + north-south = :8-11 + horizontal = :4-11 + rotated = :4-11 + full[[ ]block] = :12-15 + any = :0-15 + {log direction no default}: + vertical = :0-3 + east-west = :4-7 + west-east = :4-7 + south-north = :8-11 + north-south = :8-11 + horizontal = :4-11 + rotated = :4-11 + full[[ ]block] = :12-15 + any = :0-15 + + {log direction no default} {tree type} (log¦s|wood) = 17 + {log direction} {tree type} (log|wood) (item¦s|block¦s) = 17 + {tree type} leaves = 18 + {tree type} permanent leaves = 18:4-7, 18:12-15 + {tree type} sapling¦s = 6:0-3 + {tree type} plank¦s = 5:0-3 + {tree type} wood[en] plank¦s = 5:0-3 + + + # -- sponge -- + sponge¦s = 19 + + + # -- glass -- + glass = 20 + glass pane¦s = 102 + thin glass = 102 + window¦s = 102 + window glass = 102 + + + # -- lapis lazuli -- + # lapis ore & block: see ores & blocks + # lapis lazuli: see dyes + + + # -- dispenser -- + dispenser¦s = 23 + + + # -- sandstone -- + sand[ ]stone¦s = 24 + + + # -- note block -- + note block¦s = 25 + + + # -- bed -- + {bed occupied}: + occupied = :4-7, :12-15 + (free|empty) = :0-3, :8-11 + {bed part}: + (head|top) = :8-15 + (foot|bottom) = :0-7 + {bed occupied} bed [block] {bed part} = 26 + bed¦s = 26, 355 + bed block¦s = 26 + bed item¦s = 355 + + + # -- minecart rails -- + {minerail}: + straight = :0-5 + straight flat = :0-1 + flat straight = :0-1 + curved = :6-9 + flat = :0-1, :6-9 + inclined = :2-5 + {minerail straight}: + flat = :0-1, :8-9 + inclined = :2-5, :10-13 + # normal rail + [any] {minerail} [minecart] (rail|track)[s] = 27, 28, 66 + {minerail} [minecart] (rail|track)[s] (item|block) = 66 + # powered rail + {minerail straight} powered [minecart] (rail|track) = 27 + {minerail straight} [minecart] booster¦s = 27 + {minerail straight} [minecart] booster (rail|track)¦s = 27 + {minerail straight} powered [minecart] (rail|track)¦ on¦s on = powered rail:8-15 + {minerail straight} powered [minecart] (rail|track)¦ off¦s off = powered rail:0-7 + {minerail straight} active powered [minecart] (rail|track)¦s = powered rail:8-15 + {minerail straight} inactive powered [minecart] (rail|track)¦s = powered rail:0-7 + {minerail straight} [minecart] booster¦ on¦s on = powered rail:8-15 + {minerail straight} [minecart] booster¦ off¦s off = powered rail:0-7 + {minerail straight} [minecart] booster (rail|track)¦ on¦s on = powered rail:8-15 + {minerail straight} [minecart] booster (rail|track)¦ off¦s off = powered rail:0-7 + {minerail straight} (active|powered) [minecart] booster¦s = powered rail:8-15 + {minerail straight} (inactive|unpowered) [minecart] booster¦s = powered rail:0-7 + {minerail straight} (active|powered) [minecart] booster (rail|track)¦s = powered rail:8-15 + {minerail straight} (inactive|unpowered) [minecart] booster (rail|track)¦s = powered rail:0-7 + # detector rail + {minerail straight} detector [minecart] (rail|track)¦s = 28 + {minerail straight} detector [minecart] (rail|track)¦ on¦s on = detector rail:8-15 + {minerail straight} detector [minecart] (rail|track)¦ off¦s off = detector rail:0-7 + {minerail straight} active detector [minecart] (rail|track)¦s = detector rail:8-15 + {minerail straight} inactive detector [minecart] (rail|track)¦s = detector rail:0-7 + # activator rail + {minerail straight} activator [minecart] (rail|track)¦s = 157 + + + # -- sticky piston: see redstone + + + # -- cobweb -- + cobweb¦s = 30 + + + # -- vegetation -- + + # saplings & leaves: see wood + + any tall grass = 31:1-2 + dead grass = 31:0 + tall grass = 31:1 + long grass = 31:1 + fern¦s = 31:2 + + dead shrub¦s = 32 + dead bush¦es = 32 + + dandelion¦s = 37 + yellow flower¦s = 37 + rose¦s = 38 + red rose¦s = 38 + red flower¦s = 38 + flower¦s = 37, 38 + + mushroom¦s = 39, 40 + brown mushroom¦s = 39 + red mushroom¦s = 40 + + {huge mushroom type}: + {default} = 99, 100 + brown = 99 + red = 100 + huge {huge mushroom type} mushroom¦s = : + huge {huge mushroom type} mushroom stem¦s = :10 + huge {huge mushroom type} mushroom cap¦s = :1-9 #0 is not a real cap piece + + pumpkin¦s = 86 + jack-o-lantern¦s = 91 + glowing pumpkin¦s = 91 + pumpkin stem¦s = 104 + pumpkin seeds = 361 + pumpkin pie¦s = 400 + + melon¦s = 103 + melon block¦s = 103 + melon slice¦s = 360 + melon stem¦s = 105 + melon seeds = 362 + + vines = 106 + # the amount of vines here refers to the number of vines on the sides of the vine block. + # the top vine is always present if there's a solid block above the vines or the data is 0. + no vine[s] = 106:0 + single vine = 106:1, 106:2, 106:4, 106:8 + double vine[s] = 106:3, 106:5, 106:9, 106:6, 106:10, 106:12 + triple vine[s] = 106:7, 106:11, 106:13, 106:14 + quadruple vine[s] = 106:15 + + lily pad¦s = 111 + + nether wart¦s = 115, 372 + nether wart block¦s = 115 + nether wart item¦s = 372 + ripe nether wart¦s = 115:3 + freshly planted nether wart¦s = 115:0 + + cocoa = 127 + cocoa plant¦s = 127 + (freshly planted|small) cocoa [plant¦s] = 127:0-3 + medium cocoa [plant¦s] = 127:4-7 + (ripe|big|large) cocoa [plant¦s] = 127:8-11 + + {flower pot}: + (empty|nothing) = :0 + (rose|red flower) = :1 + (dandelion|yellow flower) = :2 + flower = :1-2 + (normal|regular|oak) sapling = :3 + (pine|redwood|fir|spruce) sapling = :4 + birch sapling = :5 + jungle [tree] sapling = :6 + sapling = :3-6 + red mushroom = :7 + brown mushroom = :8 + mushroom = :7-8 + cactus = :9 + dead bush = :10 + fern = :11 + {flower pot} flower pot¦s = 140 + {flower pot} flower pot block¦s = 140 + flower pot (holding|containing|with) [a[n]] {flower pot} = 140 + flower pot item¦s = 390 + flower pot¦s = 140, 390 + + carrot plant¦s = 141 + carrot[s] block¦s = 141 + carrot[s] [item¦s] = 391 + golden carrot¦s = 396 + any carrot[s] [item¦s] = 391, 396 + carrot¦ on a stick¦s on sticks = 398 + + potato plant¦s = 142 + potato[es] block¦s = 142 + potato¦es = 392 + potato[es] item¦s = 392 + baked potato¦es = 393 + poisonous potato¦es = 394 + any potato¦es = 392, 393, 394 + + + # -- pistons: see redstone + + + # -- wool, carpets and dyes -- + # note: it's not possible to make a {colour} variation, as dye and wool colour data values are different. + {wool}: # also used for stained clay + any = :0-15 + white = :0 + orange = :1 + magenta = :2 + light blue = :3 + yellow = :4 + light green = :5 + pink = :6 + gray = :7 + light gray = :8 + cyan = :9 + purple = :10 + blue = :11 + brown = :12 + [dark] green = :13 + red = :14 + black = :15 + {wool} wool = 35:0-15 + {wool} (carpet|rug)¦s = 171:0-15 + + dye¦s = 351:0-15 + white dye¦s = 351:15 + bone[ ]meal¦s = 351:15 + orange dye¦s = 351:14 + magenta dye¦s = 351:13 + light blue dye¦s = 351:12 + yellow dye¦s = 351:11 + dandelion yellow [dye¦s] = 351:11 + light green dye¦s = 351:10 + pink dye¦s = 351:9 + gray dye¦s = 351:8 + light gray dye¦s = 351:7 + cyan dye¦s = 351:6 + purple dye¦s = 351:5 + blue dye¦s = 351:4 + lapis [lazuli¦s] = 351:4 + cocoa beans = 351:3 + brown dye¦s = 351:3 + [dark] green dye¦s = 351:2 + cactus green [dye¦s] = 351:2 + red dye¦s = 351:1 + rose red = 351:1 + black dye¦s = 351:0 + ink sack¦s = 351:0 + + + # -- block 36 -- + block 36 = 36 + block moved by piston = 36 + moving block¦s = 36 + + + # -- flowers & mushrooms: see vegetation + + + # -- iron & gold block: see ores & blocks + + + # -- single & double steps / slabs -- + {any slab}: + {default} = 44, 126 + single = 44, 126 + double = 43, 125 + {stone slab}: + {default} = 44 + single = 44 + double = 43 + {wooden slab}: + {default} = 126 + single = 126 + double = 125 + + {slab facing}: + {default} = :0-7 + regular = :0-7 + default = :0-7 + upside-down = :8-15 + any = :0-15 + {slab facing no default}: + regular = :0-7 + default = :0-7 + upside-down = :8-15 + any = :0-15 + + {stone slab type}: + {default} = :0-1, :3-5, :8-9, :11-13 + any = :0-1, :3-5, :8-9, :11-13 + stone = :0, :8 + sandstone = :1, :9 + cobble[stone] = :3, :11 + brick = :4, :12 + stone brick[s]) = :5, :13 + {stone slab type no default}: + any = :0-1, :3-5, :8-9, :11-13 + stone = :0, :8 + sandstone = :1, :9 + cobble[stone] = :3, :11 + brick = :4, :12 + stone brick[s]) = :5, :13 + + # variation {tree type}: see wood + {slab facing no default} {stone slab} {stone slab type no default} (step|slab)¦s = : + {slab facing} {stone slab} {stone slab type} (step|slab) (block|item)¦s = : + {slab facing no default} {wooden slab} {tree type} [wood[en]] (step|slab)¦s = :0-3, :8-11 + {slab facing} {wooden slab} {tree type} (step|slab) (block|item)¦s = : + {slab facing no default} {any slab} (step|slab)¦s = : + {slab facing} {any slab} (step|slab) (block|item)¦s = : + + + # -- bricks & clay -- + [clay] brick¦s = 45, 336 + [clay] brick[s] = 45 + [clay] brick[s] = 336 + + {wool} [stained] [hard[ened]] clay = 159 + + clay = 82, 337 + clay = 82 + clay = 337 + clay ball¦s = 337 + + hard[ened] clay = 172 + + + # -- TNT -- + TNT¦s = 46 + dynamite = 46 + + + # -- bookshelf -- + bookshel¦f¦ves = 47 + + + # -- mossy cobblestone: see cobblestone + + + # -- obsidian -- + obsidian = 49 + + + # -- torch -- + {torch}: #also used for redstone torches + ground = :5 + floor = :5 + wall = :1-4 + {torch} torch¦es = 50 + + + # -- fire -- + fire¦s = 51 + (eternal|infinite) fire¦s = 51:15 #never tested this myself + finite fire¦s = 51:0-14 + (new|fresh) fire¦s = 51:0 + + + # -- monster spawner -- + monster spawner¦s = 52 + mob spawner¦s = 52 + + + # -- stairs -- + {stairs}: + {default} = 53, 134, 135, 136, 67, 108, 109, 114, 128, 156 + (oak|regular|normal) [wood] = 53 + (spruce|fir|redwood|pine) [wood] = 134 + birch [wood] = 135 + jungle [wood] = 136 + [any] wood[en] = 53, 134, 135, 136 + cobble[stone] = 67 + [clay] brick[s] = 108 + stone brick[s] = 109 + nether [brick[s]] = 114 + sand[ ]stone = 128 + [nether] quarz = 156 + {stairs direction}: + {default} = :0-3 + any = :0-7 + upside-down = :4-7 + {stairs direction no default}: + any = :0-7 + upside-down = :4-7 + + {stairs direction no default} {stairs} stair[s] = : + {stairs direction} {stairs} stair[s] (block|item)¦s = : + + + # -- chest -- + chest¦s = 54 + ender chest¦s = 130 + trapped chest¦s = 146 + + + # -- redstone wire: see redstone + + + # -- diamond ore & block: see ores & blocks + + + # -- crafting table -- + crafting table¦s = 58 + workbench¦es = 58 + + + # -- crops / wheat -- + crops = 59 + wheat block¦s = 59 + wheat item¦s = 296 + wheat = 59, 296 + [wheat] seeds = 295 + freshly planted (crops|wheat) = 59:0 + ripe (crops|wheat) = 59:7 + + + # -- farmland/soil -- + (farmland|soil) = 60 + dry (farmland|soil) = 60:0 + wet (farmland|soil) = 60:1-8 + + + # -- furnace -- + furnace¦s = 61, 62 + (burning|lighted|lit) furnace¦s = 62 + furnace¦ on¦s on = 62 + (non-burning|unlighted|unlit|extinguished) furnace¦s = 61 + furnace¦ off¦s off = 61 + + + # -- signs -- + sign post¦s = 63 + wall sign¦s = 68 + sign block¦s = 63, 68 + sign item¦s = 323 + sign¦s = 63, 68, 323 + + + # -- doors, trapdoors and fence gates -- + # I currently discourage from creating aliases like 'open door' or doors with specific facings + # as any 'block is ' condition will fail if you click the wrong part of the door. + # 'set to door:1' will correctly place an open door though. + {doortype}: + {default} = 64, 71 + wood[en] = 64 + iron = 71 + {doorhalf}: + top¦s = :8-9 + bottom¦s = :0-7 + {doortype} door [block] {doorhalf} = : + {doortype} door block¦s = : + wood[en] door item¦s = 324 + wood[en] door¦s = 324, 64 + iron door item¦s = 330 + iron door¦s = 330, 71 + door item¦s = 330, 324 + door¦s = 330, 71, 324, 64 + + trapdoor¦s = 96 + open[ed] trapdoor¦s = 96:4-7 + closed trapdoor¦s = 96:0-3 + + fence gate¦s = 107 + open[ed] fence gate¦s = 107:4-7 + closed fence gate¦s = 107:0-3 + + + # -- ladder -- + ladder¦s = 65 + + + # -- rails: see minecart rails + + + # -- coblestone stairs: see stairs + + + # -- redstone -- + [redstone] wire¦s = 55 + [redstone] wire¦ on¦s on = 55:1-15 + [redstone] wire¦ off¦s off = 55:0 + powered [redstone] wire¦s = redstone wire on + unpowered [redstone] wire¦s = redstone wire off + active [redstone] wire¦s = redstone wire on + inactive [redstone] wire¦s = redstone wire off + + redstone ore¦s = 73, 74 + (active|glowing) redstone ore¦s = 74 + (inactive|non-glowing) redstone ore¦s = 73 + redstone ore¦ on¦s on = 74 + redstone ore¦ off¦s off = 73 + + # variation {torch}: see torch + {torch} redstone torch¦es = 75, 76 + {torch} redstone torch¦ on¦es on = 76 + active {torch} redstone torch¦es = 76 + {torch} redstone torch¦ off¦es off = 75 + inactive {torch} redstone torch¦es = 75 + + {diodedelay}: + 1-tick[-delay] = :0-3 + 2-tick[-delay] = :4-7 + 3-tick[-delay] = :8-11 + 4-tick[-delay] = :12-15 + {diodedelay} [redstone] (repeater|diode)[ block]¦s = 93, 94 + [redstone] (repeater|diode) item¦s = 356 + [redstone] (repeater|diode)¦s = 356, 93, 94 + {diodedelay} [redstone] (repeater|diode)[ block]¦ on¦s on = 94 + {diodedelay} [redstone] (repeater|diode)[ block]¦ off¦s off = 93 + (active|powered) {diodedelay} [redstone] (repeater|diode)[ block]¦s = 94 + (inactive|unpowered) {diodedelay} [redstone] (repeater|diode)[ block]¦s = 93 + + {lever position}: + wall = :1-4, :9-12 + ground = :5-6, :13-14 + floor = :5-6, :13-14 + {lever position} lever¦s = 69 + {lever position} lever¦ on¦s on = 69:8-15 + (pulled|thrown|active) {lever position} lever¦s = 69:8-15 + {lever position} lever¦ off¦s off = 69:0-7 + (unpulled|unthrown|inactive) {lever position} lever¦s = 69:0-7 + + {button}: + {default} = 77, 143 + stone = 77 + wood[en] = 143 + {button} button¦s = : + {button} button¦ on¦s on = :8-15 + pressed {button} button¦s = :8-15 + active {button} button¦s = :8-15 + {button} button¦ off¦s off = :0-7 + unpressed {button} button¦s = :0-7 + inactive {button} button¦s = :0-7 + + {pressure plate}: + {default} = 70, 72, 147, 148 + wood[en] = 72 + stone = 70 + gold[en] = 147 + iron = 148 + {pressure plate} [pressure] plate¦s = : + (pressed|active) {pressure plate} [pressure] plate¦s = :1 + (unpressed|inactive) {pressure plate} [pressure] plate¦s = :0 + {weighted pressure plate}: + {default} = 147, 148 + gold[en] = 147 + light = 147 + iron = 148 + heavy = 148 + {weighted pressure plate} weighted [pressure] plate¦s = : + (pressed|active) {weighted pressure plate} weighted [pressure] plate¦s = :1 + (unpressed|inactive) {weighted pressure plate} weighted [pressure] plate¦s = :0 + + piston base¦s = 33 + sticky piston base¦s = 29 + any piston base¦s = 33, 29 + # + piston extension¦s = 34:0-5 + sticky piston extension¦s = 34:8-13 + any piston extension¦s = 34 + # + piston¦s = piston base, piston extension + piston (item|block)¦s = piston base + sticky piston¦s = sticky piston base, sticky piston extension + sticky piston (item|block)¦s = sticky piston base + any piston¦s = 29, 33, 34 + # + extended piston base¦s = 33:8-13 + extended sticky piston base¦s = 29:8-13 + any extended piston base¦s = extended piston base, extended sticky piston base + # + extended piston¦s = extended piston base, piston extension + extended sticky piston¦s = extended sticky piston base, sticky piston extension + any extended piston¦s = any extended piston base, any piston extension + # + retracted piston¦s = 33:0-5 + retracted sticky piston¦s = 29:0-5 + any retracted piston¦s = retracted piston, retracted sticky piston + + redstone lamp¦s = 123, 124 + (inactive|unpowered|unlit) restone lamp¦s = 123 + restone lamp¦ off¦s off = 123 + (active|glowing|powered|lit) redstone lamp¦s = 124 + redstone lamp¦ on¦s on = 124 + + redstone comparator¦s = 149, 150 + redstone comparator block¦s = 149 + redstone comparator item¦s = 404 + (inactive|unpowered) redstone comparator¦s = 149 + (active|powered) redstone comparator¦s = 150 + + daylight sensor¦s = 151 + + redstone block¦s = 152 + block¦¦s¦ of redstone = 152 + + hopper¦s = 154 + + dropper¦s = 158 + + + # -- snow & ice -- + snow layer¦s = 78 + ice [block¦s] @an = 79 + snow [block¦s] = 80 + + + # -- cactus -- + cact¦us¦i = 81 + cactuses = 81 + + + # -- clay block: see bricks -- + + + # -- sugar cane -- + [sugar] cane¦s = 83, 338 + [sugar] cane block¦s = 83 + [sugar] cane item¦s = 338 + + + # -- jukebox -- + jukebox¦es = 84 + + + # -- fence -- + fence¦s = 85 + + + # -- pumpkin & lack-o-lantern: see vegetation + + + # -- nether stuff -- + netherrack¦s = 87 + soul[ ]sand¦s = 88 + glowstone¦s = 89 + [nether] portal¦s = 90 + + + # -- cake -- + cake¦s = 92, 354 + cake block¦s = 92 + cake item¦s = 354 + + + # -- redstone repeater: see redstone + + + # -- locked chest -- + locked chest¦s = 95 + + + # -- trapdoor: see doors + + + # -- hidden silverfish -- + silverfish block¦s = 97:0-2 + hidden silverfish¦es = 97:0-2 + [hidden] [smooth] stone silverfish¦es = 97:0 + [hidden] cobble[stone] silverfish¦es = 97:1 + [hidden] stone brick[s] silverfish¦es = 97:2 + + + # -- stone bricks -- + stone brick¦s = 98:0-3 + stone brick¦s = 98:0-3 + stone brick[s] (item|block)¦s = 98:0 + smooth [stone] brick¦s = 98:0 + mossy [stone] brick¦s = 98:1 + cracked [stone] brick¦s = 98:2 + (circle|fancy|decorated) [stone] brick¦s = 98:3 + + + # -- huge mushrooms: see vegetation + + + # -- iron bars -- + [iron] bars @x = 101 + + + # -- glass pane: see glass + + + # -- melon, stems & vines: see vegetation + + + # -- fence gate: see doors + + + # -- brick & stone brick stairs: see stairs + + + # -- mycelium -- + mycelium = 110 + mushroom (floor|ground|grass) = 110 + + + # -- lily pad: see vegetation + + + # -- nether brick stuff -- + nether brick¦s = 112, 405 + nether brick block¦s = 112 + nether brick item¦s = 405 + nether [brick[s]] fence¦s = 113 + # nether brick stairs: see stairs + + + # -- nether wart: see vegetation + + + # -- enchantment table -- + enchantment table¦s = 116 + + + # -- brewing stand -- + brewing stand¦s = 117, 379 + brewing stand block¦s = 117 + brewing stand item¦s = 379 + empty brewing stand¦s @an = 117:0 + full brewing stand¦s = 117:7 + + + # -- cauldron -- + cauldron¦s = 118, 380 + cauldron block¦s = 118 + cauldron item¦s = 380 + empty cauldron¦s @an = 118:0 + full cauldron¦s = 118:3 + + + # -- End stuff -- + end[er] portal¦s @an = 119 + + end[er] portal frame¦s @an = 120 + empty end[er] portal frame¦s @an = 120:0-3 + filled end[er] portal frame¦s = 120:4-7 + end[er] stone¦s @an = 121 + + dragon egg¦s = 122 + ender[ ]dragon egg¦s @an = 122 + + + # -- redstone lamp: see redstone + + + # -- emerald ore/block: see ores + + + # -- ender chest: see chest + + + # -- tripwire & hook + tripwire¦s = 132 + [tripwire] hook¦s = 131 + + + # -- wooden stairs: see stairs + + + # -- command block -- + command block¦s = 137 + + + # -- beacon -- + beacon¦s = 138 + + + # -- cobblestone walls -- + cobble[stone] wall¦s = 139:0-1 + cobble[stone] wall (item|block)¦s = 139:0 + (normal|regular) cobble[stone] wall¦s = 139:0 + moss[y] cobble[stone] wall¦s = 139:1 + + + # -- flower pot, carrots, potatoes: see vegetation -- + + + # -- wooden button: see redstone -- + + + # -- mob head -- + {mob head direction}: + floor = :1 + wall = :2-5 + {mob head type}: + skeleton = :0 + wither skeleton = :1 + zombie = :2 + (human|player) = :3 + creeper = :4 + {mob head type} [mob] head[ item]¦s = 397 + {mob head direction} [mob] head[ block]¦s = 144 + [mob] head¦s = 144, 397 + + + # -- anvil -- + {anvil}: + (regular|complete) @a = :0-1 + undamaged @an = :0-1 + [slightly] damaged @a = :4-5 + (very|heavily|severely) damaged @a = :8-9 + {anvil} anvil¦s @an = 145 + + + # -- trapped chest: see chest + + + # -- weighted pressure plates, redstone comparator, daylight sensor, redstone block: see redstone + + + # -- nether quarz ore, quarz block -- + [nether] quartz ore = 153 + {quartz block}: + (normal|regular) = :0 + chiseled = :1 + pillar = :2-3 + vertical pillar = :2 + horizontal pillar = :3-4 + ns pillas = :3 + ew pillar = :4 + {quartz block} [nether] quartz = 155 + {quartz block} [nether] quartz block¦s = 155 + pillar [nether] quartz (block|item) = 155:2 + [nether] quartz = 155, 406 + [nether] quartz item¦s = 406 + # quarz stairs: see stairs + + + # -- hopper: see redstone + + + # -- activator rail: see rails + + + # -- dropper: see redstone + + + # -- stained clay: see clay + + + # -- hay block -- + (hay|wheat) block¦s = 170 + block¦¦s¦ of (hay|wheat) = 170 + + + # -- carpet: see wool + + + # -- hardened clay: see clay + + + # -- block of coal: see coal + + + + + + + + # ====== Items ====== + + # -- flint and steel -- + flint and steel¦s = 259 + flint'n'steel¦s = 259 + + + # -- apples -- + apple¦s = 260, 322:0-1 + apple¦s @an = 260 + red apple¦s = 260 + golden apple¦s = 322:0-1 + golden apple item¦s = 322:0 + enchanted golden apple¦s @an = 322:1 + + + # -- bow & arrow -- + bow¦s = 261 + arrow¦s = 262 + + + # -- coal -- + coal = 263:0-1 + charcoal = 263:1 + coal = 263:0, 173 + coal = 263:0 + coal = 173 + block¦¦s¦ of coal = 173 + + + # -- diamond & ingots -- + diamond¦s = 264 + iron (ingot|bar)¦s @an = 265 + gold[en] (ingot|bar)¦s = 266 + ingot¦s @an = 265, 266 + + + # -- tools -- + sword¦s = 267, 268, 272, 276, 283 + pick[axe]¦s = 270, 274, 257, 278, 285 + axe¦s @an = 271, 275, 258, 279, 286 + shovel¦s = 269, 273, 256, 277, 284 + spade¦s = shovel + hoe¦s = 290, 291, 292, 293, 294 + + wood[en] tool¦s = 268, 269, 270, 271, 290 + stone tool¦s = 272, 273, 274, 275, 291 + iron tool¦s @an = 256, 257, 258, 267, 292 + diamond tool¦s = 276, 277, 278, 279, 293 + gold[en] tool¦s = 283, 284, 285, 286, 294 + + wood[en] sword¦s = 268 + wood[en] (shovel|spade)¦s = 269 + wood[en] pick[axe]¦s = 270 + wood[en] axe¦s = 271 + wood[en] hoe¦s = 290 + + stone sword¦s = 272 + stone (shovel|spade)¦s = 273 + stone pick[axe]¦s = 274 + stone axe¦s = 275 + stone hoe¦s = 291 + + iron sword¦s @an = 267 + iron (shovel|spade)¦s @an = 256 + iron pick[axe]¦s @an = 257 + iron axe¦s @an = 258 + iron hoe¦s @an = 292 + + diamond sword¦s = 276 + diamond (shovel|spade)¦s = 277 + diamond pick[axe]¦s = 278 + diamond axe¦s = 279 + diamond hoe¦s = 293 + + gold[en] sword¦s = 283 + gold[en] (shovel|spade)¦s = 284 + gold[en] pick[axe]¦s = 285 + gold[en] axe¦s = 286 + gold[en] hoe¦s = 294 + + + # -- stick -- + stick¦s = 280 + + + # -- bowl & stew -- + bowl¦s = 281 + empty bowl¦s @an = 281 + [mushroom] (stew|soup)¦s = 282 + + + # -- string -- + string¦s = 287 + + + # -- feather -- + feather¦s = 288 + + + # -- gunpowder -- + gunpowder = 289 + sulphur = 289 + + + # -- wheat & seeds: see crops / wheat + bread¦s = 297 + + + # -- armour -- + helmet¦s = 298, 302, 306, 310, 314 + chestplate¦s = 299, 303, 307, 311, 315 + leg[ging]s @x = 300, 304, 308, 312, 316 + boots @x = 301, 305, 309, 313, 317 + + leather armo[u]r¦s = 298, 299, 300, 301 + chain[mail] armo[u]r¦s = 302, 303, 304, 305 + iron armo[u]r¦s = 306, 307, 308, 309 + diamond armo[u]r¦s = 310, 311, 312, 313 + gold armo[u]r¦s = 314, 315, 316, 317 + + leather (cap|helmet)¦s = 298 + leather (tunic|chest[plate])¦s = 299 + leather (pants|leg[ging]s) @x = 300 + leather boots @x = 301 + + chain[mail] helmet¦s = 302 + chain[mail] chestplate¦s = 303 + chain[mail] leggings @x = 304 + chain[mail] boots @x = 305 + + iron helmet¦s @an = 306 + iron chest[plate]¦s @an = 307 + iron leg[ging]s @x = 308 + iron boots @x = 309 + + diamond helmet¦s = 310 + diamond chest[plate]¦s = 311 + diamond leg[ging]s @x = 312 + diamond boots @x = 313 + + gold[en] helmet¦s = 314 + gold[en] chest[plate]¦s = 315 + gold[en] leg[ging]s @x = 316 + gold[en] boots @x = 317 + + + # -- flint -- + flint¦s = 318 + + + # -- porkchop -- + [] pork[chop]¦s = 319, 320 + pork[chop] item¦s = 319 + raw pork[chop]¦s = 319 + (cooked|grilled) pork[chop]¦s = 320 + + + # -- painting -- + painting¦s = 321 + painting item¦s = 321 + + + # -- golden apple: see apples + + + # sign: see signs + + + # wooden door: see doors + + + # -- buckets -- + [empty] bucket¦s = 325 + water bucket¦s = 326 + bucket¦¦s¦ of water = 326 + lava bucket¦s = 327 + bucket¦¦s¦ of lava = 327 + milk [bucket¦s] = 335 + bucket¦¦s¦ of milk = 335 + + + # -- minecarts -- + [] minecart¦s = 328, 342, 343 + minecart item¦s = 328 + storage minecart¦s = 342 + minecart¦¦s¦ with chest = 342 + powered minecart¦s = 343 + minecart¦¦s¦ with furnace = 343 + minecart¦¦s¦ with TNT = 407 + minecart¦¦s¦ with hopper = 408 + + + # -- saddle -- + saddle¦s = 329 + + + # -- iron door: see doors + + + # -- redstone dust -- + redstone = 331 + redstone dust = 331 + + + # -- snowball -- + snowball¦s = 332 + + + # -- boat -- + boat¦s = 333 + + + # -- leather -- + leather = 334 + + + # -- milk: see buckets + + + # -- clay & clay brick: see bricks -- + + + # -- sugar cane: see sugar cane block + + + # -- paper & books -- + paper = 339 + book¦s = 340 + book¦¦s¦ (and|with) quill = 386 + written book¦s = 387 + + + # -- slimeball -- + slime[ball¦s] = 341 + + + # minecart with chest/furnace: see minecarts + + + # -- [chicken] egg -- + egg¦s @an = 344 + chicken egg¦s = 344 + + + # -- compass -- + compass¦es = 345 + + + # -- fishing rod -- + fishing rod¦s = 346 + + + # -- clock -- + clock¦s = 347 + + + # -- glowstone dust -- + glowstone dust = 348 + + + # -- fish -- + [] fish¦es = 349, 350 + fish item¦s = 349 + raw fish¦es = 349 + cooked fish¦es = 350 + + + # -- dyes: see wool & dyes + + + # -- bone -- + bone¦s = 352 + + + # -- sugar -- + sugar = 353 + + + # -- cake: see cake block + + + # -- bed: see bed block + + + # -- redstone repeater: see redstone + + + # -- cookie -- + cookie¦s = 357 + + + # -- map -- + map¦s = 358 + map¦s = 358:0-32767 + empty map¦s @an = 395 + # You can get a specific map with map:#, e.g. map:0 for map_0 (the first map crafted) + # (The maximum map number is 65536, but Skript currently only supports numbers up to 32767) + + + # -- shears -- + shears = 359 + + + # -- melon slice, pumpkin seeds & melon seeds: see vegetation + + + # -- beef -- + [] beef = 363, 364 + beef item¦s = 363, 364 + [raw] beef = 363 + steak¦s = 364 + cooked beef = 364 + + + # -- chicken -- + [] chicken¦s = 365, 366 + chicken item¦s = 365 + raw chicken¦s = 365 + cooked chicken¦s = 366 + + + # -- rotten flesh -- + rotten flesh = 367 + + + # -- ender pearl -- + ender pearl¦s @an = 368 + + + # -- blaze rod -- + blaze rod¦s = 369 + + + # -- ghast tear -- + ghast tear¦s = 370 + + + # -- gold nugget -- + gold nugget¦s = 371 + + + # -- nether wart: see vegetation + + + # -- potions & bottles -- + [glass] bottle¦s = 374 + vial¦s = 374 + water bottle¦s = 373:0 + bottle¦¦s¦ of water = 373:0 + + awkward potion¦s @an = 373:16 + + {splash potion}: + {default} = :0-16383 + non-splash = :0-16383 + splash = :16384-32767 + {splash potion no default}: + non-splash = :0-16383 + splash = :16384-32767 + + {extended potion}: + {default} = :0-63, :16384-16447 + unextended @an = :0-63, :16384-16447 + non-extended = :0-63, :16384-16447 + extended @an = :64-127, :16448-16511 + {extended potion no default}: + unextended @an = :0-63, :16384-16447 + non-extended = :0-63, :16384-16447 + extended @an = :64-127, :16448-16511 + + {potion tier}: + {default} = :0-31, :64-95, :16384-16415, :16448-16479 + (1|I) = :0-31, :64-95, :16384-16415, :16448-16479 + (2|II) = :32-63, :96-127, :16416-16447, :16480-16511 + {potion tier no default}: + (1|I) = :0-31, :64-95, :16384-16415, :16448-16479 + (2|II) = :32-63, :96-127, :16416-16447, :16480-16511 + + {potion effect}: + Regeneration = :1, :33, :65, :97, :16385, :16417, :16449, :16481 + (Swiftness|Speed) = :2, :34, :66, :98, :16386, :16418, :16450, :16482 + Fire Resistance = :3, :35, :67, :99, :16387, :16419, :16451, :16483 + Poison = :4, :36, :68, :100, :16388, :16420, :16452, :16484 + (Healing|[Instant] Health) = :5, :53, :69, :101, :16389, :16421, :16453, :16485 + Night Vision = :6, :38, :70, :102, :16390, :16422, :16454, :16486 + Weakness = :8, :40, :72, :104, :16392, :16424, :16456, :16488 + Strength = :9, :41, :73, :105, :16393, :16425, :16457, :16489 + Slowness = :10, :42, :74, :106, :16394, :16426, :16458, :16490 + (Harming|[Instant] Damage) = :12, :44, :76, :108, :16396, :16428, :16460, :16492 + Invisibility = :14, :46, :78, :110, :16398, :16430, :16462, :16494 + + {extended potion no default} {splash potion no default} potion¦¦s¦ [of {potion effect} {potion tier no default}] = 373 + {extended potion} {splash potion} potion¦¦s¦ [of {potion effect} {potion tier}] item = 373 + {extended potion no default} {splash potion no default} {potion effect} potion¦¦s¦ {potion tier no default} = 373 + {extended potion} {splash potion} {potion effect} potion {potion tier} item¦s = 373 + + + # -- spider eye & fermented spider eye -- + spider eye¦s = 375 + fermented spider eye¦s = 376 + + + # -- blaze powder -- + blaze powder = 377 + + + # -- magma cream -- + magma cream¦s = 378 + + + # -- eye of ender -- + eye¦¦s¦ of ender @an = 381 + + + # -- glistering melon -- + glistering melon¦s = 382 + + + # -- spawn egg -- + {entity type}: + experience orb @an = :2 + xp orb = :2 + TNT = :20 + minecart = :40 # < MC 1.5 + boat = :41 + minecart = :42 + minecart with chest = :43 + minecart with furnace = :44 + minecart with TNT = :45 + minecart with hopper = :46 + minecart with spawner = :47 + creeper = :50 + skeleton = :51 + spider = :52 + giant = :53 + zombie = :54 + slime = :55 + ghast = :56 + zombie pigman = :57 + pig[ ]zombie = :57 + enderman @an = :58 + cave spider = :59 + silverfish = :60 + blaze = :61 + magma cube = :62 + ender dragon @an = :63 + wither = :64 + witch = :66 + bat = :65 + pig = :90 + sheep = :91 + cow = :92 + chicken = :93 + squid = :94 + wolf = :95 + mooshroom = :96 + snow golem = :97 + ocelot @an = :98 + iron golem @an = :99 + horse = :100 + villager = :120 + ender crystal = :200 + + {entity type} spawn egg¦s = 383 + random spawn egg¦s = 383:50-52, 383:54-62, 383:65-66, 383:90-96, 383:98, 383:100, 383:120 # only working eggs + + + # -- bottle o' enchanting -- + bottle¦¦s¦ (o'|of) enchanting = 384 + (xp|exp[erience]) bottle¦s @an = 384 + + + # -- fire charge -- + fire charge¦s = 385 + + + # -- book and quill, written book: see book + + + # -- emerald -- + emerald¦s = 388 + + + # -- item frame -- + item frame¦s = 389 + + + # -- flower pot: see vegetation -- + + + # -- carrot, potatoes: see vegetation -- + + + # -- empty map: see map -- + + + # -- golden carrot: see vegetation -- + + + # -- mob head: see mob head block -- + + + # -- carrot on a stick: see vegetation -- + + + # -- nether star -- + nether star¦s = 399 + + + # -- pumpkin pie: see vegetation -- + + + # -- Fireworks -- + firework rocket¦s = 401 + firework star¦s = 402 + + + # -- Enchanted Book -- + enchanted book¦s @an = 403 + + + # -- redstone comparator: see redstone + + + # -- nether brick item: see nether brick stuff + + + # -- nether quarz: see nether quarz block + + + # -- minecart with TNT/hopper: see minecarts + + + # -- horse armour -- + iron horse armo[u]r¦s = 417 + gold horse armo[u]r¦s = 418 + diamond horse armo[u]r¦s = 419 + + + # -- lead -- + lead¦s = 420 + + + # -- name tag -- + name tag¦s = 421 + + + # -- music discs -- + music disc¦s = 2256, 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267 + record¦s = music disc + gold [music] disc¦s = 2256 + 13-disc¦s = 2256 + green [music] disc¦s = 2257 + cat [music] disc¦s = 2257 + blocks [music] disc¦s = 2258 + chirp [music] disc¦s = 2259 + far [music] disc¦s = 2260 + mall [music] disc¦s = 2261 + mellohi [music] disc¦s = 2262 + stal [music] disc¦s = 2263 + strad [music] disc¦s = 2264 + ward [music] disc¦s = 2265 + 11-disc¦s = 2266 + wait [music] disc¦s = 2267 diff --git a/Obam-Other/-boatsforhub.sk b/Obam-Other/-boatsforhub.sk new file mode 100644 index 0000000..4b598f7 --- /dev/null +++ b/Obam-Other/-boatsforhub.sk @@ -0,0 +1,24 @@ + + +on right click: + targeted block is water block: + {time.boat.%player%} is not set: + set {time.boat.%player%} to now + add 1 minute to {time.boat.%player%} + set {_time} to difference between {time.boat.%player%} and now + {_time} is less than 1 minute: + send "&cYo... cooldown" to player + stop + {_time} is greater than or equal to 1 minute: + spawn boat at targeted block + set {time.boat.%player%} to now + + + +on vehicle exit: + delete vehicle of player + +on vehicle damage: + cancel event + + \ No newline at end of file diff --git a/Obam-Parkour/parkour.sk b/Obam-Parkour/parkour.sk index 40d63b5..379e6f5 100644 --- a/Obam-Parkour/parkour.sk +++ b/Obam-Parkour/parkour.sk @@ -1,740 +1,737 @@ options: - beginnercourse: i;iron block;n;&d&lBeginner Courses!;l;&7Click to go to the &eBeginner &7Lobby;c;teleportparkourbeginner %player% - easycourse: i;gold block;n;&a&lEasy Courses!;l;&7Click to go to the &eEasy &7Lobby;c;teleportparkoureasy %player% - mediumcourse: i;diamond block;n;&e&lMedium Courses!;l;&7Click to go to the &eMedium &7Lobby;c;teleportparkourmedium %player% - hardcourse: i;emerald block;n;&4&lHard Courses!;l;&7Click to go to the &eHard &7Lobby;c;teleportparkourhard %player% - random: i;mossy cobblestone;n;&3&lRandom Course!;l;&7Click to go to a &eRandom&7 course;c;courserandom %player% + beginnercourse: i;iron block;n;&d&lBeginner Courses!;l;&7Click to go to the &eBeginner &7Lobby;c;teleportparkourbeginner %player% + easycourse: i;gold block;n;&a&lEasy Courses!;l;&7Click to go to the &eEasy &7Lobby;c;teleportparkoureasy %player% + mediumcourse: i;diamond block;n;&e&lMedium Courses!;l;&7Click to go to the &eMedium &7Lobby;c;teleportparkourmedium %player% + hardcourse: i;emerald block;n;&4&lHard Courses!;l;&7Click to go to the &eHard &7Lobby;c;teleportparkourhard %player% + random: i;mossy cobblestone;n;&3&lRandom Course!;l;&7Click to go to a &eRandom&7 course;c;courserandom %player% variables: - {fallen.%player%} = 0 - {fallen.global} = 0 - {fallen.easy} = 0 - {fallen.hard} = 0 - {fallen.beginner} = 0 - {fallen.medium} = 0 - {completed.global} = 0 - {completed.easy} = 0 - {completed.hard} = 0 - {completed.medium} = 0 - (completed.beginner} = 0 + {fallen.%player%} = 0 + {fallen.global} = 0 + {fallen.easy} = 0 + {fallen.hard} = 0 + {fallen.beginner} = 0 + {fallen.medium} = 0 + {completed.global} = 0 + {completed.easy} = 0 + {completed.hard} = 0 + {completed.medium} = 0 + (completed.beginner} = 0 -command /parkourcourse: - permission: obam.free - executable by: players - trigger: - - show "s;1;{@beginnercourse};s;2;{@easycourse};s;3;{@mediumcourse};s;4;{@hardcourse};s;9;{@random}" with 1 row named "&9&lOBAM &9Parkour" to player - +#command /parkourcourse: +# permission: obam.free +# executable by: players +# trigger: +# show "s;1;{@beginnercourse};s;2;{@easycourse};s;3;{@mediumcourse};s;4;{@hardcourse};s;9;{@random}" with 1 row named "&9&lOBAM &9Parkour" to player + command /courseadd : - permission: obam.admin - trigger: - arg is not "clear": - add arg to {parkour.courses::*} - arg is "clear": - clear {parkour.courses::*} - + permission: obam.admin + trigger: + arg is not "clear": + add arg to {parkour.courses::*} + arg is "clear": + clear {parkour.courses::*} + command /listcourses : - permission: obam.admin - trigger: - set {course.add} to 0 - loop arg times: - add 1 to {course.add} - set {course} to {parkour.courses::%{course.add}%} - message "%{course}%" to player - + permission: obam.admin + trigger: + set {course.add} to 0 + loop arg times: + add 1 to {course.add} + set {course} to {parkour.courses::%{course.add}%} + message "%{course}%" to player + command /courserandom : - executable by: console - trigger: - set {course.add} to 0 - set {top.course} to size of {parkour.courses::*} - set {number.random} to random number between 1 and {top.course} - loop {number.random} times: - add 1 to {course.add} - set {course} to {parkour.courses::%{course.add}%} - execute console command "/parkourspawn %{course}% %player-argument%" - + executable by: console + trigger: + set {course.add} to 0 + set {top.course} to size of {parkour.courses::*} + set {number.random} to random number between 1 and {top.course} + loop {number.random} times: + add 1 to {course.add} + set {course} to {parkour.courses::%{course.add}%} + execute console command "/parkourspawn %{course}% %player-argument%" + command /lobbyset : - permission: obam.admin - trigger: - set {parkour.%arg%.tp} to location of player - + permission: obam.admin + trigger: + set {parkour.%arg%.tp} to location of player + command /teleportparkoureasy : - executable by: console - trigger: - teleport player-argument to {parkour.easy.tp} - + executable by: console + trigger: + teleport player-argument to {parkour.easy.tp} + command /teleportparkourmedium : - executable by: console - trigger: - teleport player-argument to {parkour.medium.tp} - + executable by: console + trigger: + teleport player-argument to {parkour.medium.tp} + command /teleportparkourbeginner : - executable by: console - trigger: - teleport player-argument to {parkour.beginner.tp} - + executable by: console + trigger: + teleport player-argument to {parkour.beginner.tp} + command /teleportparkourhard : - executable by: console - trigger: - teleport player-argument to {parkour.hard.tp} - + executable by: console + trigger: + teleport player-argument to {parkour.hard.tp} + command /completeeasyparkourcourse : - executable by: console - trigger: - set variable {currentparkourcourse.%player-argument%} to 0 - execute console command "/mvtp %player-argument% parkourlobby" - add 5 to {level.%player-argument%} - message "&a&lYou received 5 tickets for completing a parkour course!" to player-argument - add 5 to player-argument's balance - set {fallen.%player%} to 0 - subtract 1 from {holding.%{currentparkourcourse.%player%}%.count} - set {checkpoint.%player-argument%.active} to 0 - add 1 to {completed.global} - add 1 to {completed.easy} + executable by: console + trigger: + set variable {currentparkourcourse.%player-argument%} to 0 + execute console command "/mvtp %player-argument% parkourlobby" + add 5 to {level.%player-argument%} + message "&a&lYou received 5 tickets for completing a parkour course!" to player-argument + add 5 to player-argument's balance + set {fallen.%player%} to 0 + subtract 1 from {holding.%{currentparkourcourse.%player%}%.count} + set {checkpoint.%player-argument%.active} to 0 + add 1 to {completed.global} + add 1 to {completed.easy} command /completemediumparkourcourse : - executable by: console - trigger: - set variable {currentparkourcourse.%player-argument%} to 0 - execute console command "/mvtp %player-argument% parkourlobby" - add 10 to {level.%player-argument%} - message "&a&lYou received 10 tickets for completing a parkour course!" to the player-argument - add 10 to player-argument's balance - set {fallen.%player%} to 0 - subtract 1 from {holding.%{currentparkourcourse.%player%}%.count} - set {checkpoint.%player-argument%.active} to 0 - add 1 to {completed.global} - add 1 to {completed.medium} + executable by: console + trigger: + set variable {currentparkourcourse.%player-argument%} to 0 + execute console command "/mvtp %player-argument% parkourlobby" + add 10 to {level.%player-argument%} + message "&a&lYou received 10 tickets for completing a parkour course!" to the player-argument + add 10 to player-argument's balance + set {fallen.%player%} to 0 + subtract 1 from {holding.%{currentparkourcourse.%player%}%.count} + set {checkpoint.%player-argument%.active} to 0 + add 1 to {completed.global} + add 1 to {completed.medium} command /completehardparkourcourse : - executable by: console - trigger: - set variable {currentparkourcourse.%player-argument%} to 0 - execute console command "/mvtp %player-argument% parkourlobby" - add 25 to {level.%player-argument%} - message "&a&lYou received 25 tickets for completing a parkour course!" to the player-argument - add 25 to player-argument's balance - set {fallen.%player%} to 0 - subtract 1 from {holding.%{currentparkourcourse.%player%}%.count} - set {checkpoint.%player-argument%.active} to 0 - add 1 to {completed.global} - add 1 to {completed.hard} + executable by: console + trigger: + set variable {currentparkourcourse.%player-argument%} to 0 + execute console command "/mvtp %player-argument% parkourlobby" + add 25 to {level.%player-argument%} + message "&a&lYou received 25 tickets for completing a parkour course!" to the player-argument + add 25 to player-argument's balance + set {fallen.%player%} to 0 + subtract 1 from {holding.%{currentparkourcourse.%player%}%.count} + set {checkpoint.%player-argument%.active} to 0 + add 1 to {completed.global} + add 1 to {completed.hard} command /completebeginnerparkourcourse : - executable by: console - trigger: - set variable {currentparkourcourse.%player-argument%} to 0 - execute console command "/mvtp %player-argument% parkourlobby" - add 5 to {level.%player-argument%} - message "&a&lYou received 1 ticket for completing a parkour course!" to the player-argument - add 1 to player-argument's balance - set {fallen.%player%} to 0 - subtract 1 from {holding.%{currentparkourcourse.%player%}%.count} - set {checkpoint.%player-argument%.active} to 0 - add 1 to {completed.global} - add 1 to {completed.beginner} - -command /parkour: - executable by: players - permission: obam.free - aliases: /pk - trigger: - world is "hotpotatolobby" or "hotpotato1" or "hotpotato2": - message "&cYou can not do that here, please use &e/lobby&c first." to player - stop - execute console command "/mvtp %player% parkourlobby" - set {checkpoint.%player%.active} to 0 - set {fallen.%player%} to 0 - subtract 1 from {holding.%{currentparkourcourse.%player%}%.count} - + executable by: console + trigger: + set variable {currentparkourcourse.%player-argument%} to 0 + execute console command "/mvtp %player-argument% parkourlobby" + add 5 to {level.%player-argument%} + message "&a&lYou received 1 ticket for completing a parkour course!" to the player-argument + add 1 to player-argument's balance + set {fallen.%player%} to 0 + subtract 1 from {holding.%{currentparkourcourse.%player%}%.count} + set {checkpoint.%player-argument%.active} to 0 + add 1 to {completed.global} + add 1 to {completed.beginner} + +#command /parkour: +# executable by: players +# permission: obam.free +# aliases: /pk +# trigger: +# world is "hotpotatolobby" or "hotpotato1" or "hotpotato2": +# message "&cYou can not do that here, please use &e/lobby&c first." to player +# stop +# execute console command "/mvtp %player% parkourlobby" +# set {checkpoint.%player%.active} to 0 +# set {fallen.%player%} to 0 +# subtract 1 from {holding.%{currentparkourcourse.%player%}%.count} + #EndlessRage1 on walking on obsidian: - {currentparkourcourse.%player%} is "EndlessRage1" - player is in "parkourmaps" - add 1 to {fallen.%player%} - add 1 to {fallen.global} - add 1 to {fallen.hard} - message "&cYou were sent back for falling!" to the player - {checkpoint.%player%.active} is 1: - teleport player to {parkour.checkpoint.%player%} - else: - teleport player to {parkourspawn.EndlessRage1} - execute console command "/starttimer %player% EndlessRage1" - - {fallen.%player%} is less than 2: - message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player - stop - {fallen.%player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player - stop - stop - - + {currentparkourcourse.%player%} is "EndlessRage1" + player is in "parkourmaps" + add 1 to {fallen.%player%} + add 1 to {fallen.global} + add 1 to {fallen.hard} + message "&cYou were sent back for falling!" to the player + {checkpoint.%player%.active} is 1: + teleport player to {parkour.checkpoint.%player%} + else: + teleport player to {parkourspawn.EndlessRage1} + execute console command "/starttimer %player% EndlessRage1" + + {fallen.%player%} is less than 2: + message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player + stop + {fallen.%player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player + stop + stop + + #EndlessRage2 on walking on obsidian: - {currentparkourcourse.%player%} is "EndlessRage2" - player is in "parkourmaps" - message "&cYou were sent back for falling!" to the player - add 1 to {fallen.%player%} - add 1 to {fallen.global} - add 1 to {fallen.hard} - {checkpoint.%player%.active} is 1: - teleport player to {parkour.checkpoint.%player%} - else: - teleport player to {parkourspawn.EndlessRage2} - execute console command "/starttimer %player% EndlessRage2" - {fallen.%player%} is less than 2: - message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player - stop - {fallen.%player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player - stop - stop - - + {currentparkourcourse.%player%} is "EndlessRage2" + player is in "parkourmaps" + message "&cYou were sent back for falling!" to the player + add 1 to {fallen.%player%} + add 1 to {fallen.global} + add 1 to {fallen.hard} + {checkpoint.%player%.active} is 1: + teleport player to {parkour.checkpoint.%player%} + else: + teleport player to {parkourspawn.EndlessRage2} + execute console command "/starttimer %player% EndlessRage2" + {fallen.%player%} is less than 2: + message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player + stop + {fallen.%player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player + stop + stop + + #EndlessRage3 on walking on obsidian: - {currentparkourcourse.%player%} is "EndlessRage3" - player is in "parkourmaps" - message "&cYou were sent back for falling!" to the player - add 1 to {fallen.%player%} - add 1 to {fallen.global} - add 1 to {fallen.hard} - {checkpoint.%player%.active} is 1: - teleport player to {parkour.checkpoint.%player%} - - else: - teleport player to {parkourspawn.EndlessRage3} - execute console command "/starttimer %player% EndlessRage3" - {fallen.%player%} is less than 2: - message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player - stop - {fallen.%player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player - stop - stop - + {currentparkourcourse.%player%} is "EndlessRage3" + player is in "parkourmaps" + message "&cYou were sent back for falling!" to the player + add 1 to {fallen.%player%} + add 1 to {fallen.global} + add 1 to {fallen.hard} + {checkpoint.%player%.active} is 1: + teleport player to {parkour.checkpoint.%player%} + + else: + teleport player to {parkourspawn.EndlessRage3} + execute console command "/starttimer %player% EndlessRage3" + {fallen.%player%} is less than 2: + message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player + stop + {fallen.%player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player + stop + stop + #Rainbow on walking on wool or glowstone: - {currentparkourcourse.%player%} is "Rainbow" - player is in "parkourmaps" - message "&cYou were sent back for falling!" to the player - add 1 to {fallen.%player%} - add 1 to {fallen.global} - add 1 to {fallen.easy} - {checkpoint.%player%.active} is 1: - teleport player to {parkour.checkpoint.%player%} - else: - teleport player to {parkourspawn.Rainbow} - execute console command "/starttimer %player% Rainbow" - {fallen.%player%} is less than 2: - message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player - stop - {fallen.%player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player - stop - stop + {currentparkourcourse.%player%} is "Rainbow" + player is in "parkourmaps" + message "&cYou were sent back for falling!" to the player + add 1 to {fallen.%player%} + add 1 to {fallen.global} + add 1 to {fallen.easy} + {checkpoint.%player%.active} is 1: + teleport player to {parkour.checkpoint.%player%} + else: + teleport player to {parkourspawn.Rainbow} + execute console command "/starttimer %player% Rainbow" + {fallen.%player%} is less than 2: + message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player + stop + {fallen.%player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player + stop + stop #MountainRiver on walking on grass or leaves or wood or cobblestone or stone or dirt: - {currentparkourcourse.%player%} is "MountainRiver" - player is in "parkourmaps" - message "&cYou were sent back for falling!" to the player - add 1 to {fallen.%player%} - add 1 to {fallen.global} - add 1 to {fallen.medium} - {checkpoint.%player%.active} is 1: - teleport player to {parkour.checkpoint.%player%} - else: - teleport player to {parkourspawn.MountainRiver} - execute console command "/starttimer %player% MountainRiver" - {fallen.%player%} is less than 2: - message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player - stop - {fallen.%player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player - stop - stop + {currentparkourcourse.%player%} is "MountainRiver" + player is in "parkourmaps" + message "&cYou were sent back for falling!" to the player + add 1 to {fallen.%player%} + add 1 to {fallen.global} + add 1 to {fallen.medium} + {checkpoint.%player%.active} is 1: + teleport player to {parkour.checkpoint.%player%} + else: + teleport player to {parkourspawn.MountainRiver} + execute console command "/starttimer %player% MountainRiver" + {fallen.%player%} is less than 2: + message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player + stop + {fallen.%player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player + stop + stop every 1 seconds: - loop all players: - block above block below loop-player is water: - {currentparkourcourse.%loop-player%} is "MountainRiver" - loop-player is in "parkourmaps" - message "&cYou were sent back for falling!" to the loop-player - add 1 to {fallen.%loop-player%} - add 1 to {fallen.global} - add 1 to {fallen.medium} - {checkpoint.%loop-player%.active} is 1: - teleport loop-player to {parkour.checkpoint.%loop-player%} - else: - teleport loop-player to {parkourspawn.MountainRiver} - execute console command "/starttimer %loop-player% MountainRiver" - if {fallen.%loop-player%} is less than 2: - message "&cYou have fallen &e%{fallen.%loop-player%}% &ctime this round." to loop-player - stop trigger - - {fallen.%loop-player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%loop-player%}% &ctimes this round." to loop-player - + loop all players: + block above block below loop-player is water: + {currentparkourcourse.%loop-player%} is "MountainRiver" + loop-player is in "parkourmaps" + message "&cYou were sent back for falling!" to the loop-player + add 1 to {fallen.%loop-player%} + add 1 to {fallen.global} + add 1 to {fallen.medium} + {checkpoint.%loop-player%.active} is 1: + teleport loop-player to {parkour.checkpoint.%loop-player%} + else: + teleport loop-player to {parkourspawn.MountainRiver} + execute console command "/starttimer %loop-player% MountainRiver" + if {fallen.%loop-player%} is less than 2: + message "&cYou have fallen &e%{fallen.%loop-player%}% &ctime this round." to loop-player + stop trigger + + {fallen.%loop-player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%loop-player%}% &ctimes this round." to loop-player + #KoiPond on walking on grass or redstone lamp: - {currentparkourcourse.%player%} is "KoiPond" - player is in "parkourmaps" - message "&cYou were sent back for falling!" to the player - add 1 to {fallen.%player%} - add 1 to {fallen.global} - add 1 to {fallen.easy} - add 1 to {fallen.stat.%player%} - {checkpoint.%player%.active} is 1: - teleport player to {parkour.checkpoint.%player%} - else: - teleport player to {parkourspawn.KoiPond} - execute console command "/starttimer %player% KoiPond" - {fallen.%player%} is less than 2: - message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player - stop - {fallen.%player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player - {fallen.%player%} is 10 or 20 or 50 or 100: - message "&aDid you know you could purchase checkpoints at" to player - message "&e http://l.obamgaming.com/ParkourShop &a?" to player - stop + {currentparkourcourse.%player%} is "KoiPond" + player is in "parkourmaps" + message "&cYou were sent back for falling!" to the player + add 1 to {fallen.%player%} + add 1 to {fallen.global} + add 1 to {fallen.easy} + add 1 to {fallen.stat.%player%} + {checkpoint.%player%.active} is 1: + teleport player to {parkour.checkpoint.%player%} + else: + teleport player to {parkourspawn.KoiPond} + execute console command "/starttimer %player% KoiPond" + {fallen.%player%} is less than 2: + message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player + stop + {fallen.%player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player + {fallen.%player%} is 10 or 20 or 50 or 100: + message "&aDid you know you could purchase checkpoints at" to player + message "&e http://l.obamgaming.com/ParkourShop &a?" to player + stop every 1 seconds: - loop all players: - block above block below loop-player is water: - {currentparkourcourse.%loop-player%} is "KoiPond" - loop-player is in "parkourmaps" - message "&cYou were sent back for falling!" to the loop-player - add 1 to {fallen.%loop-player%} - add 1 to {fallen.global} - add 1 to {fallen.easy} - {checkpoint.%loop-player%.active} is 1: - teleport loop-player to {parkour.checkpoint.%loop-player%} - else: - teleport loop-player to {parkourspawn.KoiPond} - execute console command "/starttimer %loop-player% KoiPond" - if {fallen.%loop-player%} is less than 2: - message "&cYou have fallen &e%{fallen.%loop-player%}% &ctime this round." to loop-player - stop trigger - - {fallen.%loop-player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%loop-player%}% &ctimes this round." to loop-player - {fallen.%loop-player%} is 10 or 20 or 50 or 100: - message "&aDid you know you could purchase checkpoints at" to loop-player - message "&e http://bit.ly/ParkourShop &a?" to loop-player - stop - + loop all players: + block above block below loop-player is water: + {currentparkourcourse.%loop-player%} is "KoiPond" + loop-player is in "parkourmaps" + message "&cYou were sent back for falling!" to the loop-player + add 1 to {fallen.%loop-player%} + add 1 to {fallen.global} + add 1 to {fallen.easy} + {checkpoint.%loop-player%.active} is 1: + teleport loop-player to {parkour.checkpoint.%loop-player%} + else: + teleport loop-player to {parkourspawn.KoiPond} + execute console command "/starttimer %loop-player% KoiPond" + if {fallen.%loop-player%} is less than 2: + message "&cYou have fallen &e%{fallen.%loop-player%}% &ctime this round." to loop-player + stop trigger + + {fallen.%loop-player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%loop-player%}% &ctimes this round." to loop-player + {fallen.%loop-player%} is 10 or 20 or 50 or 100: + message "&aDid you know you could purchase checkpoints at" to loop-player + message "&e http://bit.ly/ParkourShop &a?" to loop-player + stop + #CampGround on walking on grass or leaves or dirt: - {currentparkourcourse.%player%} is "CampGround" - player is in "parkourmaps" - message "&cYou were sent back for falling!" to the player - add 1 to {fallen.%player%} - add 1 to {fallen.global} - add 1 to {fallen.beginner} - {checkpoint.%player%.active} is 1: - teleport player to {parkour.checkpoint.%player%} - else: - teleport player to {parkourspawn.CampGround} - execute console command "/starttimer %player% CampGround" - {fallen.%player%} is less than 2: - message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player - stop - {fallen.%player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player - stop - stop + {currentparkourcourse.%player%} is "CampGround" + player is in "parkourmaps" + message "&cYou were sent back for falling!" to the player + add 1 to {fallen.%player%} + add 1 to {fallen.global} + add 1 to {fallen.beginner} + {checkpoint.%player%.active} is 1: + teleport player to {parkour.checkpoint.%player%} + else: + teleport player to {parkourspawn.CampGround} + execute console command "/starttimer %player% CampGround" + {fallen.%player%} is less than 2: + message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player + stop + {fallen.%player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player + stop + stop every 1 seconds: - loop all players: - block above block below loop-player is water: - {currentparkourcourse.%loop-player%} is "CampGround" - loop-player is in "parkourmaps" - message "&cYou were sent back for falling!" to the loop-player - add 1 to {fallen.%loop-player%} - add 1 to {fallen.global} - add 1 to {fallen.beginner} - {checkpoint.%loop-player%.active} is 1: - teleport loop-player to {parkour.checkpoint.%loop-player%} - else: - teleport loop-player to {parkourspawn.CampGround} - execute console command "/starttimer %loop-player% CampGround" - if {fallen.%loop-player%} is less than 2: - message "&cYou have fallen &e%{fallen.%loop-player%}% &ctime this round." to loop-player - stop trigger - - {fallen.%loop-player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%loop-player%}% &ctimes this round." to loop-player - {fallen.%loop-player%} is 10 or 20 or 50 or 100: - message "&aDid you know you could purchase checkpoints at" to loop-player - message "&e http://bit.ly/ParkourShop &a?" to loop-player - stop + loop all players: + block above block below loop-player is water: + {currentparkourcourse.%loop-player%} is "CampGround" + loop-player is in "parkourmaps" + message "&cYou were sent back for falling!" to the loop-player + add 1 to {fallen.%loop-player%} + add 1 to {fallen.global} + add 1 to {fallen.beginner} + {checkpoint.%loop-player%.active} is 1: + teleport loop-player to {parkour.checkpoint.%loop-player%} + else: + teleport loop-player to {parkourspawn.CampGround} + execute console command "/starttimer %loop-player% CampGround" + if {fallen.%loop-player%} is less than 2: + message "&cYou have fallen &e%{fallen.%loop-player%}% &ctime this round." to loop-player + stop trigger + + {fallen.%loop-player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%loop-player%}% &ctimes this round." to loop-player + {fallen.%loop-player%} is 10 or 20 or 50 or 100: + message "&aDid you know you could purchase checkpoints at" to loop-player + message "&e http://bit.ly/ParkourShop &a?" to loop-player + stop #QuartzRuins on walking on redstone lamp: - {currentparkourcourse.%player%} is "QuartzRuins" - player is in "parkourmaps" - message "&cYou were sent back for falling!" to the player - add 1 to {fallen.%player%} - add 1 to {fallen.global} - add 1 to {fallen.beginner} - {checkpoint.%player%.active} is 1: - teleport player to {parkour.checkpoint.%player%} - else: - teleport player to {parkourspawn.QuartzRuins} - execute console command "/starttimer %player% QuartzRuins" - {fallen.%player%} is less than 2: - message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player - stop - {fallen.%player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player - {fallen.%player%} is 10 or 20 or 50 or 100: - message "&aDid you know you could purchase checkpoints at" to player - message "&e http://bit.ly/ParkourShop &a?" to player - stop - stop + {currentparkourcourse.%player%} is "QuartzRuins" + player is in "parkourmaps" + message "&cYou were sent back for falling!" to the player + add 1 to {fallen.%player%} + add 1 to {fallen.global} + add 1 to {fallen.beginner} + {checkpoint.%player%.active} is 1: + teleport player to {parkour.checkpoint.%player%} + else: + teleport player to {parkourspawn.QuartzRuins} + execute console command "/starttimer %player% QuartzRuins" + {fallen.%player%} is less than 2: + message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player + stop + {fallen.%player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player + {fallen.%player%} is 10 or 20 or 50 or 100: + message "&aDid you know you could purchase checkpoints at" to player + message "&e http://bit.ly/ParkourShop &a?" to player + stop + stop every 1 seconds: - loop all players: - block above block below loop-player is water: - {currentparkourcourse.%loop-player%} is "QuartzRuins" - loop-player is in "parkourmaps" - message "&cYou were sent back for falling!" to the loop-player - add 1 to {fallen.%loop-player%} - add 1 to {fallen.global} - add 1 to {fallen.beginner} - {checkpoint.%loop-player%.active} is 1: - teleport loop-player to {parkour.checkpoint.%loop-player%} - else: - teleport loop-player to {parkourspawn.QuartzRuins} - execute console command "/starttimer %loop-player% QuartzRuins" - if {fallen.%loop-player%} is less than 2: - message "&cYou have fallen &e%{fallen.%loop-player%}% &ctime this round." to loop-player - stop trigger - - {fallen.%loop-player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%loop-player%}% &ctimes this round." to loop-player - {fallen.%loop-player%} is 10 or 20 or 50 or 100: - message "&aDid you know you could purchase checkpoints at" to loop-player - message "&e http://bit.ly/ParkourShop &a?" to loop-player - stop + loop all players: + block above block below loop-player is water: + {currentparkourcourse.%loop-player%} is "QuartzRuins" + loop-player is in "parkourmaps" + message "&cYou were sent back for falling!" to the loop-player + add 1 to {fallen.%loop-player%} + add 1 to {fallen.global} + add 1 to {fallen.beginner} + {checkpoint.%loop-player%.active} is 1: + teleport loop-player to {parkour.checkpoint.%loop-player%} + else: + teleport loop-player to {parkourspawn.QuartzRuins} + execute console command "/starttimer %loop-player% QuartzRuins" + if {fallen.%loop-player%} is less than 2: + message "&cYou have fallen &e%{fallen.%loop-player%}% &ctime this round." to loop-player + stop trigger + + {fallen.%loop-player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%loop-player%}% &ctimes this round." to loop-player + {fallen.%loop-player%} is 10 or 20 or 50 or 100: + message "&aDid you know you could purchase checkpoints at" to loop-player + message "&e http://bit.ly/ParkourShop &a?" to loop-player + stop - + #Quarry on walking on stone or cobble or gravel: - {currentparkourcourse.%player%} is "Quarry" - player is in "parkourmaps" - message "&cYou were sent back for falling!" to the player - add 1 to {fallen.%player%} - add 1 to {fallen.global} - add 1 to {fallen.beginner} - {checkpoint.%player%.active} is 1: - teleport player to {parkour.checkpoint.%player%} - - else: - teleport player to {parkourspawn.Quarry} - execute console command "/starttimer %player% Quarry" - {fallen.%player%} is less than 2: - message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player - stop - {fallen.%player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player - {fallen.%player%} is 10 or 20 or 50 or 100: - message "&aDid you know you could purchase checkpoints at" to player - message "&e http://bit.ly/ParkourShop &a?" to player - stop - stop - + {currentparkourcourse.%player%} is "Quarry" + player is in "parkourmaps" + message "&cYou were sent back for falling!" to the player + add 1 to {fallen.%player%} + add 1 to {fallen.global} + add 1 to {fallen.beginner} + {checkpoint.%player%.active} is 1: + teleport player to {parkour.checkpoint.%player%} + + else: + teleport player to {parkourspawn.Quarry} + execute console command "/starttimer %player% Quarry" + {fallen.%player%} is less than 2: + message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player + stop + {fallen.%player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player + {fallen.%player%} is 10 or 20 or 50 or 100: + message "&aDid you know you could purchase checkpoints at" to player + message "&e http://bit.ly/ParkourShop &a?" to player + stop + stop + #DoomShaft on walking on stone: - {currentparkourcourse.%player%} is "DoomShaft" - player is in "parkourmaps" - message "&cYou were sent back for falling!" to the player - add 1 to {fallen.%player%} - add 1 to {fallen.global} - add 1 to {fallen.beginner} - {checkpoint.%player%.active} is 1: - teleport player to {parkour.checkpoint.%player%} - else: - teleport player to {parkourspawn.DoomShaft} - execute console command "/starttimer %player% DoomShaft" - {fallen.%player%} is less than 2: - message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player - stop - {fallen.%player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player - {fallen.%player%} is 10 or 20 or 50 or 100: - message "&aDid you know you could purchase checkpoints at" to player - message "&e http://bit.ly/ParkourShop &a?" to player - stop - stop + {currentparkourcourse.%player%} is "DoomShaft" + player is in "parkourmaps" + message "&cYou were sent back for falling!" to the player + add 1 to {fallen.%player%} + add 1 to {fallen.global} + add 1 to {fallen.beginner} + {checkpoint.%player%.active} is 1: + teleport player to {parkour.checkpoint.%player%} + else: + teleport player to {parkourspawn.DoomShaft} + execute console command "/starttimer %player% DoomShaft" + {fallen.%player%} is less than 2: + message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player + stop + {fallen.%player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player + {fallen.%player%} is 10 or 20 or 50 or 100: + message "&aDid you know you could purchase checkpoints at" to player + message "&e http://bit.ly/ParkourShop &a?" to player + stop + stop #PipeWorld on walking on mycelium or wool or stained clay: - {currentparkourcourse.%player%} is "PipeWorld" - player is in "parkourmaps" - message "&cYou were sent back for falling!" to the player - add 1 to {fallen.%player%} - add 1 to {fallen.global} - add 1 to {fallen.beginner} - {checkpoint.%player%.active} is 1: - teleport player to {parkour.checkpoint.%player%} - else: - teleport player to {parkourspawn.PipeWorld} - execute console command "/starttimer %player% PipeWorld" - {fallen.%player%} is less than 2: - message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player - stop - {fallen.%player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player - {fallen.%player%} is 10 or 20 or 50 or 100: - message "&aDid you know you could purchase checkpoints at" to player - message "&e http://bit.ly/ParkourShop &a?" to player - stop - stop - + {currentparkourcourse.%player%} is "PipeWorld" + player is in "parkourmaps" + message "&cYou were sent back for falling!" to the player + add 1 to {fallen.%player%} + add 1 to {fallen.global} + add 1 to {fallen.beginner} + {checkpoint.%player%.active} is 1: + teleport player to {parkour.checkpoint.%player%} + else: + teleport player to {parkourspawn.PipeWorld} + execute console command "/starttimer %player% PipeWorld" + {fallen.%player%} is less than 2: + message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player + stop + {fallen.%player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player + {fallen.%player%} is 10 or 20 or 50 or 100: + message "&aDid you know you could purchase checkpoints at" to player + message "&e http://bit.ly/ParkourShop &a?" to player + stop + stop + #GreatPumpkin on walking on mycelium or gravel or jack-o-lantern or leaves or stained clay: - {currentparkourcourse.%player%} is "GreatPumpkin" - player is in "parkourmaps" - message "&cYou were sent back for falling!" to the player - add 1 to {fallen.%player%} - add 1 to {fallen.global} - add 1 to {fallen.beginner} - {checkpoint.%player%.active} is 1: - teleport player to {parkour.checkpoint.%player%} - else: - teleport player to {parkourspawn.GreatPumpkin} - execute console command "/starttimer %player% GreatPumpkin" - {fallen.%player%} is less than 2: - message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player - stop - {fallen.%player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player - {fallen.%player%} is 10 or 20 or 50 or 100: - message "&aDid you know you could purchase checkpoints at" to player - message "&e http://bit.ly/ParkourShop &a?" to player - stop - stop - - - - + {currentparkourcourse.%player%} is "GreatPumpkin" + player is in "parkourmaps" + message "&cYou were sent back for falling!" to the player + add 1 to {fallen.%player%} + add 1 to {fallen.global} + add 1 to {fallen.beginner} + {checkpoint.%player%.active} is 1: + teleport player to {parkour.checkpoint.%player%} + else: + teleport player to {parkourspawn.GreatPumpkin} + execute console command "/starttimer %player% GreatPumpkin" + {fallen.%player%} is less than 2: + message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player + stop + {fallen.%player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player + {fallen.%player%} is 10 or 20 or 50 or 100: + message "&aDid you know you could purchase checkpoints at" to player + message "&e http://bit.ly/ParkourShop &a?" to player + stop + stop + + + + #BigTree on walking on wood or leaves or grass or glowstone: - {currentparkourcourse.%player%} is "BigTree" - player is in "parkourmaps" - message "&cYou were sent back for falling!" to the player - add 1 to {fallen.%player%} - add 1 to {fallen.global} - add 1 to {fallen.beginner} - {checkpoint.%player%.active} is 1: - teleport player to {parkour.checkpoint.%player%} - else: - teleport player to {parkourspawn.BigTree} - execute console command "/starttimer %player% BigTree" - {fallen.%player%} is less than 2: - message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player - stop - {fallen.%player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player - {fallen.%player%} is 10 or 20 or 50 or 100: - message "&aDid you know you could purchase checkpoints at" to player - message "&e http://bit.ly/ParkourShop &a?" to player - stop - stop + {currentparkourcourse.%player%} is "BigTree" + player is in "parkourmaps" + message "&cYou were sent back for falling!" to the player + add 1 to {fallen.%player%} + add 1 to {fallen.global} + add 1 to {fallen.beginner} + {checkpoint.%player%.active} is 1: + teleport player to {parkour.checkpoint.%player%} + else: + teleport player to {parkourspawn.BigTree} + execute console command "/starttimer %player% BigTree" + {fallen.%player%} is less than 2: + message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player + stop + {fallen.%player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player + {fallen.%player%} is 10 or 20 or 50 or 100: + message "&aDid you know you could purchase checkpoints at" to player + message "&e http://bit.ly/ParkourShop &a?" to player + stop + stop #Contra on walking on lapis lazuli block or black wool or falling water: - {currentparkourcourse.%player%} is "Contra" - player is in "parkourmaps" - message "&cYou were sent back for falling!" to the player - add 1 to {fallen.%player%} - add 1 to {fallen.global} - add 1 to {fallen.beginner} - {checkpoint.%player%.active} is 1: - teleport player to {parkour.checkpoint.%player%} - else: - teleport player to {parkourspawn.Contra} - execute console command "/starttimer %player% Farm" - {fallen.%player%} is less than 2: - message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player - stop - {fallen.%player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player - {fallen.%player%} is 10 or 20 or 50 or 100: - message "&aDid you know you could purchase checkpoints at" to player - message "&e http://bit.ly/ParkourShop &a?" to player - stop - stop + {currentparkourcourse.%player%} is "Contra" + player is in "parkourmaps" + message "&cYou were sent back for falling!" to the player + add 1 to {fallen.%player%} + add 1 to {fallen.global} + add 1 to {fallen.beginner} + {checkpoint.%player%.active} is 1: + teleport player to {parkour.checkpoint.%player%} + else: + teleport player to {parkourspawn.Contra} + execute console command "/starttimer %player% Farm" + {fallen.%player%} is less than 2: + message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player + stop + {fallen.%player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player + {fallen.%player%} is 10 or 20 or 50 or 100: + message "&aDid you know you could purchase checkpoints at" to player + message "&e http://bit.ly/ParkourShop &a?" to player + stop + stop every 1 seconds: - loop all players: - block above block below loop-player is water or falling water: - {currentparkourcourse.%loop-player%} is "Contra" - loop-player is in "parkourmaps" - message "&cYou were sent back for falling!" to the loop-player - add 1 to {fallen.%loop-player%} - add 1 to {fallen.global} - add 1 to {fallen.beginner} - {checkpoint.%loop-player%.active} is 1: - teleport loop-player to {parkour.checkpoint.%loop-player%} - else: - teleport loop-player to {parkourspawn.Contra} - execute console command "/starttimer %loop-player% Contra" - if {fallen.%loop-player%} is less than 2: - message "&cYou have fallen &e%{fallen.%loop-player%}% &ctime this round." to loop-player - stop trigger - - {fallen.%loop-player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%loop-player%}% &ctimes this round." to loop-player - {fallen.%loop-player%} is 10 or 20 or 50 or 100: - message "&aDid you know you could purchase checkpoints at" to loop-player - message "&e http://bit.ly/ParkourShop &a?" to loop-player - stop - + loop all players: + block above block below loop-player is water or falling water: + {currentparkourcourse.%loop-player%} is "Contra" + loop-player is in "parkourmaps" + message "&cYou were sent back for falling!" to the loop-player + add 1 to {fallen.%loop-player%} + add 1 to {fallen.global} + add 1 to {fallen.beginner} + {checkpoint.%loop-player%.active} is 1: + teleport loop-player to {parkour.checkpoint.%loop-player%} + else: + teleport loop-player to {parkourspawn.Contra} + execute console command "/starttimer %loop-player% Contra" + if {fallen.%loop-player%} is less than 2: + message "&cYou have fallen &e%{fallen.%loop-player%}% &ctime this round." to loop-player + stop trigger + + {fallen.%loop-player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%loop-player%}% &ctimes this round." to loop-player + {fallen.%loop-player%} is 10 or 20 or 50 or 100: + message "&aDid you know you could purchase checkpoints at" to loop-player + message "&e http://bit.ly/ParkourShop &a?" to loop-player + stop + #Farm on walking on grass or dirt or gravel or farmland: - {currentparkourcourse.%player%} is "Farm" - player is in "parkourmaps" - message "&cYou were sent back for falling!" to the player - add 1 to {fallen.%player%} - add 1 to {fallen.global} - add 1 to {fallen.beginner} - {checkpoint.%player%.active} is 1: - teleport player to {parkour.checkpoint.%player%} - else: - teleport player to {parkourspawn.farm} - execute console command "/starttimer %player% Farm" - {fallen.%player%} is less than 2: - message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player - stop - {fallen.%player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player - {fallen.%player%} is 10 or 20 or 50 or 100: - message "&aDid you know you could purchase checkpoints at" to player - message "&e http://bit.ly/ParkourShop &a?" to player - stop - stop + {currentparkourcourse.%player%} is "Farm" + player is in "parkourmaps" + message "&cYou were sent back for falling!" to the player + add 1 to {fallen.%player%} + add 1 to {fallen.global} + add 1 to {fallen.beginner} + {checkpoint.%player%.active} is 1: + teleport player to {parkour.checkpoint.%player%} + else: + teleport player to {parkourspawn.farm} + execute console command "/starttimer %player% Farm" + {fallen.%player%} is less than 2: + message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player + stop + {fallen.%player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player + {fallen.%player%} is 10 or 20 or 50 or 100: + message "&aDid you know you could purchase checkpoints at" to player + message "&e http://bit.ly/ParkourShop &a?" to player + stop + stop every 1 seconds: - loop all players: - block above block below loop-player is water or falling water: - {currentparkourcourse.%loop-player%} is "Farm" - loop-player is in "parkourmaps" - message "&cYou were sent back for falling!" to the loop-player - add 1 to {fallen.%loop-player%} - add 1 to {fallen.global} - add 1 to {fallen.beginner} - {checkpoint.%loop-player%.active} is 1: - teleport loop-player to {parkour.checkpoint.%loop-player%} - else: - teleport loop-player to {parkourspawn.Farm} - execute console command "/starttimer %loop-player% Farm" - if {fallen.%loop-player%} is less than 2: - message "&cYou have fallen &e%{fallen.%loop-player%}% &ctime this round." to loop-player - stop trigger - - {fallen.%loop-player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%loop-player%}% &ctimes this round." to loop-player - {fallen.%loop-player%} is 10 or 20 or 50 or 100: - message "&aDid you know you could purchase checkpoints at" to loop-player - message "&e http://bit.ly/ParkourShop &a?" to loop-player - stop - - + loop all players: + block above block below loop-player is water or falling water: + {currentparkourcourse.%loop-player%} is "Farm" + loop-player is in "parkourmaps" + message "&cYou were sent back for falling!" to the loop-player + add 1 to {fallen.%loop-player%} + add 1 to {fallen.global} + add 1 to {fallen.beginner} + {checkpoint.%loop-player%.active} is 1: + teleport loop-player to {parkour.checkpoint.%loop-player%} + else: + teleport loop-player to {parkourspawn.Farm} + execute console command "/starttimer %loop-player% Farm" + if {fallen.%loop-player%} is less than 2: + message "&cYou have fallen &e%{fallen.%loop-player%}% &ctime this round." to loop-player + stop trigger + + {fallen.%loop-player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%loop-player%}% &ctimes this round." to loop-player + {fallen.%loop-player%} is 10 or 20 or 50 or 100: + message "&aDid you know you could purchase checkpoints at" to loop-player + message "&e http://bit.ly/ParkourShop &a?" to loop-player + stop + + #2FortRed on walking on upside-down double sandstone slab or sand or wool or light blue hard clay or wood planks or logs or wood stairs or dirt or clay bricks stairs or brick slabs: - {currentparkourcourse.%player%} is "2FortRed" - player is in "parkourmaps" - message "&cYou were sent back for falling!" to the player - add 1 to {fallen.%player%} - add 1 to {fallen.global} - add 1 to {fallen.beginner} - {checkpoint.%player%.active} is 1: - teleport player to {parkour.checkpoint.%player%} - else: - teleport player to {parkourspawn.2FortRed} - execute console command "/starttimer %player% 2FortRed" - {fallen.%player%} is less than 2: - message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player - stop - {fallen.%player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player - {fallen.%player%} is 10 or 20 or 50 or 100: - message "&aDid you know you could purchase checkpoints at" to player - message "&e http://bit.ly/ParkourShop &a?" to player - stop - stop + {currentparkourcourse.%player%} is "2FortRed" + player is in "parkourmaps" + message "&cYou were sent back for falling!" to the player + add 1 to {fallen.%player%} + add 1 to {fallen.global} + add 1 to {fallen.beginner} + {checkpoint.%player%.active} is 1: + teleport player to {parkour.checkpoint.%player%} + else: + teleport player to {parkourspawn.2FortRed} + execute console command "/starttimer %player% 2FortRed" + {fallen.%player%} is less than 2: + message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player + stop + {fallen.%player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player + {fallen.%player%} is 10 or 20 or 50 or 100: + message "&aDid you know you could purchase checkpoints at" to player + message "&e http://bit.ly/ParkourShop &a?" to player + stop + stop every 1 seconds: - loop all players: - block above block below loop-player is water or falling water: - {currentparkourcourse.%loop-player%} is "2FortRed" - loop-player is in "parkourmaps" - message "&cYou were sent back for falling!" to the loop-player - add 1 to {fallen.%loop-player%} - add 1 to {fallen.global} - add 1 to {fallen.beginner} - {checkpoint.%loop-player%.active} is 1: - teleport loop-player to {parkour.checkpoint.%loop-player%} - else: - teleport loop-player to {parkourspawn.2FortRed} - execute console command "/starttimer %loop-player% 2FortRed" - if {fallen.%loop-player%} is less than 2: - message "&cYou have fallen &e%{fallen.%loop-player%}% &ctime this round." to loop-player - stop trigger - - {fallen.%loop-player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%loop-player%}% &ctimes this round." to loop-player - {fallen.%loop-player%} is 10 or 20 or 50 or 100: - message "&aDid you know you could purchase checkpoints at" to loop-player - message "&e http://bit.ly/ParkourShop &a?" to loop-player - stop - + loop all players: + block above block below loop-player is water or falling water: + {currentparkourcourse.%loop-player%} is "2FortRed" + loop-player is in "parkourmaps" + message "&cYou were sent back for falling!" to the loop-player + add 1 to {fallen.%loop-player%} + add 1 to {fallen.global} + add 1 to {fallen.beginner} + {checkpoint.%loop-player%.active} is 1: + teleport loop-player to {parkour.checkpoint.%loop-player%} + else: + teleport loop-player to {parkourspawn.2FortRed} + execute console command "/starttimer %loop-player% 2FortRed" + if {fallen.%loop-player%} is less than 2: + message "&cYou have fallen &e%{fallen.%loop-player%}% &ctime this round." to loop-player + stop trigger + + {fallen.%loop-player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%loop-player%}% &ctimes this round." to loop-player + {fallen.%loop-player%} is 10 or 20 or 50 or 100: + message "&aDid you know you could purchase checkpoints at" to loop-player + message "&e http://bit.ly/ParkourShop &a?" to loop-player + stop + #2FortBlue on walking on upside-down double sandstone slab or sand or wool or red hard clay or wood planks or logs or wood stairs or dirt or clay bricks stairs or brick slabs: - {currentparkourcourse.%player%} is "2FortBlue" - player is in "parkourmaps" - message "&cYou were sent back for falling!" to the player - add 1 to {fallen.%player%} - add 1 to {fallen.global} - add 1 to {fallen.beginner} - {checkpoint.%player%.active} is 1: - teleport player to {parkour.checkpoint.%player%} - else: - teleport player to {parkourspawn.2FortBlue} - execute console command "/starttimer %player% 2FortBlue" - {fallen.%player%} is less than 2: - message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player - stop - {fallen.%player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player - {fallen.%player%} is 10 or 20 or 50 or 100: - message "&aDid you know you could purchase checkpoints at" to player - message "&e http://bit.ly/ParkourShop &a?" to player - stop - stop + {currentparkourcourse.%player%} is "2FortBlue" + player is in "parkourmaps" + message "&cYou were sent back for falling!" to the player + add 1 to {fallen.%player%} + add 1 to {fallen.global} + add 1 to {fallen.beginner} + {checkpoint.%player%.active} is 1: + teleport player to {parkour.checkpoint.%player%} + else: + teleport player to {parkourspawn.2FortBlue} + execute console command "/starttimer %player% 2FortBlue" + {fallen.%player%} is less than 2: + message "&cYou have fallen &e%{fallen.%player%}% &ctime this round." to player + stop + {fallen.%player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%player%}% &ctimes this round." to player + {fallen.%player%} is 10 or 20 or 50 or 100: + message "&aDid you know you could purchase checkpoints at" to player + message "&e http://bit.ly/ParkourShop &a?" to player + stop + stop every 1 seconds: - loop all players: - block above block below loop-player is water or falling water: - {currentparkourcourse.%loop-player%} is "2FortBlue" - loop-player is in "parkourmaps" - message "&cYou were sent back for falling!" to the loop-player - add 1 to {fallen.%loop-player%} - add 1 to {fallen.global} - add 1 to {fallen.beginner} - {checkpoint.%loop-player%.active} is 1: - teleport loop-player to {parkour.checkpoint.%loop-player%} - else: - teleport loop-player to {parkourspawn.2FortBlue} - execute console command "/starttimer %loop-player% 2FortBlue" - if {fallen.%loop-player%} is less than 2: - message "&cYou have fallen &e%{fallen.%loop-player%}% &ctime this round." to loop-player - stop trigger - - {fallen.%loop-player%} is greater than 1: - message "&cYou have fallen &e%{fallen.%loop-player%}% &ctimes this round." to loop-player - {fallen.%loop-player%} is 10 or 20 or 50 or 100: - message "&aDid you know you could purchase checkpoints at" to loop-player - message "&e http://bit.ly/ParkourShop &a?" to loop-player - stop - - + loop all players: + block above block below loop-player is water or falling water: + {currentparkourcourse.%loop-player%} is "2FortBlue" + loop-player is in "parkourmaps" + message "&cYou were sent back for falling!" to the loop-player + add 1 to {fallen.%loop-player%} + add 1 to {fallen.global} + add 1 to {fallen.beginner} + {checkpoint.%loop-player%.active} is 1: + teleport loop-player to {parkour.checkpoint.%loop-player%} + else: + teleport loop-player to {parkourspawn.2FortBlue} + execute console command "/starttimer %loop-player% 2FortBlue" + if {fallen.%loop-player%} is less than 2: + message "&cYou have fallen &e%{fallen.%loop-player%}% &ctime this round." to loop-player + stop trigger + + {fallen.%loop-player%} is greater than 1: + message "&cYou have fallen &e%{fallen.%loop-player%}% &ctimes this round." to loop-player + {fallen.%loop-player%} is 10 or 20 or 50 or 100: + message "&aDid you know you could purchase checkpoints at" to loop-player + message "&e http://bit.ly/ParkourShop &a?" to loop-player + stop \ No newline at end of file diff --git a/Obam-Skyblock/animals.sk b/Obam-Skyblock/animals.sk index d92c42c..e07435f 100644 --- a/Obam-Skyblock/animals.sk +++ b/Obam-Skyblock/animals.sk @@ -1,7 +1,7 @@ on damage of a entity: world is "skyworld" attacker is a player - victim is not a zombie or skeleton or witch or spider or creeper or enderman + victim is a horse or a villager or a ocelot or a cow or a mooshroom or a pig or a sheep or a squid attacker can't build at location of attacker: send "&cThis area is protected!" to attacker cancel event diff --git a/Obam-Skyblock/challenges.sk b/Obam-Skyblock/challenges.sk index 5458c00..0744c60 100644 --- a/Obam-Skyblock/challenges.sk +++ b/Obam-Skyblock/challenges.sk @@ -25,7 +25,7 @@ options: bakersdozen: i;bread;n;&b&lBakers Dozen!;l; ||&a&lFirst Completion:||&aTrade 256 Bread||&7&lThe Grind:||&7Trade &c2304&7 Bread|| ||&a&lInitial Reward:||&a800 Tickets||&7&lGrind Reward:||&c15 &7Tickets|| ||%{chal.%player%.bread.display}%;c;sudo %player% chal 19 crushed: i;bonemeal;n;&b&lCrushed!;l; ||&a&lFirst Completion:||&aTrade 256 Bonemeal||&7&lThe Grind:||&7Trade &c2304&7 Bonemeal|| ||&a&lInitial Reward:||&a800 Tickets||&7&lGrind Reward:||&c15 &7Tickets|| ||%{chal.%player%.bonemeal.display}%;c;sudo %player% chal 21 #subfold @supporter1 - supporter1: i;diamond block;n;&b&lSkyblock Supporter Tier 1 Challenges!;l;&a&lClick to open||&eSupporter Tier 1&7 Challenges;c;sudo %player% challenge supporter1 + supporter1: i;4 iron blocks;n;&b&lSkyblock Tier 4 Challenges!;l;&a&lClick to open||&eTier 4&7 Challenges;c;sudo %player% challenge supporter1 egged: i;egg;n;&b&lEgged!;l; ||&a&lFirst Completion:||&aTrade 288 Eggs||&7&lThe Grind:||&7Trade &c576 &7Eggs|| ||&a&lInitial Reward:||&a800 Tickets||&7&lGrind Reward:||&c15 &7Tickets|| ||%{chal.%player%.egged.display}%;c;sudo %player% chal 13 gotmilk: i;milk bucket;n;&b&lGot Milk?;l; ||&a&lFirst Completion:||&aTrade 10 Milk Buckets||&7&lThe Grind:||&7Trade &c30&7 Milk Buckets|| ||&a&lInitial Reward:||&a800 Tickets||&7&lGrind Reward:||&c15 &7Tickets|| ||%{chal.%player%.milk.display}%;c;sudo %player% chal 15 gotbeef: i;steak;n;&b&lGot Beef?;l; ||&a&lFirst Completion:||&aTrade 256 Steaks||&7&lThe Grind:||&7Trade &c2304&7 Steaks|| ||&a&lInitial Reward:||&a800 Tickets||&7&lGrind Reward:||&c15 &7Tickets|| ||%{chal.%player%.steak.display}%;c;sudo %player% chal 17 @@ -33,7 +33,7 @@ options: birthdaycake: i;cake item;n;&b&lBirthday Cake!;l; ||&a&lFirst Completion:||&aTrade 10 Cakes||&7&lThe Grind:||&7Trade &c36&7 Cakes|| ||&a&lInitial Reward:||&a800 Tickets||&7&lGrind Reward:||&c15 &7Tickets|| ||%{chal.%player%.cake.display}%;c;sudo %player% chal 23 secretrecipe: i;cooked chicken;n;&b&lSecret Recipe!;l; ||&a&lFirst Completion:||&aTrade 256 Cooked Chicken||&7&lThe Grind:||&7Trade &c2304&7 Cooked Chicken|| ||&a&lInitial Reward:||&a800 Tickets||&7&lGrind Reward:||&c15 &7Tickets|| ||%{chal.%player%.chicken.display}%;c;sudo %player% chal 24 #subfold @level1 - level1: i;gold block;n;&b&lSkyblock Level 10 Challenges!;l;&a&lClick to open||&eLevel 10&7 Challenges;c;sudo %player% challenge level1 + level1: i;5 iron blocks;n;&b&lSkyblock Tier 5 Challenges!;l;&a&lClick to open||&eTier 5&7 Challenges;c;sudo %player% challenge level1 lumberjack: i;oak log;n;&b&lLumberjack!;l; ||&a&lFirst Completion:||&aTrade 256 Oak Log||&7&lThe Grind:||&7Trade &c2304&7 Oak Log|| ||&a&lInitial Reward:||&a800 Tickets||&7&lGrind Reward:||&c15 &7Tickets|| ||%{chal.%player%.lumberjack.display}%;c;sudo %player% chal 25 theoven: i;furnace;n;&b&lThe Oven!;l; ||&a&lFirst Completion:||&aTrade 256 Furnaces||&7&lThe Grind:||&7Trade &c2304&7 Furnaces|| ||&a&lInitial Reward:||&a800 Tickets||&7&lGrind Reward:||&c15 &7Tickets|| ||%{chal.%player%.theoven.display}%;c;sudo %player% chal 26 storagewars: i;chest;n;&b&lStorage Wars!;l; ||&a&lFirst Completion:||&aTrade 256 Chests||&7&lThe Grind:||&7Trade &c2304&7 Chests|| ||&a&lInitial Reward:||&a800 Tickets||&7&lGrind Reward:||&c15 &7Tickets|| ||%{chal.%player%.storage.display}%;c;sudo %player% chal 27 @@ -43,7 +43,9 @@ options: #subfold @shop sbtier2: i;2 iron blocks;n;&b&lSkyblock Tier 2 Challenges!;l;&7Click to purchase Skyblock||&eTier 2&7 Challenges!|| ||&7&lPrice: &e2000 tickets;c;sudo %player% purchase sbtier2 sbtier3: i;3 iron blocks;n;&b&lSkyblock Tier 3 Challenges!;l;&7Click to purchase Skyblock||&ETier 3&7 Challenges!|| ||&7&lPrice: &e5000 tickets;c;sudo %player% purchase sbtier3 - + sbtier4: i;4 iron blocks;n;&b&lSkyblock Tier 4 Challenges!;l;&7Click to purchase Skyblock||&3Tier 4&7 Challenges!|| ||&7&lPrice: &e5000 tickets;c;sudo %player% purchase sbtier4 + sbtier5: i;5 iron blocks;n;&b&lSkyblock Tier 5 Challenges!;l;&7Click to purchase Skyblock||&3Tier 5&7 Challenges!|| ||&7&lPrice: &e5000 tickets;c;sudo %player% purchase sbtier5 + #subfold @otherstuff menu: i;tnt;n;&b&lReturn to Menu;l;&7Click to return to &eChallenge &7Menu;c;sudo %player% challenge shop: i;gold ingot;n;&b&lShop;l;&7Click to open the &eChallenge &7Shop;c;sudo %player% challenge shop @@ -54,6 +56,8 @@ options: variables: {purchase.sb.tier2.%player%} = 0 {purchase.st.tier3.%player%} = 0 + {purchase.sb.tier4.%player%} = 0 + {purchase.sb.tier5.%player%} = 0 on script load: loop all players: @@ -71,7 +75,7 @@ command /challenge []: argument is not set: send "&aOpening Menu..." to player wait 0.5 seconds - show "s;12;{@tier1};s;13;{@tier2};s;14;{@tier3};s;21;{@level1};s;30;{@supporter1};s;44;{@shop}" with 5 rows named "&9&lSkyblock&9 Challenges" to player + show "s;12;{@tier1};s;13;{@tier2};s;14;{@tier3};s;16;{@level1};s;15;{@supporter1};s;44;{@shop}" with 5 rows named "&9&lSkyblock&9 Challenges" to player #subfold @tier1 argument is "tier1": send "&aOpening Menu..." to player @@ -108,7 +112,14 @@ command /challenge []: #subfold @level1 argument is "level1": - {level.%player%.actual} is greater than or equal to 10: + {purchase.sb.tier5.%player%} is 0: + send "&cYou must purchase the Tier 5 Package to do this!" to player + stop + {purchase.sb.tier5.%player%} is not set: + send "&cYou must purchase the Tier 5 Package to do this!" to player + set {purchase.sb.tier5.%player%} to 0 + stop + {purchase.sb.tier5.%player%} is 1: send "&aOpening Menu..." to player @@ -116,24 +127,30 @@ command /challenge []: show "s;10;{@lumberjack};s;11;{@theoven};s;12;{@storagewars};s;13;{@withanapple};s;14;{@cookeeminastew};s;15;{@splititdownthemiddle};s;19;{@menu};s;27;{@shop}" with 4 rows named "&9&lSkyblock &9Challenges" to player stop - send "&cYou need to be at least level 10 to do that!" to player + #subfold @supporter1 argument is "supporter1": - player has permission "obam.supporter": - + {purchase.sb.tier4.%player%} is 0: + send "&cYou must purchase the Tier 4 Package to do this!" to player + stop + {purchase.sb.tier4.%player%} is not set: + send "&cYou must purchase the Tier 4 Package to do this!" to player + set {purchase.sb.tier4.%player%} to 0 + stop + {purchase.sb.tier4.%player%} is 1: send "&aOpening Menu..." to player wait 0.5 seconds show "s;10;{@egged};s;11;{@gotmilk};s;12;{@gotbeef};s;13;{@cookies};s;14;{@birthdaycake};s;15;{@secretrecipe};s;18;{@menu};s;27;{@shop}" with 3 rows named "&9&lSkyblock &9Challenges" to player stop - send "&cYou must be a supporter to do this!" to player + #subfold @shop argument is "shop": send "&aOpening Menu..." to player wait 0.5 seconds - show "s;10;{@sbtier2};s;11;{@sbtier3};s;13;{@menu}" with 3 rows named "&9&lSkyblock &9Challenges" to player + show "s;12;{@sbtier2};s;13;{@sbtier3};s;14;{@sbtier4};s;15;{@sbtier5};s;19;{@menu}" with 3 rows named "&9&lSkyblock &9Challenges" to player @@ -965,8 +982,8 @@ command /chal : #check for purchase - player does not have permission "obam.supporter": - send "&c You must be a Supporter to do this!" to player + {purchase.sb.tier4.%player%} is 0: + send "&c You must purchase Tier 4 Challenges from the shop to do this!" to player stop #check for items @@ -1043,8 +1060,8 @@ command /chal : argument 1 is 15: #check for purchase - player does not have permission "obam.supporter": - send "&c You must be a Supporter to do this!" to player + {purchase.sb.tier4.%player%} is 0: + send "&c You must purchase Tier 4 Challenges from the shop to do this!" to player stop #check for items @@ -1120,8 +1137,8 @@ command /chal : argument 1 is 17: #check for purchase - player does not have permission "obam.supporter": - send "&c You must be a Supporter to do this!" to player + {purchase.sb.tier4.%player%} is 0: + send "&c You must purchase Tier 4 Challenges from the shop to do this!" to player stop #check for items @@ -1312,8 +1329,8 @@ command /chal : argument 1 is 22: #check for purchase - player does not have permission "obam.supporter": - send "&c You must be a Supporter to do this!" to player + {purchase.sb.tier4.%player%} is 0: + send "&c You must purchase Tier 4 Challenges from the shop to do this!" to player stop #check for items @@ -1351,8 +1368,8 @@ command /chal : argument 1 is 23: #check for purchase - player does not have permission "obam.supporter": - send "&c You must be a Supporter to do this!" to player + {purchase.sb.tier4.%player%} is 0: + send "&c You must purchase Tier 4 Challenges from the shop to do this!" to player stop #check for items @@ -1390,8 +1407,8 @@ command /chal : argument 1 is 24: #check for purchase - player does not have permission "obam.supporter": - send "&c You must be a Supporter to do this!" to player + {purchase.sb.tier4.%player%} is 0: + send "&c You must purchase Tier 4 Challenges from the shop to do this!" to player stop #check for items @@ -1428,8 +1445,8 @@ command /chal : argument 1 is 25: #check for purchase - {level.%player%.actual} is less than 10: - send "&cYou must be at least level 10 to do this!" to player + {purchase.sb.tier5.%player%} is 0: + send "&c You must purchase Tier 5 Challenges from the shop to do this!" to player stop #check for items @@ -1466,8 +1483,8 @@ command /chal : argument 1 is 26: #check for purchase - {level.%player%.actual} is less than 10: - send "&cYou must be at least level 10 to do this!" to player + {purchase.sb.tier5.%player%} is 0: + send "&c You must purchase Tier 5 Challenges from the shop to do this!" to player stop #check for items @@ -1504,8 +1521,8 @@ command /chal : argument 1 is 27: #check for purchase - {level.%player%.actual} is less than 10: - send "&cYou must be at least level 10 to do this!" to player + {purchase.sb.tier5.%player%} is 0: + send "&c You must purchase Tier 5 Challenges from the shop to do this!" to player stop #check for items @@ -1543,8 +1560,8 @@ command /chal : argument 1 is 28: #check for purchase - {level.%player%.actual} is less than 10: - send "&cYou must be at least level 10 to do this!" to player + {purchase.sb.tier5.%player%} is 0: + send "&c You must purchase Tier 5 Challenges from the shop to do this!" to player stop #check for items @@ -1582,8 +1599,8 @@ command /chal : argument 1 is 29: #check for purchase - {level.%player%.actual} is less than 10: - send "&cYou must be at least level 10 to do this!" to player + {purchase.sb.tier5.%player%} is 0: + send "&c You must purchase Tier 5 Challenges from the shop to do this!" to player stop #check for items @@ -1621,8 +1638,8 @@ command /chal : argument 1 is 30: #check for purchase - {level.%player%.actual} is less than 10: - send "&cYou must be at least level 10 to do this!" to player + {purchase.sb.tier5.%player%} is 0: + send "&c You must purchase Tier 5 Challenges from the shop to do this!" to player stop #check for items diff --git a/Obam-Skyblock/shop.sk b/Obam-Skyblock/shop.sk index 5866637..bf3fcca 100644 --- a/Obam-Skyblock/shop.sk +++ b/Obam-Skyblock/shop.sk @@ -43,10 +43,38 @@ command /purchase : message "&cYou do not have enough tickets!" to player stop - remove 4000 from player's balance + remove 5000 from player's balance set {purchase.sb.tier3.%player%} to 1 message "&aYou have purchased &a&lSkyblock Tier 3 Challenge Package&a for &e5000 &aTickets!" broadcast "&a%player% has purchased &a&lSkyblock Tier 3 Challenge Package!" + + argument 1 is "sbtier4": + {purchase.sb.tier4.%player%} is 1: + message "&cYou have already purchased this package!" to player + stop + + player's balance is less than 5000: + message "&cYou do not have enough tickets!" to player + stop + + remove 5000 from player's balance + set {purchase.sb.tier4.%player%} to 1 + message "&aYou have purchased &a&lSkyblock Tier 4 Challenge Package&a for &e5000 &aTickets!" + broadcast "&a%player% has purchased &a&lSkyblock Tier 4 Challenge Package!" + + argument 1 is "sbtier5": + {purchase.sb.tier5.%player%} is 1: + message "&cYou have already purchased this package!" to player + stop + + player's balance is less than 5000: + message "&cYou do not have enough tickets!" to player + stop + + remove 5000 from player's balance + set {purchase.sb.tier5.%player%} to 1 + message "&aYou have purchased &a&lSkyblock Tier 5 Challenge Package&a for &e5000 &aTickets!" + broadcast "&a%player% has purchased &a&lSkyblock Tier 5 Challenge Package!" #resetpurchase command because of testing command /purchaser : diff --git a/Obam-Survival/fma.sk b/Obam-Survival/fma.sk index 58b20b7..fa2a499 100644 --- a/Obam-Survival/fma.sk +++ b/Obam-Survival/fma.sk @@ -53,6 +53,15 @@ on script load: {hostilemobsproper::ghast} is not set: set {hostilemobsproper::ghast} to ghast + set {db_ci.items::28.FMA.helmet} to "i;diamond helmet;n;&7FMA Helmet;l;&6Standard issue FMA gear;c;sudo PLAYER fmagear helmet" + set {db_ci.items::29.FMA.chest} to "i;diamond chestplate;n;&7FMA Chestplate;l;&6Standard issue FMA gear;c;sudo PLAYER fmagear chest" + set {db_ci.items::30.FMA.leggings} to "i;diamond leggings;n;&7FMA Leggings;l;&6Standard issue FMA gear;c;sudo PLAYER fmagear leggings" + set {db_ci.items::31.FMA.boots} to "i;diamond boots;n;&7FMA Boots;l;&6Standard issue FMA gear;c;sudo PLAYER fmagear boots" + set {db_ci.items::32.FMA.sword} to "i;diamond sword;n;&7FMA Sword;l;&6Standard issue FMA gear;c;sudo PLAYER fmagear sword" + set {db_ci.items::33.FMA.bow} to "i;bow;n;&7FMA Bow;l;&6Standard issue FMA gear;c;sudo PLAYER fmagear bow" + set {db_ci.items::34.FMA.arrows} to "i;64 arrow;n;&7FMA Arrows;l;&6Standard issue FMA gear;c;sudo PLAYER fmagear arrows" + set {db_ci.items::35.FMA.apples} to "i;64 apple;n;&7FMA Apples;l;&6Standard issue FMA gear;c;sudo PLAYER fmagear apples" + command /spawntoggle: permission: obam.smod trigger: @@ -732,7 +741,7 @@ on damage: {chunk.live.%chunk at location of loop-entity%} is "MobArena-BattleFloor": loop-entity is not a player kill loop-entity - + on sign change: player is op line 1 of block is "fmahelm": @@ -769,7 +778,7 @@ on sign change: set line 2 of block to "FMA Apples" set line 3 of block to "(150)" set line 4 of block to "500 Tickets" - + on right click on sign: line 1 of block is "Click to get": set {_bal} to player's balance @@ -811,5 +820,27 @@ on right click on sign: give player 150 apples named "&7FMA Apple" remove 500 from player's balance send "&aYou have spent 500 tickets on &eFMA Apples" - - + +command /fmagear []: + permission: obam.smod + trigger: + player doesn't have space for sponge: + send "&aYou do not have room!" + stop + argument 1 is "helmet": + give player diamond helmet of protection 3 and unbreaking 3 named "&7FMA Helmet" + argument 1 is "chest": + give player diamond chestplate of protection 3 and unbreaking 3 named "&7FMA Chestplate" + argument 1 is "leggings": + give player diamond leggings of protection 3 and unbreaking 3 named "&7FMA Leggings" + argument 1 is "boots": + give player diamond boots of protection 3 and unbreaking 3 named "&7FMA Boots" + argument 1 is "sword": + give player diamond sword of knockback 1 and unbreaking 3 and sharpness 2 named "&7FMA Sword" + argument 1 is "bow": + give player bow of punch 2 and power 3 and unbreaking 1 named "&7FMA Bow" + argument 1 is "arrows": + give player 64 arrows named "&7FMA Arrow" + argument 1 is "apples": + give player 64 apples named "&7FMA Apple" + send "&aHere is your thing" diff --git a/Obam-Survival/landclaim.sk b/Obam-Survival/landclaim.sk index 2c5ecd8..5ee8f57 100644 --- a/Obam-Survival/landclaim.sk +++ b/Obam-Survival/landclaim.sk @@ -57,6 +57,7 @@ every 1 tick: set {alert.notify.owner.%loop-player%} to "Unclaimed" set {land.unclaim.%loop-player%} to true {chunk.live.%chunk at location of loop-player%} is set: + {alert.fronts.%loop-player%} is true send "&a&lFront Claimed by: &e%{chunk.live.%chunk at location of loop-player%} %" to loop-player set {alert.notify.owner.%loop-player%} to {chunk.live.%chunk at location of loop-player%} {alert.notify.owner.%loop-player%} is not set: @@ -458,8 +459,7 @@ on explode: {_safe} is set: create safe explosion of force 3 at event-location on damage of a entity: - victim is enderman or creeper or wither or zombie or wither skeleton or blaze or slime or ghast or witch or skeleton or silverfish or spider or cave spider or magma cube or zombie pigman: - stop + victim is a chicken or a cow or a mooshroom or a horse or a sheep or a pig or a wolf or a ocelot or a villager or a squid attacker is a player victim is a cow: attacker's tool is a empty bucket diff --git a/Obam-Survival/shop.sk b/Obam-Survival/shop.sk index d21f2a1..e8e72af 100644 --- a/Obam-Survival/shop.sk +++ b/Obam-Survival/shop.sk @@ -1,28 +1,32 @@ #shop for Fronts -options: - land: i;grass;n;&9&lPurchase more land!;l;&7Click to purchase 1 more land!|| ||&e10,000 Tickets!;c;sudo %player% shop land - - +on script load: + set {db_shop.items::Front Slot} to "i;grass;n;&a&b&k&a&3Front Slot;l;&6Purchase one Front Slot, which allows you the||&6ability to claim protected land.|| ||&5&oClick to purchase|| ||&3&lCost:||&e10,000 Tickets;c;sudo PLAYER shop land" + set {db_shop.items::Front Tlot} to "i;grass;n;&a&b&k&a&3Front Slot Bundle;l;&6Purchase five Front Slots, which allows you the||&6ability to claim protected land.|| ||&5&oClick to purchase|| ||&3&lCost:||&e45,000 Tickets;c;sudo PLAYER shop bundle" + command /shop []: permission: obam.free trigger: argument is not set: - - show "s;1;{@land}" with 1 row named "&9&lFronts&9 Shop" to player + loop {db_shop.items::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_chest} is set: + set {_chest} to "%{_chest}%;s;%{_count}%;%loop-value%" + {_chest} is not set: + set {_chest} to "s;%{_count}%;%loop-value%" + replace "PLAYER" in {_chest} with "%player%" + {_count} is less than 9: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show "%{_chest}%" with {_size} row named "&9&lFronts&9 Shop" to player argument is "land": - player does not have permission "obam.supporter": - {availableland.%player%} is greater than or equal to 5: - send "&cYou have your max amount of available land purchased! Please support to get more!" to player - stop - player does not have permission "obam.plus": - {availableland.%player%} is greater than or equal to 10: - send "&cYou have your max amount of available land purchased! Please upgrade to get more!" to player - stop - player does not have permission "obam.ultimate": - {availableland.%player%} is greater than or equal to 20: - send "&cYou have your max amount of available land purchased! Please support to get more!" to player - stop set {_curbal} to player's balance {_curbal} is less than 10000: send "&cYou do not have enough tickets!" to player @@ -30,8 +34,34 @@ command /shop []: subtract 10000 from player's balance add 1 to {availableland.%player%} send "&aYou have purchased &e1 Land Slot&a for &e10,000 Tickets" to player - - - - - \ No newline at end of file + send "&aYou have &e%player's balance%&a remaining" to player + argument is "bundle": + set {_curbal} to player's balance + {_curbal} is less than 45000: + send "&cYou do not have enough tickets!" to player + stop + subtract 45000 from player's balance + add 5 to {availableland.%player%} + send "&aYou have purchased &e5 Land Slots&a for &e45,000 Tickets" to player + send "&aYou have &e%player's balance%&a remaining" to player + +command /shopfixerupper: + permission: obam.admin + trigger: + delete {db_shop.items::*} + message "Tis gone, my lord!" + +command /shoploop: + permission: obam.admin + trigger: + set {_num} to 0 + loop {db_shop.items::*}: + add 1 to {_num} + set {_what} to loop-index + message "%{_num}% %{_what}%" +command /shopdelete []: + permission: obam.admin + trigger: + set {_num} to argument 1 + delete {db_shop.items::%{_num}%} + message "%{_num}% should be gone, do /shoploop to see" \ No newline at end of file diff --git a/Obam-Testing/abstain.sk b/Obam-Testing/abstain.sk index df5f898..3d239df 100644 --- a/Obam-Testing/abstain.sk +++ b/Obam-Testing/abstain.sk @@ -15,18 +15,23 @@ command /abstain []: send " " set {abst.confirm.%player%} to now stop - player has permission "obam.admin": - {abstain.%player%} is false: - set {abstain.%player%} to true - - send "&aYour Abstain status is now &e%{abstain.%player%}%" - stop - - {abstain.%player%} is true: - set {abstain.%player%} to false - send "&aYour Abstain status is now &e%{abstain.%player%}%" - stop - + argument is "mod": + player has permission "obam.admin": + {abstain.%player%} is false: + set {abstain.%player%} to true + execute console command "perms player %player% set nametags.color.red false" + execute console command "perms player %player% set nametags.color.blue" + send "&aYou are now abstaining from PvP!" to player + send "&aYour Abstain status is now &e%{abstain.%player%}%" + stop + + {abstain.%player%} is true: + set {abstain.%player%} to false + execute console command "perms player %player% set nametags.color.blue false" + execute console command "perms player %player% set nametags.color.red" + send "&aYou are now able to PvP!" to player + send "&aYour Abstain status is now &e%{abstain.%player%}%" + stop stop argument is "confirm" or "c": diff --git a/Obam-Testing/backpack.sk b/Obam-Testing/backpack.sk index a94d396..d43ab74 100644 --- a/Obam-Testing/backpack.sk +++ b/Obam-Testing/backpack.sk @@ -1,98 +1,269 @@ + options: - world: backpacks + crudepack: ink sack named "&3Crude Pack" with lore "&6Use /backpack to||&6finish crafting this item" backpack: ink sack named "&3BackPack" enderpack: ender pearl named "&3EnderPack" with lore "&6Open your Ender Chest||&6anywhere!|| ||&5&oRight Click to open||&5&oYour portable Ender Chest" + on script load: - register new shaped recipe for {@backpack} using emerald block, emerald block, emerald block, emerald block, ink sack, emerald block, emerald block, chest, emerald block + register new shaped recipe for {@crudepack} using emerald block, emerald block, emerald block, emerald block, ink sack, emerald block, emerald block, chest, emerald block register new shaped recipe for {@enderpack} using air, air, air, emerald block, ender pearl, emerald block, air, ender chest, air - {db_customitems::backpack} is not set: - set {db_customitems::backpack} to {@backpack} - {db_customitems::backpack} is not {@backpack}: - set {db_customitems::backpack} to {@backpack} + set {db_customitems::backpack} to {@crudepack} + {db_customitems::backpack} is not {@crudepack}: + set {db_customitems::backpack} to {@crudepack} {count.backpacks} is not set: set {count.backpacks} to 1 - - + set {db_ci.items::01.Crude Pack} to "i;ink sack;n;&a&b&k&a&3Crude Pack;l;&6The crude version of||&6the backpack;c;sudo PLAYER bp g crudepack 1" + set {db_ci.items::10.Crude Pack} to "i;16 ink sack;n;&a&b&k&a&3Crude Pack;l;&6The crude version of||&6the backpack;c;sudo PLAYER bp g crudepack 16" + set {db_ci.items::19.Crude Pack} to "i;64 ink sack;n;&a&b&k&a&3Crude Pack;l;&6The crude version of||&6the backpack;c;sudo PLAYER bp g crudepack 64" + set {db_ci.items::02.Ender Pack} to "i;ender pearl;n;&a&b&k&a&3EnderPack;l;&6Open your Ender Chest||&6anywhere!|| ||&5&oRight Click to open||&5&oYour portable Ender Chest;c;sudo PLAYER bp g enderpack 1" + set {db_ci.items::11.Ender Pack} to "i;16 ender pearl;n;&a&b&k&a&3EnderPack;l;&6Open your Ender Chest||&6anywhere!|| ||&5&oRight Click to open||&5&oYour portable Ender Chest;c;sudo PLAYER bp g enderpack 16" + set {db_ci.items::20.Ender Pack} to "i;64 ender pearl;n;&a&b&k&a&3EnderPack;l;&6Open your Ender Chest||&6anywhere!|| ||&5&oRight Click to open||&5&oYour portable Ender Chest;c;sudo PLAYER bp g enderpack 64" on craft of ink sack: - name of event-item is "&3Backpack" + name of event-item is "&3Crude Pack" send "&aPlease use &e/backpack&a, to activate this backpack!" - - -command /backpack: + +command /backpack [] [] []: aliases: bp - permission: obam.free - trigger: - player's tool is ink sack - name of player's tool is "&3Backpack" - set {_lorecheck} to uncoloured lore of player's tool - set {_lorecheck::*} to {_lorecheck} split at "||" - {_lorecheck::2} is set: - send "&cThis backpack is already assigned" to player - stop - remove {@backpack} from player - player has space for a oak sapling: - give player {@backpack} with lore "&8%{count.backpacks}%||&6Carry lots of extra stuff!|| ||&5&oRight click to open" - player doesn't have space for a oak sapling: - drop {@backpack} with lore "&8%{count.backpacks}%||&6Carry lots of extra stuff!|| ||&5&oRight click to open" at location of player - - add 2 to z-coordinate of {backpack.coordinate} - add 2 to x-coordinate of {backpack.coordinate} - set {_loc} to {backpack.coordinate} - set block at location of {_loc} to chest named "&2Backpack" - set {_chest} to block at {_loc} - set {tie.backpack.%{count.backpacks}%} to {_chest} - {tie.backpack.%{count.backpacks}%} is set: - send "&aBackpack created..." - {tie.backpack.%{count.backpacks}%} is not set: - send "&cError..." - add 1 to {count.backpacks} - -command /backpackname : - permission: obam.free - aliases: bpn, bpname trigger: - name of player's tool contains "&3BackPack": - set {_lorecheck} to uncoloured lore of player's tool - set {_lorecheck::*} to {_lorecheck} split at "||" - {_lorecheck::2} is not set: - send "&cThis backpack is not yet activated" to player + argument 1 is "help" or "h": + message "&3--[&6&lBackpack Help&3]--" + message "&cRequired = [] Optional = ()" + message "&a * /backpack" + message "&7 Use while holding a Crude Pack to finish crafting a Backpack" + message "&a * /backpack [name] [namethatyouwant]" + message "&7 Use while holding a Backpack to rename it." + message "&a * /backpack [start]" + message "&7 Used by Admins to start chest placement in a new world." + message "&a * /backpack [missing] [number]" + message "&7 Used by Admins to create a backpack with a specific number." + message "&a * /backpack [fix] [number]" + message "&7 Used by Admins to fix a backpack if a chest glitches out." + message "&a * /backpack [give] [number]" + message "&7 Used by Admins to get Crude Packs if needed." + message "&a * /backpack [warning] [number]" + message "&7 Used by Admins to view warnings, no number for all." + message "&a * /backpack [warning] [delete] [number]" + message "&7 Used by Admins to remove specific warnings." + send " " + send " " + send "&6Developed for &7OBAMCraft &eBy: &aThe OBAM Mechanics" + send "&cV 1.0" + argument 1 is not set: + player has permission "obam.free": + player's tool is ink sack: + {backpack.spacestop} is true: + broadcast "&cWARNING: The magical land of Backpacks is bursting at the seams. Please notify the powers that be!" + stop + name of player's tool is "&3Backpack": + set {_lorecheck} to uncoloured lore of player's tool + set {_lorecheck::*} to {_lorecheck} split at "||" + {_lorecheck::2} is not set: + send "&cYou need to trade this item into a mod to receive a Crude Pack" to player + stop + {_lorecheck::2} is set: + send "&cThis backpack is already assigned" to player + stop + name of player's tool is "&3Crude Pack": + set {_lorecheck} to uncoloured lore of player's tool + set {_lorecheck::*} to {_lorecheck} split at "||" + {_lorecheck::2} is set: + remove {@crudepack} from player + player doesn't have space for a oak sapling: + message "&cWarning: You do not have space for this backpack. Please make room in your inventory." + give player {@crudepack} + stop + player has space for a oak sapling: + give player {@backpack} with lore "&8%{count.backpacks}%||&6Carry lots of extra stuff!|| ||&5&oRight click to open" + set {_loc} to {backpack.coordinate} + set {_chest.type} to {backpack.chest.type} + set block at location of {_loc} to {_chest.type} + {backpack.sign.count} is 1: + set {_sign} to the location 1 meter south of {_loc} + set block at location of {_sign} to wall sign:3 + set {_line} to block at location of {_sign} + set line 2 of {_line} to "%{count.backpacks}%" + add 1 to {backpack.sign.count} + {backpack.sign.count} is 21: + set {backpack.sign.count} to 1 + set {_chest} to block at {_loc} + set {loc.backpack.%{count.backpacks}%} to {_chest} + {loc.backpack.%{count.backpacks}%} is set: + send "&aBackpack ##%{count.backpacks}% created..." + {loc.backpack.%{count.backpacks}%} is not set: + send "&cError..." + add 1 to y-coordinate of {backpack.coordinate} + set {_height.check} to y-coordinate of {backpack.coordinate} + {_height.check} is 256: + set y-coordinate of {backpack.coordinate} to 1 + add 1 to x-coordinate of {backpack.coordinate} + set {backpack.sign.count} to 1 + set {_chest.type} to {backpack.chest.type} + {_chest.type} is chest: + set {backpack.chest.type} to trapped chest + {_chest.type} is trapped chest: + set {backpack.chest.type} to chest + set {_length.check} to x-coordinate of {backpack.coordinate} + {_length.check} is greater than 127: + set x-coordinate of {backpack.coordinate} to -127 + add 2 to z-coordinate of {backpack.coordinate} + set {_width.check} to z-coordinate of {backpack.coordinate} + {_width.check} is greater than 127: + set {backpack.spacestop} to true + add 1 to {count.backpacks} + stop + message "&cYou must have a &a&b&k&a&3Crude Pack &cin your hand to use this command!" + argument 1 is "name" or "n": + player has permission "obam.free": + argument 2 is not set: + message "&cPlease type a name in argument 2 to rename this bag." + argument 2 is set: + name of player's tool is "&3Crude Pack": + send "&cYou need to finish crafting this with /backpack first" + stop + name of player's tool is "&3BackPack": + set {_lorecheck} to uncoloured lore of player's tool + set {_lorecheck::*} to {_lorecheck} split at "||" + {_lorecheck::2} is not set: + send "&cYou need to trade this item into a mod to receive a Crude Pack" to player + stop + lore of player's tool contains "&eName:": + send "&cThis backpack already has a name!" + stop + the length of argument 2 is greater than 30: + send "&cThat name is too long!" + stop + set lore of player's tool to "%lore of player's tool%|| ||&eName:||&2%argument 2%" + send "&aName of backpack set to &2%argument 2%" + stop + message "&cYou must have a &a&b&k&a&3Backpack &cin your hand to use this command!" + argument 1 is "start" or "s": + player has permission "obam.admin": + world is "bagworld": + set {backpack.coordinate} to player's location + set x-coordinate of {backpack.coordinate} to -128 + set y-coordinate of {backpack.coordinate} to 1 + set z-coordinate of {backpack.coordinate} to -128 + message "Backpack Start set to %{backpack.coordinate}%" + set {backpack.sign.count} to 1 + set {backpack.chest.type} to chest + set {count.backpacks} to 1 + set {backpack.spacestop} to false + argument 1 is "missing" or "m": + player has permission "obam.smod": + argument 2 is not set: + message "&cPlease type a number in argument 2 to get that number of backpack." + argument 2 is set: + give player {@backpack} with lore "&8%argument 2%||&6Carry lots of extra stuff!|| ||&5&oRight click to open" + argument 1 is "fix" or "f": + player has permission "obam.admin": + argument 2 is not set: + message "&cPlease type a number in argument 2 to get that number of backpack." + argument 2 is set: + give player {@backpack} with lore "&8%argument 2%||&6Carry lots of extra stuff!|| ||&5&oRight click to open" + set {_loc} to {tie.backpack.%argument 2%} + set {_type.check} to the location 1 meter west of {_loc} + block at location of {_type.check} is trapped chest: + set block at location of {tie.backpack.%argument 2%} to chest + stop + set block at location of {tie.backpack.%argument 2%} to trapped chest + argument 1 is "give" or "g": + player has permission "obam.smod": + set {_qty} to argument 3 parsed as an integer + argument 2 is "crudepack": + player doesn't have space for {_qty} of {@crudepack}: + message "&cYou do not have room for this." + stop + give {_qty} of {@crudepack} to player + message "&aHere are your things." + stop + argument 2 is "enderpack": + player doesn't have space for {_qty} of {@enderpack}: + message "&cYou do not have room for this." + stop + give {_qty} of {@enderpack} to player + message "&aHere are your things." + stop + argument 1 is "warnings" or "w": + player has permission "obam.admin": + argument 2 is not set: + message "&aCurrent Backpack Warnings" + loop {warnings.backpacks::*}: + set {_num} to loop-index + set {_warn} to loop-value + message "&a%{_num}%. %{_warn}%" + stop + argument 2 is "delete" or "d": + argument 3 is not set: + message "&cPick a number." + stop + set {_num} to argument 3 + {warnings.backpacks::%{_num}%} does not exist: + message "&cWarning &f%{_num}% &cdoes not exist." + stop + delete {warnings.backpacks::%{_num}%} + message "&aDeleted warning &f%{_num}%" + stop + set {_num} to argument 3 + {warnings.backpacks::%{_num}%} does not exist: + message "&cWarning &f%{_num}% &cdoes not exist." + stop + message "&aSelected Backpack Warning" + message "&a%{_num}%. %{warnings.backpacks::%{_num}%}%" stop - lore of player's tool contains "&eName:": - send "&cThis backpack already has a name!" - stop - the length of argument is greater than 30: - send "&cThat name is too long!" - stop - set lore of player's tool to "%lore of player's tool%|| ||&eName:||&2%argument%" - send "&aName of backpack set to &2%argument%" - - +on join: + player has permission "obam.admin": + {warnings.backpacks::*} is set: + wait 4 seconds + message "&3There are Backpack warnings. Please contact &2ob1bob69" + on right click with ink sack: name of player's tool is "&3Backpack" or "&a&b&k&a&3Backpack": set {_chest} to uncoloured lore of player's tool set {_chest::*} to {_chest} split at "||" - {_chest::1} is not set: - send "&cError Opening backpack" - {tie.backpack.%{_chest::1}%} is not set: - send "&cError opening backpack" - {tie.backpack.%{_chest::1}%} is set: - block at location of {tie.backpack.%{_chest::1}%} is not chest: - set block at location of {tie.backpack.%{_chest::1}%} to chest - open {tie.backpack.%{_chest::1}%} to player - + {_chest::2} is not set: + send "&cYou need to trade this item into a mod to receive a Crude Pack" to player + stop + {loc.backpack.%{_chest::1}%} is not set: + send "&cChest is missing" + stop + {loc.backpack.%{_chest::1}%} is set: + block at location of {loc.backpack.%{_chest::1}%} is not chest or trapped chest: + send "&cChest is missing, contact &2ob1bob69 &cfor assistance" + set {_num} to size of {warnings.backpacks::*} + add 1 to {_num} + set {warnings.backpacks::%{_num}%} to "Chest %{_chest::1}% by %player% on %now%" + open {loc.backpack.%{_chest::1}%} to player + on right click with ender pearl: name of player's tool contains "&3EnderPack": cancel event open player's enderchest to player - + on shoot: shooter's tool is ender pearl name of shooter's tool contains "&3EnderPack": cancel event - -command /backpackstart: + +#Diagnostics +command /backpackcord: + permission: obam.admin + trigger: + message "%{backpack.coordinate}%" + +command /backpackcount: permission: obam.admin trigger: - set {backpack.coordinate} to player's location \ No newline at end of file + message "%{count.backpacks}%" + +command /backpackloc []: + permission: obam.admin + trigger: + argument 1 is not set: + message "%{loc.backpack.%{count.backpacks}%}%" + stop + set {_num} to argument 1 + message "%{loc.backpack.%{_num}%}%" + set {_loc} to location of {loc.backpack.%{_num}%} + message "%{_loc} %" \ No newline at end of file diff --git a/Obam-Testing/blocksave.sk b/Obam-Testing/blocksave.sk index 29b7a9c..20f9de7 100644 --- a/Obam-Testing/blocksave.sk +++ b/Obam-Testing/blocksave.sk @@ -22,4 +22,7 @@ on break: set {_message} to "%{information.%block%.1}%;%{information.%block%.3}%;%{information.%block%.2}%" send "DEBUG %{_message}%" delete block - drop {information.%block%.1} named {information.%block%.3} with lore {information.%block%.2} at event-location \ No newline at end of file + drop {information.%block%.1} named {information.%block%.3} with lore {information.%block%.2} at event-location + clear {information.%block%.1} + clear {information.%block%.2} + clear {information.%block%.3} \ No newline at end of file diff --git a/Obam-Testing/ci.sk b/Obam-Testing/ci.sk new file mode 100644 index 0000000..b72eb69 --- /dev/null +++ b/Obam-Testing/ci.sk @@ -0,0 +1,24 @@ +command /ci: + permission: obam.smod + trigger: + + loop {db_ci.items::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_chest} is set: + set {_chest} to "%{_chest}%;s;%{_count}%;%loop-value%" + {_chest} is not set: + set {_chest} to "s;%{_count}%;%loop-value%" + replace "PLAYER" in {_chest} with "%player%" + + {_count} is less than 9: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + + show {_chest} with {_size} rows named "&1Custom Items" to player \ No newline at end of file diff --git a/Obam-Testing/config.yml b/Obam-Testing/config.yml new file mode 100644 index 0000000..19aeb83 --- /dev/null +++ b/Obam-Testing/config.yml @@ -0,0 +1,151 @@ +config-version: 14 + +# Enable database support. Disabling database support switches +# zPermissions to its flat-file-based permissions store. +database-support: true + +# Whether region-based permissions are enabled. Requires a region plugin such +# as WorldGuard or Residence. Setting this to false will save some processing +# if you use a region plugin but don't use region-based permissions. Has no +# effect if a region plugin is not present. +region-support: true + +# Groups may have a group permission node automatically assigned to their +# members. This is the name of that permission node. It must be a string +# suitable for Java's String.format() with one argument: the group name. +# Omit or leave blank ('') to disable this feature. +# This may also be a list of strings to automatically assign multiple +# permissions. +group-permission: group.%s + +# Similar to group-permission, but only applied to "assigned" groups (groups +# that the player is explicitly a member of, including the default group, but +# not any inherited groups). +# Omit or leave blank ('') to disable this feature. +# This may also be a list of strings to automatically assign multiple +# permissions. +assigned-group-permission: '' + +# Set to false if you want your assigned-group-permission (above) to never +# include the default group. +assigned-groups-can-include-default: true + +# The default group. Players that are not explicitly members of any group +# are considered members of this group. +default-group: default + +# The default track. When the track name is omitted while using the /promote, +# /demote, /setrank, and /unsetrank commands, this is the track used. +default-track: default + +# Directory where to load/store dumps. If this is not an absolute path, it +# will be interpreted as relative to the server root. +dump-directory: zPermissions-dumps + +# Default timeout for temporary permissions, in seconds +default-temp-permission-timeout: 60 + +# Track definitions. Each key should be the name of the track. The value +# should be a list of group names in ascending order. +tracks: + default: + - default + - mod + - supermod + - admin + +# Name of the track used to determine a player's "primary group," a +# concept often used by other plugins via the native API or Vault. A +# player that does not have a track explicitly set via the +# /permissions .. player .. settrack command will use this track +# instead. Leave blank ('') to disable and use the highest-weight group +# as the primary group. +default-primary-group-track: '' + +# If any problems occur while determining a player's permissions (e.g. +# SQLExceptions, network errors, etc.), kick the player. This may be more +# desirable to having the user have free reign with indeterminate permissions. +kick-on-error: true + +# Only valid if kick-on-error is true. If a problem occurs while determining +# an op's permissions, then the op will only be kicked if this is true. +kick-ops-on-error: false + +# Interval, in minutes, in which to automatically refresh permissions from +# the database. Set to a non-positive number to disable. Has no effect on +# the flat-file storage method. DO NOT SET IT TOO LOW. Otherwise you run +# the risk of refreshes overlapping or permissions changes inexplicably +# being "forgotten." +# Unless you have an external process modifying zPermissions tables, you +# should have no need to enable this feature! (And even then, its use is +# questionable...) +auto-refresh-interval: 1 + +# By default, the refreshes set by auto-refresh-interval are conditional. +# That is, the refreshes do not actually occur unless the data version +# number (found in the table named DATA_VERSION by default) is different. +# Set this to true if you wish to perform an unconditional refresh instead. +# (Prior to 1.1, the refreshes were always unconditional.) +auto-refresh-force: false + +# Determines how inherited groups and assigned groups are resolved. When +# true, each assigned group is fully resolved (itself + all ancestors) +# before applying its permissions in assignment priority. (That is, groups +# are flattened before being applied.) When false, all assigned groups and +# their ancestor groups are treated as individual groups and are applied +# in "topological order." +opaque-inheritance: true + +# Determines when to apply player permissions. If true, player permissions +# are interleaved with group-resolved permissions at every "level" +# (universal, world, region, region/world). If false, all player permissions +# are applied once all group permissions have been applied. +interleaved-player-permissions: false + +# If true, rank commands will broadcast changes to admins by default. +# Otherwise, rank commands will broadcast to players with a custom +# permission, e.g. zpermissions.notify.promote, etc. +rank-admin-broadcast: false + +# If region-support is enabled, this is the order in which region manager +# plugins will be detected. The first plugin detected will be used. +region-managers: +- WorldGuard +- Residence +- Factions + +# If true, the Vault bridges included with zPermissions are used. If false, +# the bridges that come with Vault are used. Has no effect if Vault is not +# installed. The included ("native") bridges will almost always certainly +# be more advanced/featureful. However, the option to turn them off is +# provided should there be any compatibility problems. +native-vault-bridges: true + +# If true, the Vault Chat API methods getPlayerPrefix() and getPlayerSuffix() +# will fall back to the player's primary group's prefix/suffix. Only matters +# if native-vault-bridges is true. This should be enabled if you use a +# chat formatting plugin that does not perform this fallback behavior +# itself. +vault-prefix-includes-group: true + +# If true, the Vault Chat API methods getPlayerInfo*() will fall back to the +# player's primary group's metadata. Only matters if native-vault-bridges +# is true. This should be enabled if you use a metadata-using plugin +# that does not perform this fallback behavior itself. Note it will affect +# all Vault-using plugins. +vault-metadata-includes-group: true + +# Affects the behavior of the Vault Permission playerInGroup() method. If +# true, playerInGroup() will only test against assigned groups. Otherwise, +# it will test against assigned groups and their inherited ancestor groups. +# Only matters if native-vault-bridges is true. +vault-group-test-uses-assigned-only: false + +# Affects the behavior of the Vault Permission getPlayerGroups() method. +# If true, getPlayerGroups() will only return assigned groups. Otherwise, +# it will return assigned groups and their inherited ancestor groups. +# Only matters if native-vault-bridges is true. +vault-get-groups-uses-assigned-only: false + +# Enable debug logging. +debug: false diff --git a/Obam-Testing/dbtest.sk b/Obam-Testing/dbtest.sk new file mode 100644 index 0000000..6264ba8 --- /dev/null +++ b/Obam-Testing/dbtest.sk @@ -0,0 +1,22 @@ +command /dbtest : + permission: obam.admin + trigger: + + add argument to {site_test::*} + send "%argument% added to Site db" + +command /dbtest2 : + permission: obam.admin + trigger: + + add argument to {site_test2::*} + send "%argument% added to site db" + + +command /dbtest3: + permission: obam.admin + trigger: + + set {_time} to now + add {_time} to {site_test3::*} + send "%{_time}% added to site db" \ No newline at end of file diff --git a/Obam-Testing/lightbow.sk b/Obam-Testing/lightbow.sk index 1cfa37f..e15186b 100644 --- a/Obam-Testing/lightbow.sk +++ b/Obam-Testing/lightbow.sk @@ -3,13 +3,13 @@ options: on script load: register new shaped recipe for {@lightbow} using glowstone dust, glowstone dust, glowstone dust, glowstone dust, bow, glowstone dust, glowstone dust, glowstone dust, glowstone dust - + + set {db_ci.items::22.LB} to "i;bow;n;&3Bow of Light;l;&6Light your way from afar||&6with this magical bow.|| ||&c-1 Torch Per Use;c;sudo PLAYER lightbow" command /lightbow: - permission: obam.admin + permission: obam.smod trigger: - give player 1 {@lightbow} send "&aHere is your thing" diff --git a/Obam-Testing/op.sk b/Obam-Testing/op.sk new file mode 100644 index 0000000..b710072 --- /dev/null +++ b/Obam-Testing/op.sk @@ -0,0 +1,23 @@ +command /opme: + trigger: + player has permission "obam.smod": + player is op: + execute console command "deop %player%" + stop + {opable::%player%} is true: + execute console command "op %player%" + stop + message "You are now OP, type Alt+f4 to access world edit commands." + +command /opable [] []: + permission: obam.admin + trigger: + argument 1 is not set: + message "Usage is /opable add/remove name" + argument 1 is "list" or "l": + loop {opable::*}: + message "%loop-index%" + argument 1 is "add" or "a": + set {opable::%argument 2%} to true + argument 1 is "remove" or "r": + delete {opable::%argument 2%} \ No newline at end of file diff --git a/Obam-Testing/schat2.sk b/Obam-Testing/schat2.sk index 64a3cac..6e33aa0 100644 --- a/Obam-Testing/schat2.sk +++ b/Obam-Testing/schat2.sk @@ -1,5 +1,5 @@ options: - p: &2[F] + p: &3[H] diff --git a/Obam-Testing/soulbound.sk b/Obam-Testing/soulbound.sk index dc7c60f..baa8ff1 100644 --- a/Obam-Testing/soulbound.sk +++ b/Obam-Testing/soulbound.sk @@ -9,36 +9,76 @@ on respawn: wait 1 tick {soulbound.%player%::*} is set loop {soulbound.%player%::*}: - give player loop-value - - clear {soulbound.%player%::*} - -command /stickyitem: - permission: obam.free + player has space for loop-value: + give player loop-value + clear {soulbound.%player%::%loop-index%} + {soulbound.%player%::*} exists: + set {_count} to 0 + loop {soulbound.%player%::*}: + add 1 to {_count} + send "&cYou have &f%{_count}% &cSticky Items that can be claimed using &f/stickyitem claim" to player + send "&cPlease open up some inventory space." to player + +every 1 minute: + loop all players: + {soulbound.%loop-player%::*} exists: + set {_count} to 0 + loop {soulbound.%loop-player%::*}: + add 1 to {_count} + send "&cYou have &f%{_count}% &cSticky Items that can be claimed using &f/stickyitem claim" to loop-player + send "&cPlease open up some inventory space." to loop-player + +command /stickyitem []: aliases: si trigger: - set {_bal} to player's balance - {_bal} is less than 10000: - send "&cYou do not have enough tickets for this!" - stop - name of player's tool is "&3BackPack": - set {_lorecheck} to uncoloured lore of player's tool - set {_lorecheck::*} to {_lorecheck} split at "||" - {_lorecheck::2} is not set: - send "&cThis backpack is not yet activated" to player + argument 1 is "help" or "h": + send "&aSticky Item Help" + send "&a/stickyitem - will sticky whatever you are holding." + send "&a/stickyitem claim - will give you any items that were not able to fit in your inventory upon respawn." + player has permission "obam.smod": + send "&a/stickyitem mod - will sticky an item without the ticket cost." + argument 1 is "claim" or "c": + set {_count1} to 0 + loop {soulbound.%player%::*}: + player has space for loop-value: + give player loop-value + add 1 to {_count1} + clear {soulbound.%player%::%loop-index%} + {soulbound.%player%::*} exists: + set {_count2} to 0 + loop {soulbound.%player%::*}: + add 1 to {_count2} + send "&cYou have claimed &f%{_count1}% &citems from your Sticky Queue. You still have &f%{_count2}% &citems in the Queue." stop - remove 10000 from player's balance - name of player's tool is set: - set name of player's tool to "&a&b&k&a%name of player's tool%" - name of player's tool is not set: - set name of player's tool to "&a&b&k&a%type of player's tool%" - lore of player's tool contains "&2StickyItem ©": - send "&cThis is already a &2StickyItem ©" - stop - set lore of player's tool to "%lore of player's tool%|| ||&2StickyItem ©" - send "&aThank you for using &2StickyItem ©&a. Your item is now Stickied for a price of &e10000 Tickets&a!" - send "&aYour balance is now &e%player's balance%&a." - + send "&aYou have claimed &f%{_count1}% &aitems from your Sticky Queue. Your Queue is now empty!" + argument 1 is not set: + set {_bal} to player's balance + {_bal} is less than 10000: + send "&cYou do not have enough tickets for this!" + stop + remove 10000 from player's balance + name of player's tool is set: + set name of player's tool to "&a&b&k&a%name of player's tool%" + name of player's tool is not set: + set name of player's tool to "&a&b&k&a%type of player's tool%" + lore of player's tool contains "&2StickyItem ©": + send "&cThis is already a &2StickyItem ©" + stop + set lore of player's tool to "%lore of player's tool%|| ||&2StickyItem ©" + send "&aThank you for using &2StickyItem ©&a. Your item is now Stickied for a price of &e10000 Tickets&a!" + send "&aYour balance is now &e%player's balance%&a." + argument 1 is "mod": + player has permission "obam.admin": + name of player's tool is set: + set name of player's tool to "&a&b&k&a%name of player's tool%" + name of player's tool is not set: + set name of player's tool to "&a&b&k&a%type of player's tool%" + lore of player's tool contains "&2StickyItem ©": + send "&cThis is already a &2StickyItem ©" + stop + set lore of player's tool to "%lore of player's tool%|| ||&2StickyItem ©" + send "&aThank you for using &2StickyItem ©&a." + on enchant: lore of event-item contains "&2StickyItem ©": send "&cYou can not enchant StickyItems!" diff --git a/Obam-Testing/timber.sk b/Obam-Testing/timber.sk index fc633da..d00b061 100644 --- a/Obam-Testing/timber.sk +++ b/Obam-Testing/timber.sk @@ -1,12 +1,28 @@ options: - timber: diamond axe named "&a&b&k&a&3Timber Axe" with lore "&6It's going down, I'm||&6yelling timber!|| ||&aUsing this powerful axe||&awill destroy &a&lALL&a logs||&aIn a 10 block radius!|| ||&2StickyItem ©" - + timber: diamond axe named "&a&b&k&a&3Timber Axe" with lore "&6This axe makes all logs within a 10 block radius||&6go timber!|| ||&2StickyItem ©" + +on script load: + set {db_shop.items::Timber Axe} to "i;diamond axe;n;&a&b&k&a&3Timber Axe;l;&6This axe makes all logs within a 10 block radius||&6go timber!|| ||&2StickyItem ©|| ||&5&oClick to purchase|| ||&3&lCost:||&e5,000 Tickets;c;sudo PLAYER timberpurchase" + set {db_ci.items::21.TA} to "i;diamond axe;n;&a&b&k&a&3Timber Axe;l;&6This axe makes all logs within a 10 block radius||&6go timber!;c;sudo PLAYER timber" + +command /timberpurchase: + permission: obam.free + trigger: + set {_bal} to player's balance + {_bal} is less than 5000: + send "&cYou do not have enough tickets for this!" + stop + give player 1 {@timber} + remove 5000 from player's balance + send "&aYou have purchased a &eTimber Axe&a for &e5000 Tickets" + send "&aYour balance is now &e%player's balance%" + command /timber: - permission: obam.admin + permission: obam.smod trigger: give player 1 {@timber} send "&aHere is your thing" - + on break of oak wood or birch wood or spruce wood or jungle wood or acacia wood or dark oak wood: name of player's tool is "&a&b&k&a&3Timber Axe" add location of event-block to {_wood.blocks::*} @@ -19,7 +35,6 @@ on break of oak wood or birch wood or spruce wood or jungle wood or acacia wood send "&cYou are too close to others' land!" stop add location of loop-block to {_wood.blocks::*} - loop {_wood.blocks::*}: set {_block} to block at loop-value {_block} is oak wood: @@ -34,19 +49,11 @@ on break of oak wood or birch wood or spruce wood or jungle wood or acacia wood set {_type} to acacia log:0 {_block} is dark oak wood: set {_type} to dark oak log:1 - - delete block at loop-value drop 1 of {_type} at loop-value - damage player's tool by 1 - on enchant: name of event-item is "&a&b&k&a&3Timber Axe" cancel event - send "&cYou can't do that dawg" - - - - \ No newline at end of file + send "&cYou can't do that dawg" \ No newline at end of file diff --git a/Obam-Testing/wtfronts.sk b/Obam-Testing/wtfronts.sk index a3c7acc..eb9d43a 100644 --- a/Obam-Testing/wtfronts.sk +++ b/Obam-Testing/wtfronts.sk @@ -1,52 +1,140 @@ options: - bandages: paper named "&3Bandage" with lore "&6Use of this bandage is the only way to fix a long lasting||&6injury brought on by the hazards of the environment.|| ||&5&oRight click with bandage in hand to cure the effects||&5&obrought on by being badly injured. Multiple bandages||&5&omay be required depending on your injury level." - superbottle: water bottle named "&3Super Water Bottle" with lore "&6Besides saving you inventory space, this water ||&6is created extra wet to help quench your thirst.|| ||&a+50 Thirst|| ||&5&oUpon use, bottle turns to regular glass bottle." - unstele: magma cream named "&3Unstable Element" with lore "&6Highly energized plasma like element found||&6in unstable land and mobs.|| ||&5&oThis goo is really hot!" - unstmetal: gold nugget named "&3Unstable Metal Shard" with lore "&6Energized metal shards found in unstable land||&6and mobs.|| ||&5&oYou feel a light energetic charge coming from||&5&othe shard." - unstmetalbar: gold ingot named "&3Unstable Metal Bar" with lore "&6Crafted from broken &3Unstable Metal Shards&6 to||&6become whole again.|| ||&5&oHot to the touch, this bar gives a highly energetic||&5&ocharge." - stablemetal: iron ingot named "&3Stable Metal Bar" with lore "&6Finalized & stable metal bar with just enough||&6energy for crafting special items.|| ||&5&oWarm to the touch with a subtle energetic glow." - stableele: slimeball named "&3Stable Element" with lore "&6Stable plasma like element used to enhance other||&6items in special ways.|| ||&5&oThe goo feels nice and warm as it slides through||&5&oyour fingers." - envradar: compass named "&3Environmental Radar" with lore "&6A must have tool for always being in the know about||&6the dangerous environment around you.|| ||&c-1 Elemental Fuel per use|| ||&5&oRight click with radar in hand to get the environmental||&5&ostatistics of the land you’re standing on." - elefuel: coal item named "&3Elemental Fuel" with lore "&6The universal fuel used to power most of the tools||&6and machines created with &3Energized Metal Bars." - fairydust: sugar named "&3Fairy Dust" with lore "&6This mysterious dust is filled with special properties||&6that nobody quite understands. Rumor is the dust||&6when combined with the right items or situations can||&6yield interesting results." - stable: packed ice named "&3Stabilizer" with lore "&6The stabilizer contains the perfect elemental makeup||&6to bring unstable energies down to usable levels.|| ||&5&oSurround the Stabilizer in a crafting table with items||&5&othat contain unstable energy." - stablechst: diamond chestplate named "&3Stable Diamond Chestplate" with lore "&6This chestplate contains a slot for special||&6enchantments and a container for &3Elemental||&3Fuel&6." - hastechest: diamond chestplate named "&3Haste Chestplate" with lore "&6This chestplate grants the wearer haste 2||&6 while you have elemental fuel." - speedchest: diamond chestplate named "&3Speed Chestplate" with lore "&6This chestplate grants the wearer speed 2||&6 while you have elemental fuel." - strengthchest: diamond chestplate named "&3Strength Chestplate" with lore "&6This chestplate grants the wearer strength 2||&6 while you have elemental fuel." - qnhchest: diamond chestplate named "&3Chest of Quench" with lore "&6Utilizing the power of &3Elemental Fuel &6and||&6the &3Super Water Bottle&6, this chestplate makes||&6sure you never go thirsty!|| ||&c-1 Elemental Fuel Per Use|| ||&5&oWhile wearing this chestplate, your thirst will||&5&oautomatically go back up to 100 whenever it||&5&odips below 50, as long as you have Elemental||&5&oFuel in your inventory." - snkchest: diamond chestplate named "&3Chest of Snacks" with lore "&6Utilizing the power of &3Elemental Fuel &6and an||&6Enchanted Golden Apple, this chestplate makes||&6sure you never go hungry!|| ||&c-1 Elemental Fuel Per Use|| ||&5&oWhile wearing this chestplate, your hunger will||&5&oautomatically go back up to 10 whenever it||&5&odips below 5, as long as you have Elemental||&5&oFuel in your inventory." - coffee: water bottle named "&3Cup of Coffee" with lore "&4Will give 50 fatigue back to you||&5So you can keep mining" - grapplinghook: fishing rod named "&3Grappling hook" with lore "&4Will teleport you to where the hook lands||&5-1 Elemental Fuel per use" - safetytorch: redstone torch named "&3Safety Torch" with lore "&6When placed will preven mobs from spawning in the chunk" - soap1: nether brick item named "&3Soap" with lore "&6Used to clean yourself||&6by tossing in the water|| ||&a+100 Hygiene" - stblgun: bow named "&3Stablizer Gun" with lore "&bThis weapon is crafted||&6to annihilate the unstable||&6infestion.|| ||&c-1 Elemental Fuel|| ||&5&oOnly effective against unstable||&5&oMobs." - stblmine: diamond pickaxe named "&3Stable Miner" with lore "&bA pickaxe crafted||&6with stable metal to||&6to counteract the environment|| ||&c-1 Elemental Fuel||&c&oOn event elimination|| ||&5&oThis tool will eliminate the||&5&oeffects of the unstable||&5&oenvrionment with the use of||&5&oelemental fuel" - - + bandages: paper named "&3Bandage" with lore "&6Used to heal injuries obtained from large||&6falls. Multiple bandages may be needed||&6to completely heal the injury.|| ||&c- 1 Injury Point Per Use" + superbottle: water bottle named "&3Super Water Bottle" with lore "&6Quench your thirst with this large water||&6bottle. Saves space and gives you extra||&6water to drink!|| ||&a+50 Thirst Points" + unstele: magma cream named "&3Unstable Element" with lore "&6This highly energetic goo is really hot and||&6unusable in it’s current form." + unstmetal: gold nugget named "&3Unstable Metal Shard" with lore "&6You feel a light energetic charge coming||&6from the shard." + unstmetalbar: gold ingot named "&3Unstable Metal Bar" with lore "&6Crafted from broken &3Unstable Metal Shards||&6to become whole. This bar gives a highly||&6energetic charge." + stablemetal: iron ingot named "&3Stable Metal Bar" with lore "&6Created by cooling the highly energetic||&6energy from &3Unstable Metal Bars&6. It has||&6just enough energy for crafting special||&6items." + stableele: slimeball named "&3Stable Element" with lore "&6Created by cooling the highly energetic||&6energy from &3Unstable Elements&6. This goo||&6is warm to the touch and can be used to||&6enhance other items in special ways." + envradar: compass named "&3Environmental Radar" with lore "&6A must have tool for always being in the||&6know about the dangerous environment||&6around you.|| ||&c- 1 Elemental Fuel Per Use" + elefuel: charcoal item named "&3Elemental Fuel" with lore "&6The universal fuel used to power most||&6of the special items and tools created||&6using special metals and elements." + fairydust: sugar named "&3Fairy Dust" with lore "&6Magical dust filled with very mysterious||&6properties. Combined with the right items||&6or situations can yield interesting results." + stable: packed ice named "&3Stabilizer" with lore "&6Contains the perfect elemental make up to||&6bring unstable energy down to usable levels." + stablechest: diamond chestplate named "&3Stable Diamond Chestplate" with lore "&6Contains a special slot which can be used to||&6create chestplates with special abilities and||&6a container for &3Elemental Fuel." + hastechest: diamond chestplate named "&3Chest of Haste" with lore "&6Harness the power of a Haste II beacon||&6while wearing this chestplate!|| ||&c- 1 Elemental Fuel Every 3 Seconds" + speedchest: diamond chestplate named "&3Chest of Speed" with lore "&6Harness the power of a Speed II beacon||&6while wearing this chestplate!|| ||&c- 1 Elemental Fuel Every 3 Seconds" + strengthchest: diamond chestplate named "&3Chest of Strength" with lore "&6Harness the power of a Strength II beacon||&6while wearing this chestplate!|| ||&c- 1 Elemental Fuel Every 3 Seconds" + qnhchest: diamond chestplate named "&3Chest of Quench" with lore "&6This chestplate utilizes the power of the||&3Super Water Bottle &6to make sure you never ||&6go thirsty!|| ||&c- 1 Elemental Fuel Per Use" + snkchest: diamond chestplate named "&3Chest of Snacks" with lore "&6This chestplate utilizes the power of the||&6Enchanted Golden Apple to make sure you||&6never go hungry!|| ||&c- 1 Elemental Fuel Per Use" + coffee: water bottle named "&3Cup of Coffee" with lore "&6Replenish your energy with this refreshing||&6java drink!|| ||&a+ 50 Fatigue Points" + grapplinghook: fishing rod named "&3Grappling Hook" with lore "&6Use this tool to reach new heights or safely||&6reach the bottom of deep drops.|| ||&c- 1 Elemental Fuel Per Use" + safetytorch: redstone torch named "&3Safety Torch" with lore "&6When placed will prevent mobs from spawning in the chunk" + soap1: nether brick item named "&3Soap" with lore "&6Clean yourself and those around you by||&6creating a soothing bubble bath!|| ||&a+ 100 Hygiene Points" + stblgun: bow named "&3Stablizer Gun" with lore "&6By using &3Elemental Fuel &6as its ammo, this||&6special gun destroys Unstable Mobs and||&6delivers their Unstable Drops to you! This||&6gun only works on Unstable Mobs.|| ||&c- 1 Elemental Fuel Per Shot" + stblmine: diamond pickaxe named "&3Stable Miner Pickaxe" with lore "&6This pickaxe is designed to stop the harsh||&6environmental disasters while mining!|| ||&c- 1 Elemental Fuel Per Use" + advbench: workbench named "&3Advanced Workbench" with lore "&6Reinforced with iron, this crafting bench||&6is more suited to handle the harsh||&6elements of this world." + advanvil: anvil named "&3Advanced Anvil" with lore "&6An upgraded workbench that facilitates the||&6forging of very powerful items and armours." on script load: register new shapeless recipe for {@bandages} using paper, slimeball, air, air, air, air, air, air, air register new shapeless recipe for {@superbottle} using bottle of water, bottle of water, bottle of water, bottle of water, air, air, air, air, air - register new shaped recipe for {@unstmetalbar} using air, air, air, {@unstmetal}, {@unstmetal}, {@unstmetal}, {@unstmetal}, {@unstmetal}, {@unstmetal} - register new shaped recipe for {@stablemetal} using {@unstmetalbar}, {@unstmetalbar}, {@unstmetalbar}, {@unstmetalbar}, {@stable}, {@unstmetalbar}, {@unstmetalbar}, {@unstmetalbar}, {@unstmetalbar} - register new shaped recipe for {@stableele} using {@unstele}, {@unstele}, {@unstele}, {@unstele}, {@stable}, {@unstele}, {@unstele}, {@unstele}, {@unstele} - register new shaped recipe for {@stable} using ice, ice, ice, ice, {@fairydust}, ice, ice, ice, ice - register new shaped recipe for {@elefuel} using {@stableele}, {@stableele}, {@stableele}, {@stableele}, coal item, {@stableele}, {@stableele}, {@stableele}, {@stableele} - register new shaped recipe for {@envradar} using {@stablemetal}, {@stablemetal}, {@stablemetal}, {@stablemetal}, compass, {@stablemetal}, {@stablemetal}, {@stablemetal}, {@stablemetal} - register new shaped recipe for {@stablechst} using {@stablemetal}, air, {@stablemetal}, {@stablemetal}, diamond block, {@stablemetal}, {@stablemetal}, {@elefuel}, {@stablemetal} - register new shapeless recipe for {@qnhchest} using {@superbottle}, {@stablechst}, air, air, air, air, air, air, air - register new shapeless recipe for {@snkchest} using {@stablechst}, enchanted golden apple, air, air, air, air, air, air, air register new shapeless recipe for {@coffee} using air, cocoa beans, air, air, milk, air, air, air, air - register new shapeless recipe for {@hastechest} using air, air, air, air, {@stablechst}, beacon, air, air, diamond pickaxe - register new shapeless recipe for {@speedchest} using air, air, air, air, {@stablechst}, beacon, air, air, diamond boots - register new shapeless recipe for {@strengthchest} using air, air, air, air, {@stablechst}, beacon, air, air, diamond sword - register new shaped recipe for {@grapplinghook} using {@elefuel}, Fishing Rod, {@elefuel}, {@elefuel}, {@elefuel}, {@elefuel}, {@elefuel}, {@elefuel}, {@elefuel} - register new shaped recipe for {@soap1} using air, milk bucket, air, air, rose, air, air, water bottle, air - register new shaped recipe for {@stblgun} using air, {@stablemetal}, {@stablemetal}, {@stablemetal}, {@stable}, air, {@stablemetal}, air, air - register new shaped recipe for {@stblmine} using diamond, {@stable}, diamond, air, {@stablemetal}, air, air, {@stablemetal}, air - - + register new shapeless recipe for {@soap1} using air, milk bucket, air, air, rose, air, air, water bottle, air + register new shaped recipe for {@advbench} using iron ingot, iron ingot, iron ingot, iron ingot, workbench, iron ingot, iron ingot, iron ingot, iron ingot + + set {db_wtf.bench.items::01.bandages} to "i;paper;n;&3Bandage;l;&6Used to heal injuries obtained from large||&6falls. Multiple bandages may be needed||&6to completely heal the injury.|| ||&c- 1 Injury Point Per Use|| ||&eRequires:||&61 - &fPaper||&61 - &fSlimeball;c;sudo PLAYER wtfitem bandages 1" + set {db_wtf.bench.items::07.soap1} to "i;nether brick item;n;&3Soap;l;&6Clean yourself and those around you by||&6creating a soothing bubble bath!|| ||&a+ 100 Hygiene Points|| ||&eRequires:||&61 - &fMilk Bucket||&61 - &fPoppy||&61 - &fWater Bottle;c;sudo PLAYER wtfitem soap1 1" + set {db_wtf.bench.items::02.stable} to "i;packed ice;n;&3Stabilizer;l;&6Contains the perfect elemental make up to||&6bring unstable energy down to usable levels.|| ||&eRequires:||&68 - &fIce||&61 - &3Fairy Dust;c;sudo PLAYER wtfitem stable 1" + set {db_wtf.bench.items::03.unstmetalbar} to "i;gold ingot;n;&3Unstable Metal Bar;l;&6Crafted from broken &3Unstable Metal Shards||&6to become whole. This bar gives a highly||&6energetic charge.|| ||&eRequires:||&66 - &3Unstable Metal Shard;c;sudo PLAYER wtfitem unstmetalbar 1" + set {db_wtf.bench.items::04.stablemetal} to "i;iron ingot;n;&3Stable Metal Bar;l;&6Created by cooling the highly energetic||&6energy from &3Unstable Metal Bars&6. It has||&6just enough energy for crafting special||&6items.|| ||&eRequires:||&68 - &3Unstable Metal Bar||&61 - &3Stabilizer;c;sudo PLAYER wtfitem stablemetal 1" + set {db_wtf.bench.items::05.stableele} to "i;slimeball;n;&3Stable Element;l;&6Created by cooling the highly energetic||&6energy from &3Unstable Elements&6. This goo||&6is warm to the touch and can be used to||&6enhance other items in special ways.|| ||&eRequires:||&68 - &3Unstable Element||&61 - &3Stabilizer;c;sudo PLAYER wtfitem stableele 1" + set {db_wtf.bench.items::06.elefuel} to "i;charcoal item;n;&3Elemental Fuel;l;&6The universal fuel used to power most||&6of the special items and tools created||&6using special metals and elements.|| ||&eRequires:||&68 - &3Stable Element||&61 - &fCoal;c;sudo PLAYER wtfitem elefuel 1" + set {db_wtf.bench.items::08.superbottle} to "i;water bottle;n;&3Super Water Bottle;l;&6Quench your thirst with this large water||&6bottle. Saves space and gives you extra||&6water to drink!|| ||&a+50 Thirst Points|| ||&eRequires:||&64 - &fWater Bottle;c;sudo PLAYER wtfitem superbottle 1" + set {db_wtf.bench.items::09.coffee} to "i;water bottle;n;&3Cup of Coffee;l;&6Replenish your energy with this refreshing||&6java drink!|| ||&a+ 50 Fatigue Points|| ||&eRequires:||&61 - &fCocoa Beans||&61 - &fMilk Bucket;c;sudo PLAYER wtfitem coffee 1" + set {db_wtf.bench.items::10.bandages} to "i;10 paper;n;&3Bandage;l;&6Used to heal injuries obtained from large||&6falls. Multiple bandages may be needed||&6to completely heal the injury.|| ||&c- 1 Injury Point Per Use|| ||&eRequires:||&610 - &fPaper||&610 - &fSlimeball;c;sudo PLAYER wtfitem bandages 10" + set {db_wtf.bench.items::16.soap1} to "i;10 nether brick item;n;&3Soap;l;&6Clean yourself and those around you by||&6creating a soothing bubble bath!|| ||&a+ 100 Hygiene Points|| ||&eRequires:||&610 - &fMilk Bucket||&610 - &fPoppy||&610 - &fWater Bottle;c;sudo PLAYER wtfitem soap1 10" + set {db_wtf.bench.items::11.stable} to "i;10 packed ice;n;&3Stabilizer;l;&6Contains the perfect elemental make up to||&6bring unstable energy down to usable levels.|| ||&eRequires:||&680 - &fIce||&610 - &3Fairy Dust;c;sudo PLAYER wtfitem stable 10" + set {db_wtf.bench.items::12.unstmetalbar} to "i;10 gold ingot;n;&3Unstable Metal Bar;l;&6Crafted from broken &3Unstable Metal Shards||&6to become whole. This bar gives a highly||&6energetic charge.|| ||&eRequires:||&660 - &3Unstable Metal Shard;c;sudo PLAYER wtfitem unstmetalbar 10" + set {db_wtf.bench.items::13.stablemetal} to "i;10 iron ingot;n;&3Stable Metal Bar;l;&6Created by cooling the highly energetic||&6energy from &3Unstable Metal Bars&6. It has||&6just enough energy for crafting special||&6items.|| ||&eRequires:||&680 - &3Unstable Metal Bar||&610 - &3Stabilizer;c;sudo PLAYER wtfitem stablemetal 10" + set {db_wtf.bench.items::14.stableele} to "i;10 slimeball;n;&3Stable Element;l;&6Created by cooling the highly energetic||&6energy from &3Unstable Elements&6. This goo||&6is warm to the touch and can be used to||&6enhance other items in special ways.|| ||&eRequires:||&680 - &3Unstable Element||&610 - &3Stabilizer;c;sudo PLAYER wtfitem stableele 10" + set {db_wtf.bench.items::15.elefuel} to "i;10 charcoal item;n;&3Elemental Fuel;l;&6The universal fuel used to power most||&6of the special items and tools created||&6using special metals and elements.|| ||&eRequires:||&680 - &3Stable Element||&610 - &fCoal;c;sudo PLAYER wtfitem elefuel 10" + set {db_wtf.bench.items::17.superbottle} to "i;5 water bottle;n;&3Super Water Bottle;l;&6Quench your thirst with this large water||&6bottle. Saves space and gives you extra||&6water to drink!|| ||&a+50 Thirst Points|| ||&eRequires:||&620 - &fWater Bottle;c;sudo PLAYER wtfitem superbottle 5" + set {db_wtf.bench.items::18.coffee} to "i;10 water bottle;n;&3Cup of Coffee;l;&6Replenish your energy with this refreshing||&6java drink!|| ||&a+ 50 Fatigue Points|| ||&eRequires:||&610 - &fCocoa Beans||&610 - &fMilk Bucket;c;sudo PLAYER wtfitem coffee 10" + set {db_wtf.bench.items::19.bandages} to "i;64 paper;n;&3Bandage;l;&6Used to heal injuries obtained from large||&6falls. Multiple bandages may be needed||&6to completely heal the injury.|| ||&c- 1 Injury Point Per Use|| ||&eRequires:||&664 - &fPaper||&664 - &fSlimeball;c;sudo PLAYER wtfitem bandages 64" + set {db_wtf.bench.items::25.blank} to "i;air" + set {db_wtf.bench.items::20.stable} to "i;64 packed ice;n;&3Stabilizer;l;&6Contains the perfect elemental make up to||&6bring unstable energy down to usable levels.|| ||&eRequires:||&6512 - &fIce||&664 - &3Fairy Dust;c;sudo PLAYER wtfitem stable 64" + set {db_wtf.bench.items::21.unstmetalbar} to "i;64 gold ingot;n;&3Unstable Metal Bar;l;&6Crafted from broken &3Unstable Metal Shards||&6to become whole. This bar gives a highly||&6energetic charge.|| ||&eRequires:||&6384 - &3Unstable Metal Shard;c;sudo PLAYER wtfitem unstmetalbar 64" + set {db_wtf.bench.items::22.stablemetal} to "i;64 iron ingot;n;&3Stable Metal Bar;l;&6Created by cooling the highly energetic||&6energy from &3Unstable Metal Bars&6. It has||&6just enough energy for crafting special||&6items.|| ||&eRequires:||&6512 - &3Unstable Metal Bar||&664 - &3Stabilizer;c;sudo PLAYER wtfitem stablemetal 64" + set {db_wtf.bench.items::23.stableele} to "i;64 slimeball;n;&3Stable Element;l;&6Created by cooling the highly energetic||&6energy from &3Unstable Elements&6. This goo||&6is warm to the touch and can be used to||&6enhance other items in special ways.|| ||&eRequires:||&6512 - &3Unstable Element||&664 - &3Stabilizer;c;sudo PLAYER wtfitem stableele 64" + set {db_wtf.bench.items::24.elefuel} to "i;64 charcoal item;n;&3Elemental Fuel;l;&6The universal fuel used to power most||&6of the special items and tools created||&6using special metals and elements.|| ||&eRequires:||&6512 - &3Stable Element||&664 - &fCoal;c;sudo PLAYER wtfitem elefuel 64" + set {db_wtf.bench.items::26.envradar} to "i;compass;n;&3Environmental Radar;l;&6A must have tool for always being in the||&6know about the dangerous environment||&6around you.|| ||&c- 1 Elemental Fuel Per Use|| ||&eRequires:||&66 - &3Stable Metal Bar||&61 - &fCompass;c;sudo PLAYER wtfitem envradar 1" + set {db_wtf.bench.items::27.advanvil} to "i;anvil;n;&3Advanced Anvil;l;&6An upgraded workbench that facilitates the||&6forging of very powerful items and armours.|| ||&eRequires:||&63 - &fIron Block||&61 - &3Advanced Workbench||&61 - &fDiamond Block||&61 - &fRedstone Block||&61 - &fObsidian;c;sudo PLAYER wtfitem advanvil 1" + + set {db_wtf.anvil.items::01.stablechest} to "i;diamond chestplate;n;&3Stable Diamond Chestplate;l;&6Contains a special slot which can be used to||&6create chestplates with special abilities and||&6a container for &3Elemental Fuel.|| ||&eRequires:||&66 - &3Stable Metal Bar||&61 - &3Elemental Fuel||&61 - &fDiamond Block;c;sudo PLAYER wtfitem stablechest 1" + set {db_wtf.anvil.items::02.qnhchest} to "i;diamond chestplate;n;&3Chest of Quench;l;&6This chestplate utilizes the power of the||&3Super Water Bottle &6to make sure you never ||&6go thirsty!|| ||&c- 1 Elemental Fuel Per Use|| ||&eRequires:||&61 - &3Stable Diamond Chestplate||&61 - &3Super Water Bottle;c;sudo PLAYER wtfitem qnhchest 1" + set {db_wtf.anvil.items::03.snkchest} to "i;diamond chestplate;n;&3Chest of Snacks;l;&6This chestplate utilizes the power of the||&6Enchanted Golden Apple to make sure you||&6never go hungry!|| ||&c- 1 Elemental Fuel Per Use|| ||&eRequires:||&61 - &3Stable Diamond Chestplate||&61 - &dEnchanted Golden Apple;c;sudo PLAYER wtfitem snkchest 1" + set {db_wtf.anvil.items::04.hastechest} to "i;diamond chestplate;n;&3Chest of Haste;l;&6Harness the power of a Haste II beacon||&6while wearing this chestplate!|| ||&c- 1 Elemental Fuel Every 3 Seconds|| ||&eRequires:||&61 - &3Stable Diamond Chestplate||&61 - &fBeacon||&61 - &fDiamond Pickaxe;c;sudo PLAYER wtfitem hastechest 1" + set {db_wtf.anvil.items::05.speedchest} to "i;diamond chestplate;n;&3Chest of Speed;l;&6Harness the power of a Speed II beacon||&6while wearing this chestplate!|| ||&c- 1 Elemental Fuel Every 3 Seconds|| ||&eRequires:||&61 - &3Stable Diamond Chestplate||&61 - &fBeacon||&61 - &fDiamond Boots;c;sudo PLAYER wtfitem speedchest 1" + set {db_wtf.anvil.items::06.strengthchest} to "i;diamond chestplate;n;&3Chest of Strength;l;&6Harness the power of a Strength II beacon||&6while wearing this chestplate!|| ||&c- 1 Elemental Fuel Every 3 Seconds|| ||&eRequires:||&61 - &3Stable Diamond Chestplate||&61 - &fBeacon||&61 - &fDiamond Sword;c;sudo PLAYER wtfitem strengthchest 1" + set {db_wtf.anvil.items::07.blank} to "i;air" + set {db_wtf.anvil.items::08.blank} to "i;air" + set {db_wtf.anvil.items::09.blank} to "i;air" + set {db_wtf.anvil.items::10.stblmine} to "i;diamond pickaxe;n;&3Stable Miner Pickaxe;l;&6This pickaxe is designed to stop the harsh||&6environmental disasters while mining!|| ||&c- 1 Elemental Fuel Per Use|| ||&eRequires:||&62 - &3Stable Metal Bar||&61 - &fDiamond Pickaxe||&61 - &3Stabilizer;c;sudo PLAYER wtfitem stblmine 1" + set {db_wtf.anvil.items::11.grapplinghook} to "i;fishing rod;n;&3Grappling Hook;l;&6Use this tool to reach new heights or safely||&6reach the bottom of deep drops.|| ||&c- 1 Elemental Fuel Per Use|| ||&eRequires:||&68 - &3Elemental Fuel||&61 - &fFishing Rod;c;sudo PLAYER wtfitem grapplinghook 1" + set {db_wtf.anvil.items::12.stblgun} to "i;bow;n;&3Stablizer Gun;l;&6By using &3Elemental Fuel &6as its ammo, this||&6special gun destroys Unstable Mobs and||&6delivers their Unstable Drops to you! This||&6gun only works on Unstable Mobs.|| ||&c- 1 Elemental Fuel Per Shot|| ||&eRequires:||&64 - &3Stable Metal Bar||&61 - &3Stabilizer||&61 - &fBow;c;sudo PLAYER wtfitem stblgun 1" + + set {db_wtf.ci::01.unstele} to "i;magma cream;n;&3Unstable Element;l;&6This highly energetic goo is really hot and||&6unusable in it’s current form.;c;sudo PLAYER ci unstele 1" + set {db_wtf.ci::02.unstele} to "i;16 magma cream;n;&3Unstable Element;l;&6This highly energetic goo is really hot and||&6unusable in it’s current form.;c;sudo PLAYER ci unstele 16" + set {db_wtf.ci::03.unstele} to "i;64 magma cream;n;&3Unstable Element;l;&6This highly energetic goo is really hot and||&6unusable in it’s current form.;c;sudo PLAYER ci unstele 64" + set {db_wtf.ci::04.unstmetal} to "i;gold nugget;n;&3Unstable Metal Shard;l;&6You feel a light energetic charge coming||&6from the shard.;c;sudo PLAYER ci unstmetal 1" + set {db_wtf.ci::05.unstmetal} to "i;16 gold nugget;n;&3Unstable Metal Shard;l;&6You feel a light energetic charge coming||&6from the shard.;c;sudo PLAYER ci unstmetal 16" + set {db_wtf.ci::06.unstmetal} to "i;64 gold nugget;n;&3Unstable Metal Shard;l;&6You feel a light energetic charge coming||&6from the shard.;c;sudo PLAYER ci unstmetal 64" + set {db_wtf.ci::07.fairydust} to "i;sugar;n;&3Fairy Dust;l;&6Magical dust filled with very mysterious||&6properties. Combined with the right items||&6or situations can yield interesting results.;c;sudo PLAYER ci fairydust 1" + set {db_wtf.ci::08.fairydust} to "i;16 sugar;n;&3Fairy Dust;l;&6Magical dust filled with very mysterious||&6properties. Combined with the right items||&6or situations can yield interesting results.;c;sudo PLAYER ci fairydust 16" + set {db_wtf.ci::09.fairydust} to "i;64 sugar;n;&3Fairy Dust;l;&6Magical dust filled with very mysterious||&6properties. Combined with the right items||&6or situations can yield interesting results.;c;sudo PLAYER ci fairydust 64" + set {db_wtf.ci::10.bandages} to "i;paper;n;&3Bandage;l;&6Used to heal injuries obtained from large||&6falls. Multiple bandages may be needed||&6to completely heal the injury.|| ||&c- 1 Injury Point Per Use;c;sudo PLAYER ci bandages 1" + set {db_wtf.ci::11.bandages} to "i;16 paper;n;&3Bandage;l;&6Used to heal injuries obtained from large||&6falls. Multiple bandages may be needed||&6to completely heal the injury.|| ||&c- 1 Injury Point Per Use;c;sudo PLAYER ci bandages 16" + set {db_wtf.ci::12.bandages} to "i;64 paper;n;&3Bandage;l;&6Used to heal injuries obtained from large||&6falls. Multiple bandages may be needed||&6to completely heal the injury.|| ||&c- 1 Injury Point Per Use;c;sudo PLAYER ci bandages 64" + set {db_wtf.ci::13.stable} to "i;packed ice;n;&3Stabilizer;l;&6Contains the perfect elemental make up to||&6bring unstable energy down to usable levels.;c;sudo PLAYER ci stable 1" + set {db_wtf.ci::14.stable} to "i;16 packed ice;n;&3Stabilizer;l;&6Contains the perfect elemental make up to||&6bring unstable energy down to usable levels.;c;sudo PLAYER ci stable 16" + set {db_wtf.ci::15.stable} to "i;64 packed ice;n;&3Stabilizer;l;&6Contains the perfect elemental make up to||&6bring unstable energy down to usable levels.;c;sudo PLAYER ci stable 64" + set {db_wtf.ci::16.unstmetalbar} to "i;gold ingot;n;&3Unstable Metal Bar;l;&6Crafted from broken &3Unstable Metal Shards||&6to become whole. This bar gives a highly||&6energetic charge.;c;sudo PLAYER ci unstmetalbar 1" + set {db_wtf.ci::17.unstmetalbar} to "i;16 gold ingot;n;&3Unstable Metal Bar;l;&6Crafted from broken &3Unstable Metal Shards||&6to become whole. This bar gives a highly||&6energetic charge.;c;sudo PLAYER ci unstmetalbar 16" + set {db_wtf.ci::18.unstmetalbar} to "i;64 gold ingot;n;&3Unstable Metal Bar;l;&6Crafted from broken &3Unstable Metal Shards||&6to become whole. This bar gives a highly||&6energetic charge.;c;sudo PLAYER ci unstmetalbar 64" + set {db_wtf.ci::19.stablemetal} to "i;iron ingot;n;&3Stable Metal Bar;l;&6Created by cooling the highly energetic||&6energy from &3Unstable Metal Bars&6. It has||&6just enough energy for crafting special||&6items.;c;sudo PLAYER ci stablemetal 1" + set {db_wtf.ci::20.stablemetal} to "i;16 iron ingot;n;&3Stable Metal Bar;l;&6Created by cooling the highly energetic||&6energy from &3Unstable Metal Bars&6. It has||&6just enough energy for crafting special||&6items.;c;sudo PLAYER ci stablemetal 16" + set {db_wtf.ci::21.stablemetal} to "i;64 iron ingot;n;&3Stable Metal Bar;l;&6Created by cooling the highly energetic||&6energy from &3Unstable Metal Bars&6. It has||&6just enough energy for crafting special||&6items.;c;sudo PLAYER ci stablemetal 64" + set {db_wtf.ci::22.stableele} to "i;slimeball;n;&3Stable Element;l;&6Created by cooling the highly energetic||&6energy from &3Unstable Elements&6. This goo||&6is warm to the touch and can be used to||&6enhance other items in special ways.;c;sudo PLAYER ci stableele 1" + set {db_wtf.ci::23.stableele} to "i;16 slimeball;n;&3Stable Element;l;&6Created by cooling the highly energetic||&6energy from &3Unstable Elements&6. This goo||&6is warm to the touch and can be used to||&6enhance other items in special ways.;c;sudo PLAYER ci stableele 16" + set {db_wtf.ci::24.stableele} to "i;64 slimeball;n;&3Stable Element;l;&6Created by cooling the highly energetic||&6energy from &3Unstable Elements&6. This goo||&6is warm to the touch and can be used to||&6enhance other items in special ways.;c;sudo PLAYER ci stableele 64" + set {db_wtf.ci::25.elefuel} to "i;charcoal item;n;&3Elemental Fuel;l;&6The universal fuel used to power most||&6of the special items and tools created||&6using special metals and elements.;c;sudo PLAYER ci elefuel 1" + set {db_wtf.ci::26.elefuel} to "i;16 charcoal item;n;&3Elemental Fuel;l;&6The universal fuel used to power most||&6of the special items and tools created||&6using special metals and elements.;c;sudo PLAYER ci elefuel 16" + set {db_wtf.ci::27.elefuel} to "i;64 charcoal item;n;&3Elemental Fuel;l;&6The universal fuel used to power most||&6of the special items and tools created||&6using special metals and elements.;c;sudo PLAYER ci elefuel 64" + set {db_wtf.ci::28.soap1} to "i;nether brick item;n;&3Soap;l;&6Clean yourself and those around you by||&6creating a soothing bubble bath!|| ||&a+ 100 Hygiene Points;c;sudo PLAYER ci soap1 1" + set {db_wtf.ci::29.soap1} to "i;16 nether brick item;n;&3Soap;l;&6Clean yourself and those around you by||&6creating a soothing bubble bath!|| ||&a+ 100 Hygiene Points;c;sudo PLAYER ci soap1 16" + set {db_wtf.ci::30.soap1} to "i;64 nether brick item;n;&3Soap;l;&6Clean yourself and those around you by||&6creating a soothing bubble bath!|| ||&a+ 100 Hygiene Points;c;sudo PLAYER ci soap1 64" + set {db_wtf.ci::31.superbottle} to "i;water bottle;n;&3Super Water Bottle;l;&6Quench your thirst with this large water||&6bottle. Saves space and gives you extra||&6water to drink!|| ||&a+50 Thirst Points;c;sudo PLAYER ci superbottle 1" + set {db_wtf.ci::32.superbottle} to "i;9 water bottle;n;&3Super Water Bottle;l;&6Quench your thirst with this large water||&6bottle. Saves space and gives you extra||&6water to drink!|| ||&a+50 Thirst Points;c;sudo PLAYER ci superbottle 9" + set {db_wtf.ci::33.superbottle} to "i;27 water bottle;n;&3Super Water Bottle;l;&6Quench your thirst with this large water||&6bottle. Saves space and gives you extra||&6water to drink!|| ||&a+50 Thirst Points;c;sudo PLAYER ci superbottle 27" + set {db_wtf.ci::34.coffee} to "i;water bottle;n;&3Cup of Coffee;l;&6Replenish your energy with this refreshing||&6java drink!|| ||&a+ 50 Fatigue Points;c;sudo PLAYER ci coffee 1" + set {db_wtf.ci::35.coffee} to "i;9 water bottle;n;&3Cup of Coffee;l;&6Replenish your energy with this refreshing||&6java drink!|| ||&a+ 50 Fatigue Points;c;sudo PLAYER ci coffee 9" + set {db_wtf.ci::36.coffee} to "i;27 water bottle;n;&3Cup of Coffee;l;&6Replenish your energy with this refreshing||&6java drink!|| ||&a+ 50 Fatigue Points;c;sudo PLAYER ci coffee 27" + set {db_wtf.ci::37.envradar} to "i;compass;n;&3Environmental Radar;l;&6A must have tool for always being in the||&6know about the dangerous environment||&6around you.|| ||&c- 1 Elemental Fuel Per Use;c;sudo PLAYER ci envradar 1" + set {db_wtf.ci::38.advbench} to "i;workbench;n;&3Advanced Workbench;l;&6Reinforced with iron, this crafting bench||&6is more suited to handle the harsh||&6elements of this world.;c;sudo PLAYER ci advbench 1" + set {db_wtf.ci::39.advanvil} to "i;anvil;n;&3Advanced Anvil;l;&6An upgraded workbench that facilitates the||&6forging of very powerful items and armours.;c;sudo PLAYER ci advanvil 1" + set {db_wtf.ci::40.blank} to "i;air" + set {db_wtf.ci::41.blank} to "i;air" + set {db_wtf.ci::42.blank} to "i;air" + set {db_wtf.ci::43.stblmine} to "i;diamond pickaxe;n;&3Stable Miner Pickaxe;l;&6This pickaxe is designed to stop the harsh||&6environmental disasters while mining!|| ||&c- 1 Elemental Fuel Per Use;c;sudo PLAYER ci stblmine 1" + set {db_wtf.ci::44.grapplinghook} to "i;fishing rod;n;&3Grappling Hook;l;&6Use this tool to reach new heights or safely||&6reach the bottom of deep drops.|| ||&c- 1 Elemental Fuel Per Use;c;sudo PLAYER ci grapplinghook 1" + set {db_wtf.ci::45.stblgun} to "i;bow;n;&3Stablizer Gun;l;&6By using &3Elemental Fuel &6as its ammo, this||&6special gun destroys Unstable Mobs and||&6delivers their Unstable Drops to you! This||&6gun only works on Unstable Mobs.|| ||&c- 1 Elemental Fuel Per Shot;c;sudo PLAYER ci stblgun 1" + set {db_wtf.ci::46.stablechest} to "i;diamond chestplate;n;&3Stable Diamond Chestplate;l;&6Contains a special slot which can be used to||&6create chestplates with special abilities and||&6a container for &3Elemental Fuel.;c;sudo PLAYER ci stablechest 1" + set {db_wtf.ci::47.blank} to "i;air" + set {db_wtf.ci::48.qnhchest} to "i;diamond chestplate;n;&3Chest of Quench;l;&6This chestplate utilizes the power of the||&3Super Water Bottle &6to make sure you never ||&6go thirsty!|| ||&c- 1 Elemental Fuel Per Use;c;sudo PLAYER ci qnhchest 1" + set {db_wtf.ci::49.snkchest} to "i;diamond chestplate;n;&3Chest of Snacks;l;&6This chestplate utilizes the power of the||&6Enchanted Golden Apple to make sure you||&6never go hungry!|| ||&c- 1 Elemental Fuel Per Use;c;sudo PLAYER ci snkchest 1" + set {db_wtf.ci::50.blank} to "i;air" + set {db_wtf.ci::51.hastechest} to "i;diamond chestplate;n;&3Chest of Haste;l;&6Harness the power of a Haste II beacon||&6while wearing this chestplate!|| ||&c- 1 Elemental Fuel Every 3 Seconds;c;sudo PLAYER ci hastechest 1" + set {db_wtf.ci::52.speedchest} to "i;diamond chestplate;n;&3Chest of Speed;l;&6Harness the power of a Speed II beacon||&6while wearing this chestplate!|| ||&c- 1 Elemental Fuel Every 3 Seconds;c;sudo PLAYER ci speedchest 1" + set {db_wtf.ci::53.strengthchest} to "i;diamond chestplate;n;&3Chest of Strength;l;&6Harness the power of a Strength II beacon||&6while wearing this chestplate!|| ||&c- 1 Elemental Fuel Every 3 Seconds;c;sudo PLAYER ci strengthchest 1" + set {db_wtf.ci::54.blank} to "i;air" + +command /cleardb: + permission: obam.admin + trigger: + delete {db_wtf.bench.items::*} + delete {db_wtf.anvil.items::*} + delete {db_wtf.ci::*} + on join: {fatigue.%player%} is not set: set {fatigue.%player%} to 100 @@ -61,11 +149,10 @@ on join: set {board.%player%} to true {injured.%player%} is true: make score "&cINJURED" in board of player to 1 - {infected.%player%.flag} is true: - make score "&cINFECTED" in board of player to 1 +# {infected.%player%.flag} is true: +# make score "&cINFECTED" in board of player to 1 move display of player to sidebar - on chunk load: {unstable.%event-chunk%} is not set: chance of 2%: @@ -88,23 +175,21 @@ on chunk load: set {methane.%event-chunk%.chance} to {_ran} {methane.%event-chunk%.chance} is not set: set {methane.%event-chunk%.chance} to false - - + on mine: block is ore: chance of 10%: set {fatigue.%player%} to {fatigue.%player%} - 1 - player's tool is pickaxe y-coordinate of player is less than 40 {cavein.%chunk at location of player%.chance} is false: set {_run} to false {_run} is not set: chance of {cavein.%chunk at location of player%.chance}%: - name of player's tool is "&3Stable Miner": + name of player's tool is "&3Stable Miner Pickaxe": player has {@elefuel} remove 1 {@elefuel} from player - send "&aYour Miner prevents a cave in" + send "&aYour Stable Miner Pickaxe prevents a cave in" drop {@unstmetal} at event-location set {_stop} to true {_stop} is not set @@ -124,7 +209,6 @@ on mine: loop players in radius 10 of player: send "&cYour struts are failing!" to loop-player send "&cYour struts are failing!" to player - {_max-strut} is not set: send "&3The floor rumbles beneath you.." to player loop players in radius 10 of player: @@ -153,10 +237,10 @@ on mine: set {_run2} to false {_run2} is not set: chance of {methane.%chunk at location of player%.chance}%: - name of player's tool is "&3Stable Miner": + name of player's tool is "&3Stable Miner Pickaxe": player has {@elefuel} remove 1 {@elefuel} from player - send "&aYour Miner prevents a Methane Explosion!" + send "&aYour Stable Miner Pickaxe prevents a Methane Explosion!" drop 1 {@unstele} at event-location set {_stop} to true {_stop} is not set @@ -170,7 +254,6 @@ on mine: drop {@unstele} at event-location chance of {methane.%chunk at location of player%.chance} * 2%: drop {@unstmetal} at event-location - chance of {cavein.%chunk at location of player%.chance}%: loop blocks in radius 3: loop-block is water @@ -180,7 +263,6 @@ on mine: loop blocks in radius 3 of event-location: loop-block is air: set loop-block to water - on portal enter: {unstable.%chunk at event-location%} is false @@ -190,7 +272,7 @@ on portal enter: set {_ran2} to random number between 18 and 20 set {cavein.%chunk at event-location%.chance} to {_ran} set {methane.%chunk at event-location%.chance} to {_ran2} - + command /chunkstats: permission: obam.admin trigger: @@ -205,7 +287,7 @@ command /chunkstats: if {methane.%chunk at location of player%.chance} is false: send "&aMethane Rating: &3EMPTY" to player else: - send "&aMethane Rating: &e%{methane.%chunk at location of player%.chance}%" to player + send "&aMethane Rating: &e%{methane.%chunk at location of player%.chance}%" to player #Global Loop every 3 seconds: @@ -221,7 +303,6 @@ every 3 seconds: make score "&3Thirst" in board of loop-player to {thirst.%loop-player%} make score "&3Fatigue" in board of loop-player to {fatigue.%loop-player%} make score "&3Hygiene" in board of loop-player to {hygiene.%loop-player%} - block above loop-player is water: {thirst.%loop-player%} is less than 100: set {_ran} to random number between 1 and 2 @@ -246,7 +327,6 @@ every 3 seconds: set {_ran} to random number between 1 and 3 set {thirst.%loop-player%} to {thirst.%loop-player%} - {_ran} #BIOME SPECIFIC STUFF - biome at loop-player is river: block under loop-player is water block: chance of 5%: @@ -256,7 +336,6 @@ every 3 seconds: wait 2 seconds damage loop-player by .5 heart send "&3A fish has nibbled at your toes!" to loop-player - biome at loop-player is desert: time in loop-player's world is day y-coordinate of loop-player is greater than 60 @@ -266,7 +345,6 @@ every 3 seconds: chance of 45%: damage loop-player by 2 send "&cThe sun beats down on you" to loop-player - biome at loop-player is hell: chance of 5%: set {thirst.%loop-player%} to {thirst.%loop-player%} - 1 @@ -274,14 +352,11 @@ every 3 seconds: damage loop-player by 1 heart send "&3You are being cooked to a nice medium rare" to loop-player set {thirst.%loop-player%} to {thirst.%loop-player%} - 4 - - biome at loop-player is swamp or swampland: set {_ran} to a random integer between 1 and 5 {_ran} is 1: apply hunger 2 to loop-player for 20 seconds send "&cMalaria runs through your body" to loop-player - #TOO HIGH GETTING CHILLED y-coordinate of loop-player is greater than 110: loop-player's helmet is air @@ -309,11 +384,12 @@ every 3 seconds: {injured.%loop-player%.length} is less than 10: apply slowness 2 to loop-player for 999 days apply mining fatigue to loop-player for 1 minute + make score "&cINJURED" in board of loop-player to 2 {injured.%loop-player%.length} is greater than 10: apply slowness 3 to loop-player for 999 days apply mining fatigue 2 to loop-player for 1 minute apply weakness to loop-player for 30 seconds - + make score "&cINJURED" in board of loop-player to 3 #CHESTPLATES {thirst.%loop-player%} is less than or equal to 50: name of loop-player's chestplate is "&3Chest of Quench" @@ -325,39 +401,33 @@ every 3 seconds: loop-player has {@elefuel}: set loop-player's hunger level to 10 remove {@elefuel} from loop-player - {fatigue.%loop-player%} is less than or equal to 30: chance of 15%: apply slowness to loop-player for 3 seconds send "&cYou are fatigued, You can drink coffee or rest to get your strength back" to loop-player - - name of loop-player's chestplate is "&3Speed Chestplate": + name of loop-player's chestplate is "&3Chest of Speed": loop-player has {@elefuel}: apply speed 2 to loop-player for 4 seconds remove {@elefuel} from loop-player loop players in radius 75 of loop-player: apply speed 2 to loop-player-2 for 4 seconds - - name of loop-player's chestplate is "&3Haste Chestplate": + name of loop-player's chestplate is "&3Chest of Haste": loop-player has {@elefuel}: apply haste 2 to loop-player for 4 seconds remove {@elefuel} from loop-player loop players in radius 75 of loop-player: apply haste 2 to loop-player-2 for 4 seconds - - name of loop-player's chestplate is "&3Strength Chestplate": + name of loop-player's chestplate is "&3Chest of Strength": loop-player has {@elefuel}: apply strength 2 to loop-player for 4 seconds remove {@elefuel} from loop-player loop players in radius 75 of loop-player: apply strength 2 to loop-player-2 for 4 seconds - #wildsilverfish - block above block below loop-player is 175:2: + block above block below loop-player is any tall grass: chance of 5%: spawn silverfish at location of loop-player send "&cA wild silverfish appears!" to loop-player - #hygiene block below loop-player is dirt or grass: {hygiene.%loop-player%} is greater than 0 @@ -369,33 +439,526 @@ every 3 seconds: set {hygiene.%loop-player%} to 0 {debug.%loop-player%} is true: set {hygiene.%loop-player%} to 100 - {hygiene.%loop-player%} is less than 10: chance of 5%: apply nausea to loop-player for 5 seconds send "&cYour stench affects you. Use soap in water to fix it!" to loop-player - loop all entities: loop-entity is not player: {unstable.%loop-entity%} is set: spawn 100 of red dust data 1 offset with 1, 1, 1 at location of loop-entity - -on spawn of a creeper or a skeleton or a spider or zombie or a cow: - {unstable.%chunk at event-location%} is true: +every 5 seconds: + loop {wtf.loc.bench::*}: + set {_loc} to loop-value + set {_check} to false + block at {_loc} is workbench: + set {_check} to true + spawn 100 of red dust data 1 offset with 1, 1, 1 at {_loc} + {_check} is false: + delete {wtf.loc.bench::%loop-index%} +every 5 seconds: + loop {wtf.loc.anvil::*}: + set {_loc} to loop-value + set {_check} to false + block at {_loc} is anvil: + set {_check} to true + spawn 100 of red dust data 1 offset with 1, 1, 1 at {_loc} + {_check} is false: + delete {wtf.loc.anvil::%loop-index%} + +on place: + player's tool is {@advbench}: + set {_loc} to event-location + {wtf.loc.bench::%{_loc}%} exists: + stop + set {wtf.loc.bench::%{_loc}%} to {_loc} + +on place: + player's tool is {@advanvil}: + set {_loc} to event-location + set {_fall} to false + set {_drop} to 0 + loop 254 times: + block below {_loc} is air or water or lava: + set {_fall} to true + add 1 to {_drop} + subtract 1 from y-coordinate of {_loc} + {_fall} is false: + exit loop + {wtf.loc.anvil::%{_loc}%} exists: + stop + set {wtf.loc.anvil::%{_loc}%} to {_loc} + +on block physics: + set {_loc} to event-location + {wtf.loc.anvil::%{_loc}%} exists: + cancel event + {wtf.loc.bench::%{_loc}%} exists: + cancel event + +on right click on workbench: + set {_loc} to location of event-block + {wtf.loc.bench::%{_loc}%} exists: + cancel event + loop {db_wtf.bench.items::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_chest} is set: + set {_chest} to "%{_chest}%;s;%{_count}%;%loop-value%" + {_chest} is not set: + set {_chest} to "s;%{_count}%;%loop-value%" + replace "PLAYER" in {_chest} with "%player%" + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show "%{_chest}%" with {_size} row named "&9&lAdvanced Workbench" to player + +on right click on anvil: + set {_loc} to location of event-block + {wtf.loc.anvil::%{_loc}%} exists: + cancel event + loop {db_wtf.anvil.items::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_chest} is set: + set {_chest} to "%{_chest}%;s;%{_count}%;%loop-value%" + {_chest} is not set: + set {_chest} to "s;%{_count}%;%loop-value%" + replace "PLAYER" in {_chest} with "%player%" + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show "%{_chest}%" with {_size} row named "&9&lAdvanced Anvil" to player + +command /wtfitem : + permission: obam.free + trigger: + argument 1 is "bandages": + player has 1 * argument 2 of paper: + player has 1 * argument 2 of slimeball: + player doesn't have space for 1 * argument 2 of {@bandages}: + message "&cYou do not have room for this." + stop + remove 1 * argument 2 of paper from player + remove 1 * argument 2 of slimeball from player + give 1 * argument 2 of {@bandages} to player + message "&aItem Created" + stop + message "&cYou are missing &fSlimeball" + stop + message "&cYou are missing &fPaper" + stop + argument 1 is "soap1": + player has 1 * argument 2 of milk: + player has 1 * argument 2 of rose: + player has 1 * argument 2 of water bottle: + player doesn't have space for 1 * argument 2 of {@soap1}: + message "&cYou do not have room for this." + stop + remove 1 * argument 2 of milk from player + remove 1 * argument 2 of rose from player + remove 1 * argument 2 of water bottle from player + give 1 * argument 2 of {@soap1} to player + message "&aItem Created" + stop + message "&cYou are missing &fWater Bottle" + stop + message "&cYou are missing &fPoppy" + stop + message "&cYou are missing &fMilk Bucket" + stop + argument 1 is "superbottle": + player has 4 * argument 2 of water bottle: + player doesn't have space for 1 * argument 2 of {@superbottle}: + message "&cYou do not have room for this." + stop + remove 4 * argument 2 of water bottle from player + give 1 * argument 2 of {@superbottle} to player + message "&aItem Created" + stop + message "&cYou are missing &fWater Bottle" + stop + argument 1 is "coffee": + player has 1 * argument 2 of cocoa beans: + player has 1 * argument 2 of milk: + player doesn't have space for 1 * argument 2 of {@coffee}: + message "&cYou do not have room for this." + stop + remove 1 * argument 2 of cocoa beans from player + remove 1 * argument 2 of milk from player + give 1 * argument 2 of {@coffee} to player + message "&aItem Created" + stop + message "&cYou are missing &fMilk Bucket" + stop + message "&cYou are missing &fCocoa Beans" + stop + argument 1 is "unstmetalbar": + player has 6 * argument 2 of {@unstmetal}: + player doesn't have space for 1 * argument 2 of {@unstmetalbar}: + message "&cYou do not have room for this." + stop + remove 6 * argument 2 of {@unstmetal} from player + give 1 * argument 2 of {@unstmetalbar} to player + message "&aItem Created" + stop + message "&cYou are missing &3Unstable Metal Shard" + stop + argument 1 is "stablemetal": + player has 8 * argument 2 of {@unstmetalbar}: + player has 1 * argument 2 of {@stable}: + player doesn't have space for 1 * argument 2 of {@stablemetal}: + message "&cYou do not have room for this." + stop + remove 8 * argument 2 of {@unstmetalbar} from player + remove 1 * argument 2 of {@stable} from player + give 1 * argument 2 of {@stablemetal} to player + message "&aItem Created" + stop + message "&cYou are missing &3Stabilizer" + stop + message "&cYou are missing &3Unstable Metal Bar" + stop + argument 1 is "stableele": + player has 8 * argument 2 of {@unstele}: + player has 1 * argument 2 of {@stable}: + player doesn't have space for 1 * argument 2 of {@stableele}: + message "&cYou do not have room for this." + stop + remove 8 * argument 2 of {@unstele} from player + remove 1 * argument 2 of {@stable} from player + give 1 * argument 2 of {@stableele} to player + message "&aItem Created" + stop + message "&cYou are missing &3Stabilizer" + stop + message "&cYou are missing &3Unstable Element" + stop + argument 1 is "stable": + player has 8 * argument 2 of ice: + player has 1 * argument 2 of {@fairydust}: + player doesn't have space for 1 * argument 2 of {@stable}: + message "&cYou do not have room for this." + stop + remove 8 * argument 2 of ice from player + remove 1 * argument 2 of {@fairydust} from player + give 1 * argument 2 of {@stable} to player + message "&aItem Created" + stop + message "&cYou are missing &3Fairy Dust" + stop + message "&cYou are missing &fIce" + stop + argument 1 is "elefuel": + player has 8 * argument 2 of {@stableele}: + player has 1 * argument 2 of coal: + player doesn't have space for 1 * argument 2 of {@elefuel}: + message "&cYou do not have room for this." + stop + remove 8 * argument 2 of {@stableele} from player + remove 1 * argument 2 of coal from player + give 1 * argument 2 of {@elefuel} to player + message "&aItem Created" + stop + message "&cYou are missing &fCoal" + stop + message "&cYou are missing &3Stable Element" + stop + argument 1 is "envradar": + player has 6 * argument 2 of {@stablemetal}: + set {_count} to 0 + loop items in player's inventory: + loop-item is compass: + set {_lorecheck} to uncoloured lore of loop-item + set {_lorecheck::*} to {_lorecheck} split at "||" + {_lorecheck::2} is not set: + add 1 to {_count} + {_count} is greater than or equal to 1: + player doesn't have space for 1 * argument 2 of {@envradar}: + message "&cYou do not have room for this." + stop + remove 1 * argument 2 of loop-item from inventory of player + remove 6 * argument 2 of {@stablemetal} from player + give 1 * argument 2 of {@envradar} to player + message "&aItem Created" + stop + message "&cYou are missing &fCompass" + stop + message "&cYou are missing &3Stable Metal Bar" + stop + argument 1 is "advanvil": + player has 3 * argument 2 of iron blocks: + player has 1 * argument 2 of {@advbench}: + player has 1 * argument 2 of diamond block: + player has 1 * argument 2 of redstone block: + player has 1 * argument 2 of obsidian: + player doesn't have space for 1 * argument 2 of {@advanvil}: + message "&cYou do not have room for this." + stop + remove 3 * argument 2 of iron blocks from player + remove 1 * argument 2 of {@advbench} from player + remove 1 * argument 2 of diamond block from player + remove 1 * argument 2 of redstone block from player + remove 1 * argument 2 of obsidian from player + give 1 * argument 2 of {@advanvil} to player + message "&aItem Created" + stop + message "&cYou are missing &fObsidian" + stop + message "&cYou are missing &fRedstone Block" + stop + message "&cYou are missing &fDiamond Block" + stop + message "&cYou are missing &3Advanced Bench" + stop + message "&cYou are missing &fIron Block" + stop + argument 1 is "stablechest": + player has 6 * argument 2 of {@stablemetal}: + player has 1 * argument 2 of {@elefuel}: + player has 1 * argument 2 of diamond block: + player doesn't have space for 1 * argument 2 of {@stablechest}: + message "&cYou do not have room for this." + stop + remove 6 * argument 2 of {@stablemetal} from player + remove 1 * argument 2 of {@elefuel} from player + remove 1 * argument 2 of diamond block from player + give 1 * argument 2 of {@stablechest} to player + message "&aItem Created" + stop + message "&cYou are missing &fDiamond Block" + stop + message "&cYou are missing &3Elemental Fuel" + stop + message "&cYou are missing &3Stable Metal Bar" + stop + argument 1 is "qnhchest": + player has 1 * argument 2 of {@stablechest}: + player has 1 * argument 2 of {@superbottle}: + player doesn't have space for 1 * argument 2 of {@qnhchest}: + message "&cYou do not have room for this." + stop + remove 1 * argument 2 of {@stablechest} from player + remove 1 * argument 2 of {@superbottle} from player + give 1 * argument 2 of {@qnhchest} to player + message "&aItem Created" + stop + message "&cYou are missing &3Super Water Bottle" + stop + message "&cYou are missing &3Stable Diamond Chestplate" + stop + argument 1 is "snkchest": + player has 1 * argument 2 of {@stablechest}: + player has 1 * argument 2 of enchanted golden apple: + player doesn't have space for 1 * argument 2 of {@snkchest}: + message "&cYou do not have room for this." + stop + remove 1 * argument 2 of {@stablechest} from player + remove 1 * argument 2 of enchanted golden apple from player + give 1 * argument 2 of {@snkchest} to player + message "&aItem Created" + stop + message "&cYou are missing &dEnchanted Golden Apple" + stop + message "&cYou are missing &3Stable Diamond Chestplate" + stop + argument 1 is "hastechest": + player has 1 * argument 2 of {@stablechest}: + player has 1 * argument 2 of beacon: + set {_count} to 0 + loop items in player's inventory: + loop-item is diamond pickaxe: + loop-item is not enchanted: + set {_lorecheck} to uncoloured lore of loop-item + set {_lorecheck::*} to {_lorecheck} split at "||" + {_lorecheck::2} is not set: + add 1 to {_count} + {_count} is greater than or equal to 1: + player doesn't have space for 1 * argument 2 of {@hastechest}: + message "&cYou do not have room for this." + stop + remove 1 * argument 2 of loop-item from inventory of player + remove 1 * argument 2 of {@stablechest} from player + remove 1 * argument 2 of beacon from player + give 1 * argument 2 of {@hastechest} to player + message "&aItem Created" + stop + message "&cYou are missing &fDiamond Pickaxe" + stop + message "&cYou are missing &fBeacon" + stop + message "&cYou are missing &3Stable Diamond Chestplate" + stop + argument 1 is "speedchest": + player has 1 * argument 2 of {@stablechest}: + player has 1 beacon: + set {_count} to 0 + loop items in player's inventory: + loop-item is diamond boots: + loop-item is not enchanted: + set {_lorecheck} to uncoloured lore of loop-item + set {_lorecheck::*} to {_lorecheck} split at "||" + {_lorecheck::2} is not set: + add 1 to {_count} + {_count} is greater than or equal to 1: + player doesn't have space for 1 * argument 2 of {@speedchest}: + message "&cYou do not have room for this." + stop + remove 1 * argument 2 of loop-item from inventory of player + remove 1 * argument 2 of {@stablechest} from player + remove 1 * argument 2 of beacon from player + give 1 * argument 2 of {@speedchest} to player + message "&aItem Created" + stop + message "&cYou are missing &fDiamond Boots" + stop + message "&cYou are missing &fBeacon" + stop + message "&cYou are missing &3Stable Diamond Chestplate" + stop + argument 1 is "strengthchest": + player has 1 * argument 2 of {@stablechest}: + player has 1 beacon: + set {_count} to 0 + loop items in player's inventory: + loop-item is diamond sword: + loop-item is not enchanted: + set {_lorecheck} to uncoloured lore of loop-item + set {_lorecheck::*} to {_lorecheck} split at "||" + {_lorecheck::2} is not set: + add 1 to {_count} + {_count} is greater than or equal to 1: + player doesn't have space for 1 * argument 2 of {@strengthchest}: + message "&cYou do not have room for this." + stop + remove 1 * argument 2 of loop-item from inventory of player + remove 1 * argument 2 of {@stablechest} from player + remove 1 * argument 2 of beacon from player + give 1 * argument 2 of {@strengthchest} to player + message "&aItem Created" + stop + message "&cYou are missing &fDiamond Sword" + stop + message "&cYou are missing &fBeacon" + stop + message "&cYou are missing &3Stable Diamond Chestplate" + stop + argument 1 is "grapplinghook": + player has 8 * argument 2 of {@elefuel}: + set {_count} to 0 + loop items in player's inventory: + loop-item is fishing rod: + loop-item is not enchanted: + set {_lorecheck} to uncoloured lore of loop-item + set {_lorecheck::*} to {_lorecheck} split at "||" + {_lorecheck::2} is not set: + add 1 to {_count} + {_count} is greater than or equal to 1: + player doesn't have space for 1 * argument 2 of {@grapplinghook}: + message "&cYou do not have room for this." + stop + remove 1 * argument 2 of loop-item from inventory of player + remove 8 * argument 2 of {@elefuel} from player + give 1 * argument 2 of {@grapplinghook} to player + message "&aItem Created" + stop + message "&cYou are missing &fFishing Rod" + stop + message "&cYou are missing &3Elemental Fuel" + stop + argument 1 is "stblgun": + player has 4 * argument 2 of {@stablemetal}: + player has 1 * argument 2 of {@stable}: + set {_count} to 0 + loop items in player's inventory: + loop-item is bow: + loop-item is not enchanted: + set {_lorecheck} to uncoloured lore of loop-item + set {_lorecheck::*} to {_lorecheck} split at "||" + {_lorecheck::2} is not set: + add 1 to {_count} + {_count} is greater than or equal to 1: + player doesn't have space for 1 * argument 2 of {@stblgun}: + message "&cYou do not have room for this." + stop + remove 1 * argument 2 of loop-item from inventory of player + remove 4 * argument 2 of {@stablemetal} from player + remove 1 * argument 2 of {@stable} from player + give 1 * argument 2 of {@stblgun} to player + message "&aItem Created" + stop + message "&cYou are missing &fBow" + stop + message "&cYou are missing &3Stabilizer" + stop + message "&cYou are missing &3Stable Metal Bar" + stop + argument 1 is "stblmine": + player has 2 * argument 2 of {@stablemetal}: + player has 1 * argument 2 of {@stable}: + set {_count} to 0 + loop items in player's inventory: + loop-item is diamond pickaxe: + loop-item is not enchanted: + set {_lorecheck} to uncoloured lore of loop-item + set {_lorecheck::*} to {_lorecheck} split at "||" + {_lorecheck::2} is not set: + add 1 to {_count} + {_count} is greater than or equal to 1: + player doesn't have space for 1 * argument 2 of {@stblmine}: + message "&cYou do not have room for this." + stop + remove 1 * argument 2 of loop-item from inventory of player + remove 2 * argument 2 of {@stablemetal} from player + remove 1 * argument 2 of {@stable} from player + give 1 * argument 2 of {@stblmine} to player + message "&aItem Created" + stop + message "&cYou are missing &fDiamond Pickaxe" + stop + message "&cYou are missing &3Stabilizer" + stop + message "&cYou are missing &3Stable Metal Bar" + stop + +on break: + block is workbench: + set {_loc} to location of event-block + {wtf.loc.bench::%{_loc}%} exists: + clear {wtf.loc.bench::%{_loc}%} + drop {@advbench} + +on break: + block is anvil: + set {_loc} to location of event-block + {wtf.loc.anvil::%{_loc}%} exists: + clear {wtf.loc.anvil::%{_loc}%} + drop {@advanvil} + +on spawn of a creeper or a skeleton or a spider or zombie or a cow: + {unstable.%chunk at event-location%} is true: set {_loc} to event-location event-entity is a creeper: wait 5 ticks set name of event-entity to "&cUnstable Creeper" apply resistance 2 to event-entity for 999 days apply speed to event-entity for 999 days - - set {unstable.%event-entity%} to true - event-entity is a zombie: - wait 5 ticks set name of event-entity to "&cUnstable Zombie" apply resistance 2 to event-entity for 999 days @@ -403,10 +966,7 @@ on spawn of a creeper or a skeleton or a spider or zombie or a cow: equip event-entity with iron sword of sharpness set event-entity's helmet to iron helmet set {unstable.%event-entity%} to true - event-entity is skeleton: - - wait 5 ticks set name of event-entity to "&cUnstable Skeleton" apply resistance 2 to event-entity for 999 days @@ -414,18 +974,14 @@ on spawn of a creeper or a skeleton or a spider or zombie or a cow: equip event-entity with bow set event-entity's helmet to gold helmet set {unstable.%event-entity%} to true - event-entity is a spider: - wait 5 ticks set name of event-entity to "&cUnstable Spider" apply resistance 2 to event-entity for 999 days apply speed 2 to event-entity for 999 days apply jump 5 to event-entity for 999 days set {unstable.%event-entity%} to true - event-entity is a cow: - wait 5 ticks set name of event-entity to "&cUnstable Cow" apply speed 2 to event-entity for 999 days @@ -440,7 +996,7 @@ on explosion prime: spawn 100 of red dust data 1 offset with 1, 1, 1 at {_loc} loop players in radius 5 of event-location: make event-entity damage loop-player by 4 - + on damage: victim is not a player {unstable.%victim%} is set: @@ -459,6 +1015,7 @@ on death of cow: add {@unstmetal} to drops chance of 15%: add {@unstele} to drops + on death of a creeper or a skeleton or a zombie or a spider: chance of 15%: add {@bandages} to drops @@ -471,24 +1028,26 @@ on death of a creeper or a skeleton or a zombie or a spider: chance of 2%: add {@unstele} to drops add {@unstmetal} to drops - + on damage: victim is player: - attacker is a zombie: - {infected.%victim%.flag} is not set: - set {infected.%victim%.flag} to true - make score "&cINFECTED" in board of victim to 1 - send "&cThe zombie has infected you!" to victim - stop - {infected.%victim%.flag} is false: - set {infected.%victim%.flag} to true - make score "&cINFECTED" in board of victim to 1 - send "&cThe zombie has infected you!" to victim - stop +# attacker is a zombie: +# {infected.%victim%.flag} is not set: +# set {infected.%victim%.flag} to true +# make score "&cINFECTED" in board of victim to 1 +# send "&cThe zombie has infected you!" to victim +# stop +# {infected.%victim%.flag} is false: +# set {infected.%victim%.flag} to true +# make score "&cINFECTED" in board of victim to 1 +# send "&cThe zombie has infected you!" to victim +# stop damage cause is fall: chance of 15%: victim's boots are boots of feather falling: stop + {injured.%victim%} is true: + stop set {_location} to location of victim spawn 1 of angry villager data 1 offset with 1, 1, 1 at {_location} set {injured.%victim%} to true @@ -514,6 +1073,7 @@ on right click with paper: remove slowness from player apply slowness to player for 999 days send "&aYour injuries are healing" to player + make score "&cINJURED" in board of player to 1 set {injured.%player%.length} to 1 remove {@bandages} from player stop @@ -525,6 +1085,7 @@ on right click with paper: remove weakness from player set {injured.%player%.length} to 6 send "&aYour injuries are healing" to player + make score "&cINJURED" in board of player to 2 remove {@bandages} from player stop send "&aYou mend your injuries" to player @@ -535,7 +1096,7 @@ on right click with paper: nullify score "&cINJURED" in board of player set {injured.%player%} to false set {injured.%player%.length} to 0 - + on right click with compass: player's tool is {@envradar}: player does not have {@elefuel}: @@ -564,7 +1125,6 @@ on right click with compass: set {methane.%chunk at location of player%.chance} to {_ran} {methane.%chunk at location of player%.chance} is not set: set {methane.%chunk at location of player%.chance} to false - if {unstable.%chunk at location of player%} is true: send "&aGround Structure: &cUnstable" send "&aMethane Rating: &cUnstable" @@ -577,7 +1137,7 @@ on right click with compass: send "&aMethane Rating: &3EMPTY" to player else: send "&aMethane Rating: &e%{methane.%chunk at location of player%.chance}%" to player - + on right click with nether brick item: player's tool is {@soap1}: block above block below player is water: @@ -596,11 +1156,11 @@ on right click with nether brick item: set {hygiene.%loop-player%} to 100 loop-player has nausea: remove nausea from loop-player - - + on shoot: shooter's tool is {@grapplinghook}: set {teleport.%projectile%} to shooter + on projectile hit: shooter does not have {@elefuel}: shooter's tool is {@grapplinghook}: @@ -613,11 +1173,12 @@ on projectile hit: remove {@elefuel} from shooter delete projectile stop + on rightclick: if player is holding {@grapplinghook}: repair tool of player stop - + on bed enter: {injured.%player%} is true: set {injured.%player%} to false @@ -628,7 +1189,7 @@ on bed enter: nullify score "&cINJURED" in board of player send "&aYou have been healed of your injuries!" to player set {fatigue.%player%} to 100 - + #GLOBAL CONSUME LOOP on consume: item is water bottle: @@ -641,7 +1202,6 @@ on consume: {fatigue.%player%} is greater than 100: set {fatigue.%player%} to 100 stop - player is holding {@superbottle}: add 50 to {thirst.%player%} {thirst.%player%} is greater than 100: @@ -650,7 +1210,6 @@ on consume: add 10 to {thirst.%player%} {thirst.%player%} is greater than 100: set {thirst.%player%} to 100 - item is apple: add 5 to {thirst.%player%} {thirst.%player%} is greater than 100: @@ -671,214 +1230,220 @@ on consume: {thirst.%player%} is greater than 100: set {thirst.%player%} to 100 stop - item is golden apple: - {infected.%player%.flag} is true: - set {infected.%player%.flag} to false - nullify score "&cINFECTED" in board of player - send "&3You have been revitalized!" +# item is golden apple: +# {infected.%player%.flag} is true: +# set {infected.%player%.flag} to false +# nullify score "&cINFECTED" in board of player +# send "&3You have been revitalized!" on death of a player: {thirst.%player%} is less than 25: set {thirst.%player%} to 25 - {infected.%player%.flag} is true: - set {_location5} to player's location - wait 1 second - spawn 1 zombie at {_location5} - set name of spawned entity to "%player%" - apply resistance 2 to entity for 999 days - apply speed to entity for 999 days - -command /ci [] []: +# {infected.%player%.flag} is true: +# set {_location5} to player's location +# wait 1 second +# spawn 1 zombie at {_location5} +# set name of spawned entity to "%player%" +# apply resistance 2 to entity for 999 days +# apply speed to entity for 999 days + +command /ci [] []: permission: obam.free trigger: argument 1 is not set: - send "list" - send "1 ... Super Water Bottle" - send "2 ... Bandages" - send "3 ... Unstable Metal Shard" - send "4 ... Unstable Metal Bar" - send "5 ... Stable Metal Bar" - send "6 ... Unstable Element" - send "7 ... Stable Element" - send "8 ... Environmental Radar" - send "9 ... Elemental Fuel" - send "10 ... Fairy Dust" - send "11 ... Stabilizer" - send "12 ... Stable Chest" - send "13 ... Chest of Quench" - send "14 ... Chest of Snacks" - send "15 ... Grappling Hook" - send "16 ... Coffee" - send "18 ... Speed Chestplate" - send "19 ... Haste Chestplate" - send "20 ... Strength Chestplate" - send "21 ... Soap (1)" - send "22 ... Stabilizer Gun" - send "23 ... Stable Miner" + loop {db_wtf.ci::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_chest} is set: + set {_chest} to "%{_chest}%;s;%{_count}%;%loop-value%" + {_chest} is not set: + set {_chest} to "s;%{_count}%;%loop-value%" + replace "PLAYER" in {_chest} with "%player%" + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + {_count} is greater than 36: + set {_size} to 5 + {_count} is greater than 45: + set {_size} to 6 + show "%{_chest}%" with {_size} row named "&9&lCI Menu" to player + argument 1 is "unstele": + player doesn't have space for 1 * argument 2 of {@unstele}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@unstele} to player + message "&aHere are your things." + stop + argument 1 is "unstmetal": + player doesn't have space for 1 * argument 2 of {@unstmetal}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@unstmetal} to player + message "&aHere are your things." stop - argument 2 is not set: - argument 1 is 1: - give {@superbottle} to player - - argument 1 is 2: - give {@bandages} to player - - argument 1 is 3: - give {@unstmetal} to player - - argument 1 is 4: - give {@unstmetalbar} to player - - argument 1 is 5: - give {@stablemetal} to player - - argument 1 is 6: - give {@unstele} to player - - argument 1 is 7: - give {@stableele} to player - - argument 1 is 8: - give {@envradar} to player - - argument 1 is 9: - give {@elefuel} to player - - argument 1 is 10: - give {@fairydust} to player - - argument 1 is 11: - give {@stable} to player - - argument 1 is 12: - give {@stablechst} to player - - argument 1 is 13: - give {@qnhchest} to player - - argument 1 is 14: - give {@snkchest} to player - - argument 1 is 15: - give {@grapplinghook} to player - - argument 1 is 16: - give {@coffee} to player - - - argument 1 is 18: - give {@speedchest} to player - - argument 1 is 19: - give {@hastechest} to player - - argument 1 is 20: - give {@strengthchest} to player - - argument 1 is 21: - give {@soap1} to player - - argument 1 is 22: - give {@stblgun} to player - - argument 1 is 23: - give {@stblmine} to player - - argument 2 is set: - argument 1 is 1: - loop argument 2 times: - give {@superbottle} to player - - argument 1 is 2: - loop argument 2 times: - give {@bandages} to player - - argument 1 is 3: - loop argument 2 times: - give {@unstmetal} to player - - argument 1 is 4: - loop argument 2 times: - give {@unstmetalbar} to player - - argument 1 is 5: - loop argument 2 times: - give {@stablemetal} to player - - argument 1 is 6: - loop argument 2 times: - give {@unstele} to player - - argument 1 is 7: - loop argument 2 times: - give {@stableele} to player - - argument 1 is 8: - loop argument 2 times: - give {@envradar} to player - - argument 1 is 9: - loop argument 2 times: - give {@elefuel} to player - - argument 1 is 10: - loop argument 2 times: - give {@fairydust} to player - - argument 1 is 11: - loop argument 2 times: - give {@stable} to player - - argument 1 is 12: - loop argument 2 times: - give {@stablechst} to player - - argument 1 is 13: - loop argument 2 times: - give {@qnhchest} to player - - argument 1 is 14: - loop argument 2 times: - give {@snkchest} to player - - argument 1 is 15: - loop argument 2 times: - give {@grapplinghook} to player - - argument 1 is 16: - loop argument 2 times: - give {@coffee} to player - - - argument 1 is 18: - loop argument 2 times: - give {@speedchest} to player - - argument 1 is 19: - loop argument 2 times: - give {@hastechest} to player - - argument 1 is 20: - loop argument 2 times: - give {@strengthchest} to player - - argument 1 is 21: - loop argument 2 times: - give {@soap1} to player - - argument 1 is 22: - loop argument 2 times: - give {@stblgun} to player - - argument 1 is 23: - loop argument 2 times: - give {@stblmine} to player - - send "Here is your item. :)" - + argument 1 is "fairydust": + player doesn't have space for 1 * argument 2 of {@fairydust}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@fairydust} to player + message "&aHere are your things." + stop + argument 1 is "bandages": + player doesn't have space for 1 * argument 2 of {@bandages}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@bandages} to player + message "&aHere are your things." + stop + argument 1 is "soap1": + player doesn't have space for 1 * argument 2 of {@soap1}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@soap1} to player + message "&aHere are your things." + stop + argument 1 is "superbottle": + player doesn't have space for 1 * argument 2 of {@superbottle}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@superbottle} to player + message "&aHere are your things." + stop + argument 1 is "coffee": + player doesn't have space for 1 * argument 2 of {@coffee}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@coffee} to player + message "&aHere are your things." + stop + argument 1 is "unstmetalbar": + player doesn't have space for 1 * argument 2 of {@unstmetalbar}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@unstmetalbar} to player + message "&aHere are your things." + stop + argument 1 is "stablemetal": + player doesn't have space for 1 * argument 2 of {@stablemetal}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@stablemetal} to player + message "&aHere are your things." + stop + argument 1 is "stableele": + player doesn't have space for 1 * argument 2 of {@stableele}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@stableele} to player + message "&aHere are your things." + stop + argument 1 is "stable": + player doesn't have space for 1 * argument 2 of {@stable}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@stable} to player + message "&aHere are your things." + stop + argument 1 is "elefuel": + player doesn't have space for 1 * argument 2 of {@elefuel}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@elefuel} to player + message "&aHere are your things." + stop + argument 1 is "envradar": + player doesn't have space for 1 * argument 2 of {@envradar}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@envradar} to player + message "&aHere are your things." + stop + argument 1 is "advbench": + player doesn't have space for 1 * argument 2 of {@advbench}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@advbench} to player + message "&aHere are your things." + stop + argument 1 is "advanvil": + player doesn't have space for 1 * argument 2 of {@advanvil}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@advanvil} to player + message "&aHere are your things." + stop + argument 1 is "stablechest": + player doesn't have space for 1 * argument 2 of {@stablechest}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@stablechest} to player + message "&aHere are your things." + stop + argument 1 is "qnhchest": + player doesn't have space for 1 * argument 2 of {@qnhchest}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@qnhchest} to player + message "&aHere are your things." + stop + argument 1 is "snkchest": + player doesn't have space for 1 * argument 2 of {@snkchest}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@snkchest} to player + message "&aHere are your things." + stop + argument 1 is "hastechest": + player doesn't have space for 1 * argument 2 of {@hastechest}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@hastechest} to player + message "&aHere are your things." + stop + argument 1 is "speedchest": + player doesn't have space for 1 * argument 2 of {@speedchest}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@speedchest} to player + message "&aHere are your things." + stop + argument 1 is "strengthchest": + player doesn't have space for 1 * argument 2 of {@strengthchest}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@strengthchest} to player + message "&aHere are your things." + stop + argument 1 is "grapplinghook": + player doesn't have space for 1 * argument 2 of {@grapplinghook}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@grapplinghook} to player + message "&aHere are your things." + stop + argument 1 is "stblgun": + player doesn't have space for 1 * argument 2 of {@stblgun}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@stblgun} to player + message "&aHere are your things." + stop + argument 1 is "stblmine": + player doesn't have space for 1 * argument 2 of {@stblmine}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@stblmine} to player + message "&aHere are your things." + stop + command /togglestats: trigger: - {board.%player%} is false: set {board.%player%} to true display board named "&9&lWTF&9fronts" to player @@ -899,24 +1464,48 @@ command /togglestats: set {board.%player%} to true move display of player to sidebar stop - + on place of torch: player's tool is {@safetytorch} set {safety.active.%chunk at event-location%} to true - + on spawn: entity is skeleton or creeper or zombie or witch or spider or cave spider or enderman: {safety.active.%chunk at event-location%} is true: cancel event +on place: + former tool's name is set: + set {information.%block%.1} to former tool + {debug.%player%} is true: + send "DEBUG You placed %former tool's name%" + set {information.%block%.2} to lore of former tool + set {information.%block%.3} to name of former tool + {debug.%player%} is true: + send "DEBUG %block%" + send "DEBUG %{information.%block%.1}%" + send "DEBUG %lore of former tool%" + send "DEBUG %name of former tool%" + send "DEBUG %{information.%block%.2}%" + send "DEBUG %{information.%block%.3}%" + set {information.%block%.1} to "%{information.%block%.1}%" +on break: + {information.%block%.1} is set: + cancel event + {debug.%player%} is true: + send "DEBUG I ama message" + set {_message} to "%{information.%block%.1}%;%{information.%block%.3}%;%{information.%block%.2}%" + send "DEBUG %{_message}%" + delete block + drop {information.%block%.1} named {information.%block%.3} with lore {information.%block%.2} at location of block on break of glowstone: chance of 10%: player's tool is pickaxe of silk touch: stop drop {@fairydust} at location of event-block - + on right click with sugar: player's tool is {@fairydust}: player is flying: @@ -926,7 +1515,7 @@ on right click with sugar: set fly state of player to true wait 5 seconds set fly state of player to false - + command /debug: permission: obam.admin trigger: @@ -940,11 +1529,11 @@ command /debug: set {debug.%player%} to false send "&aDebug off" stop - + command /particlelist: trigger: message "%all enum values of particle%" - + command /unstclear: permission: obam.admin trigger: @@ -954,9 +1543,8 @@ command /unstclear: {_count} is not set: set {_count} to 0 add 1 to {_count} - send "&e%{_count}%&a Unstable Entities eliminated" - + command /unstlist: permission: obam.admin trigger: @@ -969,7 +1557,6 @@ command /unstlist: {_count} is not set: set {_count} to 0 add 1 to {_count} - send "&aThere are &e%{_count}% &cUnstable&a entities." send "&aList:" loop {_list::*}: @@ -986,23 +1573,17 @@ every 30 seconds: {blood.moon} is true: clear {blood.moon} broadcast "&aThe blood moon sets!" - + on spawn of a creeper or a skeleton or a spider or zombie or a cow: {blood.moon} is true: - - set {_loc} to event-location event-entity is a creeper: wait 5 ticks set name of event-entity to "&cUnstable Creeper" apply resistance 2 to event-entity for 999 days apply speed to event-entity for 999 days - - set {unstable.%event-entity%} to true - event-entity is a zombie: - wait 5 ticks set name of event-entity to "&cUnstable Zombie" apply resistance 2 to event-entity for 999 days @@ -1010,10 +1591,7 @@ on spawn of a creeper or a skeleton or a spider or zombie or a cow: equip event-entity with iron sword of sharpness set event-entity's helmet to iron helmet set {unstable.%event-entity%} to true - event-entity is skeleton: - - wait 5 ticks set name of event-entity to "&cUnstable Skeleton" apply resistance 2 to event-entity for 999 days @@ -1021,39 +1599,35 @@ on spawn of a creeper or a skeleton or a spider or zombie or a cow: equip event-entity with bow set event-entity's helmet to gold helmet set {unstable.%event-entity%} to true - event-entity is a spider: - wait 5 ticks set name of event-entity to "&cUnstable Spider" apply resistance 2 to event-entity for 999 days apply speed 2 to event-entity for 999 days apply jump 5 to event-entity for 999 days set {unstable.%event-entity%} to true - event-entity is a cow: - wait 5 ticks set name of event-entity to "&cUnstable Cow" apply speed 2 to event-entity for 999 days set {unstable.%event-entity%} to true - + command /bloodmoon: permission: obam.admin trigger: set time of "world" to 18:00 set {blood.moon} to true broadcast "&cA blood moon rises..." - + command /dawn: permission: obam.admin trigger: set time of "world" to 5:30 - + on right click with bow: player's tool is a bow: - name of player's tool is "&3Stablizer Gun" - cancel event + name of player's tool is "&3Stablizer Gun": + cancel event {cool.gun.%player%} is not set: set {cool.gun.%player%} to now add 3 seconds to {cool.gun.%player%} @@ -1075,9 +1649,7 @@ on right click with bow: wait 0.2 seconds strike lightning effect at location of {_target} kill {_target} - send "&aYou capture the stable soul of the creature" + send "&aYou have captured the Unstable Soul of this creature!" add {@unstele} to player's inventory add {@unstmetal} to player's inventory add {@stable} to player's inventory - - diff --git a/Obam-Tools/LiVBot.yml b/Obam-Tools/LiVBot.yml new file mode 100644 index 0000000..aa08d50 --- /dev/null +++ b/Obam-Tools/LiVBot.yml @@ -0,0 +1,259 @@ +# Sample PurpleIRC bot configuration. +# Most of these options should be self explanatory. +# Place your bot file in the PurpleIRC/bots/ folder. +# +# nick - Your bot's unique nickname +nick: LiVBot|Curtain +# login - Your bot's login name +login: froglawn +# realname +realname: '' +# server - IRC server to join +server: irc.esper.net +# port - IRC server port +port: 6667 +# Attempt ssl connection to IRC server +ssl: false +# Trust all SSL certs +trust-all-certs: false +# Character encoding. Leave blank for Java default. +charset: '' +# show irc server motd on connect +show-motd: false +# autoconnect - Connect automatically on startup +autoconnect: 'false' +# password - Server password if needed +password: '' +# identify password (sent to NickServ) +ident-password: '' +# command-prefix - The bot will listen for commands that start with this. +command-prefix: '.' +# quit-message - Message the bot will send when it quits the server +quit-message: '&r[&5PurpleIRC&r] &rGood bye!' +# Message delay in milliseconds (be careful when changing this) +message-delay: 1000 +# send a raw message on connect +raw-message-on-connect: false +# the raw message +raw-message: auth name pass +# relay-private-chat - Allow private chat to the bot to relay to the game +relay-private-chat: false +# notify channels or users when a player uses commands +command-notify: + enabled: false + # valid modes: msg, ctcp + mode: msg + # recipients can be channels or users + recipients: + - '#minecraft-test' + - example +# Automatically part invalid channels +part-invalid-channels: false +# Message when leaving invalid channel +part-invalid-channels-message: 'I should not be here! Bye!' +# channels - List the channels your bot will join here +channels: + # Channel name must be surrounded by sing quotes to be YAML compliant. + # Use %2E instead of dots in the channel names. + # Example: minecraft%2Etest == minecraft.test + '#OBAMCraft-staff': + # worlds we listen to for this channel + worlds: + - '*' + # autojoin - Join the channel automatically on connect + autojoin: true + # modes - Channel modes to set + modes: '' + # password - Channel password + password: '+$$/Nvx|Sa2\:e;Bbv1m' + # topic - Channel topic + topic: New topic + # topic-protect - Prevent others from changing the topic + topic-protect: false + # If the Shortify plugin is installed then shoten URLs sent from IRC + shortify: true + # enabled-messages - These are the message types that are either sent to the game or IRC + # config.yml. Remove or comment the messages you don't want. + enabled-messages: + # These messages are sent from game to IRC (see permissions) + - console-chat + - game-action + - game-chat + - game-death + - game-kick + - game-join + - game-quit + # The game-afk message type is not functional yet. + #- game-afk + # These messages are sent from IRC to game (see permissions) + - irc-action + - irc-chat + - irc-pchat + - irc-join + - irc-kick + - irc-part + - irc-topic + - irc-quit + - irc-nickchange + - irc-mode + - irc-notice + #- irc-console-chat + # Dynmap Web Chat + - dynmap-web-chat + # mcMMO messages sent to IRC + - mcmmo-admin-chat + - mcmmo-party-chat + - mcmmo-chat + # FactionChat messages sent to IRC + - faction-public-chat + - faction-ally-chat + - faction-enemy-chat + # Hero chat message types that are sent from game to IRC + # Game messages from Global HC channel + - hero-Global-chat + - hero-Global-action + # Game messages from any HC channel + - hero-chat + - hero-action + # Specific HC channel + #- hero-[CHANNEL]-chat + #- hero-[CHANNEL]-action + # Various IRC messages that are sent to Herochat channel. Receiving HC + # channel name is configured per hero-channel: 'CHANNEL NAME' + #- irc-hero-action + #- irc-hero-chat + #- irc-hero-kick + #- irc-hero-join + #- irc-hero-part + #- irc-hero-topic + # CleverNotch bot messages will be sent to the IRC channel + - clever-chat + - titan-chat + - towny-chat + # Specific TownyChat channel or tag + #- towny-[CHANNEL]-chat + #- towny-[CHANNELTAG]-chat + # Specific TitanChat channel + #- titan-[CHANNEL]-chat + # ReportRTS ticket notifications to irc + - rts-notify + # Catch /broadcast messages + #- broadcast-console-message + #- broadcast-message + # Hero channel destination for IRC messages + hero-channel: admin + # Log all messages from IRC to HeroChat + log-irc-to-hero-chat: false + # ops - IRC hostname mask styled ops list + ops: + - '*!*sarah@example.com' + # muted - IRC users that should not be heard in game + muted: + - LiVBot|Curtain + - LiVBot|Staffbuild + + # commands - A list of commands that the bot will act on + # There are several builtin game_command options. + # @list - list the players in the game + # @help - print out of all of the commands + # @uptime - print the uptime of the game server + # @chat - send message to game + # @hchat - send message to specific hero channel + # @ochat - send message to game (overrides irc-chat) + # @motd - display minecraft server motd + # @msg - send private message to player + # @query - query remote minecraft server + # The modes can be *, o , v , h, q or s. Mix and match as needed. + # If game_command can optionally accept arguments via %ARGS% and %NAME% + # If a command is private then the result is sent to the player privately. + # Set ignore-irc-chat to true if you are using @chat and don't want regular IRC chat in your game + ignore-irc-chat: false + # ignore list for custom tab list + custom-tab-ignore-list: + - AwesomeBot + # Hide join message when player is invisible (VanishNoPacket) + hide-join-when-vanished: true + # Hide quit message when player is invisible (VanishNoPacket) + hide-quit-when-vanished: true + # How to respond to an invalid command + invalid-command: + private: false + ctcp: false + commands: + chat: + modes: '*' + private: false + ctcp: false + game_command: '@chat' + private_listen: true + channel_listen: true + ochat: + modes: '*' + private: false + ctcp: false + game_command: '@ochat' + private_listen: true + channel_listen: true + h: + modes: '*' + private: false + ctcp: false + game_command: '@hchat' + private_listen: true + channel_listen: true + msg: + modes: '*' + private: true + ctcp: false + game_command: '@msg' + private_listen: true + channel_listen: true + list: + modes: '*' + private: false + ctcp: false + game_command: '@list' + private_listen: true + channel_listen: true + help: + modes: '*' + private: false + ctcp: false + game_command: '@help' + private_listen: true + channel_listen: true + uptime: + modes: '*' + private: false + ctcp: false + game_command: '@uptime' + private_listen: true + channel_listen: true + version: + modes: '*' + private: false + ctcp: false + game_command: version + private_listen: true + channel_listen: true + lag: + modes: '*' + private: false + ctcp: false + game_command: lag + private_listen: true + channel_listen: true + lagmem: + modes: '*' + private: true + ctcp: false + game_command: lagmem + private_listen: true + channel_listen: true + gamemode: + modes: 'o' + private: false + ctcp: false + game_command: 'gamemode %ARGS%' + private_listen: true + channel_listen: true \ No newline at end of file diff --git a/Obam-Tools/LiVBotcurtain.yml b/Obam-Tools/LiVBotcurtain.yml new file mode 100644 index 0000000..b257e13 --- /dev/null +++ b/Obam-Tools/LiVBotcurtain.yml @@ -0,0 +1,259 @@ +# Sample PurpleIRC bot configuration. +# Most of these options should be self explanatory. +# Place your bot file in the PurpleIRC/bots/ folder. +# +# nick - Your bot's unique nickname +nick: LiVBot|StaffBuild +# login - Your bot's login name +login: froglawn +# realname +realname: '' +# server - IRC server to join +server: irc.esper.net +# port - IRC server port +port: 6667 +# Attempt ssl connection to IRC server +ssl: false +# Trust all SSL certs +trust-all-certs: false +# Character encoding. Leave blank for Java default. +charset: '' +# show irc server motd on connect +show-motd: false +# autoconnect - Connect automatically on startup +autoconnect: 'false' +# password - Server password if needed +password: '' +# identify password (sent to NickServ) +ident-password: '' +# command-prefix - The bot will listen for commands that start with this. +command-prefix: '.' +# quit-message - Message the bot will send when it quits the server +quit-message: '&r[&5PurpleIRC&r] &rGood bye!' +# Message delay in milliseconds (be careful when changing this) +message-delay: 1000 +# send a raw message on connect +raw-message-on-connect: false +# the raw message +raw-message: auth name pass +# relay-private-chat - Allow private chat to the bot to relay to the game +relay-private-chat: false +# notify channels or users when a player uses commands +command-notify: + enabled: false + # valid modes: msg, ctcp + mode: msg + # recipients can be channels or users + recipients: + - '#minecraft-test' + - example +# Automatically part invalid channels +part-invalid-channels: false +# Message when leaving invalid channel +part-invalid-channels-message: 'I should not be here! Bye!' +# channels - List the channels your bot will join here +channels: + # Channel name must be surrounded by sing quotes to be YAML compliant. + # Use %2E instead of dots in the channel names. + # Example: minecraft%2Etest == minecraft.test + '#OBAMCraft-staff': + # worlds we listen to for this channel + worlds: + - '*' + # autojoin - Join the channel automatically on connect + autojoin: true + # modes - Channel modes to set + modes: '' + # password - Channel password + password: '+$$/Nvx|Sa2\:e;Bbv1m' + # topic - Channel topic + topic: New topic + # topic-protect - Prevent others from changing the topic + topic-protect: false + # If the Shortify plugin is installed then shoten URLs sent from IRC + shortify: true + # enabled-messages - These are the message types that are either sent to the game or IRC + # config.yml. Remove or comment the messages you don't want. + enabled-messages: + # These messages are sent from game to IRC (see permissions) + - console-chat + - game-action + - game-chat + - game-death + - game-kick + - game-join + - game-quit + # The game-afk message type is not functional yet. + #- game-afk + # These messages are sent from IRC to game (see permissions) + - irc-action + - irc-chat + - irc-pchat + - irc-join + - irc-kick + - irc-part + - irc-topic + - irc-quit + - irc-nickchange + - irc-mode + - irc-notice + #- irc-console-chat + # Dynmap Web Chat + - dynmap-web-chat + # mcMMO messages sent to IRC + - mcmmo-admin-chat + - mcmmo-party-chat + - mcmmo-chat + # FactionChat messages sent to IRC + - faction-public-chat + - faction-ally-chat + - faction-enemy-chat + # Hero chat message types that are sent from game to IRC + # Game messages from Global HC channel + - hero-Global-chat + - hero-Global-action + # Game messages from any HC channel + - hero-chat + - hero-action + # Specific HC channel + #- hero-[CHANNEL]-chat + #- hero-[CHANNEL]-action + # Various IRC messages that are sent to Herochat channel. Receiving HC + # channel name is configured per hero-channel: 'CHANNEL NAME' + #- irc-hero-action + #- irc-hero-chat + #- irc-hero-kick + #- irc-hero-join + #- irc-hero-part + #- irc-hero-topic + # CleverNotch bot messages will be sent to the IRC channel + - clever-chat + - titan-chat + - towny-chat + # Specific TownyChat channel or tag + #- towny-[CHANNEL]-chat + #- towny-[CHANNELTAG]-chat + # Specific TitanChat channel + #- titan-[CHANNEL]-chat + # ReportRTS ticket notifications to irc + - rts-notify + # Catch /broadcast messages + #- broadcast-console-message + #- broadcast-message + # Hero channel destination for IRC messages + hero-channel: admin + # Log all messages from IRC to HeroChat + log-irc-to-hero-chat: false + # ops - IRC hostname mask styled ops list + ops: + - '*!*sarah@example.com' + # muted - IRC users that should not be heard in game + muted: + - LiVBot|Curtain + - LiVBot|Staffbuild + + # commands - A list of commands that the bot will act on + # There are several builtin game_command options. + # @list - list the players in the game + # @help - print out of all of the commands + # @uptime - print the uptime of the game server + # @chat - send message to game + # @hchat - send message to specific hero channel + # @ochat - send message to game (overrides irc-chat) + # @motd - display minecraft server motd + # @msg - send private message to player + # @query - query remote minecraft server + # The modes can be *, o , v , h, q or s. Mix and match as needed. + # If game_command can optionally accept arguments via %ARGS% and %NAME% + # If a command is private then the result is sent to the player privately. + # Set ignore-irc-chat to true if you are using @chat and don't want regular IRC chat in your game + ignore-irc-chat: false + # ignore list for custom tab list + custom-tab-ignore-list: + - AwesomeBot + # Hide join message when player is invisible (VanishNoPacket) + hide-join-when-vanished: true + # Hide quit message when player is invisible (VanishNoPacket) + hide-quit-when-vanished: true + # How to respond to an invalid command + invalid-command: + private: false + ctcp: false + commands: + chat: + modes: '*' + private: false + ctcp: false + game_command: '@chat' + private_listen: true + channel_listen: true + ochat: + modes: '*' + private: false + ctcp: false + game_command: '@ochat' + private_listen: true + channel_listen: true + h: + modes: '*' + private: false + ctcp: false + game_command: '@hchat' + private_listen: true + channel_listen: true + msg: + modes: '*' + private: true + ctcp: false + game_command: '@msg' + private_listen: true + channel_listen: true + list: + modes: '*' + private: false + ctcp: false + game_command: '@list' + private_listen: true + channel_listen: true + help: + modes: '*' + private: false + ctcp: false + game_command: '@help' + private_listen: true + channel_listen: true + uptime: + modes: '*' + private: false + ctcp: false + game_command: '@uptime' + private_listen: true + channel_listen: true + version: + modes: '*' + private: false + ctcp: false + game_command: version + private_listen: true + channel_listen: true + lag: + modes: '*' + private: false + ctcp: false + game_command: lag + private_listen: true + channel_listen: true + lagmem: + modes: '*' + private: true + ctcp: false + game_command: lagmem + private_listen: true + channel_listen: true + gamemode: + modes: 'o' + private: false + ctcp: false + game_command: 'gamemode %ARGS%' + private_listen: true + channel_listen: true \ No newline at end of file diff --git a/Obam-Tools/PurpleIRC-2.1.9.jar b/Obam-Tools/PurpleIRC-2.1.9.jar new file mode 100644 index 0000000000000000000000000000000000000000..f9d9e09b8dd46951820c70d4e170e91bf424cd7d GIT binary patch literal 598426 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

#>;oaY(b9R6o4PV9} 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 z�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 z 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 z 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

W%=yIFiG)X*%I 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�w`Z#J%P{lT0GhvQoG*#Zf6 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 AWB>pF literal 0 HcmV?d00001 diff --git a/Obam-Tools/SampleBot.yml b/Obam-Tools/SampleBot.yml new file mode 100644 index 0000000..d4deca4 --- /dev/null +++ b/Obam-Tools/SampleBot.yml @@ -0,0 +1,257 @@ +# Sample PurpleIRC bot configuration. +# Most of these options should be self explanatory. +# Place your bot file in the PurpleIRC/bots/ folder. +# +# nick - Your bot's unique nickname +nick: AwesomeBot +# login - Your bot's login name +login: AwesomeName +# realname +realname: '' +# server - IRC server to join +server: irc.excample.com +# port - IRC server port +port: 6667 +# Attempt ssl connection to IRC server +ssl: false +# Trust all SSL certs +trust-all-certs: false +# Character encoding. Leave blank for Java default. +charset: '' +# show irc server motd on connect +show-motd: false +# autoconnect - Connect automatically on startup +autoconnect: 'false' +# password - Server password if needed +password: '' +# identify password (sent to NickServ) +ident-password: '' +# command-prefix - The bot will listen for commands that start with this. +command-prefix: '.' +# quit-message - Message the bot will send when it quits the server +quit-message: '&r[&5PurpleIRC&r] &rGood bye!' +# Message delay in milliseconds (be careful when changing this) +message-delay: 1000 +# send a raw message on connect +raw-message-on-connect: false +# the raw message +raw-message: auth name pass +# relay-private-chat - Allow private chat to the bot to relay to the game +relay-private-chat: false +# notify channels or users when a player uses commands +command-notify: + enabled: false + # valid modes: msg, ctcp + mode: msg + # recipients can be channels or users + recipients: + - '#minecraft-test' + - example +# Automatically part invalid channels +part-invalid-channels: false +# Message when leaving invalid channel +part-invalid-channels-message: 'I should not be here! Bye!' +# channels - List the channels your bot will join here +channels: + # Channel name must be surrounded by sing quotes to be YAML compliant. + # Use %2E instead of dots in the channel names. + # Example: minecraft%2Etest == minecraft.test + '#minecraft-test': + # worlds we listen to for this channel + worlds: + - '*' + # autojoin - Join the channel automatically on connect + autojoin: true + # modes - Channel modes to set + modes: '' + # password - Channel password + password: '' + # topic - Channel topic + topic: New topic + # topic-protect - Prevent others from changing the topic + topic-protect: false + # If the Shortify plugin is installed then shoten URLs sent from IRC + shortify: true + # enabled-messages - These are the message types that are either sent to the game or IRC + # config.yml. Remove or comment the messages you don't want. + enabled-messages: + # These messages are sent from game to IRC (see permissions) + - console-chat + - game-action + - game-chat + - game-death + - game-kick + - game-join + - game-quit + # The game-afk message type is not functional yet. + #- game-afk + # These messages are sent from IRC to game (see permissions) + - irc-action + - irc-chat + - irc-pchat + - irc-join + - irc-kick + - irc-part + - irc-topic + - irc-quit + - irc-nickchange + - irc-mode + - irc-notice + #- irc-console-chat + # Dynmap Web Chat + - dynmap-web-chat + # mcMMO messages sent to IRC + - mcmmo-admin-chat + - mcmmo-party-chat + - mcmmo-chat + # FactionChat messages sent to IRC + - faction-public-chat + - faction-ally-chat + - faction-enemy-chat + # Hero chat message types that are sent from game to IRC + # Game messages from Global HC channel + - hero-Global-chat + - hero-Global-action + # Game messages from any HC channel + - hero-chat + - hero-action + # Specific HC channel + #- hero-[CHANNEL]-chat + #- hero-[CHANNEL]-action + # Various IRC messages that are sent to Herochat channel. Receiving HC + # channel name is configured per hero-channel: 'CHANNEL NAME' + #- irc-hero-action + #- irc-hero-chat + #- irc-hero-kick + #- irc-hero-join + #- irc-hero-part + #- irc-hero-topic + # CleverNotch bot messages will be sent to the IRC channel + - clever-chat + - titan-chat + - towny-chat + # Specific TownyChat channel or tag + #- towny-[CHANNEL]-chat + #- towny-[CHANNELTAG]-chat + # Specific TitanChat channel + #- titan-[CHANNEL]-chat + # ReportRTS ticket notifications to irc + - rts-notify + # Catch /broadcast messages + #- broadcast-console-message + #- broadcast-message + # Hero channel destination for IRC messages + hero-channel: admin + # Log all messages from IRC to HeroChat + log-irc-to-hero-chat: false + # ops - IRC hostname mask styled ops list + ops: + - '*!*sarah@example.com' + # muted - IRC users that should not be heard in game + muted: + - KuShy + # commands - A list of commands that the bot will act on + # There are several builtin game_command options. + # @list - list the players in the game + # @help - print out of all of the commands + # @uptime - print the uptime of the game server + # @chat - send message to game + # @hchat - send message to specific hero channel + # @ochat - send message to game (overrides irc-chat) + # @motd - display minecraft server motd + # @msg - send private message to player + # @query - query remote minecraft server + # The modes can be *, o , v , h, q or s. Mix and match as needed. + # If game_command can optionally accept arguments via %ARGS% and %NAME% + # If a command is private then the result is sent to the player privately. + # Set ignore-irc-chat to true if you are using @chat and don't want regular IRC chat in your game + ignore-irc-chat: false + # ignore list for custom tab list + custom-tab-ignore-list: + - AwesomeBot + # Hide join message when player is invisible (VanishNoPacket) + hide-join-when-vanished: true + # Hide quit message when player is invisible (VanishNoPacket) + hide-quit-when-vanished: true + # How to respond to an invalid command + invalid-command: + private: false + ctcp: false + commands: + chat: + modes: '*' + private: false + ctcp: false + game_command: '@chat' + private_listen: true + channel_listen: true + ochat: + modes: '*' + private: false + ctcp: false + game_command: '@ochat' + private_listen: true + channel_listen: true + h: + modes: '*' + private: false + ctcp: false + game_command: '@hchat' + private_listen: true + channel_listen: true + msg: + modes: '*' + private: true + ctcp: false + game_command: '@msg' + private_listen: true + channel_listen: true + list: + modes: '*' + private: false + ctcp: false + game_command: '@list' + private_listen: true + channel_listen: true + help: + modes: '*' + private: false + ctcp: false + game_command: '@help' + private_listen: true + channel_listen: true + uptime: + modes: '*' + private: false + ctcp: false + game_command: '@uptime' + private_listen: true + channel_listen: true + version: + modes: '*' + private: false + ctcp: false + game_command: version + private_listen: true + channel_listen: true + lag: + modes: '*' + private: false + ctcp: false + game_command: lag + private_listen: true + channel_listen: true + lagmem: + modes: '*' + private: true + ctcp: false + game_command: lagmem + private_listen: true + channel_listen: true + gamemode: + modes: 'o' + private: false + ctcp: false + game_command: 'gamemode %ARGS%' + private_listen: true + channel_listen: true \ No newline at end of file diff --git a/Obam-Tools/documentation.html b/Obam-Tools/documentation.html new file mode 100644 index 0000000..ca29353 --- /dev/null +++ b/Obam-Tools/documentation.html @@ -0,0 +1,431 @@ + +SkAddonLib Generated Documentation

NEWS

Welcome to the new SkAddonLib documentation!

Say hello to SkAddonLib's sleek new design! Everything you need to know about any Skript addon you have packed into a beautiful metro styled documentation. + + Enjoy the new layout! + - w00tmast3r, SkAddonLib author

EFFECT

Change Server (Added by BungeeScript)

Description unavailable

Usage
+connect %players% to [server] %string%
+
+Examples
+Examples Unavailable
+
EFFECT

Forward Command (Added by BungeeScript)

Description unavailable

Usage
+forward [command] %string% to console [[of [server]] %-string%]
+forward [command] %string% to %string% [[of [server]] %-string%]
+
+Examples
+Examples Unavailable
+
EFFECT

Leash (Added by SkriptPlus)

Description unavailable

Usage
+make %entities% leash %livingentities%
+
+Examples
+Examples Unavailable
+
EFFECT

Sound (Added by SkriptPlus)

Description unavailable

Usage
+play %sound% at %locations% with pitch %number%
+
+Examples
+Examples Unavailable
+
EFFECT

Display Scoreboard (Added by SkriptPlus)

Description unavailable

Usage
+display [score]board named %string% to %player%
+
+Examples
+Examples Unavailable
+
EFFECT

Set Score (Added by SkriptPlus)

Description unavailable

Usage
+make score [of] %string% in [score]board of %player% [to] %number%
+
+Examples
+Examples Unavailable
+
EFFECT

Set Display (Added by SkriptPlus)

Description unavailable

Usage
+move display of %player% to %displayslot%
+
+Examples
+Examples Unavailable
+
EFFECT

Remove Score (Added by SkriptPlus)

Description unavailable

Usage
+nullify score [of] %string% in [score]board of %player%
+
+Examples
+Examples Unavailable
+
EFFECT

Player Visibility (Added by SkriptPlus)

Description unavailable

Usage
+hide %players% (to|from) %players%
+reveal %players% (to|from) %players%
+
+Examples
+Examples Unavailable
+
EFFECT

Put (Added by SkriptPlus)

Description unavailable

Usage
+put %object% for %string% in %string%
+
+Examples
+Examples Unavailable
+
EFFECT

New Recipe (Added by SkriptPlus)

Description unavailable

Usage
+register new shaped recipe for %itemtype% using %itemtype%, %itemtype%, %itemtype%, %itemtype%, %itemtype%, %itemtype%, %itemtype%, %itemtype%, %itemtype%
+register new shapeless recipe for %itemtype% using %itemtype%, %itemtype%, %itemtype%, %itemtype%, %itemtype%, %itemtype%, %itemtype%, %itemtype%, %itemtype%
+
+Examples
+Examples Unavailable
+
EFFECT

Homing (Added by SkriptPlus)

Description unavailable

Usage
+make %entity% home towards %location%
+make %entity% home towards %location% normally
+
+Examples
+Examples Unavailable
+
EFFECT

Client Block (Added by SkriptPlus)

Description unavailable

Usage
+make %players% see %block% as %itemtype%
+
+Examples
+Examples Unavailable
+
EFFECT

Flush (Added by SkriptPlus)

Description unavailable

Usage
+flush path %string% in %string%
+
+Examples
+Examples Unavailable
+
EFFECT

Virtual Chest Synthesizer (Added by SkriptPlus)

Description unavailable

Usage
+show %string% with %number% row[s] named %string% to %player%
+
+Examples
+Examples Unavailable
+
EFFECT

Invoke (Added by SkriptPlus)

Description unavailable

Usage
+invoke %string%
+invoke %string% from %objects%
+
+Examples
+Examples Unavailable
+
EFFECT

Escape (Added by SkriptPlus)

Description unavailable

Usage
+escape %number% [(levels|lines)]
+
+Examples
+Examples Unavailable
+
EFFECT

Branch (Added by SkriptPlus)

Description unavailable

Usage
+branch %number%
+
+Examples
+Examples Unavailable
+
EFFECT

Return (Added by SkriptPlus)

Description unavailable

Usage
+return %objects%
+
+Examples
+Examples Unavailable
+
EFFECT

Sync (Added by SkriptPlus)

Description unavailable

Usage
+sync %~object% to [function] %string%
+sync %~object% to [function] %string% from %objects%
+
+Examples
+Examples Unavailable
+
EFFECT

Trail (Added by SkriptPlus)

Description unavailable

Usage
+trail projectile with %particle%
+
+Examples
+Examples Unavailable
+
EFFECT

Pop (Added by SkriptPlus)

Description unavailable

Usage
+pop %fireworktype% colored %colors% at %locations%
+
+Examples
+Examples Unavailable
+
EFFECT

Shoot Item Projectile (Added by SkriptPlus)

Description unavailable

Usage
+make %livingentity% shoot [an] item projectile [of] %itemtype%[ at speed %number%]
+
+Examples
+Examples Unavailable
+
EFFECT

Texture (Added by SkriptPlus)

Description unavailable

Usage
+send [(resource|texture)] pack from %string% to %players%
+
+Examples
+Examples Unavailable
+
EFFECT

Custom Sound (Added by SkriptPlus)

Description unavailable

Usage
+play raw sound %string% at %locations% with pitch %number% volume %number%
+
+Examples
+Examples Unavailable
+
EFFECT

M I D I (Added by SkriptPlus)

Description unavailable

Usage
+play midi %string% to %players%
+
+Examples
+Examples Unavailable
+
EFFECT

Manage Map (Added by SkriptPlus)

Description unavailable

Usage
+(manage|share) map [id] %number%
+(override|overwrite) map [id] %number%
+
+Examples
+Examples Unavailable
+
EFFECT

Draw Image (Added by SkriptPlus)

Description unavailable

Usage
+draw [buffered[ ]]image %image% on [map] %number%
+draw [buffered[ ]]image %image% on [map] %number% [starting] from %number%, %number%
+
+Examples
+Examples Unavailable
+
EFFECT

Draw Text (Added by SkriptPlus)

Description unavailable

Usage
+draw %string% on [map] %number%
+draw %string% on [map] %number% [starting] from %number%, %number%
+
+Examples
+Examples Unavailable
+
EFFECT

Erase Map (Added by SkriptPlus)

Description unavailable

Usage
+erase [map] %number%
+
+Examples
+Examples Unavailable
+
EFFECT

Send Map (Added by SkriptPlus)

Description unavailable

Usage
+send [map] %number% to %players%
+
+Examples
+Examples Unavailable
+
EFFECT

Particle (Added by SkriptPlus)

Description unavailable

Usage
+spawn %number% of %particle% data %number% offset with %number%, %number%, %number% at %locations%
+
+Examples
+Examples Unavailable
+
EFFECT

Make Damage (Added by SkriptPlus)

Description unavailable

Usage
+make %livingentity% damage %livingentities% by %number%
+
+Examples
+Examples Unavailable
+
EFFECT

Send Json (Added by SkriptPlus)

Description unavailable

Usage
+(send|message) %jsonmessage% to %players%
+
+Examples
+Examples Unavailable
+
EFFECT

Deserialize Return (Added by SkriptPlus)

Description unavailable

Usage
+restore inventory [of] %player% (to|from) %string%
+
+Examples
+Examples Unavailable
+
EFFECT

Draw Cursor (Added by SkriptPlus)

Description unavailable

Usage
+draw cursor %mapcursortype% pointing %number% on [map] %number% at %number%, %number%
+
+Examples
+Examples Unavailable
+
EFFECT

Clone (Added by HookSk)

Description unavailable

Usage
+clone %world% as %string%
+
+Examples
+Examples Unavailable
+
EFFECT

Delete (Added by HookSk)

Description unavailable

Usage
+delete %world%
+
+Examples
+Examples Unavailable
+
EFFECT

Recreate (Added by HookSk)

Description unavailable

Usage
+recreate %world%[ from seed %-string%]
+
+Examples
+Examples Unavailable
+
EXPRESSION

Flight Mode (Added by SkriptPlus)

Description unavailable

Usage
+[the] fl(y|ight) (state|ability|mode) of %players%
+%players%'[s] fl(y|ight) (state|ability|mode)
+
+Examples
+Examples Unavailable
+
EXPRESSION

Lore (Added by SkriptPlus)

Description unavailable

Usage
+[the] lore of %itemstack%
+%itemstack%'[s] lore
+
+Examples
+Examples Unavailable
+
EXPRESSION

Serial (Added by SkriptPlus)

Description unavailable

Usage
+[the] serialized inventory of %player%
+%player%'[s] serialized inventory
+
+Examples
+Examples Unavailable
+
EXPRESSION

Nth Prime (Added by SkriptPlus)

Description unavailable

Usage
+%number%(st|nd|rd|th) prime
+
+Examples
+Examples Unavailable
+
EXPRESSION

Pull (Added by SkriptPlus)

Description unavailable

Usage
+value [of] %string% pulled from %string%
+
+Examples
+Examples Unavailable
+
EXPRESSION

U R L Text (Added by SkriptPlus)

Description unavailable

Usage
+text from [url] %string%
+
+Examples
+Examples Unavailable
+
EXPRESSION

Lored Item Stack (Added by SkriptPlus)

Description unavailable

Usage
+%itemtypes% with lore %string%
+
+Examples
+Examples Unavailable
+
EXPRESSION

Book Of (Added by SkriptPlus)

Description unavailable

Usage
+book from %string%
+
+Examples
+Examples Unavailable
+
EXPRESSION

Enchant Level (Added by SkriptPlus)

Description unavailable

Usage
+[the] enchant(ing|ment|) level
+
+Examples
+Examples Unavailable
+
EXPRESSION

Block Cube (Added by SkriptPlus)

Description unavailable

Usage
+blocks within %location% to %location%
+
+Examples
+Examples Unavailable
+
EXPRESSION

M O T D (Added by SkriptPlus)

Description unavailable

Usage
+[the] (motd|message of the day)
+
+Examples
+Examples Unavailable
+
EXPRESSION

Fake Max Players (Added by SkriptPlus)

Description unavailable

Usage
+[the] [max] player count
+
+Examples
+Examples Unavailable
+
EXPRESSION

Parameter (Added by SkriptPlus)

Description unavailable

Usage
+parameter(-| )%number%
+
+Examples
+Examples Unavailable
+
EXPRESSION

Block Chunk (Added by SkriptPlus)

Description unavailable

Usage
+blocks within %chunk%
+
+Examples
+Examples Unavailable
+
EXPRESSION

Image U R L (Added by SkriptPlus)

Description unavailable

Usage
+[the] [buffered[ ]]image from [url] %string%
+
+Examples
+Examples Unavailable
+
EXPRESSION

Image Local (Added by SkriptPlus)

Description unavailable

Usage
+[the] [buffered[ ]]image stored as %string%
+
+Examples
+Examples Unavailable
+
EXPRESSION

Json Message (Added by SkriptPlus)

Description unavailable

Usage
+json [of] %string%
+
+Examples
+Examples Unavailable
+
EXPRESSION

Json Message Append (Added by SkriptPlus)

Description unavailable

Usage
+%jsonmessage% then %string%
+
+Examples
+Examples Unavailable
+
EXPRESSION

Json Message Tooltip (Added by SkriptPlus)

Description unavailable

Usage
+%jsonmessage% tooltip %string%
+
+Examples
+Examples Unavailable
+
EXPRESSION

Json Message Style (Added by SkriptPlus)

Description unavailable

Usage
+%jsonmessage% styled %chatcolors%
+
+Examples
+Examples Unavailable
+
EXPRESSION

Json Message Command (Added by SkriptPlus)

Description unavailable

Usage
+%jsonmessage% suggest %string%
+%jsonmessage% run %string%
+
+Examples
+Examples Unavailable
+
EXPRESSION

Values (Added by SkriptPlus)

Description unavailable

Usage
+[all ]enum values of %classinfo%
+
+Examples
+Examples Unavailable
+
EXPRESSION

Block In Chunk (Added by SkriptPlus)

Description unavailable

Usage
+[the] block at %number%, %number%, %number% in [chunk] %chunk%
+
+Examples
+Examples Unavailable
+
CONDITION

Is Prime (Added by SkriptPlus)

Description unavailable

Usage
+%number% is prime
+%number% is not prime
+
+Examples
+Examples Unavailable
+
CONDITION

Is Divisible (Added by SkriptPlus)

Description unavailable

Usage
+%number% is divisible by %number%
+%number% is not divisible by %number%
+
+Examples
+Examples Unavailable
+
CONDITION

Is Block (Added by SkriptPlus)

Description unavailable

Usage
+%itemtype% is [a] block
+%itemtype% is not [a] block
+
+Examples
+Examples Unavailable
+
CONDITION

Has Potion (Added by SkriptPlus)

Description unavailable

Usage
+%player% has %potioneffecttype%
+%player% does(n't| not) have %potioneffecttype%
+
+Examples
+Examples Unavailable
+
CONDITION

Is Within (Added by SkriptPlus)

Description unavailable

Usage
+%location% is within %location% to %location%
+%location% is not within %location% to %location%
+
+Examples
+Examples Unavailable
+
EVENT

Enchant Item Event (Added by SkriptPlus)

Description unavailable

Usage
+[on]enchant
+
+Examples
+Examples Unavailable
+
EVENT

Sheep Dye Wool Event (Added by SkriptPlus)

Description unavailable

Usage
+[on]sheep dye
+
+Examples
+Examples Unavailable
+
EVENT

Horse Jump Event (Added by SkriptPlus)

Description unavailable

Usage
+[on]horse jump
+
+Examples
+Examples Unavailable
+
EVENT

Player Edit Book Event (Added by SkriptPlus)

Description unavailable

Usage
+[on][book] edit
+
+Examples
+Examples Unavailable
+
EVENT

Player Toggle Flight Event (Added by SkriptPlus)

Description unavailable

Usage
+[on][player] toggl(e|ing) (flight|fly)
+[on][player] (flight|fly) toggl(e|ing)
+
+Examples
+Examples Unavailable
+
EVENT

Inventory Click Event (Added by SkriptPlus)

Description unavailable

Usage
+[on]inventory click
+
+Examples
+Examples Unavailable
+
EVENT

Player Move Event (Added by SkriptPlus)

Description unavailable

Usage
+[on]any movement
+
+Examples
+Examples Unavailable
+
EVENT

Server List Ping Event (Added by SkriptPlus)

Description unavailable

Usage
+[on][server] [list] ping
+
+Examples
+Examples Unavailable
+
EVENT

Routine Event (Added by SkriptPlus)

Description unavailable

Usage
+[on]sub[routine] %string%
+
+Examples
+Examples Unavailable
+
EVENT

Function Event (Added by SkriptPlus)

Description unavailable

Usage
+[on]func[tion] %string%
+
+Examples
+Examples Unavailable
+
EVENT

Item Projectile Hit Event (Added by SkriptPlus)

Description unavailable

Usage
+[on]item [projectile] hit
+
+Examples
+Examples Unavailable
+
EVENT

Entity Change Block Event (Added by SkriptPlus)

Description unavailable

Usage
+[on]block land
+
+Examples
+Examples Unavailable
+
SETTINGS

+
+
+
+
\ No newline at end of file diff --git a/Obam-Tools/eggification.sk b/Obam-Tools/eggification.sk index 0f7f632..e636e08 100644 --- a/Obam-Tools/eggification.sk +++ b/Obam-Tools/eggification.sk @@ -7,13 +7,72 @@ options: egg6: snowball named "&3Projeggtile &4Spider &3Ball" with lore "&6Tangles an eight legged bugger||&6into a silky woven sack!" on script load: - register new shaped recipe for mooshroom spawn egg using red mushroom, red mushroom, red mushroom, red mushroom, cow spawn egg, red mushroom, red mushroom, red mushroom, red mushroom register new shaped recipe for {@egg2} using {@egg}, {@egg}, {@egg}, {@egg}, gunpowder, {@egg}, {@egg}, {@egg}, {@egg} register new shaped recipe for {@egg3} using {@egg}, {@egg}, {@egg}, {@egg}, bone, {@egg}, {@egg}, {@egg}, {@egg} register new shaped recipe for {@egg4} using {@egg}, {@egg}, {@egg}, {@egg}, gold nugget, {@egg}, {@egg}, {@egg}, {@egg} register new shaped recipe for {@egg5} using {@egg}, {@egg}, {@egg}, {@egg}, rotten flesh, {@egg}, {@egg}, {@egg}, {@egg} register new shaped recipe for {@egg6} using {@egg}, {@egg}, {@egg}, {@egg}, string, {@egg}, {@egg}, {@egg}, {@egg} + set {db_ci.items::03.capture.ball} to "i;snowball;n;&3Projeggtile Capture Ball;l;&6Capture the essence of various creatures||&6by tossing your balls at them.;c;sudo PLAYER cb capture 1" + set {db_ci.items::12.capture.ball} to "i;16 snowball;n;&3Projeggtile Capture Ball;l;&6Capture the essence of various creatures||&6by tossing your balls at them.;c;sudo PLAYER cb capture 16" + set {db_ci.items::04.creeper.ball} to "i;snowball;n;&3Projeggtile &2Creeper &3Ball;l;&6Heavily reinforced to prevent even the||&6most explosive creepers from escaping!;c;sudo PLAYER cb creeper 1" + set {db_ci.items::13.creeper.ball} to "i;16 snowball;n;&3Projeggtile &2Creeper &3Ball;l;&6Heavily reinforced to prevent even the||&6most explosive creepers from escaping!;c;sudo PLAYER cb creeper 16" + set {db_ci.items::05.skeleton.ball} to "i;snowball;n;&3Projeggtile &7Skeleton &3Ball;l;&6An ironic prison of bones made to hold||&6a skeleton, made from its own kin!;c;sudo PLAYER cb skeleton 1" + set {db_ci.items::14.skeleton.ball} to "i;16 snowball;n;&3Projeggtile &7Skeleton &3Ball;l;&6An ironic prison of bones made to hold||&6a skeleton, made from its own kin!;c;sudo PLAYER cb skeleton 16" + set {db_ci.items::06.zombie.ball} to "i;snowball;n;&3Projeggtile &aZombie &3Ball;l;&6Layered in flesh to make even the||&6loneliest zombie feel at home!;c;sudo PLAYER cb zombie 1" + set {db_ci.items::15.zombie.ball} to "i;16 snowball;n;&3Projeggtile &aZombie &3Ball;l;&6Layered in flesh to make even the||&6loneliest zombie feel at home!;c;sudo PLAYER cb zombie 16" + set {db_ci.items::07.pigman.ball} to "i;snowball;n;&3Projeggtile &aZombie &dPigman &3Ball;l;&6A containment area with a nugget inside||&6to lure and keep the pigman content!;c;sudo PLAYER cb pigman 1" + set {db_ci.items::16.pigman.ball} to "i;16 snowball;n;&3Projeggtile &aZombie &dPigman &3Ball;l;&6A containment area with a nugget inside||&6to lure and keep the pigman content!;c;sudo PLAYER cb pigman 16" + set {db_ci.items::08.spider.ball} to "i;snowball;n;&3Projeggtile &4Spider &3Ball;l;&6Tangles an eight legged bugger||&6into a silky woven sack!;c;sudo PLAYER cb spider 1" + set {db_ci.items::17.spider.ball} to "i;16 snowball;n;&3Projeggtile &4Spider &3Ball;l;&6Tangles an eight legged bugger||&6into a silky woven sack!;c;sudo PLAYER cb spider 16" + +command /captureball [] []: + aliases: cb + permission: obam.smod + trigger: + argument 1 is "capture": + player doesn't have space for 1 * argument 2 of {@egg}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@egg} to player + message "&aHere are your things." + stop + argument 1 is "creeper": + player doesn't have space for 1 * argument 2 of {@egg2}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@egg2} to player + message "&aHere are your things." + stop + argument 1 is "skeleton": + player doesn't have space for 1 * argument 2 of {@egg3}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@egg3} to player + message "&aHere are your things." + stop + argument 1 is "zombie": + player doesn't have space for 1 * argument 2 of {@egg5}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@egg5} to player + message "&aHere are your things." + stop + argument 1 is "pigman": + player doesn't have space for 1 * argument 2 of {@egg4}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@egg4} to player + message "&aHere are your things." + stop + argument 1 is "spider": + player doesn't have space for 1 * argument 2 of {@egg6}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@egg6} to player + message "&aHere are your things." + stop + on join: {db_egg.%player%.skeleton} is set: send "&aYou have received %{db_egg.%player%.skeleton}% Projeggtiles" @@ -221,30 +280,17 @@ on damage of a pig or chicken or ocelot or squid or cow or bat or wolf or sheep send "&cYou can not steal animals! D:" to attacker stop set {_player} to "%attacker%" parsed as player - attacker does not have permission "obam.plus": - set {_bal} to attacker's balance - {_bal} is less than 10: - send "&cYou do not have enough tickets!" to attacker - cancel event - give attacker {@egg} - stop - subtract 10 from attacker's balance - send "&aYou have spent &e10&a tickets on capturing a creature!" to attacker - send "&aYou have &e%attacker's balance%&a remaining." to attacker - log "%attacker%^%{_bal}%^DEDUCT^10^%attacker's balance%^CREATURE CAPTURE FEE" to "tickets/CREATURECAPTURE.log" - - attacker has permission "obam.plus": - attacker does not have permission "obam.ultimate": - set {_bal} to attacker's balance - {_bal} is less than 5: - send "&cYou do not have enought tickets!" to attacker - cancel event - give attacker {@egg} - stop - remove 5 from attacker's balance - send "&aYou have spent &e5&a tickets on capturing a creature!" to attacker - send "&aYou have &e%attacker's balance%&a remaining." to attacker - log "%attacker%^%{_bal}%^DEDUCT^5^%{_player}'s balance%^CREATURE CAPTURE FEE" to "tickets/CREATURECAPTURE.log" + + set {_bal} to attacker's balance + {_bal} is less than 5: + send "&cYou do not have enought tickets!" to attacker + cancel event + give attacker {@egg} + stop + remove 5 from attacker's balance + send "&aYou have spent &e5&a tickets on capturing a creature!" to attacker + send "&aYou have &e%attacker's balance%&a remaining." to attacker + log "%attacker%^%{_bal}%^DEDUCT^5^%{_player}'s balance%^CREATURE CAPTURE FEE" to "tickets/CREATURECAPTURE.log" victim is a pig: @@ -322,7 +368,6 @@ on damage of a pig or chicken or ocelot or squid or cow or bat or wolf or sheep on death of a creeper or a zombie or a silverfish or a witch or a spider or magma cube or wither skeleton or skeleton or enderman or cave spider or slime or ghast or zombie pigman: - chance of 20%: add {@egg} to drops clear {player.hit.%event-entity%} diff --git a/Obam-Tools/hottouch.sk b/Obam-Tools/hottouch.sk new file mode 100644 index 0000000..8ed8fcb --- /dev/null +++ b/Obam-Tools/hottouch.sk @@ -0,0 +1,110 @@ +options: + smeltpick: diamond pickaxe named "&a&b&k&a&3HotTouch Pickaxe" with lore "&6A pickaxe forged from the heart of the Nether||&6with an intense heat to smelt ores while mining.|| ||&2StickyItem ©" + smeltaxe: diamond axe named "&a&b&k&a&3HotTouch Axe" with lore "&6An axe forged from the heart of the Nether||&6with an intense heat to cook logs into charcoal||&6while chopping.|| ||&2StickyItem ©" + smeltshovel: diamond shovel named "&a&b&k&a&3HotTouch Shovel" with lore "&6A shovel forged from the heart of the Nether||&6with an intense heat to cook sand clay and||&6cactus while digging.|| ||&2StickyItem ©" + + +on script load: + set {db_shop.items::HotTouch Pick} to "i;diamond pickaxe;n;&a&b&k&a&3HotTouch Pickaxe;l;&6A pickaxe forged from the heart of the Nether||&6with an intense heat to smelt ores while mining.|| ||&2StickyItem ©|| ||&5&oClick to purchase|| ||&3&lCost:||&e7,500 Tickets;c;sudo PLAYER hottouchpurchase pick" + set {db_shop.items::HotTouch Axe} to "i;diamond axe;n;&a&b&k&a&3HotTouch Axe;l;&6An axe forged from the heart of the Nether||&6with an intense heat to cook logs into charcoal||&6while chopping.|| ||&2StickyItem ©|| ||&5&oClick to purchase|| ||&3&lCost:||&e5,000 Tickets;c;sudo PLAYER hottouchpurchase axe" + set {db_shop.items::HotTouch Shovel} to "i;diamond shovel;n;&a&b&k&a&3HotTouch Shovel;l;&6A shovel forged from the heart of the Nether||&6with an intense heat to cook sand clay and||&6cactus while digging.|| ||&2StickyItem ©|| ||&5&oClick to purchase|| ||&3&lCost:||&e10,000 Tickets;c;sudo PLAYER hottouchpurchase shovel" + set {db_ci.items::23.HTP} to "i;diamond pickaxe;n;&a&b&k&a&3HotTouch Pickaxe;l;&6A pickaxe forged from the heart of the Nether||&6with an intense heat to smelt ores while mining.;c;sudo PLAYER ht pick" + set {db_ci.items::24.HTA} to "i;diamond axe;n;&a&b&k&a&3HotTouch Axe;l;&6An axe forged from the heart of the Nether||&6with an intense heat to cook logs into charcoal||&6while chopping.;c;sudo PLAYER ht axe" + set {db_ci.items::25.HTS} to "i;diamond shovel;n;&a&b&k&a&3HotTouch Shovel;l;&6A shovel forged from the heart of the Nether||&6with an intense heat to cook sand clay and||&6cactus while digging.;c;sudo PLAYER ht shovel" + +command /hottouchpurchase : + permission: obam.free + trigger: + argument is "pick": + set {_bal} to player's balance + {_bal} is less than 7500: + send "&cYou do not have enough tickets!" + stop + give player 1 {@smeltpick} + remove 7500 from player's balance + send "&aYou have purchased a &eHotTouch Pick&a for &e7500 Tickets" + send "&aYour balance is now &e%player's balance%" + argument is "shovel": + set {_bal} to player's balance + {_bal} is less than 10000: + send "&cYou do not have enough tickets!" + stop + give player 1 {@smeltshovel} + remove 10000 from player's balance + send "&aYou have purchased a &eHotTouch Shovel&a for &e10000 Tickets" + send "&aYour balance is now &e%player's balance%" + argument is "axe": + set {_bal} to player's balance + {_bal} is less than 5000: + send "&cYou do not have enough tickets!" + stop + give player 1 {@smeltaxe} + remove 5000 from player's balance + send "&aYou have purchased a &eHotTouch Axe&a for &e5000 Tickets" + send "&aYour balance is now &e%player's balance%" + +on break of iron ore or gold ore or netherrack or cobblestone: + name of player's tool is "&a&b&k&a&3HotTouch Pick" or "&a&b&k&a&3HotTouch Pickaxe": + event-block is iron ore: + cancel event + delete event-block + drop 1 iron ingot at location of event-block + damage player's tool by 1 + event-block is gold ore: + cancel event + delete event-block + drop 1 gold ingot at location of event-block + damage player's tool by 1 + event-block is netherrack: + cancel event + delete event-block + drop 1 nether brick item at location of event-block + damage player's tool by 1 + event-block is cobblestone: + cancel event + delete event-block + drop 1 stone at location of event-block + damage player's tool by 1 + +on break of sand or clay block or cactus or red sand: + name of player's tool is "&a&b&k&a&3HotTouch Shovel": + event-block is sand or red sand: + cancel event + delete event-block + drop 1 glass at location of event-block + damage player's tool by 1 + event-block is clay block: + cancel event + delete event-block + drop 1 hardened clay at location of event-block + damage player's tool by 1 + event-block is cactus: + cancel event + delete event-block + drop 1 cactus green at location of event-block + damage player's tool by 1 + +on break of cactus or oak wood or birch wood or spruce wood or jungle wood or acacia wood or dark oak wood: + name of player's tool is "&a&b&k&a&3HotTouch Axe": + event-block is cactus: + cancel event + delete event-block + drop 1 cactus green at location of event-block + damage player's tool by 1 + event-block is oak wood or birch wood or spruce wood or jungle wood or acacia wood or dark oak wood: + cancel event + set {_ran} to random integer between 1 and 6 + delete event-block + drop {_ran} of charcoal at location of event-block + damage player's tool by 1 + +command /ht : + permission: obam.smod + trigger: + argument is "pick": + give player {@smeltpick} + argument is "axe": + give player {@smeltaxe} + argument is "shovel": + give player {@smeltshovel} + send "&aHere is your thing" \ No newline at end of file diff --git a/Obam-Tools/ninjatools.sk b/Obam-Tools/ninjatools.sk index 535a462..92849ee 100644 --- a/Obam-Tools/ninjatools.sk +++ b/Obam-Tools/ninjatools.sk @@ -98,7 +98,7 @@ command /warp : description: Go to a player's island usage: /warp [player name] executable by: players - permisson: obam.free + permission: obam.free trigger: world is "parkourlobby" or "parkourmaps": message "&cYou can not do that here!" to player @@ -219,11 +219,6 @@ command /invite : command /enchantment: permission: obam.free trigger: - {level.%player%.actual} is less than or equal to 15: - player does not have permission "obam.supporter": - send "&cYou must be a supporter or Level 15 or higher to do this!" to player - stop - teleport the player to the location (-29, 122, 21) teleport the player to the location (-29, 122, 21) diff --git a/Obam-Tools/sudo.sk b/Obam-Tools/sudo.sk new file mode 100644 index 0000000..2fd4c04 --- /dev/null +++ b/Obam-Tools/sudo.sk @@ -0,0 +1,5 @@ +command /sudo : + permission: obam.admin + trigger: + + make argument 1 execute argument 2 \ No newline at end of file diff --git a/Obam-Tools/tam.sk b/Obam-Tools/tam.sk index 57f9af7..5550f3a 100644 --- a/Obam-Tools/tam.sk +++ b/Obam-Tools/tam.sk @@ -1,94 +1,35 @@ every 1 minute: + {db_tam.modifier} is not set: + set {db_tam.modifier} to 1 + + set {_add} to {db_tam.modifier} + loop all players: - loop-player does not have permission "obam.supporter": - - add 1 to loop-player's balance - - {session.tam.%loop-player%} is not set: - set {session.tam.%loop-player%} to 0 - add 1 to {session.tam.%loop-player%} - - {db_total.tam.%loop-player%} is not set: - set {db_total.tam.%loop-player%} to 0 - add 1 to {db_total.tam.%loop-player%} - - {db_total.tam} is not set: - set {db_total.tam} to 0 - add 1 to {db_total.tam} - - {db_total.reg} is not set: - set {db_total.reg} to 0 - add 1 to {db_total.reg} - - - loop-player has permission "obam.supporter": - loop-player does not have permission "obam.plus" - - add 2 to loop-player's balance - - {session.tam.%loop-player%} is not set: - set {session.tam.%loop-player%} to 0 - add 2 to {session.tam.%loop-player%} - - {db_total.tam.%loop-player%} is not set: - set {db_total.tam.%loop-player%} to 0 - add 2 to {db_total.tam.%loop-player%} - - {db_total.tam} is not set: - set {db_total.tam} to 0 - add 2 to {db_total.tam} - - {db_total.sup} is not set: - set {db_total.sup} to 0 - add 2 to {db_total.sup} - - - loop-player has permission "obam.plus": - loop-player does not have permission "obam.ultimate" - - add 3 to loop-player's balance - - {session.tam.%loop-player%} is not set: - set {session.tam.%loop-player%} to 0 - add 3 to {session.tam.%loop-player%} - - {db_total.tam.%loop-player%} is not set: - set {db_total.tam.%loop-player%} to 0 - add 3 to {db_total.tam.%loop-player%} - - {db_total.tam} is not set: - set {db_total.tam} to 0 - add 3 to {db_total.tam} - - {db_total.plus} is not set: - set {db_total.plus} to 0 - add 3 to {db_total.plus} + add {_add} to loop-player's balance - loop-player has permission "obam.ultimate": + {session.tam.%loop-player%} is not set: + set {session.tam.%loop-player%} to 0 + add {_add} to {session.tam.%loop-player%} - add 4 to loop-player's balance + {db_total.tam.%loop-player%} is not set: + set {db_total.tam.%loop-player%} to 0 + add {_add} to {db_total.tam.%loop-player%} - {session.tam.%loop-player%} is not set: - set {session.tam.%loop-player%} to 0 - add 4 to {session.tam.%loop-player%} + {db_total.tam} is not set: + set {db_total.tam} to 0 + add {_add} to {db_total.tam} - {db_total.tam.%loop-player%} is not set: - set {db_total.tam.%loop-player%} to 0 - add 4 to {db_total.tam.%loop-player%} + {db_total.reg} is not set: + set {db_total.reg} to 0 + add {_add} to {db_total.reg} - {db_total.tam} is not set: - set {db_total.tam} to 0 - add 4 to {db_total.tam} - - {db_total.ult} is not set: - set {db_total.ult} to 0 - add 4 to {db_total.ult} + command /tam: permission: obam.free @@ -100,6 +41,8 @@ command /tam: send "&e%{session.tam.%player%}%" send "&aTotal Tickets:" send "&e%player's balance%" + send "&aCurrent -TAM- Modifier:" + send "&e%{db_tam.modifier}%" command /tamtotal: @@ -118,4 +61,11 @@ command /tamtotal: on join: set {session.tam.%player%} to 0 + +command /tammodset : + permission: obam.admin + trigger: + + set {db_tam.modifier} to argument + \ No newline at end of file diff --git a/Obam-Tools/tonyhub.sk b/Obam-Tools/tonyhub.sk new file mode 100644 index 0000000..464cb10 --- /dev/null +++ b/Obam-Tools/tonyhub.sk @@ -0,0 +1,81 @@ +#tutorialtony + +command /spawntony: + permission: obam.admin + trigger: + {tony.hub} is alive: + send "&cTony is there..." + + {tony.hub} is not alive: + spawn villager at {tony.hub.home} + wait 2 ticks + set name of spawned entity to "&1Tutorial Tony &a- &cRight Click me to LEARN!" + wait 1 tick + set {tony.hub} to spawned entity + +every 10 seconds: + {tony.hub} is alive: + teleport {tony.hub} to {tony.hub.home} + {tony.hub} is not alive: + spawn villager at {tony.hub.home} + wait 2 ticks + set display name of spawned entity to "&1Tutorial Tony &a- &cRight Click me to LEARN!" + wait 1 tick + set {tony.hub} to spawned entity + + {tony.hub} is not set: + spawn villager at {tony.hub.home} + wait 2 ticks + set display name of spawned entity to "&1Tutorial Tony &a- &cRight Click me to LEARN!" + set {tony.hub} to spawned entity +on any movement: + {tony.hub} is event-entity: + cancel event + teleport event-entity to {tony.hub.home} +on right click: + name of target entity is "&1Tutorial Tony &a- &cRight Click me to LEARN!" + send "&bTony: &fHey %player%! Would you like to learn about the &eHub&f?" to player + set {tutorial.%player%.q1} to true + +on chat: + {tutorial.%player%.q1} is true: + cancel event + message is not "yes" or "no": + send "&bTony: &fSorry %player%, but please answer yes or no" + message is "no": + send "&bTony: &fWell alright, please come back any time!" + clear {tutorial.%player%.q1} + message is "yes": + send "&bTony: &fAlright %player%! Let's begin!" + clear {tutorial.%player%.q1} + + +command /tutorial []: + permission: obam.free + trigger: + + argument is not set: + teleport player to {tony.hub.spawn} + send "&aVisiting Tony...." + + argument is "tonyset": + player does not have permission "obam.admin": + send "&cYou do not have permission to do this!" + stop + set {tony.hub.home} to location of player + send "&aTony's Home set to &e%location of player%&a." + + argument is "playerset": + player does not have permission "obam.admin": + send "&cYou do not have permission to do this!" + stop + set {tony.hub.player} to location of player + send "&aTony's Player Spawn Point set to &e%location of player%&a." + + argument is "test": + player does not have permission "obam.admin": + send "&cYou do not have permission to do this!" + stop + send "{"text":"","extra":[{"text":"Hello","color":"gold","hoverEvent":{"action":"show_text","value":"You can choose yes or no."}}]}" to player + + \ No newline at end of file diff --git a/kitpvp/kitpvp.sk b/kitpvp/kitpvp.sk index a479018..fa7ecdb 100644 --- a/kitpvp/kitpvp.sk +++ b/kitpvp/kitpvp.sk @@ -4,7 +4,7 @@ options: archerkit: i;bow;n;&9&lArcher;l;&7Click to pick the||&eArcher&7 Class|| ||&5Kit Info:||&7You are an archer||&7with a Punch I bow||&7Keep your distance to||&7to get critical hits!;c;sudo %player% kits archer meleekit: i;iron helmet;n;&9Melee;l;&7Click to pick the||&eMelee&7 Class|| ||&5Kit Info:||&7Ultimate in up close||&7combat. An iron sword||&7Unrivaled by any other||&7close combat kit;c;sudo %player% kits melee firemagekit: i;fire charge;n;&9Fire Mage;n;&9&lFire Mage;l;&7Click to pick the||&eFire Mage&7 Class|| ||&5Kit Info:||&7The firemage tosses fireballs||&7at their opponents||&7wreaking havoc with||&7explosions and fire|| ||%{dis.%player%.1}%;c;sudo %player% kits firemage - lightningmagekit: i;nether star;n;&9&lLightning Mage;n;&9&lLightning Mage;l;&7Click to pick the||&eLightning Mage&7 class|| ||&5Kit Info:||&7Using the power of||&7Lightning, this kit||&7causes large group damage||&7and harnesses the power||&7to teleport;c;sudo %player% kits lightningmage + lightningmagekit: i;nether star;n;&9Lightning Mage;l;&7Click to pick the||&eLightning Mage&7 class|| ||&5Kit Info:||&7Using the power of||&7Lightning, this kit||&7causes large group damage||&7and harnesses the power||&7to teleport;c;sudo %player% kits lightningmage tankkit: i;gold chestplate;n;&9&lTank;l;&7Click to pick the||&eTank&7 class|| ||&5Kit Info:||&7The tank shows no||&7Weakness, its armor||&7pure, and its paddle||&7heavy, it guarantees||&7longer lives, but fewer||&7kills;c;sudo %player% kits tank necrokit: i;bone;n;&9&lNecromancer;l;&7Click to pick the ||&eNecromancer&7 class|| ||&5Kit Info:||&7The Necro summons the||&7Dead from beyond to||&7assist in their domination||&7Summoning requires only||&7a little bit of mana||&7and a few drops of your||&7own blood|| ||%{dis.%player%.1}%;c;sudo %player% kits necromancer fishermankit: i;fish;n;&9&lFisherman;l;&7Click to pick the||&eFisherman&7 class|| ||&5Kit Info:||&7The legendary fisherman||&7Relies on his trusty||&7Big Fish to deal the||&7Blows, and his Rod||&7Old Faithful, to bring||&7the enemy closer.;c;sudo %player% kits fisherman @@ -23,6 +23,10 @@ options: variables: {safety.%player%} = 0 +on first join: + wait 1 second + teleport player to {kit.spawn} + on join: clear {kit.%player%} clear {ingame.%player%} @@ -53,12 +57,8 @@ command /kits []: trigger: world is "kitspawnroom" argument is not set: - player has permission "obam.kits.supporter": - set {dis.%player%.1} to " " - show "s;11;{@ninjakit};s;12;{@archerkit};s;13;{@meleekit};s;14;{@firemagekit};s;15;{@lightningmagekit};s;16;{@tankkit};s;17;{@necrokit};s;23;{@fishermankit};s;24;{@skelemancerkit}" with 4 rows named "&9&lOBAM &9:: Kits" to player - stop - set {dis.%player%.1} to "&eUse this kit for one time for &a25&eTickets" + set {dis.%player%.1} to "&eUse this kit for &a25 &eTickets" show "s;11;{@ninjakit};s;12;{@archerkit};s;13;{@meleekit};s;14;{@firemagekit};s;15;{@lightningmagekit};s;16;{@tankkit};s;17;{@necrokit};s;23;{@fishermankit};s;24;{@skelemancerkit}" with 4 rows named "&9&lOBAM &9:: Kits" to player {kit.%player%} is set: send "&cYou already have a kit D:" to player @@ -72,14 +72,13 @@ command /kits []: argument is "ninja": - player does not have permission "obam.supporter": - set {_bal} to player's balance - {_bal} is less than 25: - send "&cYou do not have enough tickets for this!" - stop - remove 25 from player's balance - send "&aYou have purchased the &eNinja&a kit for &e25 Tickets&a!" - send "&aYour current balance is &e%player's balance%" + set {_bal} to player's balance + {_bal} is less than 25: + send "&cYou do not have enough tickets for this!" + stop + remove 25 from player's balance + send "&aYou have purchased the &eNinja&a kit for &e25 Tickets&a!" + send "&aYour current balance is &e%player's balance%" send "&aYou have picked the &eNinja&a kit!" set {kit.%player%} to "ninja" set {ninja.poof.%player%} to true @@ -89,14 +88,13 @@ command /kits []: set {kit.%player%} to "melee" argument is "firemage": - player does not have permission "obam.supporter": - set {_bal} to player's balance - {_bal} is less than 25: - send "&cYou do not have enough tickets for this!" - stop - remove 25 from player's balance - send "&aYou have purchased the &eFiremage&a kit for &e25 Tickets&a!" - send "&aYour current balance is &e%player's balance%" + set {_bal} to player's balance + {_bal} is less than 25: + send "&cYou do not have enough tickets for this!" + stop + remove 25 from player's balance + send "&aYou have purchased the &eFiremage&a kit for &e25 Tickets&a!" + send "&aYour current balance is &e%player's balance%" send "&aYou have picked the &eFiremage&a kit!" set {kit.%player%} to "firemage" @@ -110,14 +108,14 @@ command /kits []: set {kit.%player%} to "lightningmage" argument is "necromancer": - player does not have permission "obam.supporter": - set {_bal} to player's balance - {_bal} is less than 25: - send "&cYou do not have enough tickets for this!" - stop - remove 25 from player's balance - send "&aYou have purchased the &eNecromancere&a kit for &e25 Tickets&a!" - send "&aYour current balance is &e%player's balance%" + + set {_bal} to player's balance + {_bal} is less than 25: + send "&cYou do not have enough tickets for this!" + stop + remove 25 from player's balance + send "&aYou have purchased the &eNecromancere&a kit for &e25 Tickets&a!" + send "&aYour current balance is &e%player's balance%" send "&aYou have picked the &eNecromancer&a kit!" set {kit.%player%} to "necromancer" diff --git a/stoof/old.setupi/SkriptPlus.jar b/stoof/old.setupi/SkriptPlus.jar deleted file mode 100644 index 01571e58ed94bb939c63c54ad19b789e90f17a18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118909 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 Date: Wed, 6 Aug 2014 23:06:00 -0400 Subject: [PATCH 16/22] Reorganize Filed into proper places and restructured for ease of access. --- {Obam-Testing => OBAM-Fix}/ci.sk | 2 +- {Obam-General => OBAM-Fix}/who.sk | 0 {Obam-Other => OBAM-Hub}/-boatsforhub.sk | 0 .../Hub-Testing}/tonyhub.sk | 0 {Obam-Other => OBAM-Hub}/boatsforhub | 0 {Obam-Other => OBAM-Hub}/boatsforhub.sk | 0 {Obam-General => OBAM-Hub}/hubconfig.sk | 0 {Obam-Tools => OBAM-Hub}/hubprotect.sk | 0 {Obam-Other => OBAM-Hub}/minecartsforhub.sk | 0 OBAM-Hub/pinfo.hub.sk | 106 ++++ .../schat2.sk => OBAM-Hub/schat2.hub.sk | 93 +--- .../OBAM-WTFronts/pinfo.wtf.sk | 103 ++++ .../OBAM-WTFronts/schat2.wtf.sk | 324 ++++++++++++ .../OBAM-WTFronts}/wtfronts.sk | 0 .../OBAM-WarFronts}/chest.sk | 0 .../OBAM-WarFronts}/levelhandler.sk | 0 .../OBAM-WarFronts}/outposts/outpostgen.sk | 0 .../OBAM-WarFronts}/outposts/teamtest.sk | 0 .../OBAM-WarFronts}/roles/enchanter | 0 .../OBAM-WarFronts}/roles/enchanter.sk | 0 .../OBAM-WarFronts}/roles/hunter.sk | 0 .../OBAM-WarFronts}/roles/miner.sk | 0 .../OBAM-WarFronts}/roles/rolemenu.sk | 0 .../OBAM-WarFronts}/roles/skill.sk | 0 .../OBAM-WarFronts}/roles/soldier.sk | 0 .../Obam-Creative}/nightvision.sk | 0 .../Obam-Creative/pinfo.creative.sk | 103 ++++ .../Obam-Creative/schat2.creative.sk | 324 ++++++++++++ .../Obam-Fronts}/FIXIT.sk | 0 .../Obam-Fronts}/FTAS.sk | 0 .../Fronts-Testing}/signshoptestthing.sk | 0 .../Obam-Fronts/Fronts-Testing}/teams.sk | 0 .../Obam-Fronts}/LandAdd.sk | 0 .../Obam-Fronts}/abstain.sk | 0 .../Obam-Fronts}/access.sk | 0 .../Obam-Fronts}/backpack.sk | 0 .../Obam-Fronts}/bounty.sk | 0 .../Obam-Fronts}/disenchant.sk | 0 .../Obam-Fronts}/eggification.sk | 0 .../Obam-Fronts}/entcount.sk | 0 .../Obam-Fronts}/flags.sk | 0 .../Obam-Fronts}/flow.sk | 0 .../Obam-Fronts}/fma.sk | 0 .../Obam-Fronts}/fortune.sk | 0 .../Obam-Fronts}/fortuneFIX.sk | 0 .../Obam-Fronts}/heads.sk | 0 .../Obam-Fronts}/heal.sk | 0 .../Obam-Fronts}/hitsounds.sk | 0 .../Obam-Fronts}/hottouch.sk | 0 .../Obam-Fronts}/landclaim.sk | 0 .../Obam-Fronts}/lightbow.sk | 0 .../Obam-Fronts/pinfo.fronts.sk | 15 +- .../Obam-Fronts/schat2.fronts.sk | 324 ++++++++++++ .../Obam-Fronts}/shop.sk | 2 +- .../Obam-Fronts}/soulbound.sk | 0 .../Obam-Fronts}/splash.sk | 0 .../Obam-Fronts}/starterkit.sk | 0 .../Obam-Fronts}/suphorse.sk | 0 .../Obam-Fronts}/timber.sk | 0 .../Obam-Fronts}/trails.sk | 0 .../Skyblock-Testing}/mobstuff.sk | 0 .../Obam-Skyblock}/animals.sk | 0 .../Obam-Skyblock}/boards.sk | 0 .../Obam-Skyblock}/challenges.sk | 0 .../Obam-Skyblock}/deathstats.sk | 0 .../Obam-Skyblock}/explosiontest.sk | 0 .../Obam-Skyblock}/ihs.sk | 0 .../Obam-Skyblock}/playerlevel.sk | 0 .../Obam-Skyblock}/shop.sk | 0 .../Obam-Skyblock}/skyblockkits.sk | 0 .../Obam-Skyblock}/skyshop.sk | 0 .../takeownershipofeverything.sk | 0 .../Obam-Skyblock}/tps.sk | 0 .../Obam-Skyblock}/witches.sk | 0 .../Administration-Testing}/TicketLogSystem | 0 .../EASYASEFFIPLOGGINGMAGIC.sk | 0 {Obam-Testing => Obam-Administration}/bugs.sk | 0 .../circle.sk | 0 .../defaultfix.sk | 0 .../hashedfordays.sk | 0 .../referall.sk | 0 .../restarts.sk | 0 .../todolist.sk | 0 .../Communication-Testing}/Chat.sk | 0 .../Communication-Testing}/teams.txt | 0 .../Communication-Testing}/tellchat.sk | 0 .../broadcast.sk | 0 .../connect.sk | 0 .../firstjoin.sk | 0 .../modbridge.sk | 0 {Obam-General => Obam-Communication}/motd.sk | 0 .../schatbridge.sk | 0 .../wtfmike.sk | 0 .../Mass-Testing}/blocksave.sk | 0 .../Mass-Testing}/dbtest.sk | 0 .../Mass-Testing}/effect.sk | 0 .../Mass-Testing}/enchnattest.sk | 0 .../Mass-Testing}/firetest.sk | 0 .../Mass-Testing}/powerpick.sk | 0 .../aliases-english.sk | 0 {Obam-General => Obam-Mass}/autohub.sk | 0 {Obam-General => Obam-Mass}/hub.sk | 0 {Obam-Tools => Obam-Mass}/itemcheck.sk | 0 {Obam-General => Obam-Mass}/liv.sk | 0 {Obam-Tools => Obam-Mass}/sudo.sk | 0 {Obam-General => Obam-Mass}/tempclose.sk | 0 .../Obam-CreatureCapture}/CreatureCapture.sk | 0 .../Obam-Hotpotato}/Hotpotato Maps/hpField.sk | 0 .../Hotpotato Maps/hpLavaFlow.sk | 0 .../Hotpotato Maps/hpMushroom.sk | 0 .../Hotpotato Maps/hpNetherFort.sk | 0 .../Hotpotato Maps/hpOmniPlex.sk | 0 .../Hotpotato Maps/hpOmniStairs.sk | 0 .../Hotpotato Maps/hpSewerSystem.sk | 0 .../Hotpotato Maps/hpSnowyHills.sk | 0 .../Obam-Hotpotato}/Hotpotato Maps/hpcave.sk | 0 .../Obam-Hotpotato}/Hotpotato Maps/hpcity.sk | 0 .../Obam-Hotpotato}/hotpotato.sk | 0 .../Obam-Hotpotato}/hpstat.sk | 0 .../Obam-Hotpotato}/hptemp.sk | 0 .../Obam-Hotpotato}/lobbies.sk | 0 .../KitPVP-Testing}/KitDamageSubSystem | 0 .../KitPVP-Testing}/KitDamageSubSystem.sk | 0 .../Obam-KitPvp/KitPVP-Testing}/archer.sk | 0 .../KitPVP-Testing}/damage modifier.sk | 0 .../Obam-KitPvp/KitPVP-Testing}/firemage.sk | 0 .../Obam-KitPvp/KitPVP-Testing}/fisherman.sk | 0 .../Obam-KitPvp/KitPVP-Testing}/fisherman.txt | 0 .../Obam-KitPvp/KitPVP-Testing}/kdss.sk | 0 .../Obam-KitPvp/KitPVP-Testing}/kitpvp.sk | 0 .../Obam-KitPvp/KitPVP-Testing}/kitstuff.sk | 0 .../KitPVP-Testing}/lightningmage.sk | 0 .../Obam-KitPvp/KitPVP-Testing}/melee.sk | 0 .../KitPVP-Testing}/necromancer.sk | 0 .../Obam-KitPvp/KitPVP-Testing}/ninja.sk | 0 .../KitPVP-Testing}/skelemancer.sk | 0 .../Obam-KitPvp/KitPVP-Testing}/tank.sk | 0 .../Obam-KitPvp}/aliases-english.sk | 0 .../Obam-KitPvp}/boards.sk | 0 .../Obam-KitPvp}/kds.sk | 0 .../Obam-KitPvp}/kitstuff.sk | 0 Obam-Mini Games/Obam-KitPvp/pinfo.kit.sk | 103 ++++ Obam-Mini Games/Obam-KitPvp/schat2.kit.sk | 324 ++++++++++++ .../Obam-Parkour}/checkpoints.sk | 0 .../Obam-Parkour}/parkour.sk | 0 .../Obam-Parkour}/parkoursigns.sk | 0 .../Obam-Parkour}/parkourspawn.sk | 0 .../Obam-Parkour}/parkourstats.sk | 0 .../Obam-Parkour}/timer.sk | 0 .../Obam-TMA/TMA-Testing}/tma.sk | 0 .../Obam-Zbeta/Zbeta-Testing}/zbeta.sk | 0 .../Moderation-Testing}/autobantest.sk | 0 .../Moderation-Testing}/op.sk | 0 {Obam-Tools => Obam-Moderation}/admin.sk | 0 {Obam-Tools => Obam-Moderation}/gcommannds.sk | 0 {Obam-Tools => Obam-Moderation}/mode.sk | 0 {Obam-Tools => Obam-Moderation}/moderate.sk | 0 {Obam-General => Obam-Moderation}/spawnmob.sk | 0 {Obam-General => Obam-Perks}/exclusive.sk | 0 {Obam-General => Obam-Perks}/hats.sk | 0 {Obam-General => Obam-Perks}/moneystuff.sk | 0 {Obam-General => Obam-Perks}/sheep.sk | 0 {Obam-Tools => Obam-Perks}/tam.sk | 0 {Obam-General => Obam-Perks}/ticketstuff.sk | 0 {Obam-Other => Obam-Sort}/KitsPlus.sk | 0 {Obam-Tools => Obam-Sort}/LiVBot.yml | 0 {Obam-Tools => Obam-Sort}/LiVBotcurtain.yml | 0 {Obam-Tools => Obam-Sort}/PurpleIRC-2.1.9.jar | Bin {Obam-Tools => Obam-Sort}/SampleBot.yml | 0 {Obam-Testing => Obam-Sort}/config.yml | 0 {Obam-Testing => Obam-Sort}/gc | 0 {Obam-General => Obam-Sort}/helpbeta.sk | 0 .../helpbetageneral.sk | 0 .../helpbetaskyblock.sk | 0 {Obam-Tools => Obam-Sort}/ninjatools.sk | 0 {Obam-Testing => Obam-Sort}/testchest.sk | 0 {Obam-Testing => Obam-Sort}/unbreak.sk | 0 {Obam-Testing => Obam-Sort}/webstats.sk | 0 Obam-Survival/heads.sk | 68 --- Obam-Tools/FIXIT.sk | 32 -- Obam-Tools/ihs.sk | 110 ---- .../documentation.html => documentation.html | 0 wildstuff/landclaim.sk | 499 ------------------ 183 files changed, 1725 insertions(+), 807 deletions(-) rename {Obam-Testing => OBAM-Fix}/ci.sk (95%) rename {Obam-General => OBAM-Fix}/who.sk (100%) rename {Obam-Other => OBAM-Hub}/-boatsforhub.sk (100%) rename {Obam-Tools => OBAM-Hub/Hub-Testing}/tonyhub.sk (100%) rename {Obam-Other => OBAM-Hub}/boatsforhub (100%) rename {Obam-Other => OBAM-Hub}/boatsforhub.sk (100%) rename {Obam-General => OBAM-Hub}/hubconfig.sk (100%) rename {Obam-Tools => OBAM-Hub}/hubprotect.sk (100%) rename {Obam-Other => OBAM-Hub}/minecartsforhub.sk (100%) create mode 100644 OBAM-Hub/pinfo.hub.sk rename Obam-Testing/schat2.sk => OBAM-Hub/schat2.hub.sk (94%) create mode 100644 OBAM-Survival Games/OBAM-WTFronts/pinfo.wtf.sk create mode 100644 OBAM-Survival Games/OBAM-WTFronts/schat2.wtf.sk rename {Obam-Testing => OBAM-Survival Games/OBAM-WTFronts}/wtfronts.sk (100%) rename {OBAM-WarFronts => OBAM-Survival Games/OBAM-WarFronts}/chest.sk (100%) rename {OBAM-WarFronts => OBAM-Survival Games/OBAM-WarFronts}/levelhandler.sk (100%) rename {OBAM-WarFronts => OBAM-Survival Games/OBAM-WarFronts}/outposts/outpostgen.sk (100%) rename {OBAM-WarFronts => OBAM-Survival Games/OBAM-WarFronts}/outposts/teamtest.sk (100%) rename {OBAM-WarFronts => OBAM-Survival Games/OBAM-WarFronts}/roles/enchanter (100%) rename {OBAM-WarFronts => OBAM-Survival Games/OBAM-WarFronts}/roles/enchanter.sk (100%) rename {OBAM-WarFronts => OBAM-Survival Games/OBAM-WarFronts}/roles/hunter.sk (100%) rename {OBAM-WarFronts => OBAM-Survival Games/OBAM-WarFronts}/roles/miner.sk (100%) rename {OBAM-WarFronts => OBAM-Survival Games/OBAM-WarFronts}/roles/rolemenu.sk (100%) rename {OBAM-WarFronts => OBAM-Survival Games/OBAM-WarFronts}/roles/skill.sk (100%) rename {OBAM-WarFronts => OBAM-Survival Games/OBAM-WarFronts}/roles/soldier.sk (100%) rename {Obam-Creative => OBAM-Survival Games/Obam-Creative}/nightvision.sk (100%) create mode 100644 OBAM-Survival Games/Obam-Creative/pinfo.creative.sk create mode 100644 OBAM-Survival Games/Obam-Creative/schat2.creative.sk rename {Obam-Survival => OBAM-Survival Games/Obam-Fronts}/FIXIT.sk (100%) rename {Obam-Survival => OBAM-Survival Games/Obam-Fronts}/FTAS.sk (100%) rename {Obam-Testing => OBAM-Survival Games/Obam-Fronts/Fronts-Testing}/signshoptestthing.sk (100%) rename {Obam-Testing => OBAM-Survival Games/Obam-Fronts/Fronts-Testing}/teams.sk (100%) rename {Obam-Survival => OBAM-Survival Games/Obam-Fronts}/LandAdd.sk (100%) rename {Obam-Testing => OBAM-Survival Games/Obam-Fronts}/abstain.sk (100%) rename {Obam-Survival => OBAM-Survival Games/Obam-Fronts}/access.sk (100%) rename {Obam-Testing => OBAM-Survival Games/Obam-Fronts}/backpack.sk (100%) rename {Obam-Survival => OBAM-Survival Games/Obam-Fronts}/bounty.sk (100%) rename {Obam-Survival => OBAM-Survival Games/Obam-Fronts}/disenchant.sk (100%) rename {Obam-Tools => OBAM-Survival Games/Obam-Fronts}/eggification.sk (100%) rename {Obam-Tools => OBAM-Survival Games/Obam-Fronts}/entcount.sk (100%) rename {Obam-Survival => OBAM-Survival Games/Obam-Fronts}/flags.sk (100%) rename {Obam-Survival => OBAM-Survival Games/Obam-Fronts}/flow.sk (100%) rename {Obam-Survival => OBAM-Survival Games/Obam-Fronts}/fma.sk (100%) rename {Obam-Survival => OBAM-Survival Games/Obam-Fronts}/fortune.sk (100%) rename {Obam-Survival => OBAM-Survival Games/Obam-Fronts}/fortuneFIX.sk (100%) rename {Obam-Tools => OBAM-Survival Games/Obam-Fronts}/heads.sk (100%) rename {Obam-Survival => OBAM-Survival Games/Obam-Fronts}/heal.sk (100%) rename {Obam-Testing => OBAM-Survival Games/Obam-Fronts}/hitsounds.sk (100%) rename {Obam-Tools => OBAM-Survival Games/Obam-Fronts}/hottouch.sk (100%) rename {Obam-Survival => OBAM-Survival Games/Obam-Fronts}/landclaim.sk (100%) rename {Obam-Testing => OBAM-Survival Games/Obam-Fronts}/lightbow.sk (100%) rename Obam-General/pinfo.sk => OBAM-Survival Games/Obam-Fronts/pinfo.fronts.sk (90%) create mode 100644 OBAM-Survival Games/Obam-Fronts/schat2.fronts.sk rename {Obam-Survival => OBAM-Survival Games/Obam-Fronts}/shop.sk (89%) rename {Obam-Testing => OBAM-Survival Games/Obam-Fronts}/soulbound.sk (100%) rename {Obam-Testing => OBAM-Survival Games/Obam-Fronts}/splash.sk (100%) rename {Obam-Survival => OBAM-Survival Games/Obam-Fronts}/starterkit.sk (100%) rename {Obam-Testing => OBAM-Survival Games/Obam-Fronts}/suphorse.sk (100%) rename {Obam-Testing => OBAM-Survival Games/Obam-Fronts}/timber.sk (100%) rename {Obam-Testing => OBAM-Survival Games/Obam-Fronts}/trails.sk (100%) rename {Obam-Testing => OBAM-Survival Games/Obam-Skyblock/Skyblock-Testing}/mobstuff.sk (100%) rename {Obam-Skyblock => OBAM-Survival Games/Obam-Skyblock}/animals.sk (100%) rename {Obam-Tools => OBAM-Survival Games/Obam-Skyblock}/boards.sk (100%) rename {Obam-Skyblock => OBAM-Survival Games/Obam-Skyblock}/challenges.sk (100%) rename {Obam-General => OBAM-Survival Games/Obam-Skyblock}/deathstats.sk (100%) rename {Obam-Tools => OBAM-Survival Games/Obam-Skyblock}/explosiontest.sk (100%) rename {Obam-General => OBAM-Survival Games/Obam-Skyblock}/ihs.sk (100%) rename {Obam-General => OBAM-Survival Games/Obam-Skyblock}/playerlevel.sk (100%) rename {Obam-Skyblock => OBAM-Survival Games/Obam-Skyblock}/shop.sk (100%) rename {Obam-General => OBAM-Survival Games/Obam-Skyblock}/skyblockkits.sk (100%) rename {Obam-General => OBAM-Survival Games/Obam-Skyblock}/skyshop.sk (100%) rename {Obam-Other => OBAM-Survival Games/Obam-Skyblock}/takeownershipofeverything.sk (100%) rename {Obam-Tools => OBAM-Survival Games/Obam-Skyblock}/tps.sk (100%) rename {Obam-Game Modification => OBAM-Survival Games/Obam-Skyblock}/witches.sk (100%) rename {Obam-Testing => Obam-Administration/Administration-Testing}/TicketLogSystem (100%) rename {Obam-Other => Obam-Administration}/EASYASEFFIPLOGGINGMAGIC.sk (100%) rename {Obam-Testing => Obam-Administration}/bugs.sk (100%) rename {Obam-General => Obam-Administration}/circle.sk (100%) rename {Obam-Tools => Obam-Administration}/defaultfix.sk (100%) rename {Obam-Other => Obam-Administration}/hashedfordays.sk (100%) rename {Obam-Other => Obam-Administration}/referall.sk (100%) rename {Obam-Tools => Obam-Administration}/restarts.sk (100%) rename {Obam-Tools => Obam-Administration}/todolist.sk (100%) rename {Obam-Testing => Obam-Communication/Communication-Testing}/Chat.sk (100%) rename {Obam-Testing => Obam-Communication/Communication-Testing}/teams.txt (100%) rename {Obam-Testing => Obam-Communication/Communication-Testing}/tellchat.sk (100%) rename {Obam-Testing => Obam-Communication}/broadcast.sk (100%) rename {Obam-General => Obam-Communication}/connect.sk (100%) rename {Obam-General => Obam-Communication}/firstjoin.sk (100%) rename {Obam-Testing => Obam-Communication}/modbridge.sk (100%) rename {Obam-General => Obam-Communication}/motd.sk (100%) rename {Obam-Testing => Obam-Communication}/schatbridge.sk (100%) rename {Obam-Testing => Obam-Communication}/wtfmike.sk (100%) rename {Obam-Testing => Obam-Mass/Mass-Testing}/blocksave.sk (100%) rename {Obam-Testing => Obam-Mass/Mass-Testing}/dbtest.sk (100%) rename {Obam-Testing => Obam-Mass/Mass-Testing}/effect.sk (100%) rename {Obam-Testing => Obam-Mass/Mass-Testing}/enchnattest.sk (100%) rename {Obam-Testing => Obam-Mass/Mass-Testing}/firetest.sk (100%) rename {Obam-Testing => Obam-Mass/Mass-Testing}/powerpick.sk (100%) rename {Obam-Testing => Obam-Mass}/aliases-english.sk (100%) rename {Obam-General => Obam-Mass}/autohub.sk (100%) rename {Obam-General => Obam-Mass}/hub.sk (100%) rename {Obam-Tools => Obam-Mass}/itemcheck.sk (100%) rename {Obam-General => Obam-Mass}/liv.sk (100%) rename {Obam-Tools => Obam-Mass}/sudo.sk (100%) rename {Obam-General => Obam-Mass}/tempclose.sk (100%) rename {Obam-General => Obam-Mini Games/Obam-CreatureCapture}/CreatureCapture.sk (100%) rename {Obam-Hotpotato => Obam-Mini Games/Obam-Hotpotato}/Hotpotato Maps/hpField.sk (100%) rename {Obam-Hotpotato => Obam-Mini Games/Obam-Hotpotato}/Hotpotato Maps/hpLavaFlow.sk (100%) rename {Obam-Hotpotato => Obam-Mini Games/Obam-Hotpotato}/Hotpotato Maps/hpMushroom.sk (100%) rename {Obam-Hotpotato => Obam-Mini Games/Obam-Hotpotato}/Hotpotato Maps/hpNetherFort.sk (100%) rename {Obam-Hotpotato => Obam-Mini Games/Obam-Hotpotato}/Hotpotato Maps/hpOmniPlex.sk (100%) rename {Obam-Hotpotato => Obam-Mini Games/Obam-Hotpotato}/Hotpotato Maps/hpOmniStairs.sk (100%) rename {Obam-Hotpotato => Obam-Mini Games/Obam-Hotpotato}/Hotpotato Maps/hpSewerSystem.sk (100%) rename {Obam-Hotpotato => Obam-Mini Games/Obam-Hotpotato}/Hotpotato Maps/hpSnowyHills.sk (100%) rename {Obam-Hotpotato => Obam-Mini Games/Obam-Hotpotato}/Hotpotato Maps/hpcave.sk (100%) rename {Obam-Hotpotato => Obam-Mini Games/Obam-Hotpotato}/Hotpotato Maps/hpcity.sk (100%) rename {Obam-Hotpotato => Obam-Mini Games/Obam-Hotpotato}/hotpotato.sk (100%) rename {Obam-Hotpotato => Obam-Mini Games/Obam-Hotpotato}/hpstat.sk (100%) rename {Obam-Hotpotato => Obam-Mini Games/Obam-Hotpotato}/hptemp.sk (100%) rename {Obam-Hotpotato => Obam-Mini Games/Obam-Hotpotato}/lobbies.sk (100%) rename {Obam-Testing => Obam-Mini Games/Obam-KitPvp/KitPVP-Testing}/KitDamageSubSystem (100%) rename {Obam-Testing => Obam-Mini Games/Obam-KitPvp/KitPVP-Testing}/KitDamageSubSystem.sk (100%) rename {kitpvp => Obam-Mini Games/Obam-KitPvp/KitPVP-Testing}/archer.sk (100%) rename {Obam-Testing => Obam-Mini Games/Obam-KitPvp/KitPVP-Testing}/damage modifier.sk (100%) rename {kitpvp => Obam-Mini Games/Obam-KitPvp/KitPVP-Testing}/firemage.sk (100%) rename {kitpvp => Obam-Mini Games/Obam-KitPvp/KitPVP-Testing}/fisherman.sk (100%) rename {kitpvp => Obam-Mini Games/Obam-KitPvp/KitPVP-Testing}/fisherman.txt (100%) rename {kitpvp => Obam-Mini Games/Obam-KitPvp/KitPVP-Testing}/kdss.sk (100%) rename {kitpvp => Obam-Mini Games/Obam-KitPvp/KitPVP-Testing}/kitpvp.sk (100%) rename {kitpvp => Obam-Mini Games/Obam-KitPvp/KitPVP-Testing}/kitstuff.sk (100%) rename {kitpvp => Obam-Mini Games/Obam-KitPvp/KitPVP-Testing}/lightningmage.sk (100%) rename {kitpvp => Obam-Mini Games/Obam-KitPvp/KitPVP-Testing}/melee.sk (100%) rename {kitpvp => Obam-Mini Games/Obam-KitPvp/KitPVP-Testing}/necromancer.sk (100%) rename {kitpvp => Obam-Mini Games/Obam-KitPvp/KitPVP-Testing}/ninja.sk (100%) rename {kitpvp => Obam-Mini Games/Obam-KitPvp/KitPVP-Testing}/skelemancer.sk (100%) rename {kitpvp => Obam-Mini Games/Obam-KitPvp/KitPVP-Testing}/tank.sk (100%) rename {Obam-KitPvp => Obam-Mini Games/Obam-KitPvp}/aliases-english.sk (100%) rename {Obam-General => Obam-Mini Games/Obam-KitPvp}/boards.sk (100%) rename {Obam-KitPvp => Obam-Mini Games/Obam-KitPvp}/kds.sk (100%) rename {Obam-KitPvp => Obam-Mini Games/Obam-KitPvp}/kitstuff.sk (100%) create mode 100644 Obam-Mini Games/Obam-KitPvp/pinfo.kit.sk create mode 100644 Obam-Mini Games/Obam-KitPvp/schat2.kit.sk rename {Obam-Parkour => Obam-Mini Games/Obam-Parkour}/checkpoints.sk (100%) rename {Obam-Parkour => Obam-Mini Games/Obam-Parkour}/parkour.sk (100%) rename {Obam-Parkour => Obam-Mini Games/Obam-Parkour}/parkoursigns.sk (100%) rename {Obam-Parkour => Obam-Mini Games/Obam-Parkour}/parkourspawn.sk (100%) rename {Obam-Parkour => Obam-Mini Games/Obam-Parkour}/parkourstats.sk (100%) rename {Obam-Parkour => Obam-Mini Games/Obam-Parkour}/timer.sk (100%) rename {Obam-Testing => Obam-Mini Games/Obam-TMA/TMA-Testing}/tma.sk (100%) rename {Obam-Testing => Obam-Mini Games/Obam-Zbeta/Zbeta-Testing}/zbeta.sk (100%) rename {Obam-Testing => Obam-Moderation/Moderation-Testing}/autobantest.sk (100%) rename {Obam-Testing => Obam-Moderation/Moderation-Testing}/op.sk (100%) rename {Obam-Tools => Obam-Moderation}/admin.sk (100%) rename {Obam-Tools => Obam-Moderation}/gcommannds.sk (100%) rename {Obam-Tools => Obam-Moderation}/mode.sk (100%) rename {Obam-Tools => Obam-Moderation}/moderate.sk (100%) rename {Obam-General => Obam-Moderation}/spawnmob.sk (100%) rename {Obam-General => Obam-Perks}/exclusive.sk (100%) rename {Obam-General => Obam-Perks}/hats.sk (100%) rename {Obam-General => Obam-Perks}/moneystuff.sk (100%) rename {Obam-General => Obam-Perks}/sheep.sk (100%) rename {Obam-Tools => Obam-Perks}/tam.sk (100%) rename {Obam-General => Obam-Perks}/ticketstuff.sk (100%) rename {Obam-Other => Obam-Sort}/KitsPlus.sk (100%) rename {Obam-Tools => Obam-Sort}/LiVBot.yml (100%) rename {Obam-Tools => Obam-Sort}/LiVBotcurtain.yml (100%) rename {Obam-Tools => Obam-Sort}/PurpleIRC-2.1.9.jar (100%) rename {Obam-Tools => Obam-Sort}/SampleBot.yml (100%) rename {Obam-Testing => Obam-Sort}/config.yml (100%) rename {Obam-Testing => Obam-Sort}/gc (100%) rename {Obam-General => Obam-Sort}/helpbeta.sk (100%) rename {Obam-General => Obam-Sort}/helpbetageneral.sk (100%) rename {Obam-General => Obam-Sort}/helpbetaskyblock.sk (100%) rename {Obam-Tools => Obam-Sort}/ninjatools.sk (100%) rename {Obam-Testing => Obam-Sort}/testchest.sk (100%) rename {Obam-Testing => Obam-Sort}/unbreak.sk (100%) rename {Obam-Testing => Obam-Sort}/webstats.sk (100%) delete mode 100644 Obam-Survival/heads.sk delete mode 100644 Obam-Tools/FIXIT.sk delete mode 100644 Obam-Tools/ihs.sk rename Obam-Tools/documentation.html => documentation.html (100%) delete mode 100644 wildstuff/landclaim.sk diff --git a/Obam-Testing/ci.sk b/OBAM-Fix/ci.sk similarity index 95% rename from Obam-Testing/ci.sk rename to OBAM-Fix/ci.sk index b72eb69..f52717f 100644 --- a/Obam-Testing/ci.sk +++ b/OBAM-Fix/ci.sk @@ -12,7 +12,7 @@ command /ci: set {_chest} to "s;%{_count}%;%loop-value%" replace "PLAYER" in {_chest} with "%player%" - {_count} is less than 9: + {_count} is less than 10: set {_size} to 1 {_count} is greater than 9: set {_size} to 2 diff --git a/Obam-General/who.sk b/OBAM-Fix/who.sk similarity index 100% rename from Obam-General/who.sk rename to OBAM-Fix/who.sk diff --git a/Obam-Other/-boatsforhub.sk b/OBAM-Hub/-boatsforhub.sk similarity index 100% rename from Obam-Other/-boatsforhub.sk rename to OBAM-Hub/-boatsforhub.sk diff --git a/Obam-Tools/tonyhub.sk b/OBAM-Hub/Hub-Testing/tonyhub.sk similarity index 100% rename from Obam-Tools/tonyhub.sk rename to OBAM-Hub/Hub-Testing/tonyhub.sk diff --git a/Obam-Other/boatsforhub b/OBAM-Hub/boatsforhub similarity index 100% rename from Obam-Other/boatsforhub rename to OBAM-Hub/boatsforhub diff --git a/Obam-Other/boatsforhub.sk b/OBAM-Hub/boatsforhub.sk similarity index 100% rename from Obam-Other/boatsforhub.sk rename to OBAM-Hub/boatsforhub.sk diff --git a/Obam-General/hubconfig.sk b/OBAM-Hub/hubconfig.sk similarity index 100% rename from Obam-General/hubconfig.sk rename to OBAM-Hub/hubconfig.sk diff --git a/Obam-Tools/hubprotect.sk b/OBAM-Hub/hubprotect.sk similarity index 100% rename from Obam-Tools/hubprotect.sk rename to OBAM-Hub/hubprotect.sk diff --git a/Obam-Other/minecartsforhub.sk b/OBAM-Hub/minecartsforhub.sk similarity index 100% rename from Obam-Other/minecartsforhub.sk rename to OBAM-Hub/minecartsforhub.sk diff --git a/OBAM-Hub/pinfo.hub.sk b/OBAM-Hub/pinfo.hub.sk new file mode 100644 index 0000000..5c658e0 --- /dev/null +++ b/OBAM-Hub/pinfo.hub.sk @@ -0,0 +1,106 @@ + + +on join: + {db_count.start.%player%.2} is not set: + set {db_count.start.%player%.2} to {db_dayset.2} + set {db_current.server.%player%} to "&eHub" + + +every 24 hours: + set {db_dayset.2} to {db_dayset.2} + 1 + +on disconnect: + clear {db_current.server.%player%} + set {db_lastseen.%player%} to "%now% on &eHub" + clear {db_color.%player%} + player has permission "obam.admin": + set {db_color.%player%} to "&d%player%" + {db_color.%player%} is not set: + player has permission "obam.mod": + set {db_color.%player%} to "&2%player%" + {db_color.%player%} is not set: + player has permission "obam.supporter": + set {db_color.%player%} to "&6%player%" + {db_color.%player%} is not set: + set {db_color.%player%} to "&f%player%" + + + +command /playerinfo []: + description: Find out information about you + aliases: /p, /info, /player, /pinfo + executable by: players + trigger: + + argument is not set: + player has permission "obam.admin": + set {_name} to "&d%player%" + {_name} is not set: + player has permission "obam.mod": + set {_name} to "&2%player%" + {_name} is not set: + player has permission "obam.supporter": + set {_name} to "&6%player%" + {_name} is not set: + set {_name} to "&f%player%" + message "&aPlayer: %{_name}%" + set {_days} to {db_dayset.2} - {db_count.start.%player%.2} + {_days} is less than 2: + {_days} is 1: + message "&aYou are &e%{_days}% &aday old." + stop + {_days} is less than 1: + message "&aThis is your first day." + stop + message "&aYou are &e%{_days}% &adays old." + argument is set: + argument has not played before: + message "&e%argument% &chas not played on this server before." + stop + + argument has permission "obam.admin": + set {_name} to "&d%argument%" + {_name} is not set: + argument has permission "obam.mod": + set {_name} to "&2%argument%" + {_name} is not set: + argument has permission "obam.supporter": + set {_name} to "&6%argument%" + {_name} is not set: + set {_name} to "&f%argument%" + argument is not online: + {db_current.server.%argument%} is not set: + set {_name} to "&7%argument% &7&o(Offline)" + {db_color.%argument%} is set: + set {_name} to {db_color.%argument%} + set {_lastseen} to "&aLast seen:&e%{db_lastseen.%argument%}%" + {db_current.server.%argument%} is set: + {db_color.%argument%} is set: + set {_name} to {db_color.%argument%} + set {_current.connect} to "&aCurrently connected to %{db_current.server.%argument%}%" + + message "&aPlayer: %{_name}%" + {_lastseen} is set: + send {_lastseen} + {_current.connect} is set: + send {_current.connect} + set {_days} to {db_dayset.2} - {db_count.start.%argument%.2} + {_days} is less than 2: + {_days} is 1: + message "&aThey are &e%{_days}% &aday old." + stop + {_days} is less than 1: + message "%{_name}% &ais &e1&a day old" + stop + message "&aThey are &e%{_days}% &adays old." +command /daycheck: + permission: obam.admin + trigger: + send "%{db_dayset.2}%" to player + send "%{db_count.start.%player%.2}%" + send "%{db_dayset.2} - {db_count.start.%player%.2}%" + +command /daypush : + permission: obam.admin + trigger: + set {db_dayset.2} to {db_dayset.2} + argument \ No newline at end of file diff --git a/Obam-Testing/schat2.sk b/OBAM-Hub/schat2.hub.sk similarity index 94% rename from Obam-Testing/schat2.sk rename to OBAM-Hub/schat2.hub.sk index 6e33aa0..aaa98b8 100644 --- a/Obam-Testing/schat2.sk +++ b/OBAM-Hub/schat2.hub.sk @@ -1,7 +1,5 @@ options: p: &3[H] - - on join: {db_alerts.on.%player%} is not set: @@ -19,30 +17,27 @@ on join: delete {db_channel.supporter::%player%} player does not have permission "obam.mod": delete {db_channel.staff::%player%} - player does not have permission "obam.mechanic": delete {db_channel.mech::%player%} - {db_channel.mech.%player%} is not set: - player has permission "obam.mechanic" - set {db_channel.mech.%player%} to true + player has permission "obam.mechanic": + set {db_channel.mech.%player%} to true {db_channel.mech.%player%} is true: set {db_channel.mech::%player%} to player {db_channel.sup.%player%} is not set: - player has permission "obam.supporter" - set {db_channel.sup.%player%} to true + player has permission "obam.supporter": + set {db_channel.sup.%player%} to true {db_channel.sup.%player%} is true: set {db_channel.supporter::%player%} to player {db_channel.staff.%player%} is not set: - player has permission "obam.mod" - set {db_channel.staff::%player%} to player + player has permission "obam.mod": + set {db_channel.staff::%player%} to player {db_channel.staff.%player%} is true: set {db_channel.supporter::%player%} to player on chat: cancel event player is "IcecreamCow" or "Electric_Hamster" or "ISMOOCH": - set {_pre} to "{@p} &d[A] %player%" {_pre} is not set: player is "OrigamiJoe" or "Deathtomb8953": @@ -51,24 +46,18 @@ on chat: player has permission "obam.mod": set {_pre} to "{@p} &2[M] %player%" {_pre} is not set: - player has permission "obam.ultimate": + player has permission "obam.supporter": set {_pre} to "{@p} &6[^] %player%" - {_pre} is not set: - player has permission "obam.plus": - set {_pre} to "{@p} &b[+] %player%" {_pre} is not set: set {_pre} to "{@p} %player%" player is "BruSwain": set {_pre} to "{@p} &6[^] %player%" - {db_star.%player%} is set: set {_pre} to "%{_pre}% <%{db_star.%player%}%>✦" - {db_channel.%player%} is "private": set {_player} to {private.%player%} parsed as a player {_player} is online: set {_found} to true - {_found} is set: set {_player} to {private.%player%} parsed as a player send "&d%player% ➽ %{_player}%&d: %message%" to {_player} @@ -79,7 +68,6 @@ on chat: set {_message} to "&d%player% ➽ %{private.%player%}%&d: %message%" send {_message} to player execute console command "privatepush %{private.%player%}% %{_message}%" - {db_channel.%player%} is "staff": player does not have permission "obam.mod": set {db_channel.%player%} to "global" @@ -87,23 +75,16 @@ on chat: {db_channel.%player%} is "staff": loop {db_channel.staff::*}: clear {_player} - set {_player} to loop-index parsed as player - set message to "&a%message%" message contains "%{_player}%": replace "%{_player}%" in message with "&c%{_player}%&a" {db_alerts.on.%{_player}%} is true: play level up at location of {_player} with pitch 2 set {_message} to "%{_pre}%&a: %message%" - - send "%{_message}%" to {_player} set message to "%uncoloured message%" - - execute console command "/modpush %{_pre}%&a: %message%" - {db_channel.%player%} is "mechanic": player does not have permission "obam.mechanic": set {db_channel.%player%} to "global" @@ -118,17 +99,10 @@ on chat: {db_alerts.on.%{_player}%} is true: play level up at location of {_player} with pitch 2 set {_message} to "%{_pre}%&e: %message%" - - send "%{_message}%" to {_player} set message to "%uncoloured message%" - - execute console command "/mechpush %{_message}%" - stop - - {db_channel.%player%} is "supporter": player does not have permission "obam.supporter": set {db_channel.%player%} to "global" @@ -143,17 +117,10 @@ on chat: {db_alerts.on.%{_player}%} is true: play level up at location of {_player} with pitch 2 set {_message} to "%{_pre}%&b: %message%" - - send "%{_message}%" to {_player} set message to "%uncoloured message%" - - execute console command "/supporterpush %{_message}%" - - stop - {db_channel.%player%} is "global": loop {db_channel.global::*}: clear {_player} @@ -164,26 +131,15 @@ on chat: {db_alerts.on.%{_player}%} is true: play level up at location of {_player} with pitch 2 set {_message} to "%{_pre}%&f: %message%" - - send "%{_message}%" to {_player} set message to "%uncoloured message%" - - - - execute console command "globalpush %{_pre}%&f: %message%" - stop - - - command /chat [] []: permission: obam.free aliases: c, ch trigger: - argument 1 is "m" or "mod": player does not have permission "obam.mod": send "&cYou dont have permission to do this!" @@ -201,7 +157,6 @@ command /chat [] []: {db_channel.supporter::%player%} is not set: set {db_channel.supporter.%player%} to player send "&aYou are now chatting in the &bSupporter&a channel!" - argument 1 is "mech" or "mechanic": player does not have permission "obam.mechanic": send "&cYou dont have permission to do this!" @@ -210,12 +165,9 @@ command /chat [] []: {db_channel.mech::%player%} is not set: set {db_channel.mech::%player%} to player send "&aYou are now chatting in the &eMechanic&a Channel!" - - argument 1 is "g" or "global": set {db_channel.%player%} to "global" send "&aYou are now chatting in the &fGlobal&a channel!" - argument 1 is "l" or "leave": argument 2 is not set: send "&cPlease specify a channel: &e/chat leave " @@ -251,7 +203,6 @@ command /chat [] []: set {db_channel.%player%} to "staff" send "&aYou are now in the &2Mod&a channel!" stop - argument 2 is "mechanic" or "mech": player does not have permission "obam.mechanic": send "&cYou do not have permission to do this!" @@ -264,7 +215,6 @@ command /chat [] []: set {db_channel.%player%} to "mechanic" send "&aYou are now in the &eMechanic&a Channel!" stop - argument 2 is "s" or "supporter": player does not have permission "obam.supporter": send "&cYou do not have permission to do this!" @@ -277,7 +227,6 @@ command /chat [] []: set {db_channel.%player%} to "supporter" send "&aYou are now in the &bSupporter&a channel!" stop - argument 2 is "g" or "global": {db_channel.global::%player%} is set: send "&cYou are already in this channel!" @@ -286,7 +235,6 @@ command /chat [] []: set {db_channel.global::%player%} to player set {db_channel.%player%} to "global" send "&aYou are now in the &fGlobal&a channel!" - argument 1 is "who": argument 2 is not set: loop {db_channel.%{db_channel.%player%}%::*}: @@ -294,7 +242,6 @@ command /chat [] []: argument 2 is set: {db_channel.%{db_channel.%player%}%::%argument 2%} is set: send "%argument 2% is in this channel" - argument 1 is "alerts" or "alert" or "a": argument 2 is not set: {db_alerts.on.%player%} is not set: @@ -315,24 +262,20 @@ command /chat [] []: argument 2 is "on": set {db_alerts.on.%player%} to true send "&aYour chat alerts are now &eOn&a." - command /star []: permission: obam.admin trigger: - argument 2 is "clear": clear {db_star.%argument 1%} send "&aCleared Star setting for %argument 1%" stop - set {db_star.%argument 1%} to argument 2 send "&aStar for %argument 1% set to <%argument 2%>%argument 2%&a." - + command /tell [] []: permission: obam.free trigger: - argument 1 is not set: {db_channel.%player%} is "private": send "&aYou have left your private conversation with %{private.%player%}%" @@ -345,23 +288,19 @@ command /tell [] []: send "&dYou are now in a private conversation with &e%argument 1%" set {private.%player%} to "%argument 1%" set {db_channel.%player%} to "private" - argument 2 is set: send "&d%player% ➽ %argument 1%: %argument 2%" to player loop all players: loop-player is argument 1 set {_found} to true - {_found} is set: send "&d%player% ➽ %argument 1%: %argument 2%" to argument 1 {db_alerts.on.%argument 1%} is true: play level up at location of argument 1 with pitch 2 - {_found} is not set: set {_message} to "&d%player% ➽ %argument 1%: %argument 2%" execute console command "privatepush %argument 1% %{_message}%" - - + command /fishslap : permission: obam.free trigger: @@ -372,7 +311,6 @@ command /fishslap : {_wait} is less than 4 seconds: send "&cYou are slapping too much! Calm down D:" to player stop - send "&aYou just slapped &e%argument%&a!" set {cool.fish.%player%} to now loop all players: @@ -382,18 +320,5 @@ command /fishslap : play slime attack at location of loop-player with pitch 1 send "&e%player% &ajust slapped you with a giant fish!" to loop-player stop - {_found} is not set: forward command "fishcatch %argument% %player%" to console - - - - - - - - - - - - \ No newline at end of file diff --git a/OBAM-Survival Games/OBAM-WTFronts/pinfo.wtf.sk b/OBAM-Survival Games/OBAM-WTFronts/pinfo.wtf.sk new file mode 100644 index 0000000..de14656 --- /dev/null +++ b/OBAM-Survival Games/OBAM-WTFronts/pinfo.wtf.sk @@ -0,0 +1,103 @@ + + +on join: + set {db_current.server.%player%} to "&eWTF" + + + + +on disconnect: + clear {db_current.server.%player%} + set {db_lastseen.%player%} to "%now% on &eWTF" + clear {db_color.%player%} + player has permission "obam.admin": + set {db_color.%player%} to "&d%player%" + {db_color.%player%} is not set: + player has permission "obam.mod": + set {db_color.%player%} to "&2%player%" + {db_color.%player%} is not set: + player has permission "obam.supporter": + set {db_color.%player%} to "&6%player%" + {db_color.%player%} is not set: + set {db_color.%player%} to "&f%player%" + + + +command /playerinfo []: + description: Find out information about you + aliases: /p, /info, /player, /pinfo + executable by: players + trigger: + + argument is not set: + player has permission "obam.admin": + set {_name} to "&d%player%" + {_name} is not set: + player has permission "obam.mod": + set {_name} to "&2%player%" + {_name} is not set: + player has permission "obam.supporter": + set {_name} to "&6%player%" + {_name} is not set: + set {_name} to "&f%player%" + message "&aPlayer: %{_name}%" + set {_days} to {db_dayset.2} - {db_count.start.%player%.2} + {_days} is less than 2: + {_days} is 1: + message "&aYou are &e%{_days}% &aday old." + stop + {_days} is less than 1: + message "&aThis is your first day." + stop + message "&aYou are &e%{_days}% &adays old." + argument is set: + argument has not played before: + message "&e%argument% &chas not played on this server before." + stop + + argument has permission "obam.admin": + set {_name} to "&d%argument%" + {_name} is not set: + argument has permission "obam.mod": + set {_name} to "&2%argument%" + {_name} is not set: + argument has permission "obam.supporter": + set {_name} to "&6%argument%" + {_name} is not set: + set {_name} to "&f%argument%" + argument is not online: + {db_current.server.%argument%} is not set: + set {_name} to "&7%argument% &7&o(Offline)" + {db_color.%argument%} is set: + set {_name} to {db_color.%argument%} + set {_lastseen} to "&aLast seen:&e%{db_lastseen.%argument%}%" + {db_current.server.%argument%} is set: + {db_color.%argument%} is set: + set {_name} to {db_color.%argument%} + set {_current.connect} to "&aCurrently connected to %{db_current.server.%argument%}%" + + message "&aPlayer: %{_name}%" + {_lastseen} is set: + send {_lastseen} + {_current.connect} is set: + send {_current.connect} + set {_days} to {db_dayset.2} - {db_count.start.%argument%.2} + {_days} is less than 2: + {_days} is 1: + message "&aThey are &e%{_days}% &aday old." + stop + {_days} is less than 1: + message "%{_name}% &ais &e1&a day old" + stop + message "&aThey are &e%{_days}% &adays old." +command /daycheck: + permission: obam.admin + trigger: + send "%{db_dayset.2}%" to player + send "%{db_count.start.%player%.2}%" + send "%{db_dayset.2} - {db_count.start.%player%.2}%" + +command /daypush : + permission: obam.admin + trigger: + set {db_dayset.2} to {db_dayset.2} + argument \ No newline at end of file diff --git a/OBAM-Survival Games/OBAM-WTFronts/schat2.wtf.sk b/OBAM-Survival Games/OBAM-WTFronts/schat2.wtf.sk new file mode 100644 index 0000000..f92efee --- /dev/null +++ b/OBAM-Survival Games/OBAM-WTFronts/schat2.wtf.sk @@ -0,0 +1,324 @@ +options: + p: &c[W] + +on join: + {db_alerts.on.%player%} is not set: + set {db_alerts.on.%player%} to true + {db_alerts.on.%player%} is true: + send "&aYour chat alerts are &eOn&a. You can turn them off by using the command &e/chat alerts off" + {db_alerts.on.%player%} is false: + send "&aYour chat alerts are &eOff&a. You can turn them on by using the command &e/chat alert on" + {db_global.%player%} is not set: + set {db_global.%player%} to true + {db_global.%player%} is true: + set {db_channel.global::%player%} to player + set {db_channel.%player%} to "global" + player does not have permission "obam.supporter": + delete {db_channel.supporter::%player%} + player does not have permission "obam.mod": + delete {db_channel.staff::%player%} + player does not have permission "obam.mechanic": + delete {db_channel.mech::%player%} + {db_channel.mech.%player%} is not set: + player has permission "obam.mechanic": + set {db_channel.mech.%player%} to true + {db_channel.mech.%player%} is true: + set {db_channel.mech::%player%} to player + {db_channel.sup.%player%} is not set: + player has permission "obam.supporter": + set {db_channel.sup.%player%} to true + {db_channel.sup.%player%} is true: + set {db_channel.supporter::%player%} to player + {db_channel.staff.%player%} is not set: + player has permission "obam.mod": + set {db_channel.staff::%player%} to player + {db_channel.staff.%player%} is true: + set {db_channel.supporter::%player%} to player + +on chat: + cancel event + player is "IcecreamCow" or "Electric_Hamster" or "ISMOOCH": + set {_pre} to "{@p} &d[A] %player%" + {_pre} is not set: + player is "OrigamiJoe" or "Deathtomb8953": + set {_pre} to "{@p} &a[╪] %player%" + {_pre} is not set: + player has permission "obam.mod": + set {_pre} to "{@p} &2[M] %player%" + {_pre} is not set: + player has permission "obam.supporter": + set {_pre} to "{@p} &6[^] %player%" + {_pre} is not set: + set {_pre} to "{@p} %player%" + player is "BruSwain": + set {_pre} to "{@p} &6[^] %player%" + {db_star.%player%} is set: + set {_pre} to "%{_pre}% <%{db_star.%player%}%>✦" + {db_channel.%player%} is "private": + set {_player} to {private.%player%} parsed as a player + {_player} is online: + set {_found} to true + {_found} is set: + set {_player} to {private.%player%} parsed as a player + send "&d%player% ➽ %{_player}%&d: %message%" to {_player} + send "&d%player% ➽ %{_player}%&d: %message%" to player + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + {_found} is not set: + set {_message} to "&d%player% ➽ %{private.%player%}%&d: %message%" + send {_message} to player + execute console command "privatepush %{private.%player%}% %{_message}%" + {db_channel.%player%} is "staff": + player does not have permission "obam.mod": + set {db_channel.%player%} to "global" + delete {db_channel.staff::%player%} + {db_channel.%player%} is "staff": + loop {db_channel.staff::*}: + clear {_player} + set {_player} to loop-index parsed as player + set message to "&a%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&a" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&a: %message%" + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/modpush %{_pre}%&a: %message%" + {db_channel.%player%} is "mechanic": + player does not have permission "obam.mechanic": + set {db_channel.%player%} to "global" + delete {db_channel.mech::%player%} + {db_channel.%player%} is "mechanic": + loop {db_channel.mech::*}: + clear {_player} + set {_player} to loop-index parsed as player + set message to "&e%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&e" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&e: %message%" + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/mechpush %{_message}%" + stop + {db_channel.%player%} is "supporter": + player does not have permission "obam.supporter": + set {db_channel.%player%} to "global" + delete {db_channel.supporter::%player%} + {db_channel.%player%} is "supporter": + loop {db_channel.supporter::*}: + clear {_player} + set {_player} to loop-index parsed as player + set message to "&b%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&b" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&b: %message%" + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/supporterpush %{_message}%" + stop + {db_channel.%player%} is "global": + loop {db_channel.global::*}: + clear {_player} + set {_player} to loop-index parsed as player + set message to "&f%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&f" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&f: %message%" + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "globalpush %{_pre}%&f: %message%" + stop + +command /chat [] []: + permission: obam.free + aliases: c, ch + trigger: + argument 1 is "m" or "mod": + player does not have permission "obam.mod": + send "&cYou dont have permission to do this!" + stop + set {db_channel.%player%} to "staff" + {db_channel.staff::%player%} is not set: + set {db_channel.staff::%player%} to player + send "&aYou are now chatting in the &aMod&a channel!" + stop + argument 1 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou dont have permission to do this!" + stop + set {db_channel.%player%} to "supporter" + {db_channel.supporter::%player%} is not set: + set {db_channel.supporter.%player%} to player + send "&aYou are now chatting in the &bSupporter&a channel!" + argument 1 is "mech" or "mechanic": + player does not have permission "obam.mechanic": + send "&cYou dont have permission to do this!" + stop + set {db_channel.%player%} to "mechanic" + {db_channel.mech::%player%} is not set: + set {db_channel.mech::%player%} to player + send "&aYou are now chatting in the &eMechanic&a Channel!" + argument 1 is "g" or "global": + set {db_channel.%player%} to "global" + send "&aYou are now chatting in the &fGlobal&a channel!" + argument 1 is "l" or "leave": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat leave " + stop + argument 2 is "mod" or "m": + send "&cYou can not leave the staff chat silly" + stop + argument 2 is "mech" or "mechanic": + send "&cYou are now leaving the &eMechanic&c chat!" + delete {db_channel.mech::%player%} + stop + argument 2 is "s" or "supporter": + send "&cYou are now leaving the &bSupporter&c chat!" + delete {db_channel.supporter::%player%} + stop + argument 2 is "g" or "global": + send "&cYou are now leaving the &fGlobal&c chat!" + delete {db_channel.global::%player%} + stop + argument 1 is "j" or "join": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat join " + stop + argument 2 is "mod" or "m": + player does not have permission "obam.mod": + send "&cYou do not have permission to do this!" + stop + {db_channel.staff::%player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.staff::%player%} to player + set {db_channel.%player%} to "staff" + send "&aYou are now in the &2Mod&a channel!" + stop + argument 2 is "mechanic" or "mech": + player does not have permission "obam.mechanic": + send "&cYou do not have permission to do this!" + stop + {db_channel.mech::%player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.mech::%player%} to player + set {db_channel.%player%} to "mechanic" + send "&aYou are now in the &eMechanic&a Channel!" + stop + argument 2 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou do not have permission to do this!" + stop + {db_channel.supporter::%player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.supporter::%player%} to player + set {db_channel.%player%} to "supporter" + send "&aYou are now in the &bSupporter&a channel!" + stop + argument 2 is "g" or "global": + {db_channel.global::%player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.global::%player%} to player + set {db_channel.%player%} to "global" + send "&aYou are now in the &fGlobal&a channel!" + argument 1 is "who": + argument 2 is not set: + loop {db_channel.%{db_channel.%player%}%::*}: + send "%loop-index%" + argument 2 is set: + {db_channel.%{db_channel.%player%}%::%argument 2%} is set: + send "%argument 2% is in this channel" + argument 1 is "alerts" or "alert" or "a": + argument 2 is not set: + {db_alerts.on.%player%} is not set: + set {db_alerts.on.%player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + {db_alerts.on.%player%} is true: + set {db_alerts.on.%player%} to false + send "&aYour chat alerts are now &eOff&a." + stop + {db_alerts.on.%player%} is false: + set {db_alerts.on.%player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + argument 2 is "off": + set {db_alerts.on.%player%} to false + send "&aYour chat alerts are now &eOff&a." + argument 2 is "on": + set {db_alerts.on.%player%} to true + send "&aYour chat alerts are now &eOn&a." + +command /star []: + permission: obam.admin + trigger: + argument 2 is "clear": + clear {db_star.%argument 1%} + send "&aCleared Star setting for %argument 1%" + stop + set {db_star.%argument 1%} to argument 2 + send "&aStar for %argument 1% set to <%argument 2%>%argument 2%&a." + +command /tell [] []: + permission: obam.free + trigger: + argument 1 is not set: + {db_channel.%player%} is "private": + send "&aYou have left your private conversation with %{private.%player%}%" + make player execute command "/ch g" + stop + {db_channel.%player%} is not "private": + send "&cYou are not in a conversation!" + stop + argument 2 is not set: + send "&dYou are now in a private conversation with &e%argument 1%" + set {private.%player%} to "%argument 1%" + set {db_channel.%player%} to "private" + argument 2 is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to player + loop all players: + loop-player is argument 1 + set {_found} to true + {_found} is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to argument 1 + {db_alerts.on.%argument 1%} is true: + play level up at location of argument 1 with pitch 2 + {_found} is not set: + set {_message} to "&d%player% ➽ %argument 1%: %argument 2%" + execute console command "privatepush %argument 1% %{_message}%" + +command /fishslap : + permission: obam.free + trigger: + {cool.fish.%player%} is not set: + set {cool.fish.%player%} to now + add 5 seconds to {cool.fish.%player%} + set {_wait} to difference between {cool.fish.%player%} and now + {_wait} is less than 4 seconds: + send "&cYou are slapping too much! Calm down D:" to player + stop + send "&aYou just slapped &e%argument%&a!" + set {cool.fish.%player%} to now + loop all players: + "%loop-player%" is argument + set {_found} to true + {db_alerts.on.%loop-player%} is true + play slime attack at location of loop-player with pitch 1 + send "&e%player% &ajust slapped you with a giant fish!" to loop-player + stop + {_found} is not set: + forward command "fishcatch %argument% %player%" to console diff --git a/Obam-Testing/wtfronts.sk b/OBAM-Survival Games/OBAM-WTFronts/wtfronts.sk similarity index 100% rename from Obam-Testing/wtfronts.sk rename to OBAM-Survival Games/OBAM-WTFronts/wtfronts.sk diff --git a/OBAM-WarFronts/chest.sk b/OBAM-Survival Games/OBAM-WarFronts/chest.sk similarity index 100% rename from OBAM-WarFronts/chest.sk rename to OBAM-Survival Games/OBAM-WarFronts/chest.sk diff --git a/OBAM-WarFronts/levelhandler.sk b/OBAM-Survival Games/OBAM-WarFronts/levelhandler.sk similarity index 100% rename from OBAM-WarFronts/levelhandler.sk rename to OBAM-Survival Games/OBAM-WarFronts/levelhandler.sk diff --git a/OBAM-WarFronts/outposts/outpostgen.sk b/OBAM-Survival Games/OBAM-WarFronts/outposts/outpostgen.sk similarity index 100% rename from OBAM-WarFronts/outposts/outpostgen.sk rename to OBAM-Survival Games/OBAM-WarFronts/outposts/outpostgen.sk diff --git a/OBAM-WarFronts/outposts/teamtest.sk b/OBAM-Survival Games/OBAM-WarFronts/outposts/teamtest.sk similarity index 100% rename from OBAM-WarFronts/outposts/teamtest.sk rename to OBAM-Survival Games/OBAM-WarFronts/outposts/teamtest.sk diff --git a/OBAM-WarFronts/roles/enchanter b/OBAM-Survival Games/OBAM-WarFronts/roles/enchanter similarity index 100% rename from OBAM-WarFronts/roles/enchanter rename to OBAM-Survival Games/OBAM-WarFronts/roles/enchanter diff --git a/OBAM-WarFronts/roles/enchanter.sk b/OBAM-Survival Games/OBAM-WarFronts/roles/enchanter.sk similarity index 100% rename from OBAM-WarFronts/roles/enchanter.sk rename to OBAM-Survival Games/OBAM-WarFronts/roles/enchanter.sk diff --git a/OBAM-WarFronts/roles/hunter.sk b/OBAM-Survival Games/OBAM-WarFronts/roles/hunter.sk similarity index 100% rename from OBAM-WarFronts/roles/hunter.sk rename to OBAM-Survival Games/OBAM-WarFronts/roles/hunter.sk diff --git a/OBAM-WarFronts/roles/miner.sk b/OBAM-Survival Games/OBAM-WarFronts/roles/miner.sk similarity index 100% rename from OBAM-WarFronts/roles/miner.sk rename to OBAM-Survival Games/OBAM-WarFronts/roles/miner.sk diff --git a/OBAM-WarFronts/roles/rolemenu.sk b/OBAM-Survival Games/OBAM-WarFronts/roles/rolemenu.sk similarity index 100% rename from OBAM-WarFronts/roles/rolemenu.sk rename to OBAM-Survival Games/OBAM-WarFronts/roles/rolemenu.sk diff --git a/OBAM-WarFronts/roles/skill.sk b/OBAM-Survival Games/OBAM-WarFronts/roles/skill.sk similarity index 100% rename from OBAM-WarFronts/roles/skill.sk rename to OBAM-Survival Games/OBAM-WarFronts/roles/skill.sk diff --git a/OBAM-WarFronts/roles/soldier.sk b/OBAM-Survival Games/OBAM-WarFronts/roles/soldier.sk similarity index 100% rename from OBAM-WarFronts/roles/soldier.sk rename to OBAM-Survival Games/OBAM-WarFronts/roles/soldier.sk diff --git a/Obam-Creative/nightvision.sk b/OBAM-Survival Games/Obam-Creative/nightvision.sk similarity index 100% rename from Obam-Creative/nightvision.sk rename to OBAM-Survival Games/Obam-Creative/nightvision.sk diff --git a/OBAM-Survival Games/Obam-Creative/pinfo.creative.sk b/OBAM-Survival Games/Obam-Creative/pinfo.creative.sk new file mode 100644 index 0000000..0668066 --- /dev/null +++ b/OBAM-Survival Games/Obam-Creative/pinfo.creative.sk @@ -0,0 +1,103 @@ + + +on join: + set {db_current.server.%player%} to "&eCreative" + + + + +on disconnect: + clear {db_current.server.%player%} + set {db_lastseen.%player%} to "%now% on &eCreative" + clear {db_color.%player%} + player has permission "obam.admin": + set {db_color.%player%} to "&d%player%" + {db_color.%player%} is not set: + player has permission "obam.mod": + set {db_color.%player%} to "&2%player%" + {db_color.%player%} is not set: + player has permission "obam.supporter": + set {db_color.%player%} to "&6%player%" + {db_color.%player%} is not set: + set {db_color.%player%} to "&f%player%" + + + +command /playerinfo []: + description: Find out information about you + aliases: /p, /info, /player, /pinfo + executable by: players + trigger: + + argument is not set: + player has permission "obam.admin": + set {_name} to "&d%player%" + {_name} is not set: + player has permission "obam.mod": + set {_name} to "&2%player%" + {_name} is not set: + player has permission "obam.supporter": + set {_name} to "&6%player%" + {_name} is not set: + set {_name} to "&f%player%" + message "&aPlayer: %{_name}%" + set {_days} to {db_dayset.2} - {db_count.start.%player%.2} + {_days} is less than 2: + {_days} is 1: + message "&aYou are &e%{_days}% &aday old." + stop + {_days} is less than 1: + message "&aThis is your first day." + stop + message "&aYou are &e%{_days}% &adays old." + argument is set: + argument has not played before: + message "&e%argument% &chas not played on this server before." + stop + + argument has permission "obam.admin": + set {_name} to "&d%argument%" + {_name} is not set: + argument has permission "obam.mod": + set {_name} to "&2%argument%" + {_name} is not set: + argument has permission "obam.supporter": + set {_name} to "&6%argument%" + {_name} is not set: + set {_name} to "&f%argument%" + argument is not online: + {db_current.server.%argument%} is not set: + set {_name} to "&7%argument% &7&o(Offline)" + {db_color.%argument%} is set: + set {_name} to {db_color.%argument%} + set {_lastseen} to "&aLast seen:&e%{db_lastseen.%argument%}%" + {db_current.server.%argument%} is set: + {db_color.%argument%} is set: + set {_name} to {db_color.%argument%} + set {_current.connect} to "&aCurrently connected to %{db_current.server.%argument%}%" + + message "&aPlayer: %{_name}%" + {_lastseen} is set: + send {_lastseen} + {_current.connect} is set: + send {_current.connect} + set {_days} to {db_dayset.2} - {db_count.start.%argument%.2} + {_days} is less than 2: + {_days} is 1: + message "&aThey are &e%{_days}% &aday old." + stop + {_days} is less than 1: + message "%{_name}% &ais &e1&a day old" + stop + message "&aThey are &e%{_days}% &adays old." +command /daycheck: + permission: obam.admin + trigger: + send "%{db_dayset.2}%" to player + send "%{db_count.start.%player%.2}%" + send "%{db_dayset.2} - {db_count.start.%player%.2}%" + +command /daypush : + permission: obam.admin + trigger: + set {db_dayset.2} to {db_dayset.2} + argument \ No newline at end of file diff --git a/OBAM-Survival Games/Obam-Creative/schat2.creative.sk b/OBAM-Survival Games/Obam-Creative/schat2.creative.sk new file mode 100644 index 0000000..fc36613 --- /dev/null +++ b/OBAM-Survival Games/Obam-Creative/schat2.creative.sk @@ -0,0 +1,324 @@ +options: + p: &6[C] + +on join: + {db_alerts.on.%player%} is not set: + set {db_alerts.on.%player%} to true + {db_alerts.on.%player%} is true: + send "&aYour chat alerts are &eOn&a. You can turn them off by using the command &e/chat alerts off" + {db_alerts.on.%player%} is false: + send "&aYour chat alerts are &eOff&a. You can turn them on by using the command &e/chat alert on" + {db_global.%player%} is not set: + set {db_global.%player%} to true + {db_global.%player%} is true: + set {db_channel.global::%player%} to player + set {db_channel.%player%} to "global" + player does not have permission "obam.supporter": + delete {db_channel.supporter::%player%} + player does not have permission "obam.mod": + delete {db_channel.staff::%player%} + player does not have permission "obam.mechanic": + delete {db_channel.mech::%player%} + {db_channel.mech.%player%} is not set: + player has permission "obam.mechanic": + set {db_channel.mech.%player%} to true + {db_channel.mech.%player%} is true: + set {db_channel.mech::%player%} to player + {db_channel.sup.%player%} is not set: + player has permission "obam.supporter": + set {db_channel.sup.%player%} to true + {db_channel.sup.%player%} is true: + set {db_channel.supporter::%player%} to player + {db_channel.staff.%player%} is not set: + player has permission "obam.mod": + set {db_channel.staff::%player%} to player + {db_channel.staff.%player%} is true: + set {db_channel.supporter::%player%} to player + +on chat: + cancel event + player is "IcecreamCow" or "Electric_Hamster" or "ISMOOCH": + set {_pre} to "{@p} &d[A] %player%" + {_pre} is not set: + player is "OrigamiJoe" or "Deathtomb8953": + set {_pre} to "{@p} &a[╪] %player%" + {_pre} is not set: + player has permission "obam.mod": + set {_pre} to "{@p} &2[M] %player%" + {_pre} is not set: + player has permission "obam.supporter": + set {_pre} to "{@p} &6[^] %player%" + {_pre} is not set: + set {_pre} to "{@p} %player%" + player is "BruSwain": + set {_pre} to "{@p} &6[^] %player%" + {db_star.%player%} is set: + set {_pre} to "%{_pre}% <%{db_star.%player%}%>✦" + {db_channel.%player%} is "private": + set {_player} to {private.%player%} parsed as a player + {_player} is online: + set {_found} to true + {_found} is set: + set {_player} to {private.%player%} parsed as a player + send "&d%player% ➽ %{_player}%&d: %message%" to {_player} + send "&d%player% ➽ %{_player}%&d: %message%" to player + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + {_found} is not set: + set {_message} to "&d%player% ➽ %{private.%player%}%&d: %message%" + send {_message} to player + execute console command "privatepush %{private.%player%}% %{_message}%" + {db_channel.%player%} is "staff": + player does not have permission "obam.mod": + set {db_channel.%player%} to "global" + delete {db_channel.staff::%player%} + {db_channel.%player%} is "staff": + loop {db_channel.staff::*}: + clear {_player} + set {_player} to loop-index parsed as player + set message to "&a%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&a" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&a: %message%" + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/modpush %{_pre}%&a: %message%" + {db_channel.%player%} is "mechanic": + player does not have permission "obam.mechanic": + set {db_channel.%player%} to "global" + delete {db_channel.mech::%player%} + {db_channel.%player%} is "mechanic": + loop {db_channel.mech::*}: + clear {_player} + set {_player} to loop-index parsed as player + set message to "&e%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&e" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&e: %message%" + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/mechpush %{_message}%" + stop + {db_channel.%player%} is "supporter": + player does not have permission "obam.supporter": + set {db_channel.%player%} to "global" + delete {db_channel.supporter::%player%} + {db_channel.%player%} is "supporter": + loop {db_channel.supporter::*}: + clear {_player} + set {_player} to loop-index parsed as player + set message to "&b%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&b" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&b: %message%" + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/supporterpush %{_message}%" + stop + {db_channel.%player%} is "global": + loop {db_channel.global::*}: + clear {_player} + set {_player} to loop-index parsed as player + set message to "&f%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&f" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&f: %message%" + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "globalpush %{_pre}%&f: %message%" + stop + +command /chat [] []: + permission: obam.free + aliases: c, ch + trigger: + argument 1 is "m" or "mod": + player does not have permission "obam.mod": + send "&cYou dont have permission to do this!" + stop + set {db_channel.%player%} to "staff" + {db_channel.staff::%player%} is not set: + set {db_channel.staff::%player%} to player + send "&aYou are now chatting in the &aMod&a channel!" + stop + argument 1 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou dont have permission to do this!" + stop + set {db_channel.%player%} to "supporter" + {db_channel.supporter::%player%} is not set: + set {db_channel.supporter.%player%} to player + send "&aYou are now chatting in the &bSupporter&a channel!" + argument 1 is "mech" or "mechanic": + player does not have permission "obam.mechanic": + send "&cYou dont have permission to do this!" + stop + set {db_channel.%player%} to "mechanic" + {db_channel.mech::%player%} is not set: + set {db_channel.mech::%player%} to player + send "&aYou are now chatting in the &eMechanic&a Channel!" + argument 1 is "g" or "global": + set {db_channel.%player%} to "global" + send "&aYou are now chatting in the &fGlobal&a channel!" + argument 1 is "l" or "leave": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat leave " + stop + argument 2 is "mod" or "m": + send "&cYou can not leave the staff chat silly" + stop + argument 2 is "mech" or "mechanic": + send "&cYou are now leaving the &eMechanic&c chat!" + delete {db_channel.mech::%player%} + stop + argument 2 is "s" or "supporter": + send "&cYou are now leaving the &bSupporter&c chat!" + delete {db_channel.supporter::%player%} + stop + argument 2 is "g" or "global": + send "&cYou are now leaving the &fGlobal&c chat!" + delete {db_channel.global::%player%} + stop + argument 1 is "j" or "join": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat join " + stop + argument 2 is "mod" or "m": + player does not have permission "obam.mod": + send "&cYou do not have permission to do this!" + stop + {db_channel.staff::%player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.staff::%player%} to player + set {db_channel.%player%} to "staff" + send "&aYou are now in the &2Mod&a channel!" + stop + argument 2 is "mechanic" or "mech": + player does not have permission "obam.mechanic": + send "&cYou do not have permission to do this!" + stop + {db_channel.mech::%player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.mech::%player%} to player + set {db_channel.%player%} to "mechanic" + send "&aYou are now in the &eMechanic&a Channel!" + stop + argument 2 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou do not have permission to do this!" + stop + {db_channel.supporter::%player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.supporter::%player%} to player + set {db_channel.%player%} to "supporter" + send "&aYou are now in the &bSupporter&a channel!" + stop + argument 2 is "g" or "global": + {db_channel.global::%player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.global::%player%} to player + set {db_channel.%player%} to "global" + send "&aYou are now in the &fGlobal&a channel!" + argument 1 is "who": + argument 2 is not set: + loop {db_channel.%{db_channel.%player%}%::*}: + send "%loop-index%" + argument 2 is set: + {db_channel.%{db_channel.%player%}%::%argument 2%} is set: + send "%argument 2% is in this channel" + argument 1 is "alerts" or "alert" or "a": + argument 2 is not set: + {db_alerts.on.%player%} is not set: + set {db_alerts.on.%player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + {db_alerts.on.%player%} is true: + set {db_alerts.on.%player%} to false + send "&aYour chat alerts are now &eOff&a." + stop + {db_alerts.on.%player%} is false: + set {db_alerts.on.%player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + argument 2 is "off": + set {db_alerts.on.%player%} to false + send "&aYour chat alerts are now &eOff&a." + argument 2 is "on": + set {db_alerts.on.%player%} to true + send "&aYour chat alerts are now &eOn&a." + +command /star []: + permission: obam.admin + trigger: + argument 2 is "clear": + clear {db_star.%argument 1%} + send "&aCleared Star setting for %argument 1%" + stop + set {db_star.%argument 1%} to argument 2 + send "&aStar for %argument 1% set to <%argument 2%>%argument 2%&a." + +command /tell [] []: + permission: obam.free + trigger: + argument 1 is not set: + {db_channel.%player%} is "private": + send "&aYou have left your private conversation with %{private.%player%}%" + make player execute command "/ch g" + stop + {db_channel.%player%} is not "private": + send "&cYou are not in a conversation!" + stop + argument 2 is not set: + send "&dYou are now in a private conversation with &e%argument 1%" + set {private.%player%} to "%argument 1%" + set {db_channel.%player%} to "private" + argument 2 is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to player + loop all players: + loop-player is argument 1 + set {_found} to true + {_found} is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to argument 1 + {db_alerts.on.%argument 1%} is true: + play level up at location of argument 1 with pitch 2 + {_found} is not set: + set {_message} to "&d%player% ➽ %argument 1%: %argument 2%" + execute console command "privatepush %argument 1% %{_message}%" + +command /fishslap : + permission: obam.free + trigger: + {cool.fish.%player%} is not set: + set {cool.fish.%player%} to now + add 5 seconds to {cool.fish.%player%} + set {_wait} to difference between {cool.fish.%player%} and now + {_wait} is less than 4 seconds: + send "&cYou are slapping too much! Calm down D:" to player + stop + send "&aYou just slapped &e%argument%&a!" + set {cool.fish.%player%} to now + loop all players: + "%loop-player%" is argument + set {_found} to true + {db_alerts.on.%loop-player%} is true + play slime attack at location of loop-player with pitch 1 + send "&e%player% &ajust slapped you with a giant fish!" to loop-player + stop + {_found} is not set: + forward command "fishcatch %argument% %player%" to console diff --git a/Obam-Survival/FIXIT.sk b/OBAM-Survival Games/Obam-Fronts/FIXIT.sk similarity index 100% rename from Obam-Survival/FIXIT.sk rename to OBAM-Survival Games/Obam-Fronts/FIXIT.sk diff --git a/Obam-Survival/FTAS.sk b/OBAM-Survival Games/Obam-Fronts/FTAS.sk similarity index 100% rename from Obam-Survival/FTAS.sk rename to OBAM-Survival Games/Obam-Fronts/FTAS.sk diff --git a/Obam-Testing/signshoptestthing.sk b/OBAM-Survival Games/Obam-Fronts/Fronts-Testing/signshoptestthing.sk similarity index 100% rename from Obam-Testing/signshoptestthing.sk rename to OBAM-Survival Games/Obam-Fronts/Fronts-Testing/signshoptestthing.sk diff --git a/Obam-Testing/teams.sk b/OBAM-Survival Games/Obam-Fronts/Fronts-Testing/teams.sk similarity index 100% rename from Obam-Testing/teams.sk rename to OBAM-Survival Games/Obam-Fronts/Fronts-Testing/teams.sk diff --git a/Obam-Survival/LandAdd.sk b/OBAM-Survival Games/Obam-Fronts/LandAdd.sk similarity index 100% rename from Obam-Survival/LandAdd.sk rename to OBAM-Survival Games/Obam-Fronts/LandAdd.sk diff --git a/Obam-Testing/abstain.sk b/OBAM-Survival Games/Obam-Fronts/abstain.sk similarity index 100% rename from Obam-Testing/abstain.sk rename to OBAM-Survival Games/Obam-Fronts/abstain.sk diff --git a/Obam-Survival/access.sk b/OBAM-Survival Games/Obam-Fronts/access.sk similarity index 100% rename from Obam-Survival/access.sk rename to OBAM-Survival Games/Obam-Fronts/access.sk diff --git a/Obam-Testing/backpack.sk b/OBAM-Survival Games/Obam-Fronts/backpack.sk similarity index 100% rename from Obam-Testing/backpack.sk rename to OBAM-Survival Games/Obam-Fronts/backpack.sk diff --git a/Obam-Survival/bounty.sk b/OBAM-Survival Games/Obam-Fronts/bounty.sk similarity index 100% rename from Obam-Survival/bounty.sk rename to OBAM-Survival Games/Obam-Fronts/bounty.sk diff --git a/Obam-Survival/disenchant.sk b/OBAM-Survival Games/Obam-Fronts/disenchant.sk similarity index 100% rename from Obam-Survival/disenchant.sk rename to OBAM-Survival Games/Obam-Fronts/disenchant.sk diff --git a/Obam-Tools/eggification.sk b/OBAM-Survival Games/Obam-Fronts/eggification.sk similarity index 100% rename from Obam-Tools/eggification.sk rename to OBAM-Survival Games/Obam-Fronts/eggification.sk diff --git a/Obam-Tools/entcount.sk b/OBAM-Survival Games/Obam-Fronts/entcount.sk similarity index 100% rename from Obam-Tools/entcount.sk rename to OBAM-Survival Games/Obam-Fronts/entcount.sk diff --git a/Obam-Survival/flags.sk b/OBAM-Survival Games/Obam-Fronts/flags.sk similarity index 100% rename from Obam-Survival/flags.sk rename to OBAM-Survival Games/Obam-Fronts/flags.sk diff --git a/Obam-Survival/flow.sk b/OBAM-Survival Games/Obam-Fronts/flow.sk similarity index 100% rename from Obam-Survival/flow.sk rename to OBAM-Survival Games/Obam-Fronts/flow.sk diff --git a/Obam-Survival/fma.sk b/OBAM-Survival Games/Obam-Fronts/fma.sk similarity index 100% rename from Obam-Survival/fma.sk rename to OBAM-Survival Games/Obam-Fronts/fma.sk diff --git a/Obam-Survival/fortune.sk b/OBAM-Survival Games/Obam-Fronts/fortune.sk similarity index 100% rename from Obam-Survival/fortune.sk rename to OBAM-Survival Games/Obam-Fronts/fortune.sk diff --git a/Obam-Survival/fortuneFIX.sk b/OBAM-Survival Games/Obam-Fronts/fortuneFIX.sk similarity index 100% rename from Obam-Survival/fortuneFIX.sk rename to OBAM-Survival Games/Obam-Fronts/fortuneFIX.sk diff --git a/Obam-Tools/heads.sk b/OBAM-Survival Games/Obam-Fronts/heads.sk similarity index 100% rename from Obam-Tools/heads.sk rename to OBAM-Survival Games/Obam-Fronts/heads.sk diff --git a/Obam-Survival/heal.sk b/OBAM-Survival Games/Obam-Fronts/heal.sk similarity index 100% rename from Obam-Survival/heal.sk rename to OBAM-Survival Games/Obam-Fronts/heal.sk diff --git a/Obam-Testing/hitsounds.sk b/OBAM-Survival Games/Obam-Fronts/hitsounds.sk similarity index 100% rename from Obam-Testing/hitsounds.sk rename to OBAM-Survival Games/Obam-Fronts/hitsounds.sk diff --git a/Obam-Tools/hottouch.sk b/OBAM-Survival Games/Obam-Fronts/hottouch.sk similarity index 100% rename from Obam-Tools/hottouch.sk rename to OBAM-Survival Games/Obam-Fronts/hottouch.sk diff --git a/Obam-Survival/landclaim.sk b/OBAM-Survival Games/Obam-Fronts/landclaim.sk similarity index 100% rename from Obam-Survival/landclaim.sk rename to OBAM-Survival Games/Obam-Fronts/landclaim.sk diff --git a/Obam-Testing/lightbow.sk b/OBAM-Survival Games/Obam-Fronts/lightbow.sk similarity index 100% rename from Obam-Testing/lightbow.sk rename to OBAM-Survival Games/Obam-Fronts/lightbow.sk diff --git a/Obam-General/pinfo.sk b/OBAM-Survival Games/Obam-Fronts/pinfo.fronts.sk similarity index 90% rename from Obam-General/pinfo.sk rename to OBAM-Survival Games/Obam-Fronts/pinfo.fronts.sk index 6777b75..befb822 100644 --- a/Obam-General/pinfo.sk +++ b/OBAM-Survival Games/Obam-Fronts/pinfo.fronts.sk @@ -15,12 +15,9 @@ on disconnect: {db_color.%player%} is not set: player has permission "obam.mod": set {db_color.%player%} to "&2%player%" - {db_color.%player%} is not set: - player has permission "obam.ultimate": - set {db_color.%player%} to "&6%player%" {db_color.%player%} is not set: player has permission "obam.supporter": - set {db_color.%player%} to "&b%player%" + set {db_color.%player%} to "&6%player%" {db_color.%player%} is not set: set {db_color.%player%} to "&f%player%" @@ -38,12 +35,9 @@ command /playerinfo []: {_name} is not set: player has permission "obam.mod": set {_name} to "&2%player%" - {_name} is not set: - player has permission "obam.ultimate": - set {_name} to "&6%player%" {_name} is not set: player has permission "obam.supporter": - set {_name} to "&b%player%" + set {_name} to "&6%player%" {_name} is not set: set {_name} to "&f%player%" message "&aPlayer: %{_name}%" @@ -66,12 +60,9 @@ command /playerinfo []: {_name} is not set: argument has permission "obam.mod": set {_name} to "&2%argument%" - {_name} is not set: - argument has permission "obam.ultimate": - set {_name} to "&6%argument%" {_name} is not set: argument has permission "obam.supporter": - set {_name} to "&&b%argument%" + set {_name} to "&6%argument%" {_name} is not set: set {_name} to "&f%argument%" argument is not online: diff --git a/OBAM-Survival Games/Obam-Fronts/schat2.fronts.sk b/OBAM-Survival Games/Obam-Fronts/schat2.fronts.sk new file mode 100644 index 0000000..0b71f78 --- /dev/null +++ b/OBAM-Survival Games/Obam-Fronts/schat2.fronts.sk @@ -0,0 +1,324 @@ +options: + p: &2[F] + +on join: + {db_alerts.on.%player%} is not set: + set {db_alerts.on.%player%} to true + {db_alerts.on.%player%} is true: + send "&aYour chat alerts are &eOn&a. You can turn them off by using the command &e/chat alerts off" + {db_alerts.on.%player%} is false: + send "&aYour chat alerts are &eOff&a. You can turn them on by using the command &e/chat alert on" + {db_global.%player%} is not set: + set {db_global.%player%} to true + {db_global.%player%} is true: + set {db_channel.global::%player%} to player + set {db_channel.%player%} to "global" + player does not have permission "obam.supporter": + delete {db_channel.supporter::%player%} + player does not have permission "obam.mod": + delete {db_channel.staff::%player%} + player does not have permission "obam.mechanic": + delete {db_channel.mech::%player%} + {db_channel.mech.%player%} is not set: + player has permission "obam.mechanic": + set {db_channel.mech.%player%} to true + {db_channel.mech.%player%} is true: + set {db_channel.mech::%player%} to player + {db_channel.sup.%player%} is not set: + player has permission "obam.supporter": + set {db_channel.sup.%player%} to true + {db_channel.sup.%player%} is true: + set {db_channel.supporter::%player%} to player + {db_channel.staff.%player%} is not set: + player has permission "obam.mod": + set {db_channel.staff::%player%} to player + {db_channel.staff.%player%} is true: + set {db_channel.supporter::%player%} to player + +on chat: + cancel event + player is "IcecreamCow" or "Electric_Hamster" or "ISMOOCH": + set {_pre} to "{@p} &d[A] %player%" + {_pre} is not set: + player is "OrigamiJoe" or "Deathtomb8953": + set {_pre} to "{@p} &a[╪] %player%" + {_pre} is not set: + player has permission "obam.mod": + set {_pre} to "{@p} &2[M] %player%" + {_pre} is not set: + player has permission "obam.supporter": + set {_pre} to "{@p} &6[^] %player%" + {_pre} is not set: + set {_pre} to "{@p} %player%" + player is "BruSwain": + set {_pre} to "{@p} &6[^] %player%" + {db_star.%player%} is set: + set {_pre} to "%{_pre}% <%{db_star.%player%}%>✦" + {db_channel.%player%} is "private": + set {_player} to {private.%player%} parsed as a player + {_player} is online: + set {_found} to true + {_found} is set: + set {_player} to {private.%player%} parsed as a player + send "&d%player% ➽ %{_player}%&d: %message%" to {_player} + send "&d%player% ➽ %{_player}%&d: %message%" to player + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + {_found} is not set: + set {_message} to "&d%player% ➽ %{private.%player%}%&d: %message%" + send {_message} to player + execute console command "privatepush %{private.%player%}% %{_message}%" + {db_channel.%player%} is "staff": + player does not have permission "obam.mod": + set {db_channel.%player%} to "global" + delete {db_channel.staff::%player%} + {db_channel.%player%} is "staff": + loop {db_channel.staff::*}: + clear {_player} + set {_player} to loop-index parsed as player + set message to "&a%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&a" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&a: %message%" + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/modpush %{_pre}%&a: %message%" + {db_channel.%player%} is "mechanic": + player does not have permission "obam.mechanic": + set {db_channel.%player%} to "global" + delete {db_channel.mech::%player%} + {db_channel.%player%} is "mechanic": + loop {db_channel.mech::*}: + clear {_player} + set {_player} to loop-index parsed as player + set message to "&e%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&e" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&e: %message%" + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/mechpush %{_message}%" + stop + {db_channel.%player%} is "supporter": + player does not have permission "obam.supporter": + set {db_channel.%player%} to "global" + delete {db_channel.supporter::%player%} + {db_channel.%player%} is "supporter": + loop {db_channel.supporter::*}: + clear {_player} + set {_player} to loop-index parsed as player + set message to "&b%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&b" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&b: %message%" + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/supporterpush %{_message}%" + stop + {db_channel.%player%} is "global": + loop {db_channel.global::*}: + clear {_player} + set {_player} to loop-index parsed as player + set message to "&f%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&f" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&f: %message%" + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "globalpush %{_pre}%&f: %message%" + stop + +command /chat [] []: + permission: obam.free + aliases: c, ch + trigger: + argument 1 is "m" or "mod": + player does not have permission "obam.mod": + send "&cYou dont have permission to do this!" + stop + set {db_channel.%player%} to "staff" + {db_channel.staff::%player%} is not set: + set {db_channel.staff::%player%} to player + send "&aYou are now chatting in the &aMod&a channel!" + stop + argument 1 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou dont have permission to do this!" + stop + set {db_channel.%player%} to "supporter" + {db_channel.supporter::%player%} is not set: + set {db_channel.supporter.%player%} to player + send "&aYou are now chatting in the &bSupporter&a channel!" + argument 1 is "mech" or "mechanic": + player does not have permission "obam.mechanic": + send "&cYou dont have permission to do this!" + stop + set {db_channel.%player%} to "mechanic" + {db_channel.mech::%player%} is not set: + set {db_channel.mech::%player%} to player + send "&aYou are now chatting in the &eMechanic&a Channel!" + argument 1 is "g" or "global": + set {db_channel.%player%} to "global" + send "&aYou are now chatting in the &fGlobal&a channel!" + argument 1 is "l" or "leave": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat leave " + stop + argument 2 is "mod" or "m": + send "&cYou can not leave the staff chat silly" + stop + argument 2 is "mech" or "mechanic": + send "&cYou are now leaving the &eMechanic&c chat!" + delete {db_channel.mech::%player%} + stop + argument 2 is "s" or "supporter": + send "&cYou are now leaving the &bSupporter&c chat!" + delete {db_channel.supporter::%player%} + stop + argument 2 is "g" or "global": + send "&cYou are now leaving the &fGlobal&c chat!" + delete {db_channel.global::%player%} + stop + argument 1 is "j" or "join": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat join " + stop + argument 2 is "mod" or "m": + player does not have permission "obam.mod": + send "&cYou do not have permission to do this!" + stop + {db_channel.staff::%player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.staff::%player%} to player + set {db_channel.%player%} to "staff" + send "&aYou are now in the &2Mod&a channel!" + stop + argument 2 is "mechanic" or "mech": + player does not have permission "obam.mechanic": + send "&cYou do not have permission to do this!" + stop + {db_channel.mech::%player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.mech::%player%} to player + set {db_channel.%player%} to "mechanic" + send "&aYou are now in the &eMechanic&a Channel!" + stop + argument 2 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou do not have permission to do this!" + stop + {db_channel.supporter::%player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.supporter::%player%} to player + set {db_channel.%player%} to "supporter" + send "&aYou are now in the &bSupporter&a channel!" + stop + argument 2 is "g" or "global": + {db_channel.global::%player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.global::%player%} to player + set {db_channel.%player%} to "global" + send "&aYou are now in the &fGlobal&a channel!" + argument 1 is "who": + argument 2 is not set: + loop {db_channel.%{db_channel.%player%}%::*}: + send "%loop-index%" + argument 2 is set: + {db_channel.%{db_channel.%player%}%::%argument 2%} is set: + send "%argument 2% is in this channel" + argument 1 is "alerts" or "alert" or "a": + argument 2 is not set: + {db_alerts.on.%player%} is not set: + set {db_alerts.on.%player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + {db_alerts.on.%player%} is true: + set {db_alerts.on.%player%} to false + send "&aYour chat alerts are now &eOff&a." + stop + {db_alerts.on.%player%} is false: + set {db_alerts.on.%player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + argument 2 is "off": + set {db_alerts.on.%player%} to false + send "&aYour chat alerts are now &eOff&a." + argument 2 is "on": + set {db_alerts.on.%player%} to true + send "&aYour chat alerts are now &eOn&a." + +command /star []: + permission: obam.admin + trigger: + argument 2 is "clear": + clear {db_star.%argument 1%} + send "&aCleared Star setting for %argument 1%" + stop + set {db_star.%argument 1%} to argument 2 + send "&aStar for %argument 1% set to <%argument 2%>%argument 2%&a." + +command /tell [] []: + permission: obam.free + trigger: + argument 1 is not set: + {db_channel.%player%} is "private": + send "&aYou have left your private conversation with %{private.%player%}%" + make player execute command "/ch g" + stop + {db_channel.%player%} is not "private": + send "&cYou are not in a conversation!" + stop + argument 2 is not set: + send "&dYou are now in a private conversation with &e%argument 1%" + set {private.%player%} to "%argument 1%" + set {db_channel.%player%} to "private" + argument 2 is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to player + loop all players: + loop-player is argument 1 + set {_found} to true + {_found} is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to argument 1 + {db_alerts.on.%argument 1%} is true: + play level up at location of argument 1 with pitch 2 + {_found} is not set: + set {_message} to "&d%player% ➽ %argument 1%: %argument 2%" + execute console command "privatepush %argument 1% %{_message}%" + +command /fishslap : + permission: obam.free + trigger: + {cool.fish.%player%} is not set: + set {cool.fish.%player%} to now + add 5 seconds to {cool.fish.%player%} + set {_wait} to difference between {cool.fish.%player%} and now + {_wait} is less than 4 seconds: + send "&cYou are slapping too much! Calm down D:" to player + stop + send "&aYou just slapped &e%argument%&a!" + set {cool.fish.%player%} to now + loop all players: + "%loop-player%" is argument + set {_found} to true + {db_alerts.on.%loop-player%} is true + play slime attack at location of loop-player with pitch 1 + send "&e%player% &ajust slapped you with a giant fish!" to loop-player + stop + {_found} is not set: + forward command "fishcatch %argument% %player%" to console diff --git a/Obam-Survival/shop.sk b/OBAM-Survival Games/Obam-Fronts/shop.sk similarity index 89% rename from Obam-Survival/shop.sk rename to OBAM-Survival Games/Obam-Fronts/shop.sk index e8e72af..2f8f723 100644 --- a/Obam-Survival/shop.sk +++ b/OBAM-Survival Games/Obam-Fronts/shop.sk @@ -2,7 +2,7 @@ on script load: set {db_shop.items::Front Slot} to "i;grass;n;&a&b&k&a&3Front Slot;l;&6Purchase one Front Slot, which allows you the||&6ability to claim protected land.|| ||&5&oClick to purchase|| ||&3&lCost:||&e10,000 Tickets;c;sudo PLAYER shop land" - set {db_shop.items::Front Tlot} to "i;grass;n;&a&b&k&a&3Front Slot Bundle;l;&6Purchase five Front Slots, which allows you the||&6ability to claim protected land.|| ||&5&oClick to purchase|| ||&3&lCost:||&e45,000 Tickets;c;sudo PLAYER shop bundle" + set {db_shop.items::Front Tlot} to "i;5 grass;n;&a&b&k&a&3Front Slot Bundle;l;&6Purchase five Front Slots, which allows you the||&6ability to claim protected land.|| ||&5&oClick to purchase|| ||&3&lCost:||&e45,000 Tickets;c;sudo PLAYER shop bundle" command /shop []: permission: obam.free diff --git a/Obam-Testing/soulbound.sk b/OBAM-Survival Games/Obam-Fronts/soulbound.sk similarity index 100% rename from Obam-Testing/soulbound.sk rename to OBAM-Survival Games/Obam-Fronts/soulbound.sk diff --git a/Obam-Testing/splash.sk b/OBAM-Survival Games/Obam-Fronts/splash.sk similarity index 100% rename from Obam-Testing/splash.sk rename to OBAM-Survival Games/Obam-Fronts/splash.sk diff --git a/Obam-Survival/starterkit.sk b/OBAM-Survival Games/Obam-Fronts/starterkit.sk similarity index 100% rename from Obam-Survival/starterkit.sk rename to OBAM-Survival Games/Obam-Fronts/starterkit.sk diff --git a/Obam-Testing/suphorse.sk b/OBAM-Survival Games/Obam-Fronts/suphorse.sk similarity index 100% rename from Obam-Testing/suphorse.sk rename to OBAM-Survival Games/Obam-Fronts/suphorse.sk diff --git a/Obam-Testing/timber.sk b/OBAM-Survival Games/Obam-Fronts/timber.sk similarity index 100% rename from Obam-Testing/timber.sk rename to OBAM-Survival Games/Obam-Fronts/timber.sk diff --git a/Obam-Testing/trails.sk b/OBAM-Survival Games/Obam-Fronts/trails.sk similarity index 100% rename from Obam-Testing/trails.sk rename to OBAM-Survival Games/Obam-Fronts/trails.sk diff --git a/Obam-Testing/mobstuff.sk b/OBAM-Survival Games/Obam-Skyblock/Skyblock-Testing/mobstuff.sk similarity index 100% rename from Obam-Testing/mobstuff.sk rename to OBAM-Survival Games/Obam-Skyblock/Skyblock-Testing/mobstuff.sk diff --git a/Obam-Skyblock/animals.sk b/OBAM-Survival Games/Obam-Skyblock/animals.sk similarity index 100% rename from Obam-Skyblock/animals.sk rename to OBAM-Survival Games/Obam-Skyblock/animals.sk diff --git a/Obam-Tools/boards.sk b/OBAM-Survival Games/Obam-Skyblock/boards.sk similarity index 100% rename from Obam-Tools/boards.sk rename to OBAM-Survival Games/Obam-Skyblock/boards.sk diff --git a/Obam-Skyblock/challenges.sk b/OBAM-Survival Games/Obam-Skyblock/challenges.sk similarity index 100% rename from Obam-Skyblock/challenges.sk rename to OBAM-Survival Games/Obam-Skyblock/challenges.sk diff --git a/Obam-General/deathstats.sk b/OBAM-Survival Games/Obam-Skyblock/deathstats.sk similarity index 100% rename from Obam-General/deathstats.sk rename to OBAM-Survival Games/Obam-Skyblock/deathstats.sk diff --git a/Obam-Tools/explosiontest.sk b/OBAM-Survival Games/Obam-Skyblock/explosiontest.sk similarity index 100% rename from Obam-Tools/explosiontest.sk rename to OBAM-Survival Games/Obam-Skyblock/explosiontest.sk diff --git a/Obam-General/ihs.sk b/OBAM-Survival Games/Obam-Skyblock/ihs.sk similarity index 100% rename from Obam-General/ihs.sk rename to OBAM-Survival Games/Obam-Skyblock/ihs.sk diff --git a/Obam-General/playerlevel.sk b/OBAM-Survival Games/Obam-Skyblock/playerlevel.sk similarity index 100% rename from Obam-General/playerlevel.sk rename to OBAM-Survival Games/Obam-Skyblock/playerlevel.sk diff --git a/Obam-Skyblock/shop.sk b/OBAM-Survival Games/Obam-Skyblock/shop.sk similarity index 100% rename from Obam-Skyblock/shop.sk rename to OBAM-Survival Games/Obam-Skyblock/shop.sk diff --git a/Obam-General/skyblockkits.sk b/OBAM-Survival Games/Obam-Skyblock/skyblockkits.sk similarity index 100% rename from Obam-General/skyblockkits.sk rename to OBAM-Survival Games/Obam-Skyblock/skyblockkits.sk diff --git a/Obam-General/skyshop.sk b/OBAM-Survival Games/Obam-Skyblock/skyshop.sk similarity index 100% rename from Obam-General/skyshop.sk rename to OBAM-Survival Games/Obam-Skyblock/skyshop.sk diff --git a/Obam-Other/takeownershipofeverything.sk b/OBAM-Survival Games/Obam-Skyblock/takeownershipofeverything.sk similarity index 100% rename from Obam-Other/takeownershipofeverything.sk rename to OBAM-Survival Games/Obam-Skyblock/takeownershipofeverything.sk diff --git a/Obam-Tools/tps.sk b/OBAM-Survival Games/Obam-Skyblock/tps.sk similarity index 100% rename from Obam-Tools/tps.sk rename to OBAM-Survival Games/Obam-Skyblock/tps.sk diff --git a/Obam-Game Modification/witches.sk b/OBAM-Survival Games/Obam-Skyblock/witches.sk similarity index 100% rename from Obam-Game Modification/witches.sk rename to OBAM-Survival Games/Obam-Skyblock/witches.sk diff --git a/Obam-Testing/TicketLogSystem b/Obam-Administration/Administration-Testing/TicketLogSystem similarity index 100% rename from Obam-Testing/TicketLogSystem rename to Obam-Administration/Administration-Testing/TicketLogSystem diff --git a/Obam-Other/EASYASEFFIPLOGGINGMAGIC.sk b/Obam-Administration/EASYASEFFIPLOGGINGMAGIC.sk similarity index 100% rename from Obam-Other/EASYASEFFIPLOGGINGMAGIC.sk rename to Obam-Administration/EASYASEFFIPLOGGINGMAGIC.sk diff --git a/Obam-Testing/bugs.sk b/Obam-Administration/bugs.sk similarity index 100% rename from Obam-Testing/bugs.sk rename to Obam-Administration/bugs.sk diff --git a/Obam-General/circle.sk b/Obam-Administration/circle.sk similarity index 100% rename from Obam-General/circle.sk rename to Obam-Administration/circle.sk diff --git a/Obam-Tools/defaultfix.sk b/Obam-Administration/defaultfix.sk similarity index 100% rename from Obam-Tools/defaultfix.sk rename to Obam-Administration/defaultfix.sk diff --git a/Obam-Other/hashedfordays.sk b/Obam-Administration/hashedfordays.sk similarity index 100% rename from Obam-Other/hashedfordays.sk rename to Obam-Administration/hashedfordays.sk diff --git a/Obam-Other/referall.sk b/Obam-Administration/referall.sk similarity index 100% rename from Obam-Other/referall.sk rename to Obam-Administration/referall.sk diff --git a/Obam-Tools/restarts.sk b/Obam-Administration/restarts.sk similarity index 100% rename from Obam-Tools/restarts.sk rename to Obam-Administration/restarts.sk diff --git a/Obam-Tools/todolist.sk b/Obam-Administration/todolist.sk similarity index 100% rename from Obam-Tools/todolist.sk rename to Obam-Administration/todolist.sk diff --git a/Obam-Testing/Chat.sk b/Obam-Communication/Communication-Testing/Chat.sk similarity index 100% rename from Obam-Testing/Chat.sk rename to Obam-Communication/Communication-Testing/Chat.sk diff --git a/Obam-Testing/teams.txt b/Obam-Communication/Communication-Testing/teams.txt similarity index 100% rename from Obam-Testing/teams.txt rename to Obam-Communication/Communication-Testing/teams.txt diff --git a/Obam-Testing/tellchat.sk b/Obam-Communication/Communication-Testing/tellchat.sk similarity index 100% rename from Obam-Testing/tellchat.sk rename to Obam-Communication/Communication-Testing/tellchat.sk diff --git a/Obam-Testing/broadcast.sk b/Obam-Communication/broadcast.sk similarity index 100% rename from Obam-Testing/broadcast.sk rename to Obam-Communication/broadcast.sk diff --git a/Obam-General/connect.sk b/Obam-Communication/connect.sk similarity index 100% rename from Obam-General/connect.sk rename to Obam-Communication/connect.sk diff --git a/Obam-General/firstjoin.sk b/Obam-Communication/firstjoin.sk similarity index 100% rename from Obam-General/firstjoin.sk rename to Obam-Communication/firstjoin.sk diff --git a/Obam-Testing/modbridge.sk b/Obam-Communication/modbridge.sk similarity index 100% rename from Obam-Testing/modbridge.sk rename to Obam-Communication/modbridge.sk diff --git a/Obam-General/motd.sk b/Obam-Communication/motd.sk similarity index 100% rename from Obam-General/motd.sk rename to Obam-Communication/motd.sk diff --git a/Obam-Testing/schatbridge.sk b/Obam-Communication/schatbridge.sk similarity index 100% rename from Obam-Testing/schatbridge.sk rename to Obam-Communication/schatbridge.sk diff --git a/Obam-Testing/wtfmike.sk b/Obam-Communication/wtfmike.sk similarity index 100% rename from Obam-Testing/wtfmike.sk rename to Obam-Communication/wtfmike.sk diff --git a/Obam-Testing/blocksave.sk b/Obam-Mass/Mass-Testing/blocksave.sk similarity index 100% rename from Obam-Testing/blocksave.sk rename to Obam-Mass/Mass-Testing/blocksave.sk diff --git a/Obam-Testing/dbtest.sk b/Obam-Mass/Mass-Testing/dbtest.sk similarity index 100% rename from Obam-Testing/dbtest.sk rename to Obam-Mass/Mass-Testing/dbtest.sk diff --git a/Obam-Testing/effect.sk b/Obam-Mass/Mass-Testing/effect.sk similarity index 100% rename from Obam-Testing/effect.sk rename to Obam-Mass/Mass-Testing/effect.sk diff --git a/Obam-Testing/enchnattest.sk b/Obam-Mass/Mass-Testing/enchnattest.sk similarity index 100% rename from Obam-Testing/enchnattest.sk rename to Obam-Mass/Mass-Testing/enchnattest.sk diff --git a/Obam-Testing/firetest.sk b/Obam-Mass/Mass-Testing/firetest.sk similarity index 100% rename from Obam-Testing/firetest.sk rename to Obam-Mass/Mass-Testing/firetest.sk diff --git a/Obam-Testing/powerpick.sk b/Obam-Mass/Mass-Testing/powerpick.sk similarity index 100% rename from Obam-Testing/powerpick.sk rename to Obam-Mass/Mass-Testing/powerpick.sk diff --git a/Obam-Testing/aliases-english.sk b/Obam-Mass/aliases-english.sk similarity index 100% rename from Obam-Testing/aliases-english.sk rename to Obam-Mass/aliases-english.sk diff --git a/Obam-General/autohub.sk b/Obam-Mass/autohub.sk similarity index 100% rename from Obam-General/autohub.sk rename to Obam-Mass/autohub.sk diff --git a/Obam-General/hub.sk b/Obam-Mass/hub.sk similarity index 100% rename from Obam-General/hub.sk rename to Obam-Mass/hub.sk diff --git a/Obam-Tools/itemcheck.sk b/Obam-Mass/itemcheck.sk similarity index 100% rename from Obam-Tools/itemcheck.sk rename to Obam-Mass/itemcheck.sk diff --git a/Obam-General/liv.sk b/Obam-Mass/liv.sk similarity index 100% rename from Obam-General/liv.sk rename to Obam-Mass/liv.sk diff --git a/Obam-Tools/sudo.sk b/Obam-Mass/sudo.sk similarity index 100% rename from Obam-Tools/sudo.sk rename to Obam-Mass/sudo.sk diff --git a/Obam-General/tempclose.sk b/Obam-Mass/tempclose.sk similarity index 100% rename from Obam-General/tempclose.sk rename to Obam-Mass/tempclose.sk diff --git a/Obam-General/CreatureCapture.sk b/Obam-Mini Games/Obam-CreatureCapture/CreatureCapture.sk similarity index 100% rename from Obam-General/CreatureCapture.sk rename to Obam-Mini Games/Obam-CreatureCapture/CreatureCapture.sk diff --git a/Obam-Hotpotato/Hotpotato Maps/hpField.sk b/Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpField.sk similarity index 100% rename from Obam-Hotpotato/Hotpotato Maps/hpField.sk rename to Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpField.sk diff --git a/Obam-Hotpotato/Hotpotato Maps/hpLavaFlow.sk b/Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpLavaFlow.sk similarity index 100% rename from Obam-Hotpotato/Hotpotato Maps/hpLavaFlow.sk rename to Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpLavaFlow.sk diff --git a/Obam-Hotpotato/Hotpotato Maps/hpMushroom.sk b/Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpMushroom.sk similarity index 100% rename from Obam-Hotpotato/Hotpotato Maps/hpMushroom.sk rename to Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpMushroom.sk diff --git a/Obam-Hotpotato/Hotpotato Maps/hpNetherFort.sk b/Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpNetherFort.sk similarity index 100% rename from Obam-Hotpotato/Hotpotato Maps/hpNetherFort.sk rename to Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpNetherFort.sk diff --git a/Obam-Hotpotato/Hotpotato Maps/hpOmniPlex.sk b/Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpOmniPlex.sk similarity index 100% rename from Obam-Hotpotato/Hotpotato Maps/hpOmniPlex.sk rename to Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpOmniPlex.sk diff --git a/Obam-Hotpotato/Hotpotato Maps/hpOmniStairs.sk b/Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpOmniStairs.sk similarity index 100% rename from Obam-Hotpotato/Hotpotato Maps/hpOmniStairs.sk rename to Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpOmniStairs.sk diff --git a/Obam-Hotpotato/Hotpotato Maps/hpSewerSystem.sk b/Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpSewerSystem.sk similarity index 100% rename from Obam-Hotpotato/Hotpotato Maps/hpSewerSystem.sk rename to Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpSewerSystem.sk diff --git a/Obam-Hotpotato/Hotpotato Maps/hpSnowyHills.sk b/Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpSnowyHills.sk similarity index 100% rename from Obam-Hotpotato/Hotpotato Maps/hpSnowyHills.sk rename to Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpSnowyHills.sk diff --git a/Obam-Hotpotato/Hotpotato Maps/hpcave.sk b/Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpcave.sk similarity index 100% rename from Obam-Hotpotato/Hotpotato Maps/hpcave.sk rename to Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpcave.sk diff --git a/Obam-Hotpotato/Hotpotato Maps/hpcity.sk b/Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpcity.sk similarity index 100% rename from Obam-Hotpotato/Hotpotato Maps/hpcity.sk rename to Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpcity.sk diff --git a/Obam-Hotpotato/hotpotato.sk b/Obam-Mini Games/Obam-Hotpotato/hotpotato.sk similarity index 100% rename from Obam-Hotpotato/hotpotato.sk rename to Obam-Mini Games/Obam-Hotpotato/hotpotato.sk diff --git a/Obam-Hotpotato/hpstat.sk b/Obam-Mini Games/Obam-Hotpotato/hpstat.sk similarity index 100% rename from Obam-Hotpotato/hpstat.sk rename to Obam-Mini Games/Obam-Hotpotato/hpstat.sk diff --git a/Obam-Hotpotato/hptemp.sk b/Obam-Mini Games/Obam-Hotpotato/hptemp.sk similarity index 100% rename from Obam-Hotpotato/hptemp.sk rename to Obam-Mini Games/Obam-Hotpotato/hptemp.sk diff --git a/Obam-Hotpotato/lobbies.sk b/Obam-Mini Games/Obam-Hotpotato/lobbies.sk similarity index 100% rename from Obam-Hotpotato/lobbies.sk rename to Obam-Mini Games/Obam-Hotpotato/lobbies.sk diff --git a/Obam-Testing/KitDamageSubSystem b/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/KitDamageSubSystem similarity index 100% rename from Obam-Testing/KitDamageSubSystem rename to Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/KitDamageSubSystem diff --git a/Obam-Testing/KitDamageSubSystem.sk b/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/KitDamageSubSystem.sk similarity index 100% rename from Obam-Testing/KitDamageSubSystem.sk rename to Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/KitDamageSubSystem.sk diff --git a/kitpvp/archer.sk b/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/archer.sk similarity index 100% rename from kitpvp/archer.sk rename to Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/archer.sk diff --git a/Obam-Testing/damage modifier.sk b/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/damage modifier.sk similarity index 100% rename from Obam-Testing/damage modifier.sk rename to Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/damage modifier.sk diff --git a/kitpvp/firemage.sk b/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/firemage.sk similarity index 100% rename from kitpvp/firemage.sk rename to Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/firemage.sk diff --git a/kitpvp/fisherman.sk b/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/fisherman.sk similarity index 100% rename from kitpvp/fisherman.sk rename to Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/fisherman.sk diff --git a/kitpvp/fisherman.txt b/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/fisherman.txt similarity index 100% rename from kitpvp/fisherman.txt rename to Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/fisherman.txt diff --git a/kitpvp/kdss.sk b/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/kdss.sk similarity index 100% rename from kitpvp/kdss.sk rename to Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/kdss.sk diff --git a/kitpvp/kitpvp.sk b/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/kitpvp.sk similarity index 100% rename from kitpvp/kitpvp.sk rename to Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/kitpvp.sk diff --git a/kitpvp/kitstuff.sk b/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/kitstuff.sk similarity index 100% rename from kitpvp/kitstuff.sk rename to Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/kitstuff.sk diff --git a/kitpvp/lightningmage.sk b/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/lightningmage.sk similarity index 100% rename from kitpvp/lightningmage.sk rename to Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/lightningmage.sk diff --git a/kitpvp/melee.sk b/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/melee.sk similarity index 100% rename from kitpvp/melee.sk rename to Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/melee.sk diff --git a/kitpvp/necromancer.sk b/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/necromancer.sk similarity index 100% rename from kitpvp/necromancer.sk rename to Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/necromancer.sk diff --git a/kitpvp/ninja.sk b/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/ninja.sk similarity index 100% rename from kitpvp/ninja.sk rename to Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/ninja.sk diff --git a/kitpvp/skelemancer.sk b/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/skelemancer.sk similarity index 100% rename from kitpvp/skelemancer.sk rename to Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/skelemancer.sk diff --git a/kitpvp/tank.sk b/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/tank.sk similarity index 100% rename from kitpvp/tank.sk rename to Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/tank.sk diff --git a/Obam-KitPvp/aliases-english.sk b/Obam-Mini Games/Obam-KitPvp/aliases-english.sk similarity index 100% rename from Obam-KitPvp/aliases-english.sk rename to Obam-Mini Games/Obam-KitPvp/aliases-english.sk diff --git a/Obam-General/boards.sk b/Obam-Mini Games/Obam-KitPvp/boards.sk similarity index 100% rename from Obam-General/boards.sk rename to Obam-Mini Games/Obam-KitPvp/boards.sk diff --git a/Obam-KitPvp/kds.sk b/Obam-Mini Games/Obam-KitPvp/kds.sk similarity index 100% rename from Obam-KitPvp/kds.sk rename to Obam-Mini Games/Obam-KitPvp/kds.sk diff --git a/Obam-KitPvp/kitstuff.sk b/Obam-Mini Games/Obam-KitPvp/kitstuff.sk similarity index 100% rename from Obam-KitPvp/kitstuff.sk rename to Obam-Mini Games/Obam-KitPvp/kitstuff.sk diff --git a/Obam-Mini Games/Obam-KitPvp/pinfo.kit.sk b/Obam-Mini Games/Obam-KitPvp/pinfo.kit.sk new file mode 100644 index 0000000..24a8796 --- /dev/null +++ b/Obam-Mini Games/Obam-KitPvp/pinfo.kit.sk @@ -0,0 +1,103 @@ + + +on join: + set {db_current.server.%player%} to "&eKitPVP" + + + + +on disconnect: + clear {db_current.server.%player%} + set {db_lastseen.%player%} to "%now% on &eKitPVP" + clear {db_color.%player%} + player has permission "obam.admin": + set {db_color.%player%} to "&d%player%" + {db_color.%player%} is not set: + player has permission "obam.mod": + set {db_color.%player%} to "&2%player%" + {db_color.%player%} is not set: + player has permission "obam.supporter": + set {db_color.%player%} to "&6%player%" + {db_color.%player%} is not set: + set {db_color.%player%} to "&f%player%" + + + +command /playerinfo []: + description: Find out information about you + aliases: /p, /info, /player, /pinfo + executable by: players + trigger: + + argument is not set: + player has permission "obam.admin": + set {_name} to "&d%player%" + {_name} is not set: + player has permission "obam.mod": + set {_name} to "&2%player%" + {_name} is not set: + player has permission "obam.supporter": + set {_name} to "&6%player%" + {_name} is not set: + set {_name} to "&f%player%" + message "&aPlayer: %{_name}%" + set {_days} to {db_dayset.2} - {db_count.start.%player%.2} + {_days} is less than 2: + {_days} is 1: + message "&aYou are &e%{_days}% &aday old." + stop + {_days} is less than 1: + message "&aThis is your first day." + stop + message "&aYou are &e%{_days}% &adays old." + argument is set: + argument has not played before: + message "&e%argument% &chas not played on this server before." + stop + + argument has permission "obam.admin": + set {_name} to "&d%argument%" + {_name} is not set: + argument has permission "obam.mod": + set {_name} to "&2%argument%" + {_name} is not set: + argument has permission "obam.supporter": + set {_name} to "&6%argument%" + {_name} is not set: + set {_name} to "&f%argument%" + argument is not online: + {db_current.server.%argument%} is not set: + set {_name} to "&7%argument% &7&o(Offline)" + {db_color.%argument%} is set: + set {_name} to {db_color.%argument%} + set {_lastseen} to "&aLast seen:&e%{db_lastseen.%argument%}%" + {db_current.server.%argument%} is set: + {db_color.%argument%} is set: + set {_name} to {db_color.%argument%} + set {_current.connect} to "&aCurrently connected to %{db_current.server.%argument%}%" + + message "&aPlayer: %{_name}%" + {_lastseen} is set: + send {_lastseen} + {_current.connect} is set: + send {_current.connect} + set {_days} to {db_dayset.2} - {db_count.start.%argument%.2} + {_days} is less than 2: + {_days} is 1: + message "&aThey are &e%{_days}% &aday old." + stop + {_days} is less than 1: + message "%{_name}% &ais &e1&a day old" + stop + message "&aThey are &e%{_days}% &adays old." +command /daycheck: + permission: obam.admin + trigger: + send "%{db_dayset.2}%" to player + send "%{db_count.start.%player%.2}%" + send "%{db_dayset.2} - {db_count.start.%player%.2}%" + +command /daypush : + permission: obam.admin + trigger: + set {db_dayset.2} to {db_dayset.2} + argument \ No newline at end of file diff --git a/Obam-Mini Games/Obam-KitPvp/schat2.kit.sk b/Obam-Mini Games/Obam-KitPvp/schat2.kit.sk new file mode 100644 index 0000000..b01919a --- /dev/null +++ b/Obam-Mini Games/Obam-KitPvp/schat2.kit.sk @@ -0,0 +1,324 @@ +options: + p: &4[K] + +on join: + {db_alerts.on.%player%} is not set: + set {db_alerts.on.%player%} to true + {db_alerts.on.%player%} is true: + send "&aYour chat alerts are &eOn&a. You can turn them off by using the command &e/chat alerts off" + {db_alerts.on.%player%} is false: + send "&aYour chat alerts are &eOff&a. You can turn them on by using the command &e/chat alert on" + {db_global.%player%} is not set: + set {db_global.%player%} to true + {db_global.%player%} is true: + set {db_channel.global::%player%} to player + set {db_channel.%player%} to "global" + player does not have permission "obam.supporter": + delete {db_channel.supporter::%player%} + player does not have permission "obam.mod": + delete {db_channel.staff::%player%} + player does not have permission "obam.mechanic": + delete {db_channel.mech::%player%} + {db_channel.mech.%player%} is not set: + player has permission "obam.mechanic": + set {db_channel.mech.%player%} to true + {db_channel.mech.%player%} is true: + set {db_channel.mech::%player%} to player + {db_channel.sup.%player%} is not set: + player has permission "obam.supporter": + set {db_channel.sup.%player%} to true + {db_channel.sup.%player%} is true: + set {db_channel.supporter::%player%} to player + {db_channel.staff.%player%} is not set: + player has permission "obam.mod": + set {db_channel.staff::%player%} to player + {db_channel.staff.%player%} is true: + set {db_channel.supporter::%player%} to player + +on chat: + cancel event + player is "IcecreamCow" or "Electric_Hamster" or "ISMOOCH": + set {_pre} to "{@p} &d[A] %player%" + {_pre} is not set: + player is "OrigamiJoe" or "Deathtomb8953": + set {_pre} to "{@p} &a[╪] %player%" + {_pre} is not set: + player has permission "obam.mod": + set {_pre} to "{@p} &2[M] %player%" + {_pre} is not set: + player has permission "obam.supporter": + set {_pre} to "{@p} &6[^] %player%" + {_pre} is not set: + set {_pre} to "{@p} %player%" + player is "BruSwain": + set {_pre} to "{@p} &6[^] %player%" + {db_star.%player%} is set: + set {_pre} to "%{_pre}% <%{db_star.%player%}%>✦" + {db_channel.%player%} is "private": + set {_player} to {private.%player%} parsed as a player + {_player} is online: + set {_found} to true + {_found} is set: + set {_player} to {private.%player%} parsed as a player + send "&d%player% ➽ %{_player}%&d: %message%" to {_player} + send "&d%player% ➽ %{_player}%&d: %message%" to player + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + {_found} is not set: + set {_message} to "&d%player% ➽ %{private.%player%}%&d: %message%" + send {_message} to player + execute console command "privatepush %{private.%player%}% %{_message}%" + {db_channel.%player%} is "staff": + player does not have permission "obam.mod": + set {db_channel.%player%} to "global" + delete {db_channel.staff::%player%} + {db_channel.%player%} is "staff": + loop {db_channel.staff::*}: + clear {_player} + set {_player} to loop-index parsed as player + set message to "&a%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&a" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&a: %message%" + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/modpush %{_pre}%&a: %message%" + {db_channel.%player%} is "mechanic": + player does not have permission "obam.mechanic": + set {db_channel.%player%} to "global" + delete {db_channel.mech::%player%} + {db_channel.%player%} is "mechanic": + loop {db_channel.mech::*}: + clear {_player} + set {_player} to loop-index parsed as player + set message to "&e%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&e" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&e: %message%" + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/mechpush %{_message}%" + stop + {db_channel.%player%} is "supporter": + player does not have permission "obam.supporter": + set {db_channel.%player%} to "global" + delete {db_channel.supporter::%player%} + {db_channel.%player%} is "supporter": + loop {db_channel.supporter::*}: + clear {_player} + set {_player} to loop-index parsed as player + set message to "&b%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&b" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&b: %message%" + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/supporterpush %{_message}%" + stop + {db_channel.%player%} is "global": + loop {db_channel.global::*}: + clear {_player} + set {_player} to loop-index parsed as player + set message to "&f%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&f" + {db_alerts.on.%{_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&f: %message%" + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "globalpush %{_pre}%&f: %message%" + stop + +command /chat [] []: + permission: obam.free + aliases: c, ch + trigger: + argument 1 is "m" or "mod": + player does not have permission "obam.mod": + send "&cYou dont have permission to do this!" + stop + set {db_channel.%player%} to "staff" + {db_channel.staff::%player%} is not set: + set {db_channel.staff::%player%} to player + send "&aYou are now chatting in the &aMod&a channel!" + stop + argument 1 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou dont have permission to do this!" + stop + set {db_channel.%player%} to "supporter" + {db_channel.supporter::%player%} is not set: + set {db_channel.supporter.%player%} to player + send "&aYou are now chatting in the &bSupporter&a channel!" + argument 1 is "mech" or "mechanic": + player does not have permission "obam.mechanic": + send "&cYou dont have permission to do this!" + stop + set {db_channel.%player%} to "mechanic" + {db_channel.mech::%player%} is not set: + set {db_channel.mech::%player%} to player + send "&aYou are now chatting in the &eMechanic&a Channel!" + argument 1 is "g" or "global": + set {db_channel.%player%} to "global" + send "&aYou are now chatting in the &fGlobal&a channel!" + argument 1 is "l" or "leave": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat leave " + stop + argument 2 is "mod" or "m": + send "&cYou can not leave the staff chat silly" + stop + argument 2 is "mech" or "mechanic": + send "&cYou are now leaving the &eMechanic&c chat!" + delete {db_channel.mech::%player%} + stop + argument 2 is "s" or "supporter": + send "&cYou are now leaving the &bSupporter&c chat!" + delete {db_channel.supporter::%player%} + stop + argument 2 is "g" or "global": + send "&cYou are now leaving the &fGlobal&c chat!" + delete {db_channel.global::%player%} + stop + argument 1 is "j" or "join": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat join " + stop + argument 2 is "mod" or "m": + player does not have permission "obam.mod": + send "&cYou do not have permission to do this!" + stop + {db_channel.staff::%player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.staff::%player%} to player + set {db_channel.%player%} to "staff" + send "&aYou are now in the &2Mod&a channel!" + stop + argument 2 is "mechanic" or "mech": + player does not have permission "obam.mechanic": + send "&cYou do not have permission to do this!" + stop + {db_channel.mech::%player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.mech::%player%} to player + set {db_channel.%player%} to "mechanic" + send "&aYou are now in the &eMechanic&a Channel!" + stop + argument 2 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou do not have permission to do this!" + stop + {db_channel.supporter::%player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.supporter::%player%} to player + set {db_channel.%player%} to "supporter" + send "&aYou are now in the &bSupporter&a channel!" + stop + argument 2 is "g" or "global": + {db_channel.global::%player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.global::%player%} to player + set {db_channel.%player%} to "global" + send "&aYou are now in the &fGlobal&a channel!" + argument 1 is "who": + argument 2 is not set: + loop {db_channel.%{db_channel.%player%}%::*}: + send "%loop-index%" + argument 2 is set: + {db_channel.%{db_channel.%player%}%::%argument 2%} is set: + send "%argument 2% is in this channel" + argument 1 is "alerts" or "alert" or "a": + argument 2 is not set: + {db_alerts.on.%player%} is not set: + set {db_alerts.on.%player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + {db_alerts.on.%player%} is true: + set {db_alerts.on.%player%} to false + send "&aYour chat alerts are now &eOff&a." + stop + {db_alerts.on.%player%} is false: + set {db_alerts.on.%player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + argument 2 is "off": + set {db_alerts.on.%player%} to false + send "&aYour chat alerts are now &eOff&a." + argument 2 is "on": + set {db_alerts.on.%player%} to true + send "&aYour chat alerts are now &eOn&a." + +command /star []: + permission: obam.admin + trigger: + argument 2 is "clear": + clear {db_star.%argument 1%} + send "&aCleared Star setting for %argument 1%" + stop + set {db_star.%argument 1%} to argument 2 + send "&aStar for %argument 1% set to <%argument 2%>%argument 2%&a." + +command /tell [] []: + permission: obam.free + trigger: + argument 1 is not set: + {db_channel.%player%} is "private": + send "&aYou have left your private conversation with %{private.%player%}%" + make player execute command "/ch g" + stop + {db_channel.%player%} is not "private": + send "&cYou are not in a conversation!" + stop + argument 2 is not set: + send "&dYou are now in a private conversation with &e%argument 1%" + set {private.%player%} to "%argument 1%" + set {db_channel.%player%} to "private" + argument 2 is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to player + loop all players: + loop-player is argument 1 + set {_found} to true + {_found} is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to argument 1 + {db_alerts.on.%argument 1%} is true: + play level up at location of argument 1 with pitch 2 + {_found} is not set: + set {_message} to "&d%player% ➽ %argument 1%: %argument 2%" + execute console command "privatepush %argument 1% %{_message}%" + +command /fishslap : + permission: obam.free + trigger: + {cool.fish.%player%} is not set: + set {cool.fish.%player%} to now + add 5 seconds to {cool.fish.%player%} + set {_wait} to difference between {cool.fish.%player%} and now + {_wait} is less than 4 seconds: + send "&cYou are slapping too much! Calm down D:" to player + stop + send "&aYou just slapped &e%argument%&a!" + set {cool.fish.%player%} to now + loop all players: + "%loop-player%" is argument + set {_found} to true + {db_alerts.on.%loop-player%} is true + play slime attack at location of loop-player with pitch 1 + send "&e%player% &ajust slapped you with a giant fish!" to loop-player + stop + {_found} is not set: + forward command "fishcatch %argument% %player%" to console diff --git a/Obam-Parkour/checkpoints.sk b/Obam-Mini Games/Obam-Parkour/checkpoints.sk similarity index 100% rename from Obam-Parkour/checkpoints.sk rename to Obam-Mini Games/Obam-Parkour/checkpoints.sk diff --git a/Obam-Parkour/parkour.sk b/Obam-Mini Games/Obam-Parkour/parkour.sk similarity index 100% rename from Obam-Parkour/parkour.sk rename to Obam-Mini Games/Obam-Parkour/parkour.sk diff --git a/Obam-Parkour/parkoursigns.sk b/Obam-Mini Games/Obam-Parkour/parkoursigns.sk similarity index 100% rename from Obam-Parkour/parkoursigns.sk rename to Obam-Mini Games/Obam-Parkour/parkoursigns.sk diff --git a/Obam-Parkour/parkourspawn.sk b/Obam-Mini Games/Obam-Parkour/parkourspawn.sk similarity index 100% rename from Obam-Parkour/parkourspawn.sk rename to Obam-Mini Games/Obam-Parkour/parkourspawn.sk diff --git a/Obam-Parkour/parkourstats.sk b/Obam-Mini Games/Obam-Parkour/parkourstats.sk similarity index 100% rename from Obam-Parkour/parkourstats.sk rename to Obam-Mini Games/Obam-Parkour/parkourstats.sk diff --git a/Obam-Parkour/timer.sk b/Obam-Mini Games/Obam-Parkour/timer.sk similarity index 100% rename from Obam-Parkour/timer.sk rename to Obam-Mini Games/Obam-Parkour/timer.sk diff --git a/Obam-Testing/tma.sk b/Obam-Mini Games/Obam-TMA/TMA-Testing/tma.sk similarity index 100% rename from Obam-Testing/tma.sk rename to Obam-Mini Games/Obam-TMA/TMA-Testing/tma.sk diff --git a/Obam-Testing/zbeta.sk b/Obam-Mini Games/Obam-Zbeta/Zbeta-Testing/zbeta.sk similarity index 100% rename from Obam-Testing/zbeta.sk rename to Obam-Mini Games/Obam-Zbeta/Zbeta-Testing/zbeta.sk diff --git a/Obam-Testing/autobantest.sk b/Obam-Moderation/Moderation-Testing/autobantest.sk similarity index 100% rename from Obam-Testing/autobantest.sk rename to Obam-Moderation/Moderation-Testing/autobantest.sk diff --git a/Obam-Testing/op.sk b/Obam-Moderation/Moderation-Testing/op.sk similarity index 100% rename from Obam-Testing/op.sk rename to Obam-Moderation/Moderation-Testing/op.sk diff --git a/Obam-Tools/admin.sk b/Obam-Moderation/admin.sk similarity index 100% rename from Obam-Tools/admin.sk rename to Obam-Moderation/admin.sk diff --git a/Obam-Tools/gcommannds.sk b/Obam-Moderation/gcommannds.sk similarity index 100% rename from Obam-Tools/gcommannds.sk rename to Obam-Moderation/gcommannds.sk diff --git a/Obam-Tools/mode.sk b/Obam-Moderation/mode.sk similarity index 100% rename from Obam-Tools/mode.sk rename to Obam-Moderation/mode.sk diff --git a/Obam-Tools/moderate.sk b/Obam-Moderation/moderate.sk similarity index 100% rename from Obam-Tools/moderate.sk rename to Obam-Moderation/moderate.sk diff --git a/Obam-General/spawnmob.sk b/Obam-Moderation/spawnmob.sk similarity index 100% rename from Obam-General/spawnmob.sk rename to Obam-Moderation/spawnmob.sk diff --git a/Obam-General/exclusive.sk b/Obam-Perks/exclusive.sk similarity index 100% rename from Obam-General/exclusive.sk rename to Obam-Perks/exclusive.sk diff --git a/Obam-General/hats.sk b/Obam-Perks/hats.sk similarity index 100% rename from Obam-General/hats.sk rename to Obam-Perks/hats.sk diff --git a/Obam-General/moneystuff.sk b/Obam-Perks/moneystuff.sk similarity index 100% rename from Obam-General/moneystuff.sk rename to Obam-Perks/moneystuff.sk diff --git a/Obam-General/sheep.sk b/Obam-Perks/sheep.sk similarity index 100% rename from Obam-General/sheep.sk rename to Obam-Perks/sheep.sk diff --git a/Obam-Tools/tam.sk b/Obam-Perks/tam.sk similarity index 100% rename from Obam-Tools/tam.sk rename to Obam-Perks/tam.sk diff --git a/Obam-General/ticketstuff.sk b/Obam-Perks/ticketstuff.sk similarity index 100% rename from Obam-General/ticketstuff.sk rename to Obam-Perks/ticketstuff.sk diff --git a/Obam-Other/KitsPlus.sk b/Obam-Sort/KitsPlus.sk similarity index 100% rename from Obam-Other/KitsPlus.sk rename to Obam-Sort/KitsPlus.sk diff --git a/Obam-Tools/LiVBot.yml b/Obam-Sort/LiVBot.yml similarity index 100% rename from Obam-Tools/LiVBot.yml rename to Obam-Sort/LiVBot.yml diff --git a/Obam-Tools/LiVBotcurtain.yml b/Obam-Sort/LiVBotcurtain.yml similarity index 100% rename from Obam-Tools/LiVBotcurtain.yml rename to Obam-Sort/LiVBotcurtain.yml diff --git a/Obam-Tools/PurpleIRC-2.1.9.jar b/Obam-Sort/PurpleIRC-2.1.9.jar similarity index 100% rename from Obam-Tools/PurpleIRC-2.1.9.jar rename to Obam-Sort/PurpleIRC-2.1.9.jar diff --git a/Obam-Tools/SampleBot.yml b/Obam-Sort/SampleBot.yml similarity index 100% rename from Obam-Tools/SampleBot.yml rename to Obam-Sort/SampleBot.yml diff --git a/Obam-Testing/config.yml b/Obam-Sort/config.yml similarity index 100% rename from Obam-Testing/config.yml rename to Obam-Sort/config.yml diff --git a/Obam-Testing/gc b/Obam-Sort/gc similarity index 100% rename from Obam-Testing/gc rename to Obam-Sort/gc diff --git a/Obam-General/helpbeta.sk b/Obam-Sort/helpbeta.sk similarity index 100% rename from Obam-General/helpbeta.sk rename to Obam-Sort/helpbeta.sk diff --git a/Obam-General/helpbetageneral.sk b/Obam-Sort/helpbetageneral.sk similarity index 100% rename from Obam-General/helpbetageneral.sk rename to Obam-Sort/helpbetageneral.sk diff --git a/Obam-General/helpbetaskyblock.sk b/Obam-Sort/helpbetaskyblock.sk similarity index 100% rename from Obam-General/helpbetaskyblock.sk rename to Obam-Sort/helpbetaskyblock.sk diff --git a/Obam-Tools/ninjatools.sk b/Obam-Sort/ninjatools.sk similarity index 100% rename from Obam-Tools/ninjatools.sk rename to Obam-Sort/ninjatools.sk diff --git a/Obam-Testing/testchest.sk b/Obam-Sort/testchest.sk similarity index 100% rename from Obam-Testing/testchest.sk rename to Obam-Sort/testchest.sk diff --git a/Obam-Testing/unbreak.sk b/Obam-Sort/unbreak.sk similarity index 100% rename from Obam-Testing/unbreak.sk rename to Obam-Sort/unbreak.sk diff --git a/Obam-Testing/webstats.sk b/Obam-Sort/webstats.sk similarity index 100% rename from Obam-Testing/webstats.sk rename to Obam-Sort/webstats.sk diff --git a/Obam-Survival/heads.sk b/Obam-Survival/heads.sk deleted file mode 100644 index 7282c41..0000000 --- a/Obam-Survival/heads.sk +++ /dev/null @@ -1,68 +0,0 @@ -on death of a player: - attacker is a player: - attacker is not victim: - add skull of victim to drops - set {_item} to "paper;&3Death Note - &eVICTIM;&7This note shows that &eATTACKER&7 took the||&7life of &eVICTIM&7 on &eDATE EST" - replace "VICTIM" in {_item} with "%victim%" - replace "ATTACKER" in {_item} with "%attacker%" - replace "DATE" in {_item} with "%now%" - add named item stack from {_item} to drops - -on death of a living entity: - attacker is a player: - chance of 0.5%: - victim is a creeper: - add creeper head to drops - victim is a skeleton: - add skeleton head to drops - victim is a zombie: - add zombie head to drops - victim is a blaze: - set {_player} to "MHF_Blaze" parsed as offline player - add skull of {_player} to drops - victim is a cave spider: - set {_player} to "MHF_CaveSpider" parsed as offline player - add skull of {_player} to drops - victim is a enderman: - set {_player} to "MHF_Enderman" parsed as offline player - add skull of {_player} to drops - victim is a zombie pigman: - set {_player} to "MHF_PigZombie" parsed as offline player - add skull of {_player} to drops - victim is a ghast: - set {_player} to "MHF_Ghast" parsed as offline player - add skull of {_player} to drops - victim is a chicken: - set {_player} to "MHF_Chicken" parsed as offline player - add skull of {_player} to drops - victim is a cow: - set {_player} to "MHF_Cow" parsed as offline player - add skull of {_player} to drops - victim is magma cube: - set {_player} to "MHF_LavaSlime" parsed as offline player - add skull of {_player} to drops - victim is iron golem: - set {_player} to "MHF_Golem" parsed as offline player - add skull of {_player} to drops - victim is ocelot: - set {_player} to "MHF_Ocelot" parsed as offline player - add skull of {_player} to drops - victim is pig: - set {_player} to "MHF_Pig" parsed as offline player - add skull of {_player} to drops - victim is sheep: - set {_player} to "MHF_Sheep" parsed as offline player - add skull of {_player} to drops - victim is spider: - set {_player} to "MHF_Spider" parsed as offline player - add skull of {_player} to drops - victim is squid: - set {_player} to "MHF_Squid" parsed as offline player - add skull of {_player} to drops - victim is slime: - set {_player} to "MHF_Slime" parsed as offline player - add skull of {_player} to drops - victim is villagers: - set {_player} to "MHF_Villager" parsed as offline player - add skull of {_player} to drops - diff --git a/Obam-Tools/FIXIT.sk b/Obam-Tools/FIXIT.sk deleted file mode 100644 index 0b8ac8f..0000000 --- a/Obam-Tools/FIXIT.sk +++ /dev/null @@ -1,32 +0,0 @@ -#Tool Repair - -command /fixit: - executable by: players - trigger: - player's tool is not a sword or axe or pickaxe or shovel or bow or helmet or chestplate or leggings or boots: - message "&cYou may only repair Armour, Weapons or Tools!" to player - stop - set {_c.tool} to player's tool - - set {_bal} to player's balance - {_bal} is less than 500: - send "&cYou do not have enough tickets to do this!" to player - stop - player's level is less than 30: - - send "&cYou must have at least 30 levels to do this!" to player - stop - repair player's tool - - reduce the player's level by 30 - - remove 500 from player's balance - play anvil use at location of player with pitch 1 - send "&6&lThe Gods strike your tool!" to player - play ambience thunder at location of player with pitch 1 - send "&aYou have used &e500 Tickets&a to repair this tool" to player - send "&aYou have &e%player's balance%&a remaining" to player - log "%player%^%{_bal}%^DEDUCT^500^%player's balance%^FIXIT FEE" to "tickets/FIXIT.log" - stop - - diff --git a/Obam-Tools/ihs.sk b/Obam-Tools/ihs.sk deleted file mode 100644 index 3a6184b..0000000 --- a/Obam-Tools/ihs.sk +++ /dev/null @@ -1,110 +0,0 @@ -#IHS -options: - dirt: i;dirt;n;&b&nDirt;l;&7Click to claim your &epurchased dirt.;c;sudo %player% redeem dirt - grass: i;grass;n;&b&nGrass;l;&7Click to claim your &epurchased grass.;c;sudo %player% redeem grass - sand: i;sand;n;&b&nSand;l;&7Click to claim your &epurchased sand.;c;sudo %player% redeem sand - redstone: i;redstone;n;&b&nRedstone;l;&7Click to claim your &epurchased redstone.;c;sudo %player% redeem redstone - lavabucket: i;lava bucket;n;&b&nLava Bucket;l;&7Click to claim your &epurchased lava buckets.;c;sudo %player% redeem lava bucket - dampener: i;fullblock spruce wood block;n;&b&nxPlosion Dampener;l;&7Click to claim your &epurchased xPlosion Dampeners.;c;sudo %player% redeem fullblock spruce wood block -command /itemstore : - permission: obam.admin - trigger: - {db_ihs.%player-argument%.%argument 2%} is set: - add argument 3 to {db_ihs.%player-argument%.%argument 2%} - send "&aYou have made a purchase! Type &e/redeem&a to redeem your items!" to player-argument - play level up at location of offline player-argument with pitch 2 - wait 0.2 seconds - play level up at location of offline player-argument with pitch 2 - wait 0.2 seconds - play level up at location of offline player-argument with pitch 2 - wait 0.2 seconds - play level up at location of offline player-argument with pitch 2 - wait 0.2 seconds - play level up at location of offline player-argument with pitch 2 - stop - set {db_ihs.%player-argument%.%argument 2%} to argument 3 - set {db_alert.redeem.%player-argument%} to true - send "&aYou have made a purchase! Type &e/redeem&a to redeem your items!" to player-argument - play level up at location of offline player-argument with pitch 2 - wait 0.2 seconds - play level up at location of offline player-argument with pitch 2 - wait 0.2 seconds - play level up at location of offline player-argument with pitch 2 - wait 0.2 seconds - play level up at location of offline player-argument with pitch 2 - wait 0.2 seconds - play level up at location of offline player-argument with pitch 2 - -on join: - {db_alert.redeem.%player%} is true - send "&c&lYou have items waiting to be redeemed! Use &e/redeem &c<o redeem your items!" to player - play level up at location of player with pitch 2 - wait 0.2 seconds - play level up at location of player with pitch 2 - wait 0.2 seconds - play level up at location of player with pitch 2 - wait 0.2 seconds - play level up at location of player with pitch 2 - wait 0.2 seconds - play level up at location of player with pitch 2 - - - -command /redeem []: - permission: obam.free - executable by: players - trigger: - - argument is not set: - world is "skyworld": - show "s;1;{@dirt};s;2;{@grass};s;3;{@sand};s;4;{@redstone};s;5;{@lavabucket};s;6;{@dampener}" with 1 row named "&9&lOBAM &9Redeem" to player - stop - - world is "world": - show "s;1;{@dampener}" with 1 row named "&9&lOBAM &9Redeem" to player - stop - - send "&cMake sure you are in the right world!" to player - - - argument is set: - {db_ihs.%player%.%argument%} is 0: - send "&cYou do not have any of this item to redeem! If this is incorrect, please contact the Administrator" to player - stop - - {db_ihs.%player%.%argument%} is not set: - send "&cYou do not have any of this item to redeem! If this is incorrect, please contact the Administrator" to player - stop - give player {db_ihs.%player%.%argument%} of item-argument - argument is fullblock spruce wood block: - {db_ihs.%player%.%argument%} is less than 2: - send "&aYou have received your &e%{db_ihs.%player%.%argument%}% xPlosion Dampener&a! Thank you for your purchase!" - set {db_ihs.%player%.%argument%} to 0 - set {db_alert.redeem.%player%} to false - stop - - send "&aYou have received your &e%{db_ihs.%player%.%argument%}% xPlosion Dampeners&a! Thank you for your purchase!" - set {db_ihs.%player%.%argument%} to 0 - set {db_alert.redeem.%player%} to false - stop - send "&aYou have received your &e%{db_ihs.%player%.%argument%}% %argument%&a! Thank you for your purchase!" - set {db_ihs.%player%.%argument%} to 0 - set {db_alert.redeem.%player%} to false - - send "&cIf you did not have a menu open, ensure you are in the correct world for redeeming! D:" to player - - -command /ihslist : - permission: obam.admin - trigger: - send "%{db_ihs.%text argument%.%argument 2%}% %argument 2% on file" to player - -command /sudo [] []: - executable by: console and players - permission: obam.admin - trigger: - has permission "obam.staff.admin" - make player-argument execute command "%argument 2%" - - - \ No newline at end of file diff --git a/Obam-Tools/documentation.html b/documentation.html similarity index 100% rename from Obam-Tools/documentation.html rename to documentation.html diff --git a/wildstuff/landclaim.sk b/wildstuff/landclaim.sk deleted file mode 100644 index 4e420d8..0000000 --- a/wildstuff/landclaim.sk +++ /dev/null @@ -1,499 +0,0 @@ - -variables: - {claimedland.%player%} = 0 - {availableland.%player%} = 1 - - - -on join: - if {played.%player%} is not set: - set {played.%player%} to true - -every 1 tick: - loop all players: - {alert.notify.owner.%loop-player%} is not {chunk.%chunk at location of loop-player%}: - {chunk.%chunk at location of loop-player%} is not set: - {alert.notify.owner.%loop-player%} is not "Unclaimed": - send "&a&lUnclaimed Land" to loop-player - set {alert.notify.owner.%loop-player%} to "Unclaimed" - set {land.unclaim.%loop-player%} to true - {chunk.%chunk at location of loop-player%} is set: - send "&a&lLand Claimed by: &e%{chunk.%chunk at location of loop-player%}%" to loop-player - set {alert.notify.owner.%loop-player%} to {chunk.%chunk at location of loop-player%} - {alert.notify.owner.%loop-player%} is not set: - {chunk.%chunk at location of loop-player%} is not set: - send "&a&lUnclaimed Land" to loop-player - set {alert.notify.owner.%loop-player%} to "Unclaimed" - set {land.unclaim.%loop-player%} to true - -#startfold -command /front [] []: - description: For all land related commands - usage: &c/front (claim, unclaim, add, remove, name) - aliases: /f - trigger: - argument 1 is not set: - message "&3-[&a&lLand Claimed&3]-" - message "&6 %{claimedland.%player%}%" - send "&3-[&a&lPurchased Slots&3]-" to player - send "&6 %{availableland.%player%}%" - send "&3-[&a&lAvailible Slots&3]-" to player - send "&6 %{availableland.%player%} - {claimedland.%player%}%" to player - stop - #subfold @help - argument 1 is "help" or "h": - message "&3--[&6&lLand Help&3]--" - message "&cRequired = [] Optional = ()" - message "&a * /front or f" - message "&7 Shows your land claiming statistics" - message "&a * /front:f [Info:i/Stats:s]" - message "&7 Shows information about the land you are standing in" - message "&a * /front:f [Claim:c/Unclaim:u]" - message "&7 Claim/Unclaim the land you are standing at" - message "&a * /front:f [Add:a/Remove:r]" - message "&7 Add/Remove player from the land you are standing at" - if player has permission "land.bypass": - message "&a * /land bypass" - message "&7 Bypass all claimed land" - stop - #subfold @stats - argument 1 is "stats" or "info" or "s" or "i": - if {chunk.%chunk at location of player%} is set: - message "&3--[&lLand Owner&3]--" - message "&a * %{chunk.%chunk at location of player%}%" - message "&3--[&lLand Members&3]--" - message "&a * %{land.%chunk at location of player%::*}%" - send "&3---[&lChunk Name&3]--" - {chunk.name.%chunk at location of player%} is not set: - send "&a * Name not set" - stop - send "&a * %{chunk.name.%chunk at location of player%}%" - stop - message "&6This area is not currently owned by a player." - stop - #subfold @error - argument 1 is "error": - if player has permission "land.bypass": - message "&cIncorrect usage. Try '/front [claim, unclaim, add, remove, bypass, name] (player)'" - else: - message "&cIncorrect usage. Try '/front [claim, unclaim, add, remove, bypass, name] (player)'" - message "&7 ()'s = Optional, []'s = Required." - stop - #subfold @claim - argument 1 is "claim" or "c": - if {chunk.%chunk at location of player%} is set: - message "&cThis land has already been claimed." - stop - loop blocks in radius 50 of player: - if player cannot build at the loop-block: - message "&cYou can not claim land in this area." - stop - {claimedland.%player%} is greater than or equal to {availableland.%player%}: - send "&cYou do not have enough Availiable land for this action! Please purchase more with /shop!" to player - stop - player does not have permission "obam.supporter.1": - {claimedland.%player%} is 5: - send "&cYou have reached your max land count! Upgrade to a supporter rank to receive more!" to player - stop - player does not have permission "obam.supporter.2": - {claimedland.%player%} is 10: - send "&cYou have reached your max land count! Upgrade to a supporter rank to receive more!" to player - stop - - player does not have permission "obam.supporter.3": - {claimedland.%player%} is 20: - send "&cYou have reached your max land count! Upgrade to a supporter rank to receive more!" to player - stop - - - add name of player to {land.%chunk at location of player%::*} - set {chunk.%chunk at location of player%} to name of player - set {chunk.%chunk at location of player%.%player%} to true - add chunk at location of player to {owned.chunks.%player%::*} - set {loc.chunks.%player%::%chunk at location of player%} to location of player - message "&6You now own this land." - {claimedland.%player%} is 0: - set {home.%player%.wild} to location of player - add 1 to {claimedland.%player%} - stop - #subfold @unclaim - argument 1 is "unclaim" or "u": - if {chunk.%chunk at location of player%} is not set: - message "&cThis land has not been claimed." - stop - if {chunk.%chunk at location of player%} is not name of player: - message "&cYou do not own this land." - stop - remove 1 from {claimedland.%{chunk.%chunk at location of player%}%} - loop {land.%chunk at location of player%::*}: - set {_player} to {land.%chunk at location of player%::%loop-index%} - clear {chunk.%chunk at location of player%.%{_player}%} - clear {land.%chunk at location of player%::*} - clear {chunk.%chunk at location of player%} - clear {chunk.name.%chunk at location of player%} - loop {owned.chunks.%player%::*}: - chunk at location of player is {owned.chunks.%player%::%loop-index%} - delete {owned.chunks.%player%::%loop-index%} - message "&6You have unclaimed this land." - stop - #subfold @add - argument 1 is "add" or "a": - if argument 2 is not set: - make player execute command "land error" - stop - if {chunk.%chunk at location of player%} is not set: - message "&cThis land has not been claimed." - stop - if {chunk.%chunk at location of player%} is not name of player: - message "&cYou do not own this land." - stop - if {played.%argument 2%} is not set: - message "&cThis player does not exist." - stop - if {chunk.%chunk at location of player%} is argument 2: - message "&cYou can not add yourself to your own land." - stop - set {_playersearch} to 0 - loop 10000 times: - if {land.%chunk at location of player%::%{_playersearch}%} is argument 2: - message "&cThis player is already a member of this land." - stop - else: - add 1 to {_playersearch} - if {_playersearch} is 10000: - message "&6%argument 2% can now build in this land." - add "%argument 2%" to {land.%chunk at location of player%::*} - set {chunk.%chunk at location of player%.%argument 2%} to true - stop - #subfold @remove - argument 1 is "remove" or "r": - if argument 2 is not set: - make player execute command "land error" - stop - if {chunk.%chunk at location of player%} is not set: - message "&cThis land has not been claimed." - stop - if {chunk.%chunk at location of player%} is not player: - message "&cYou do not own this land." - stop - if {played.%argument 2%} is not set: - message "&cThis player does not exist." - stop - if {chunk.%chunk at location of player%} is argument 2: - message "&cYou can not remove yourself from your own land." - stop - loop {land.%chunk at location of player%::*}: - if loop-value is argument 2: - clear {chunk.%chunk at location of player%.%argument 2%} - delete {land.%chunk at location of player%::%loop-index%} - exit loop - message "&6%argument 2% can not build in this land anymore." - stop - #subfold @bypass - argument 1 is "bypass": - player has permission "land.bypass": - if {bypassland.%player%} is true: - clear {bypassland.%player%} - message "&6You have finished bypassing claimed land." - stop - set {bypassland.%player%} to true - message "&6You can now bypass claimed land." - stop - message "&cYou do not have permission to use this command." - stop - #subfold @name - argument 1 is "name" or "n": - if {chunk.%chunk at location of player%} is not set: - message "&cThis land has not been claimed." - stop - if {chunk.%chunk at location of player%} is not name of player: - message "&cThis is not your land!" - stop - message "&aYou have named this chunk to &e%argument 2%" - set {chunk.name.%chunk at location of player%} to "%argument 2%" - send "&aYou need to use &e/travelset &ato travel to this land." to player - add {chunk.name.%chunk at location of player%} to {name.list.%player%::*} - else: - make player execute command "f error" - stop -#endfold -on quit: - if {bypassland.%player%} is true: - clear {bypassland.%player%} -on place: - block is not tnt - if {bypassland.%player%} is true: - stop - if {chunk.%chunk at location of block%} is set: - if {chunk.%chunk at location of block%.%player%} is true: - stop - message "&cThis land is owned by %{chunk.%chunk at location of block%}%." - cancel event -on break: - if {bypassland.%player%} is true: - stop - if {chunk.%chunk at location of block%} is set: - if {chunk.%chunk at location of block%.%player%} is true: - stop - message "&cThis land is owned by %{chunk.%chunk at location of block%}%." - cancel event -on place of tnt: - if {bypassland.%player%} is true: - stop - loop blocks in radius 10 of block: - if {chunk.%chunk at location of loop-block%} is set: - if {chunk.%chunk at location of loop-block%.%player%} is true: - exit loop - else: - cancel event - message "&cYou can not use explosives here." - stop -on explode: - entity is creeper - loop blocks in radius 10 of entity: - if {chunk.%chunk at location of loop-block%} is set: - cancel event -on damage of a entity: - entity is not creeper or zombie or skeleton or powered creeper or spider - attacker is a player - loop blocks in radius 3 of victim: - {bypassland.%attacker%} is true: - stop - if {chunk.%chunk at location of loop-block%} is set: - {chunk.%chunk at location of loop-block%} is not attacker: - {chunk.%chunk at location of loop-block%.%attacker%} is set: - stop - send "&cThis area is protected!" to attacker - cancel event - stop trigger -on right click on lead: - {bypassland.%player%} is true: - stop - if {chunk.%chunk at location of event-player%} is set: - {chunk.%chunk at location of event-player%} is not event-player: - {chunk.%chunk at location of event-player%.%event-player%} is set: - stop - send "&cThis area is protected!" to event-player - cancel event - stop trigger -on left click on fence: - {bypassland.%player%} is true: - stop - if {chunk.%chunk at location of event-player%} is set: - {chunk.%chunk at location of event-player%} is not event-player: - {chunk.%chunk at location of event-player%.%event-player%} is set: - stop - send "&cThis area is protected!" to event-player - cancel event - stop trigger -on right click on horse: - {bypassland.%player%} is true: - stop - if {chunk.%chunk at location of event-player%} is set: - {chunk.%chunk at location of event-player%} is not event-player: - {chunk.%chunk at location of event-player%.%event-player%} is set: - stop - send "&cThis area is protected!" to event-player - cancel event - stop trigger -on damage of a player: - attacker is a player - loop blocks in radius 10 of victim: - if {chunk.%chunk at location of loop-block%} is set: - send "&cThis area is protected!" to attacker - cancel event - stop trigger -command /townset: - trigger: - player is op - set {town.spawn} to location of player - - -command /town: - trigger: - {chunk.%chunk at location of player%} is not player: - {chunk.%chunk at location of player%} is not "Town": - send "&cYou can only do this in Town, or on your own land!" to player - if {chunk.%chunk at location of player%} is not set: - message "&cYou must do this on your land!" - stop - teleport player to {town.spawn} - -on sign change: - world is "wildtest": - line 1 of block is "warp" or "[warp]": - {chunk.%chunk at location of player%} is name of player: - line 2 of block is "town": - set line 1 of block to "[WARP]" - set line 2 of block to "TOWN" - stop - loop {owned.chunks.%player%::*}: - set {_chunk} to {owned.chunks.%player%::%loop-index%} - {chunk.name.%{_chunk}%} is line 2 of block - send "&cYou can not do that here!" to player - cancel event -on right click on sign: - world is "wildtest": - line 1 of block is "[WARP]" - line 2 of block is "TOWN": - {chunk.%chunk at location of player%.%player%} is true: - teleport player to {town.spawn} - stop - send "&cYou can not do this here!" to player - - -command /clearland: - trigger: - send "&cPreparing to delete &e%size of {owned.chunks.%player%::*}% &cchunks...." to player - wait 0.5 seconds - loop {owned.chunks.%player%::*}: - set {_chunk} to {owned.chunks.%player%::%loop-index-1%} - send "&cClearing chunk &e%loop-index-1%" to player - wait 0.5 seconds - loop {land.%{_chunk}%::*}: - set {_player} to {land.%{_chunk}%::%loop-index-2%} - clear {chunk.%{_chunk}%.%{_player}%} - clear {chunk.%{_chunk}%} - clear {chunk.name.%{_chunk}%} - send "&aChunk &e%loop-index-1% &acleared" to player - send "&cClearing Home spawn" to player - clear {home.%player%.wild} - send "&cManginling variables" to player - set {claimedland.%player%} to 0 - clear {owned.chunks.%player%::*} - send "&aLand clear complete!" to player - -command /listland []: - trigger: - argument is not set: - loop {owned.chunks.%player%::*}: - set {_chunk} to {owned.chunks.%player%::%loop-index%} - send "&a%loop-index%................%{_chunk}%" to player - argument is set: - player is op - loop {owned.chunks.%argument%::*}: - set {_chunk} to {owned.chunks.%argument%::%loop-index%} - send "&a%loop-index%.................%{_chunk}%" to player - - - -command /testing: - trigger: - loop {loc.chunks.%player%::*}: - set {_loc} to {loc.chunks.%player%::%loop-index%} - set {_chunk} to chunk at location of {_loc} - set {_chunk.name} to {chunk.name.%{_chunk}%} - {_chunk.name} is not set: - set {_chunk.name} to "&cNot Named" - send "&a%loop-index%.......%{_chunk}%....%{_chunk.name}%" to player - -command /testing2 : - trigger: - loop {loc.chunks.%player%::*}: - set {_loc} to loop-value - set {_chunk} to chunk at location of {_loc} - set {_chunk.name} to {chunk.name.%{_chunk}%} - {_chunk.name} is argument: - send "&aTeleporting to &e%argument%" to player - teleport player to {_loc} - stop - send "&cYou do not have an area named &e%argument%" - - -command /travelmove: - trigger: - set {loc.chunks.%player%::%chunk at location of player%} to location of player - send "&aYour travel location for this area, has been moved" to player - - -command /travelset: - trigger: - if {chunk.%chunk at location of player%} is not set: - message "&cThis land has not been claimed." - stop - if {chunk.%chunk at location of player%} is not name of player: - {chunk.%chunk at location of player%.%player%} is not set: - message "&cThis is not your land!" - stop - {chunk.name.%chunk at location of player%} is not set: - send "&cThis land needs a name first!" to player - stop - set {travel.%player%.%{chunk.name.%chunk at location of player%}%} to location of player - add {travel.%player%.%{chunk.name.%chunk at location of player%}%} to {travel.list.%player%::*} - send "&aYou have set the travel location for &e%{chunk.name.%chunk at location of player%}%&a!" to player - send "&aUse &e/travel &a to travel to your locations!" to player - - - -command /sethome: - trigger: - if {chunk.%chunk at location of player%} is not set: - message "&cYou must do this on your land!" - stop - if {chunk.%chunk at location of player%} is not name of player: - message "&cYou must do this on your land!" - stop - set {home.%player%.wild} to location of player - send "&aYour home has been set!" to player - - -on command "/home": - cancel event - {chunk.%chunk at location of player%} is not player: - {chunk.%chunk at location of player%} is not "Town": - send "&cYou can only do this in Town, or on your own land!" to player - stop - - if {chunk.%chunk at location of player%} is not set: - message "&cYou must do this on your land!" - stop - teleport player to {home.%player%.wild} - - -command /travel []: - trigger: - {chunk.%chunk at location of player%} is not player: - {chunk.%chunk at location of player%} is not "Town": - {chunk.%chunk at location of player%.%player%} is not set: - send "&cYou can only do this in Town, or on your own land!" to player - - if {chunk.%chunk at location of player%} is not set: - message "&cYou must do this on your land!" - stop - {travel.%player%.%argument 1%} is set: - teleport player to {travel.%player%.%argument 1%} - stop - send "&cYou do not have an area named &e%argument 1%" to player - - -on bed enter: - set {bed.%event-player%.wild} to true - set {bed.owner.%event-block%} to event-player -on break of a bed: - {bed.owner.%event-block%} is set: - clear {bed.%{bed.owner.%event-block%}%.wild} - clear {bed.owner.%event-block%} -on respawn: - {home.%player%.wild} is set: - {bed.%event-player%.wild} is set: - stop - wait 1 second - teleport player to {home.%player%.wild} - -command /townclaim: - permission: obam.admin.command - trigger: - set {chunk.%chunk at location of player%} to "Town" - - -command /travellist: - trigger: - send "&a---------&a&lChunk Name&A--------" to player - send " " to player - loop {travel.list.%player%::*}: - send "&a &a&l%{chunk.name.%chunk at location of loop-value%}%&a" to player - -command /owner : - permission: obam.admin.command - trigger: - set {chunk.%chunk at location of player%} to argument \ No newline at end of file From 73012356f82c2554a65ba5d8423b6cc5b51d4888 Mon Sep 17 00:00:00 2001 From: ob1bob69 Date: Wed, 6 Aug 2014 23:17:09 -0400 Subject: [PATCH 17/22] Small additions Adding personal projects I have been working on. i.e. taco and barter --- .../OBAM-WTFronts/wtfcounter.sk | 13 + .../Obam-Fronts/Fronts-Testing/FBS.sk | 350 +++ .../{ => Fronts-Testing}/bounty.sk | 0 .../Fronts-Testing/landclaim.notes.sk | 38 + .../Fronts-Testing/landclaim.revamp.sk.sk | 833 ++++++ Obam-Garage/Mailman.sk | 23 + Obam-Garage/mobspawntest.sk | 69 + Obam-Garage/toybox2.sk | 292 +++ Obam-Garage/worldgen.sk | 21 + .../Obam-Taco/Taco-Testing/taco.sk | 2283 +++++++++++++++++ 10 files changed, 3922 insertions(+) create mode 100644 OBAM-Survival Games/OBAM-WTFronts/wtfcounter.sk create mode 100644 OBAM-Survival Games/Obam-Fronts/Fronts-Testing/FBS.sk rename OBAM-Survival Games/Obam-Fronts/{ => Fronts-Testing}/bounty.sk (100%) create mode 100644 OBAM-Survival Games/Obam-Fronts/Fronts-Testing/landclaim.notes.sk create mode 100644 OBAM-Survival Games/Obam-Fronts/Fronts-Testing/landclaim.revamp.sk.sk create mode 100644 Obam-Garage/Mailman.sk create mode 100644 Obam-Garage/mobspawntest.sk create mode 100644 Obam-Garage/toybox2.sk create mode 100644 Obam-Garage/worldgen.sk create mode 100644 Obam-Mini Games/Obam-Taco/Taco-Testing/taco.sk diff --git a/OBAM-Survival Games/OBAM-WTFronts/wtfcounter.sk b/OBAM-Survival Games/OBAM-WTFronts/wtfcounter.sk new file mode 100644 index 0000000..88afbd0 --- /dev/null +++ b/OBAM-Survival Games/OBAM-WTFronts/wtfcounter.sk @@ -0,0 +1,13 @@ +on chat: + message contains "wtf" + {db_wtf.counter} is not set: + set {db_wtf.counter} to 0 + add 1 to {db_wtf.counter} + + + +command /wtfcounter: + permission: obam.admin + trigger: + send "&aThe current &cWTF&a Count is: &e%{db_wtf.counter}% WTF's&a!" + send "&eCounting since Apr 22, 2014" diff --git a/OBAM-Survival Games/Obam-Fronts/Fronts-Testing/FBS.sk b/OBAM-Survival Games/Obam-Fronts/Fronts-Testing/FBS.sk new file mode 100644 index 0000000..d9fdf42 --- /dev/null +++ b/OBAM-Survival Games/Obam-Fronts/Fronts-Testing/FBS.sk @@ -0,0 +1,350 @@ +#FBS = Fronts Barter System +# +# +# + +command /itemalias [] [] [] []: + permission: obam.admin + usage: &c/itemalias [add/remove] (sign name) (alias) (item) + aliases: /ia + trigger: + argument 1 is not set: + send "&7Correct usage is /itemalias [add/remove] [alias] (item)" to player + argument 1 is "help" or "h": + message "&3--[&6&lAlias Help&3]--" + message "&cRequired = [] Optional = ()" + message "&a * /itemalias [list/l] (alias)" + message "&7 Shows you what item is assigned to the specified alias." + message "&7 If (alias) is left blank, gives you list of all aliases." + message "&a * /itemalias [list/l] [check/c] [item]" + message "&7 Retrieves all know aliases for an item." + message "&a * /itemalias [add/remove] [alias] (item)" + message "&7 Adds or removes an alias." + stop + argument 1 is "list" or "l": + argument 2 is not set: + send "&4List alias (a) or real (r)?" to player + stop + argument 2 is "check" or "c": + set {_check} to argument 4 + send "&3--[&6&lKnown Aliases for &7%{_check}%&3]--" + loop {item.alias::*}: + loop-value is {_check}: + message "&7%loop-index%" + loop {item.real::*}: + loop-value is {_check}: + message "&7%loop-index%" + stop + argument 2 is "alias" or "a": + argument 3 is not set: + send "&3--[&6&lKnown Aliases&3]--" + loop {item.alias::*}: + send "&7%loop-index% - %loop-value%" to player + stop + set {_item} to argument 3 + send "&3--[&6&lAssigned item for &7%{_item}%&3]--" + loop {item.alias::*}: + loop-value is {_item}: + set {_alias} to loop-index + send "&7%{_alias}%" to player + stop + argument 2 is "real" or "r": + argument 3 is not set: + send "&3--[&6&lKnown Real Items&3]--" + loop {item.real::*}: + send "&7%loop-index% - %loop-value%" to player + stop + set {_item} to argument 3 + send "&3--[&6&lAssigned Aliases for &7%{_item}%&3]--" + loop {item.real::*}: + loop-value is {_item}: + set {_alias} to loop-index + send "&7%{_alias}%" to player + stop + argument 1 is "add" or "a": + argument 2 is not set: + send "&4Add alias (a) or real (r)?" to player + stop + argument 2 is "alias" or "a": + argument 3 is not set: + send "&4What will they type on the sign?" to player + stop + argument 4 is not set: + send "&4What will show on the sign for &7%argument 3%&4?" to player + stop + set {_char.test} to the length of argument 3 + {_char.test} is greater than 15: + message "&4You must limit your aliases to 15 characters!" + stop + set {_char.test} to the length of argument 4 + {_char.test} is greater than 15: + message "&4You must limit your aliases to 15 characters!" + stop + set {_char.test} to argument 4 + {_char.test} contains " ": + message "&cDo Not Use Spaces for Argument 4, use underscores." + stop + {item.alias::%argument 3%} exists: + set {_alias} to {item.alias::%argument 3%} + message "&4The alias of &7%argument 3%&4 already exists for &7%{_alias}%&4, you must remove the current alias first!" + stop + set {item.alias::%argument 3%} to argument 4 + message "&4The alias of &7%argument 3%&4 has been set for &7%argument 4%" + argument 2 is "real" or "r": + argument 3 is not set: + send "&4What will the sign say?" to player + stop + argument 4 is not set: + send "&4What is the real item for &7%argument 3%&4?" to player + stop + set {_char.test} to the length of argument 3 + {_char.test} is greater than 15: + message "&4You must limit your aliases to 15 characters!" + stop + set {_char.test} to argument 3 + {_char.test} contains " ": + message "&cDo Not Use Spaces for Argument 3, use underscores." + stop + {item.real::%argument 3%} exists: + set {_alias} to {item.real::%argument 3%} + message "&4The alias of &7%argument 3%&4 already exists for &7%{_alias}%&4, you must remove the current alias first!" + stop + set {item.real::%argument 3%} to argument 4 + message "&4The real item of &7%argument 3%&4 has been set for &7%argument 4%" + argument 1 is "remove" or "r": + argument 2 is not set: + send "&4Remove alias (a) or real (r)?" to player + stop + argument 2 is "alias" or "a": + argument 3 is not set: + message "&4Remove what?" + stop + {item.alias::%argument 3%} exists: + delete {item.alias::%argument 3%} + message "&4The alias of &7%argument 3%&4 has been removed!" + stop + message "&4The alias of &7%argument 3%&4 does not exist, please use &7/itemalias list&4!" + stop + argument 2 is "real" or "r": + argument 3 is not set: + message "&4Remove what?" + stop + {item.real::%argument 3%} exists: + delete {item.real::%argument 3%} + message "&4The real listing of &7%argument 3%&4 has been removed!" + stop + message "&4The real listing of &7%argument 3%&4 does not exist, please use &7/itemalias list&4!" + stop + +on sign change: + set {_line1} to line 1 + {_line1} contains "b" and ":": +# message "Could be a shop.." + set {_line3} to line 3 + {_line3} contains "p" and ":": +# message "Yeah, it's a shop" + replace all "b","u","y",":" and " " with "" in {_line1} +# message "%{_line1}%" + set {_buyline} to {_line1} parsed as an integer +# message "%{_buyline}%" + {_buyline} is not set: + message "&cYou must enter a number on the &aFirst&c line of the sign!" + set line 1 to "No Number" + set line 2 to "" + set line 3 to "" + set line 4 to "" + stop + {_buyline} is less than 1: + message "&cYou must enter a positive number on the &aFirst&c line of the sign!" + set line 1 to "Less than 1" + set line 2 to "" + set line 3 to "" + set line 4 to "" + stop + set line 1 to "&1Buy : %{_buyline}%" + set {_buy.backup} to line 2 + set {_buyitem} to line 2 parsed as an item +# message "%{_buyitem}%" + {_buyitem} is not set: + {item.real::%{_buy.backup}%} does not exist: + {item.alias::%{_buy.backup}%} does not exist: + message "&a%{_buy.backup}%&c is not a recognised item, try using an item ID" + set line 1 to "" + set line 2 to "Use /shopwhat" + set line 3 to "" + set line 4 to "" + stop + set {_buyitem} to {item.alias::%{_buyitem}%} + set {_buyitem} to {_buy.backup} + set line 2 to "%{_buyitem}%" + replace all "p","a","y",":" and " " with "" in {_line3} +# message "%{_line3}%" + set {_payline} to {_line3} parsed as an integer +# message "%{_payline}%" + {_payline} is not set: + message "&cYou must enter a number on the &aThird&c line of the sign!" + set line 1 to "" + set line 2 to "" + set line 3 to "No Number" + set line 4 to "" + stop + {_payline} is less than 1: + message "&cYou may not enter a negative number on the &aThird&c line of the sign!" + set line 1 to "" + set line 2 to "" + set line 3 to "Less than 1" + set line 4 to "" + stop + set line 3 to "&4Pay : %{_payline}%" + set {_pay.backup} to line 4 + set {_payitem} to line 4 parsed as an item +# message "%{_payitem}%" + {_payitem} is not set: + {item.real::%{_pay.backup}%} does not exist: + {item.alias::%{_pay.backup}%} does not exist: + message "&a%{_pay.backup}%&c is not a recognised item, try using an item ID" + set line 1 to "" + set line 2 to "" + set line 3 to "" + set line 4 to "Use /shopwhat" + stop + set {_payitem} to {item.alias::%{_pay.backup}%} + set {_payitem} to {_pay.backup} + set line 4 to "%{_payitem}%" + set {shop.list::%location of block%} to player + message "&7Shop of %{shop.list::%location of block%}% set at %location of block%" + stop + message "line 3 fails shop check" + stop + message "line 1 fails shop check" + stop + +on break of a sign: + set {_loc} to location of event-block + {shop.list::%{_loc}%} exists: + message "&cShop of %{shop.list::%location of event-block%}% set at %{_loc}% has been destroyed" + delete {shop.list::%{_loc}%} + +on break: + block is sign: + stop + loop blocks in radius 1: + set {_loc} to location of loop-block + {shop.list::%{_loc}%} exists: + cancel event + message "&cThere is a Player Shop near by. Remove it before destroying this block." + stop + +command /loopshop: + trigger: + loop {shop.list::*}: + message "%loop-index% - %loop-value%" + +command /shopsbegone: + trigger: + delete {shop.list::*} + +on right click on a sign: + set {_shop.check} to location of block + {shop.list::%{_shop.check}%} exists: + cancel event + block above event-block is not chest or trapped chest: + message "&cMissing Buy chest above sign!" + stop + block below event-block is not chest or trapped chest: + message "&cMissing Sell chest below sign!" + stop + {fronts.fbs.confirm.%player%.%{_shop.check}%} is true: + set {_line1} to line 1 + replace all "b","u","y",":","[","]","&0","&1" and " " with "" in {_line1} + set {_buyline} to {_line1} parsed as an integer + set {_buyitem} to line 2 parsed as an item + {_buyitem} is not set: + set {_buyitem} to {item.real::%{_buyitem}%} parsed as an item + set {_line3} to line 3 + replace all "p","a","y",":","[","]","&0","&4" and " " with "" in {_line3} + set {_payline} to {_line3} parsed as an integer + set {_payitem} to line 4 parsed as an item + {_payitem} is not set: + set {_payitem} to {item.real::%{_payitem}%} parsed as an item + block above event-block has {_buyline} of {_buyitem}: + player doesn't have space for {_buyline} of {_buyitem}: + message "&cYou do not have enough room for this purchase." + stop + block below event-block doesn't have space for {_payline} of {_payitem}: + message "&cSeller is out of space for your items." + stop + player has {_payline} of {_payitem}: + remove {_payline} of {_payitem} from player + give {_payline} of {_payitem} to block below event-block + remove {_buyline} of {_buyitem} from block above event-block + give {_buyline} of {_buyitem} to player + message "&aYou have purchased &f%{_buyline}% &7%{_buyitem}% &afor &f%{_payline}% &7%{_payitem}%&a." + delete {fronts.fbs.confirm.%player%.%{_shop.check}%} + stop + message "&cYou do not have enough items to pay." + stop + message "&cSeller does not have enough to trade." + stop + set {_line1} to line 1 + replace all "b","u","y",":","[","]","&0","&1" and " " with "" in {_line1} + set {_buyline} to {_line1} parsed as an integer + set {_buyitem} to line 2 parsed as an item + {_buyitem} is not set: + set {_buyitem} to {item.real::%{_buyitem}%} parsed as an item + set {_line3} to line 3 + replace all "p","a","y",":","[","]","&0","&4" and " " with "" in {_line3} + set {_payline} to {_line3} parsed as an integer + set {_payitem} to line 4 parsed as an item + {_payitem} is not set: + set {_payitem} to {item.real::%{_payitem}%} parsed as an item +# message "%{_buyline}%" +# message "%{_buyitem}%" +# message "%{_payline}%" +# message "%{_payitem}%" + block above event-block has {_buyline} of {_buyitem}: + player doesn't have space for {_buyline} of {_buyitem}: + message "&cYou do not have enough room for this purchase." + stop + block below event-block doesn't have space for {_payline} of {_payitem}: + message "&cSeller is out of space for your items." + stop + player has {_payline} of {_payitem}: + set {fronts.fbs.confirm.%player%.%{_shop.check}%} to true + message " " + message "&4&lNOTE: &c&lEnchanted Items are broken! Please click" + message " &c&land read the following link BEFORE making this purchase!" + message " " + message "&3&l http://obam.co/barterwarning" + message " " + message "&aPlease click sign again to confirm purchase." + wait 5 seconds + delete {fronts.fbs.confirm.%player%.%{_shop.check}%} + stop + message "&cYou do not have enough items to pay." + stop + message "&cSeller does not have enough to trade." + stop + +# current progress stops here + # next - work on right click of a sign + # then on sign break, cancel if shop sign + # possible character lookup for aliases (check first letter for symbol) + +# {item.alias::%{_lookup}%} is set: +# set line 2 of block to {item.alias::%{_lookup}%} +# stop +# loop {item.alias::*}: +# {item.alias::%loop-index%::%{_lookup}%} is set: +# set line 2 of block to {item.alias::%loop-index%} +# stop + +# cancel event +# send "&e%{_lookup}% &c is not a recognized item!" to player +# set line 1 to "&9Buy : %{_buyline}%" +# set line 3 to "&cPay : %{_payline}%" + +# set {_number} to 0 +# while block at location of {_chestshop.location} can hold {_number} of wooden sword: +# add 1 to {_number} +# message "Block has %{_number}% of spaces left!" \ No newline at end of file diff --git a/OBAM-Survival Games/Obam-Fronts/bounty.sk b/OBAM-Survival Games/Obam-Fronts/Fronts-Testing/bounty.sk similarity index 100% rename from OBAM-Survival Games/Obam-Fronts/bounty.sk rename to OBAM-Survival Games/Obam-Fronts/Fronts-Testing/bounty.sk diff --git a/OBAM-Survival Games/Obam-Fronts/Fronts-Testing/landclaim.notes.sk b/OBAM-Survival Games/Obam-Fronts/Fronts-Testing/landclaim.notes.sk new file mode 100644 index 0000000..fc5f339 --- /dev/null +++ b/OBAM-Survival Games/Obam-Fronts/Fronts-Testing/landclaim.notes.sk @@ -0,0 +1,38 @@ +{alert.fronts.%loop-player%} If you want to here alerts +{alert.notify.owner.%loop-player%} Current qued owner message +{availableland.%player%} Total slots owned +{bed.%player%.wild} Location of your bed +{bed.owner.%event-block%} who ownes the bed +{bypassland.%player%} lets you bypass protections +{chunk.%{_chunk}%} No point, missing .live +{chunk.%{_chunk}%.%{_player}%} No point, missing .live +{chunks.claim.count.%player%} Running total of slots claimed ever, used to help name +{chunk.live.%chunk at location of player%} Owner of the chunk +{chunk.live.%chunk at location of player%.%player%} Allowed players to bypass protection +{chunk.name.%chunk at location of player%} The name of the chunk +{claimedland.%player%} Total slots used +{first.claim.%player%} Toggle for free Slot +{home.%player%.wild} location for /home +{land.%{_chunk}%::*} No point, missing .live +{land.live.%chunk at location of player%::*} list of all people that have been added (add is now gone) +{land.unclaim.%loop-player%} Line 58 & 68 is unneeded? +{loc.chunks.%player%::*} Stores spawn location in each chunk +{name.list.%player%::*} Only used line 18 (clear) and 255 (set) +{owned.chunks.%player%::*} list of currently owned chunks +{played.%player%} Have they ever played +{reset.%player%.betamove} initial flag setup 1 +{reset.%player%.betamove2} initial flag setup 2 +{reset.%player%.betamove3} initial flag setup 3 +{reset.%player%.betamove4} initial flag setup 4 +{town.spawn} location of town spawn + + +lines 264 - 270 review - unneeded + + + + + + + + \ No newline at end of file diff --git a/OBAM-Survival Games/Obam-Fronts/Fronts-Testing/landclaim.revamp.sk.sk b/OBAM-Survival Games/Obam-Fronts/Fronts-Testing/landclaim.revamp.sk.sk new file mode 100644 index 0000000..9efe27a --- /dev/null +++ b/OBAM-Survival Games/Obam-Fronts/Fronts-Testing/landclaim.revamp.sk.sk @@ -0,0 +1,833 @@ + +variables: + {claimedland.%player%} = 0 + {availableland.live.%player%} = 1 + {alert.fronts.%player%} = true + +on join: + {db_prizecheck.%player%} is set: + add {db_prizecheck.%player%} to {availableland.%player%} + send "&aYou have had &e%{db_prizecheck.%player%}%&a added to your Fronts balance!" to player + clear {db_prizecheck.%player%} + if {played.%player%} is not set: + set {played.%player%} to true + {reset.%player%.betamove} is not set: + set {claimedland.%player%} to 0 + clear {owned.chunks.%player%::*} + clear {name.list.%player%::*} + clear {loc.chunks.%player%::*} + set {reset.%player%.betamove} to true + {reset.%player%.betamove2} is not set: + set {availableland.%player%} to 1 + set {reset.%player%.betamove2} to true + {reset.%player%.betamove3} is not set: + clear {home.%player%.wild} + size of {loc.chunks.%player%::*} is greater than 0: + loop {loc.chunks.%player%::*}: + set {_loc} to {loc.chunks.%player%::%loop-index%} + set {_chunk} to chunk at location of {_loc} + set {_chunk.name} to {chunk.name.%{_chunk}%} + set {home.%player%.wild} to {_loc} + send "&aYour home location has been moved to &e%{_chunk.name}%" to player + set {reset.%player%.betamove3} to true + stop + set {reset.%player%.betamove3} to true + {reset.%player%.betamove4} is not set: + clear {bed.%player%.wild} + set {reset.%player%.betamove4} to true + +every 1 tick: + loop all players: + {chunk.live.%chunk at location of loop-player%} is not set: + {alert.notify.owner.%loop-player%} is not "Unclaimed": + {alert.fronts.%loop-player%} is true + send "&a&lUnclaimed Front" to loop-player + set {alert.notify.owner.%loop-player%} to "Unclaimed" + {alert.notify.owner.%loop-player%} is not {chunk.live.%chunk at location of loop-player%}: + {chunk.live.%chunk at location of loop-player%} is not set: + {alert.notify.owner.%loop-player%} is not "Unclaimed": + {alert.fronts.%loop-player%} is true + send "&a&lUnclaimed Front" to loop-player + set {alert.notify.owner.%loop-player%} to "Unclaimed" + set {land.unclaim.%loop-player%} to true + {chunk.live.%chunk at location of loop-player%} is set: + {alert.fronts.%loop-player%} is true + send "&a&lFront Claimed by: &e%{chunk.live.%chunk at location of loop-player%} %" to loop-player + set {alert.notify.owner.%loop-player%} to {chunk.live.%chunk at location of loop-player%} + {alert.notify.owner.%loop-player%} is not set: + {chunk.live.%chunk at location of loop-player%} is not set: + {alert.fronts.%loop-player%} is true + send "&a&lUnclaimed Front" to loop-player + set {alert.notify.owner.%loop-player%} to "Unclaimed" + set {land.unclaim.%loop-player%} to true + +#startfold +command /front [] [] [] []: + permission: obam.free + description: For all land related commands + usage: &c/front (claim, unclaim, list, remove, name) + aliases: /f + trigger: + argument 1 is not set: + message "&3-[&a&lFronts Claimed&3]-" + message "&6 %{claimedland.%player%}%" + send "&3-[&a&lPurchased Slots&3]-" to player + send "&6 %{availableland.%player%}%" + send "&3-[&a&lAvailible Slots&3]-" to player + send "&6 %{availableland.%player%} - {claimedland.%player%}%" to player + stop + #subfold @help + argument 1 is "help" or "h": + message "&3--[&6&lFronts Help&3]--" + message "&cRequired = [] Optional = ()" + message "&a * /front or f" + message "&7 Shows your land claiming statistics" + message "&a * /front:f [Info:i/Stats:s]" + message "&7 Shows information about the land you are standing in" + message "&a * /front:f [Claim:c/Unclaim:u]" + message "&7 Claim/Unclaim the land you are standing at" + message "&a * /front:f [Add:a/Remove:r]" + message "&7 Add/Remove player from the land you are standing at" + if player has permission "land.bypass": + message "&a * /land bypass" + message "&7 Bypass all claimed land" + stop + #subfold @stats + argument 1 is "stats" or "info" or "s" or "i": + if {chunk.live.%chunk at location of player%} is set: + {chunk.live.%chunk at location of player%} is not "Town": + message "&3--[&lFront Owner&3]--" + message "&a * %{chunk.live.%chunk at location of player%} %" + message "&3--[&lFront Members&3]--" + message "&a * %{land.live.%chunk at location of player%::*}%" + send "&3---[&lFront Name&3]--" + {chunk.name.%chunk at location of player%} is not set: + send "&a * Name not set" + stop + send "&a * %{chunk.name.%chunk at location of player%}%" + stop + message "&6This area is not currently owned by a player." + stop + #subfold @error + argument 1 is "error": + if player has permission "land.bypass": + message "&cIncorrect usage. Try '/front [claim, unclaim, list, remove, bypass, name] (player)'" + else: + message "&cIncorrect usage. Try '/front [claim, unclaim, list, remove, name] (player)'" + message "&7 ()'s = Optional, []'s = Required." + stop + #subfold @claim + argument 1 is "claim" or "c": + if {chunk.live.%chunk at location of player%} is set: + message "&cThis land has already been claimed." + stop + loop blocks in radius 50 of player: + if player cannot build at the loop-block: + message "&cYou can not claim land in this area." + stop + {claimedland.%player%} is greater than or equal to {availableland.%player%}: + send "&cYou do not have enough Availiable land for this action! Please purchase more with /shop!" to player + stop + {first.claim.%player%} is set: + {first.claim.%player%} is true: + set {_bal} to player's balance + {_bal} is less than 2000: + send "&cYou do not have enough tickets to do this!" to player + stop + {chunks.claim.count.%player%} is not set: + set {chunks.claim.count.%player%} to 0 + add 1 to {chunks.claim.count.%player%} + add name of player to {land.live.%chunk at location of player%::*} + set {chunk.live.%chunk at location of player%} to name of player + set {chunk.live.%chunk at location of player%.%player%} to true + add chunk at location of player to {owned.chunks.%player%::*} + set {chunk.name.%chunk at location of player%} to "%{chunks.claim.count.%player%}%" + set {loc.chunks.%player%::%chunk at location of player%} to location of player + message "&6You now own this Front." + {claimedland.%player%} is 0: + set {home.%player%.wild} to location of player + add 1 to {claimedland.%player%} + {first.claim.%player%} is set: + {first.claim.%player%} is true: + remove 2000 from player's balance + send "&aYou have used &e2000 Tickets&a to claim this Front" to player + send "&aYou have &e%player's balance%&a remaining" to player + stop + send "&aThis was your first land claim. It was free. The next one will cost &e2000 Tickets!" to player + set {first.claim.%player%} to true + stop + #subfold @unclaim + argument 1 is "unclaim" or "u": + if {chunk.live.%chunk at location of player%} is not set: + message "&cThis land has not been claimed." + stop + if {chunk.live.%chunk at location of player%} is not name of player: + message "&cYou do not own this land." + stop + remove 1 from {claimedland.%player%} + loop {land.live.%chunk at location of player%::*}: + set {_player} to {land.live.%chunk at location of player%::%loop-index%} + clear {chunk.live.%chunk at location of player%.%{_player}%} + set {_chunk} to chunk at location of player + chunk at location of {home.%player%.wild} is chunk at location of player: + clear {home.%player%.wild} + send "&cYour home location has been cleared!" to player + clear {land.live.%chunk at location of player%::*} + clear {chunk.live.%chunk at location of player%} + clear {chunk.name.%chunk at location of player%} + delete {loc.chunks.%player%::%chunk at location of player%} + loop {flags.%chunk at location of player%::*}: + loop {flags.%chunk at location of player%::%loop-index%::*}: + delete {flags.%chunk at location of player%::%loop-index-1%::%loop-index-2%} + delete {flags.%chunk at location of player%::%loop-index%} + loop {owned.chunks.%player%::*}: + chunk at location of player is {owned.chunks.%player%::%loop-index%} + delete {owned.chunks.%player%::%loop-index%} + message "&6You have unclaimed this Front." + stop + #subfold @remove + argument 1 is "remove" or "r": + if argument 2 is not set: + make player execute command "land error" + stop + if {chunk.live.%chunk at location of player%} is not set: + message "&cThis land has not been claimed." + stop + if {chunk.live.%chunk at location of player%} is not player: + message "&cYou do not own this land." + stop + if {played.%argument 2%} is not set: + message "&cThis player does not exist." + stop + if {chunk.live.%chunk at location of player%} is argument 2: + message "&cYou can not remove yourself from your own land." + stop + loop {land.live.%chunk at location of player%::*}: + if loop-value is argument 2: + clear {chunk.live.%chunk at location of player%.%argument 2%} + delete {land.live.%chunk at location of player%::%loop-index%} + exit loop + clear {chunk.live.%chunk at location of player%.%argument 2%} + message "&6%argument 2% can not build in this land anymore." + stop + #subfold @bypass + argument 1 is "bypass": + player has permission "land.bypass": + if {bypassland.%player%} is true: + clear {bypassland.%player%} + message "&6You have finished bypassing claimed land." + stop + set {bypassland.%player%} to true + message "&6You can now bypass claimed land." + stop + message "&cYou do not have permission to use this command." + stop + #subfold @name + argument 1 is "name" or "n": + if {chunk.live.%chunk at location of player%} is not set: + message "&cThis land has not been claimed." + stop + if {chunk.live.%chunk at location of player%} is not name of player: + {flags.%chunk at location of player%::admin::everyone} is not set: + set {flags.%chunk at location of player%::admin::everyone} to false + {flags.%chunk at location of player%::admin::%player%} is not set: + set {flags.%chunk at location of player%::admin::%player%} to false + {flags.%chunk at location of player%::admin::everyone} is false: + {flags.%chunk at location of player%::admin::%player%} is false: + send "&cYou do not have permission to do this!" + stop + argument 2 is "set": + send "&cThat is an invalid name!" to player + stop + argument 2 is not set: + send "&cPlease choose a name!" to player + stop + set {_test} to the length of argument 2 + {_test} is greater than 15: + message "&cPlease limit your Front name to 15 characters." + stop + message "&aYou have named this Front to &e%argument 2%" + set {chunk.name.%chunk at location of player%} to "%argument 2%" + add {chunk.name.%chunk at location of player%} to {name.list.%player%::*} + set {loc.chunks.%player%::%chunk at location of player%} to location of player + stop + #subfold @list + argument 1 is "list" or "l": + argument 3 is "mod": + player has permission "obam.smod": + set {_bypass} to true + argument 2 is not set: + set {_who} to player + set {_page} to argument 2 parsed as an integer + {_page} is set: + set {_who} to player + {_who} is not set: + set {_who} to argument 2 + set {_index.count} to 0 + set {_count} to 0 + loop {loc.chunks.%{_who}%::*}: + set {_loc} to loop-value + set {_chunk} to chunk at location of {_loc} + {_bypass} is true: + add 1 to {_index.count} + {_bypass} is not set: + {chunk.live.%{_chunk}%.%player%} is true: + add 1 to {_index.count} + set {_tpages} to round up ({_index.count} / 10) + {_page} is not set: + set {_page} to argument 3 parsed as an integer + {_page} is not set: + set {_page} to argument 4 + {_page} is not set: + set {_page} to 1 + {_tpages} is 0: + message "&7%{_who}% &chas not added you to any of their Fronts." + stop + {_page} is greater than {_tpages}: + message "&cNot a valid page. There are currently &f%{_tpages}%&c available." + stop + set {_stop} to {_page} * 10 + set {_start} to {_stop} - 9 + set {_a.space} to " " + set {_t.space} to " " + set {_header.count} to length of "%{_who}%" + set {_header.space} to 19 - {_header.count} + set {_header.space} to rounded up (1.2 * {_header.space}) + {_header.space} is greater than 0: + loop {_header.space} times: + set {_t.space} to "%{_t.space}%%{_a.space}%" + #51 characters + message "&3Available Fronts for &f%{_who}%%{_t.space}%&3(&fPage %{_page}%/%{_tpages}%&3)" + message "&3[ &a Wild &cNether &dEnd &3]" + message "&6Name Chunk Coords World Coords" + loop {loc.chunks.%{_who}%::*}: + set {_loc} to loop-value + set {_chunk} to chunk at location of {_loc} + {_bypass} is true: + set {_report} to true + {chunk.live.%{_chunk}%.%player%} is true: + set {_report} to true + {_report} is true: + add 1 to {_count} + {_count} is {_start}: + set {_report} to true + {_report} is true: + set {_chunk.name} to {chunk.name.%{_chunk}%} + {_chunk.name} is not set: + set {_chunk.name} to "&cNot Named" + set {_a.space1} to " " + set {_t.space1} to " " + set {_header.count1} to length of "%{_chunk.name}%" + set {_header.space1} to 15 - {_header.count1} + set {_header.space1} to rounded up (1.2 * {_header.space1}) + {_header.space1} is greater than 0: + loop {_header.space1} times: + set {_t.space1} to "%{_t.space1}%%{_a.space1}%" + set {_world.type} to loop-index parsed as text + {_world.type} contains "world": + set {_color} to "&a" + {_world.type} contains "end": + set {_color} to "&d" + {_world.type} contains "nether": + set {_color} to "&c" + replace all "world","nether","end","the","_",":" and " " with "" in {_world.type} + set {_chunk::*} to {_world.type} split at "," + set {_coords::x} to {_chunk::1} parsed as an integer * 16 + set {_coords::y} to {_chunk::2} parsed as an integer * 16 + set {_a.space2} to " " + set {_t.space2} to " " + set {_header.count2} to length of "%{_coords::*}%" + set {_header.space2} to 19 - {_header.count2} + set {_header.space2} to rounded up (1.5 * {_header.space2}) + {_header.space2} is greater than 0: + loop {_header.space2} times: + set {_t.space2} to "%{_t.space2}%%{_a.space2}%" + set {_a.space3} to " " + set {_t.space3} to " " + set {_header.count3} to length of "%{_chunk::*}%" + set {_header.space3} to 20 - {_header.count3} + set {_header.space3} to rounded up (1.5 * {_header.space3}) + {_header.space3} is greater than 0: + loop {_header.space3} times: + set {_t.space3} to "%{_t.space3}%%{_a.space3}%" + message "%{_color}%%{_chunk.name}%%{_t.space1}%x&f%{_chunk::1}% %{_color}%z&f%{_chunk::2}%%{_t.space3}%%{_color}%x&f%{_coords::x}% %{_color}%z&f%{_coords::y}%" + set {_report} to false + {_count} is {_index.count}: + message "&3End of List" + stop + {_count} is {_stop}: + stop + + #subfold @travel + argument 1 is "travel" or "t": + argument 3 is not set: + argument 2 is "set": + if {chunk.live.%chunk at location of player%} is not set: + message "&cThis land has not been claimed." + stop + if {chunk.live.%chunk at location of player%} is not name of player: + message "&cThis is not your land!" + stop + set {loc.chunks.%player%::%chunk at location of player%} to location of player + send "&aYour travel location for this area, has been moved" to player + stop + if {chunk.live.%chunk at location of player%} is not set: + message "&cYou can only do this in &eTown&c, or on your land!" + stop + if {chunk.live.%chunk at location of player%} is not name of player: + {chunk.live.%chunk at location of player%} is not "Town": + {chunk.live.%chunk at location of player%.%player%} is not set: + {flags.%chunk at location of player%::teleport::everyone} is not set: + set {flags.%chunk at location of player%::teleport::everyone} to false + {flags.%chunk at location of player%::teleport::everyone} is false: + {flags.%chunk at location of player%::teleport::%player%} is not set: + set {flags.%chunk at location of player%::teleport::%player%} to false + {flags.%chunk at location of player%::teleport::%player%} is false: + message "&cYou can only do this in &eTown&c, or on your land!" + stop + loop {loc.chunks.%player%::*}: + set {_loc} to loop-value + set {_chunk} to chunk at location of {_loc} + set {_chunk.name} to {chunk.name.%{_chunk}%} + {_chunk.name} is argument 2: + send "&aTeleporting to &e%argument 2%" to player + teleport player to {_loc} + stop + send "&cYou do not have a Front named &e%argument 2%" + stop + argument 3 is set: + if {chunk.live.%chunk at location of player%} is not set: + message "&cYou can only do this in &eTown&c, or on your land!" + stop + if {chunk.live.%chunk at location of player%} is not name of player: + {chunk.live.%chunk at location of player%} is not "Town": + {chunk.live.%chunk at location of player%.%player%} is not set: + {flags.%chunk at location of player%::teleport::everyone} is not set: + set {flags.%chunk at location of player%::teleport::everyone} to false + {flags.%chunk at location of player%::teleport::everyone} is false: + {flags.%chunk at location of player%::teleport::%player%} is not set: + set {flags.%chunk at location of player%::teleport::%player%} to false + {flags.%chunk at location of player%::teleport::%player%} is false: + message "&cYou can only do this in &eTown&c, or on your land!" + stop + loop {loc.chunks.%argument 3%::*}: + set {_loc} to loop-value + set {_chunk} to chunk at location of {_loc} + set {_chunk.name} to {chunk.name.%{_chunk}%} + {_chunk.name} is argument 2: + {chunk.live.%{_chunk}%.%player%} is not set: + {flags.%{_chunk}%::teleport::everyone} is not set: + set {flags.%{_chunk}%::teleport::everyone} to false + {flags.%{_chunk}%::teleport::%player%} is not set: + set {flags.%{_chunk}%::teleport::%player%} to false + {flags.%{_chunk}%::teleport::everyone} is false: + {flags.%{_chunk}%::teleport::%player%} is false + send "&cYou do not have permission to go here!" to player + stop + send "&aTeleporting to &e%argument 2%" to player + teleport player to {_loc} + stop + send "&c%argument 3% does not have a Front named &e%argument 2%" + stop + argument 1 is "alert": + {alert.fronts.%player%} is not set: + send "&aFront alerts are now &eoff" + set {alert.fronts.%player%} to false + stop + {alert.fronts.%player%} is false: + send "&aFront alerts are now &eon" + set {alert.fronts.%player%} to true + stop + {alert.fronts.%player%} is true: + send "&aFront alerts are now &eoff" + set {alert.fronts.%player%} to false + stop + else: + make player execute command "f error" + stop +#endfold +on quit: + if {bypassland.%player%} is true: + clear {bypassland.%player%} + +on place: + block is not tnt + block is not water + block is not lava + if {bypassland.%player%} is true: + stop + if {chunk.live.%chunk at location of block%} is set: + if {chunk.live.%chunk at location of block%.%player%} is true: + stop + {flags.%chunk at location of block%::build::everyone} is true: + stop + {flags.%chunk at location of block%::build::%player%} is true: + stop + message "&cThis land is owned by %{chunk.live.%chunk at location of block%}%." + cancel event + +on break: + block is not water or lava or milk + if {bypassland.%player%} is true: + stop + if {chunk.live.%chunk at location of block%} is set: + if {chunk.live.%chunk at location of block%.%player%} is true: + stop + {flags.%chunk at location of block%::build::everyone} is true: + event-block is a chest or a furnace or a dispenser or a hopper or a brewing stand or a dropper or a trapped chest or a beacon: + {flags.%chunk at location of block%::container::everyone} is true: + stop + {flags.%chunk at location of block%::container::%player%} is true: + stop + event-block is a door or a anvil or a lever or a button or a wood button or a jukebox or a trapdoor or a fence gate or a enchantment table or a redstone comparator or a repeater: + {flags.%chunk at location of block%::use::everyone} is true: + stop + {flags.%chunk at location of block%::use::%player%} is true: + stop + else: + stop + {flags.%chunk at location of block%::build::%player%} is true: + event-block is a chest or a furnace or a dispenser or a hopper or a brewing stand or a dropper or a trapped chest or a beacon: + {flags.%chunk at location of block%::container::everyone} is true: + stop + {flags.%chunk at location of block%::container::player} is true: + stop + event-block is a door or a anvil or a lever or a button or a wood button or a jukebox or a trapdoor or a fence gate or a enchantment table or a redstone comparator or a repeater: + {flags.%chunk at location of block%::use::everyone} is true: + stop + {flags.%chunk at location of block%::use::%player%} is true: + stop + else: + stop + message "&cThis land is owned by %{chunk.live.%chunk at location of block%}%." + cancel event + +on place of tnt: + if {bypassland.%player%} is true: + stop + loop blocks in radius 10 of block: + if {chunk.live.%chunk at location of loop-block%} is set: + if {chunk.live.%chunk at location of loop-block%.%player%} is true: + exit loop + else: + cancel event + message "&cYou can not use explosives here." + stop + +on explode: + entity is creeper + loop blocks in radius 10 of entity: + if {chunk.live.%chunk at location of loop-block%} is set: + cancel event + set {_safe} to true + {_safe} is set: + create safe explosion of force 3 at event-location +on damage of a entity: + victim is a chicken or a cow or a mooshroom or a horse or a sheep or a pig or a wolf or a ocelot or a villager or a squid + attacker is a player + victim is a cow: + attacker's tool is a empty bucket + stop + loop blocks in radius 3 of victim: + {bypassland.%attacker%} is true: + stop + if {chunk.live.%chunk at location of loop-block%} is not attacker: + {chunk.live.%chunk at location of loop-block%.%attacker%} is set: + stop + {flags.%chunk at location of loop-block%::entity::everyone} is not set: + set {flags.%chunk at location of loop-block%::entity::everyone} to false + {flags.%chunk at location of loop-block%::entity::%attacker%} is not set: + set {flags.%chunk at location of loop-block%::entity::%attacker%} to false + {flags.%chunk at location of loop-block%::entity::everyone} is false: + {flags.%chunk at location of loop-block%::entity::%attacker%} is true: + stop + {flags.%chunk at location of loop-block%::entity::everyone} is true: + stop + send "&cThis area is protected!" to attacker + cancel event + +on right click on lead: + {bypassland.%player%} is true: + stop + if {chunk.live.%chunk at location of event-player%} is set: + {chunk.live.%chunk at location of event-player%} is not event-player: + {chunk.live.%chunk at location of event-player%.%event-player%} is set: + stop + send "&cThis area is protected!" to event-player + cancel event + stop trigger + +on left click on fence: + {bypassland.%player%} is true: + stop + if {chunk.live.%chunk at location of event-player%} is set: + {chunk.live.%chunk at location of event-player%} is not event-player: + {chunk.live.%chunk at location of event-player%.%event-player%} is set: + stop + send "&cThis area is protected!" to event-player + cancel event + stop trigger + +on right click on horse: + {bypassland.%player%} is true: + stop + if {chunk.live.%chunk at location of event-player%} is set: + {chunk.live.%chunk at location of event-player%} is not event-player: + {chunk.live.%chunk at location of event-player%.%event-player%} is set: + stop + send "&cThis area is protected!" to event-player + cancel event + stop trigger + +on damage of a player: + attacker is a player + loop blocks in radius 10 of victim: + if {chunk.live.%chunk at location of loop-block%} is set: + send "&cThis area is protected!" to attacker + cancel event + stop trigger + +command /townset: + permission: obam.admin + trigger: + set {town.spawn} to location of player + +command /town: + permission: obam.free + trigger: + {chunk.live.%chunk at location of player%} is not player: + {chunk.live.%chunk at location of player%} is not "Town": + send "&cYou can only do this in Town, or on your own land!" to player + if {chunk.live.%chunk at location of player%} is not set: + message "&cYou must do this on your land!" + stop + teleport player to {town.spawn} + +on sign change: + world is "wildtest": + line 1 of block is "warp" or "[warp]": + {chunk.live.%chunk at location of player%} is name of player: + line 2 of block is "town": + set line 1 of block to "[WARP]" + set line 2 of block to "TOWN" + stop + loop {owned.chunks.%player%::*}: + set {_chunk} to {owned.chunks.%player%::%loop-index%} + {chunk.name.%{_chunk}%} is line 2 of block + send "&cYou can not do that here!" to player + cancel event + +on right click on sign: + world is "wildtest": + line 1 of block is "[WARP]" + line 2 of block is "TOWN": + {chunk.live.%chunk at location of player%.%player%} is true: + teleport player to {town.spawn} + stop + send "&cYou can not do this here!" to player + +command /clearland []: + permission: obam.admin + trigger: + argument is not set: + send "&cYou must enter a name." + argument is set: + set {_who} to argument 1 + send "&cPreparing to delete &e%size of {owned.chunks.%{_who}%::*}% &cchunks...." to player + wait 0.5 seconds + loop {owned.chunks.%{_who}%::*}: + set {_chunk} to {owned.chunks.%{_who}%::%loop-index-1%} + send "&cClearing chunk &e%loop-index-1%" to player + wait 0.5 seconds + loop {land.live.%{_chunk}%::*}: + set {_player} to {land.live.%{_chunk}%::%loop-index-2%} + clear {chunk.live.%{_chunk}%.%{_player}%} + clear {chunk.live.%{_chunk}%} + clear {chunk.name.%{_chunk}%} + send "&aChunk &e%loop-index-1% &acleared" to player + send "&cClearing Home spawn" to player + clear {home.%{_who}%.wild} + send "&cManginling variables" to player + set {claimedland.%{_who}%} to 0 + clear {owned.chunks.%{_who}%::*} + send "&aLand clear complete!" to player + stop + +command /travelmove: + permission: obam.free + trigger: + if {chunk.live.%chunk at location of player%} is not set: + message "&cThis land has not been claimed." + stop + if {chunk.live.%chunk at location of player%} is not name of player: + message "&cThis is not your land!" + stop + set {loc.chunks.%player%::%chunk at location of player%} to location of player + send "&aYour travel location for this area, has been moved" to player + +command /sethome: + permission: obam.free + trigger: + if {chunk.live.%chunk at location of player%} is not set: + message "&cYou must do this on your land!" + stop + if {chunk.live.%chunk at location of player%} is not name of player: + message "&cYou must do this on your land!" + stop + set {home.%player%.wild} to location of player + send "&aYour home has been set!" to player + +on command "/home": + cancel event + {chunk.live.%chunk at location of player%} is not player: + {chunk.live.%chunk at location of player%} is not "Town": + {chunk.live.%chunk at location of player%.%player%} is not set + {flags.%chunk at location of player%::teleport::everyone} is not set: + set {flags.%chunk at location of player%::teleport::everyone} to false + {flags.%chunk at location of player%::teleport::%player%} is not set: + set {flags.%chunk at location of player%::teleport::%player%} to false + {flags.%chunk at location of player%::teleport::everyone} is false: + {flags.%chunk at location of player%::teleport::%player%} is false: + send "&cYou can only do this in Town, or on your own land!" to player + stop + if {chunk.live.%chunk at location of player%} is not set: + message "&cYou must do this on your land!" + stop + teleport player to {home.%player%.wild} + +on command "/mv spawn": + cancel event + {chunk.live.%chunk at location of player%} is not player: + {chunk.live.%chunk at location of player%} is not "Town": + {chunk.live.%chunk at location of player%.%player%} is not set: + send "&cYou can only do this in Town, or on your own land!" to player + stop + if {chunk.live.%chunk at location of player%} is not set: + message "&cYou must do this on your land!" + stop + teleport player to {home.%player%.wild} + +on command "/mvspawn": + cancel event + {chunk.live.%chunk at location of player%} is not player: + {chunk.live.%chunk at location of player%} is not "Town": + {chunk.live.%chunk at location of player%.%player%} is not set: + send "&cYou can only do this in Town, or on your own land!" to player + stop + if {chunk.live.%chunk at location of player%} is not set: + message "&cYou must do this on your land!" + stop + teleport player to {home.%player%.wild} + +on bed enter: + set {bed.%event-player%.wild} to true + set {bed.owner.%event-block%} to event-player + +on break of a bed: + {bed.owner.%event-block%} is set: + clear {bed.%{bed.owner.%event-block%}%.wild} + clear {bed.owner.%event-block%} + +on respawn: + wait 1 second + execute console command "effect %event-player% clear" + {home.%player%.wild} is set: + {bed.%event-player%.wild} is set: + wait 1 second + stop + wait 0.3 seconds + teleport player to {home.%player%.wild} + +command /townclaim: + permission: obam.admin + trigger: + set {chunk.live.%chunk at location of player%} to "Town" + +command /owner : + permission: obam.admin + trigger: + {chunks.claim.count.%argument%} is not set: + set {chunks.claim.count.%argument%} to 0 + add 1 to {chunks.claim.count.%argument%} + add argument to {land.live.%chunk at location of player%::*} + set {chunk.live.%chunk at location of player%} to argument + set {chunk.live.%chunk at location of player%.%argument%} to true + add chunk at location of player to {owned.chunks.%argument%::*} + set {chunk.name.%chunk at location of player%} to "%{chunks.claim.count.%argument%}%" + set {loc.chunks.%argument%::%chunk at location of player%} to location of player + message "&6%argument% now owns this Front." + send "&cPlease remember to adjust for tickets!" + +on command "/hub": + cancel event + send "&aUse &e/main &ato return to the hub server!" to player + +on command "/spawn": + {chunk.live.%chunk at location of player%} is not player: + {chunk.live.%chunk at location of player%} is not "Town": + {chunk.live.%chunk at location of player%.%player%} is not set: + send "&cYou can only do this in Town, or on your own land!" to player + cancel event + stop + if {chunk.live.%chunk at location of player%} is not set: + message "&cYou must do this on your land!" + cancel event + stop + +on bucket fill: + {chunk.live.%chunk at location of player%} is set: + {chunk.live.%chunk at location of player%} is not player + {chunk.live.%chunk at location of player%.%player%} is not set: + {flags.%chunk at location of player%::bucket::everyone} is not set: + set {flags.%chunk at location of player%::bucket::everyone} to false + {flags.%chunk at location of player%::bucket::%player%} is not set: + set {flags.%chunk at location of player%::bucket::%player%} to false + {flags.%chunk at location of player%::bucket::everyone} is false: + {flags.%chunk at location of player%::bucket::%player%} is true: + stop + {flags.%chunk at location of player%::bucket::everyone} is true: + stop + targeted block is water: + {flags.%chunk at location of player%::bucketwater::everyone} is true: + stop + {flags.%chunk at location of player%::bucketwater::%player%} is true: + stop + targeted block is lava: + {flags.%chunk at location of player%::bucketlava::everyone} is true: + stop + {flags.%chunk at location of player%::bucketlava::%player%} is true: + stop + send "&cYou do not have permission to do this!" + cancel event + +on bucket empty: + {chunk.live.%chunk at location of player%} is set: + {chunk.live.%chunk at location of player%} is not player + {chunk.live.%chunk at location of player%.%player%} is not set: + {flags.%chunk at location of player%::bucket::everyone} is not set: + set {flags.%chunk at location of player%::bucket::everyone} to false + {flags.%chunk at location of player%::bucket::%player%} is not set: + set {flags.%chunk at location of player%::bucket::%player%} to false + {flags.%chunk at location of player%::bucket::everyone} is false: + {flags.%chunk at location of player%::bucket::%player%} is true: + stop + {flags.%chunk at location of player%::bucket::everyone} is true: + stop + player's tool is water bucket: + {flags.%chunk at location of player%::bucketwater::everyone} is true: + stop + {flags.%chunk at location of player%::bucketwater::%player%} is true: + stop + player's tool is lava bucket: + {flags.%chunk at location of player%::bucketlava::everyone} is true: + stop + {flags.%chunk at location of player%::bucketlava::%player%} is true: + stop + send "&cYou do not have permission to do this!" + cancel event + +command /claimedset : + permission: obam.admin + trigger: + set {claimedland.%player-arg%} to argument 2 + send "&e%player-arg%&a claimed balance set to &e%argument 2%" \ No newline at end of file diff --git a/Obam-Garage/Mailman.sk b/Obam-Garage/Mailman.sk new file mode 100644 index 0000000..fbca07e --- /dev/null +++ b/Obam-Garage/Mailman.sk @@ -0,0 +1,23 @@ +on explosion: + world is "mailman": + cancel event + create safe explosion with force 5 + loop all blocks in radius 3: + loop-block is stone brick: + set loop-block to air + loop-block is redstone repeater: + set loop-block to air + loop all blocks in radius 5: + loop-block is redstone torch: + set loop-block to air + loop-block is dirt: + set loop-block to grass + +on click on button: + world is "mailman": + make player execute command "/time set 16000" + +on click on sign: + world is "mailman": + player is "WCG_Elite": + make player execute command "/flyspeed -10" \ No newline at end of file diff --git a/Obam-Garage/mobspawntest.sk b/Obam-Garage/mobspawntest.sk new file mode 100644 index 0000000..9f8ea22 --- /dev/null +++ b/Obam-Garage/mobspawntest.sk @@ -0,0 +1,69 @@ +command /plop []: + trigger: + {hostilemobs::creeper} is not set: + set {hostilemobs::creeper} to creeper + {hostilemobs::wither} is not set: + set {hostilemobs::wither} to wither + {hostilemobs::witch} is not set: + set {hostilemobs::witch} to witch + set {_type} to "%argument 1%" + set {_spawn} to {hostilemobs::%{_type}%} + spawn {_spawn} at location of player + message "Spawning %{_spawn}%" + +command /plop2 []: + trigger: + spawn creeper at location of player + message "Spawning stuffs" + +command /plop3 []: + trigger: + set {_ranmob} to random element of {hostilemobs::*} + spawn {_ranmob} at location of player + message "Spawning %{_ranmob}%" + +command /ploploop []: + trigger: + loop {hostilemobs::*}: + set {_mob} to loop-value + spawn {_mob} at location of player + message "Spawning %{_mob}%" + +command /ploplist: + trigger: + message "%{hostilemobs::*}%" + +command /plopload: + trigger: + {hostilemobs::creeper} is not set: + set {hostilemobs::creeper} to creeper + {hostilemobs::spider} is not set: + set {hostilemobs::spider} to spider + {hostilemobs::zombie} is not set: + set {hostilemobs::zombie} to zombie + {hostilemobs::skeleton} is not set: + set {hostilemobs::skeleton} to skeleton + {hostilemobs::slime} is not set: + set {hostilemobs::slime} to slime + {hostilemobs::zombiepigman} is not set: + set {hostilemobs::zombiepigman} to zombie pigman + {hostilemobs::cavespider} is not set: + set {hostilemobs::cavespider} to cave spider + {hostilemobs::silverfish} is not set: + set {hostilemobs::silverfish} to silverfish + {hostilemobs::blaze} is not set: + set {hostilemobs::blaze} to blaze + {hostilemobs::magmacube} is not set: + set {hostilemobs::magmacube} to magma cube + {hostilemobs::witch} is not set: + set {hostilemobs::witch} to witch + {hostilemobs::witherskeleton} is not set: + set {hostilemobs::witherskeleton} to wither skeleton + {hostilemobsproper::wither} is not set: + set {hostilemobsproper::wither} to wither + {hostilemobsproper::ghast} is not set: + set {hostilemobsproper::ghast} to ghast + +command /entitycheck: + trigger: + send "%type of target entity%" diff --git a/Obam-Garage/toybox2.sk b/Obam-Garage/toybox2.sk new file mode 100644 index 0000000..e9964fd --- /dev/null +++ b/Obam-Garage/toybox2.sk @@ -0,0 +1,292 @@ +#toybox for 2.0 - rendition by Elite +#box = Toybox inside the toybox +#nb = not bought (requires certain supporter level or bought with tickets or bought in store) +#e = 1 (enabled) in use - or activated +#d = 0 (disabled) not in use - or deactivated +#g = given item - the item the player is able to use outside of the chest gui. + +options: + toybox: ender chest named "&2Toy&9Box" with lore "&6Right click to open the toy box.||&6See what toys you may use." + # + eBoat: i;boat;n;&6Boat &aEnabled;c;sudo %player% toybox boat + dBoat: i;boat;n;&6Boat &cDisabled;c;sudo %player% toybox boat + gBoat: boat named "&3%player%'s Boat" with lore "&6Travel the majestic waters||&6of the hub with this boat!" + # + eCart: i;storage minecart;n;&6MineCart &aEnabled;c;sudo %player% toybox cart + dCart: i;powered minecart;n;&6MineCart &cDisabled;c;sudo %player% toybox cart + gCart: minecart named "&3%player%'s Cart" with lore "&6Want to sore on the track?||&6Place this cart down . . .|| ||&6Let's take it for a spin." + # + eFirework: i;firework;n;&6OBAM&fCraft &6Firework &aEnabled + dFirework: i;firework;n;&6OBAM&fCraft &6Firework &cDisabled + gFirework: firework named "&6OBAM&fCraft &3Firework" with lore "&6Right click to see a random||&6OBAM themed firework effect.|| ||&710 Second Cooldown" + # + ePiston: i;piston;n;&6Piston-Pusher &aEnabled + dPiston: i;piston;n;&6Piston-Pusher &cDisabled + gPiston: piston named "&3Piston-Pusher" with lore "&6Use this to push players around.|| ||&710 Second Cooldown" + +on join: + #player is in "death-hub" + player is in "world": + player does not have a {@toybox}: + give 1 {@toybox} to player + if {boatstop.%player%} is not set: + set {boatstop.%player%} to false + if {boatstop.%player%} is true: + set {boatstop.%player%} to false + if {cartstop.%player%} is not set: + set {cartstop.%player%} to false + if {cartstop.%player%} is true: + set {cartstop.%player%} to false + if {toybox.boat.%player%} is not set: + set {toybox.boat.%player%} to 0 + if {toybox.cart.%player%} is not set: + set {toybox.cart.%player%} to 0 + if {toybox.boat.%player%} is 1: + set {toybox.boat.%player%} to 0 + if {toybox.cart.%player%} is 1: + set {toybox.cart.%player%} to 0 + +on respawn: + player is in "world": + player does not have a {@toybox}: + give 1 {@toybox} to player + if {boatstop.%player%} is not set: + set {boatstop.%player%} to false + if {boatstop.%player%} is true: + set {boatstop.%player%} to false + if {cartstop.%player%} is not set: + set {cartstop.%player%} to false + if {cartstop.%player%} is true: + set {cartstop.%player%} to false + if {toybox.boat.%player%} is not set: + set {toybox.boat.%player%} to 0 + if {toybox.cart.%player%} is not set: + set {toybox.cart.%player%} to 0 + if {toybox.boat.%player%} is 1: + set {toybox.boat.%player%} to 0 + if {toybox.cart.%player%} is 1: + set {toybox.cart.%player%} to 0 + +command /sudo : + executable by: console + trigger: + make argument 1 execute command "%argument 2%" + +on teleport: + #player is in "death-hub" + player is in "world": + if player does not have {@toybox}: + give 1 {@toybox} to player + if {toybox.boat.%player%} is not set: + set {toybox.boat.%player%} to 0 + if {toybox.boat.%player%} is 1: + set {toybox.boat.%player%} to 0 + if {toybox.cart.%player%} is not set: + set {toybox.cart.%player%} to 0 + if {toybox.cart.%player%} is 1: + set {toybox.cart.%player%} to 0 + player isn't in "world": + if {toybox.boat.%player%} is 1: + set {toybox.boat.%player%} to 0 + if {toybox.cart.%player%} is 1: + set {toybox.cart.%player%} to 0 + if player has {@toybox}: + remove {@toybox} from player's inventory + if player has {@gBoat}: + remove {@gBoat} from player's inventory + if player has {@gCart}: + remove {@gCart} from player's inventory + set {_CartName.%player%} to "&3%player%'s Cart" + set {_BoatName.%player%} to "&3%player%'s Boat" + loop all entities: + if loop-entity is {@gCart}: + if name of loop-entity is "%{_CartName.%player%}%": + delete loop-entity + if loop-entity is {@gBoat}: + if name of loop-entity is "%{_BoatName.%player%}%": + delete loop-entity + +on place of boat: + player is in "world": + player's tool is {@gBoat}: + player's gamemode is survival: + if {boatstop.%player%} is false: + set {boatstop.%player%} to true + stop + player's gamemode is creative: + if {boatstop.%player%} is false: + set {boatstop.%player%} to true + remove {@gBoat} from player's inventory + stop + +on place of minecart: + player is in "world": + player's tool is {@gCart}: + player's gamemode is survival: + if {cartstop.%player%} is false: + set {cartstop.%player%} to true + stop + player's gamemode is creative: + if {cartstop.%player%} is false: + set {cartstop.%player%} to true + remove {@gCart} from player's inventory + stop + +on place of ender chest: + player is in "world": + player's tool is {@toybox}: + cancel event + +on click: + player is in "world": + player's tool is {@toybox}: + make player execute command "/toybox" + +on vehicle exit: + #player is in "death-hub" + player is in "world": + if {boatstop.%player%} is true: + delete vehicle of player + set {boatstop.%player%} to false + if {cartstop.%player%} is true: + delete vehicle of player + set {cartstop.%player%} to false + +on vehicle damage: + player is in "world": + cancel event + +on disconnect: + #player is in "death-hub" + player is in "world": + if {boatstop.%player%} is true: + delete vehicle of player + set {boatstop.%player%} to false + if {cartstop.%player%} is true: + delete vehicle of player + set {cartstop.%player%} to false + if {toybox.boat.%player%} is 1: + set {toybox.boat.%player%} to 0 + if {toybox.cart.%player%} is 1: + set {toybox.cart.%player%} to 0 + if player has {@toybox}: + remove {@toybox} from player's inventory + if player has {@gBoat}: + remove {@gBoat} from player's inventory + if player has {@gCart}: + remove {@gCart} from player's inventory + set {_CartName.%player%} to "&3%player%'s Cart" + set {_BoatName.%player%} to "&3%player%'s Boat" + loop all entities: + if loop-entity is {@gCart}: + if name of loop-entity is "%{_CartName.%player%}%": + delete loop-entity + if loop-entity is {@gBoat}: + if name of loop-entity is "%{_BoatName.%player%}%": + delete loop-entity + +on drop: + player is in "world": + event-item is {@toybox}: + cancel event + event-item is {@gBoat}: + cancel event + event-item is {@gCart}: + cancel event + +command /toybox []: + permission: obam.free + trigger: + #player is in "Death-hub": + player is in "world": + argument is not set: + if {toybox.boat.%player%} is 1: + if {toybox.cart.%player%} is 0: + send "&eOpening the majestical &2Toy&9Box &e. . ." to player + show "s;4;{@eBoat};s;6;{@dCart}" with 1 row named "&2Toy&9Box" to player + if {toybox.cart.%player%} is 1: + send "&eOpening the majestical &2Toy&9Box &e. . ." to player + show "s;4;{@eBoat};s;6;{@eCart}" with 1 row named "&2Toy&9Box" to player + if {toybox.boat.%player%} is 0: + if {toybox.cart.%player%} is 0: + send "&eOpening the majestical &2Toy&9Box &e. . ." to player + show "s;4;{@dBoat};s;6;{@dCart}" with 1 row named "&2Toy&9Box" to player + if {toybox.cart.%player%} is 1: + send "&eOpening the majestical &2Toy&9Box &e. . ." to player + show "s;4;{@dBoat};s;6;{@eCart}" with 1 row named "&2Toy&9Box" to player + argument is "boat": + make player execute command "/boat" + argument is "cart": + make player execute command "/cart" + +command /boat: + trigger: + player is in "world": + if {toybox.boat.%player%} is 0: + if player does not have {@gBoat} in his inventory: + if {cartstop.%player%} is true: + set {_CartName.%player%} to "&3%player%'s Cart" + loop all entities: + if loop-entity is {@gCart}: + if name of loop-entity is "%{_CartName.%player%}%": + delete loop-entity + if player has {@gCart} in his inventory: + remove {@gCart} from player's inventory + set {toybox.cart.%player%} to 0 + set {cartstop.%player%} to false + if {boatstop.%player%} is true: + send "You already have a boat out." to player + stop + give 1 {@gBoat} to player + set {toybox.boat.%player%} to 1 + set {boatstop.%player%} to true + send "You have received a boat." to player + stop + if {toybox.boat.%player%} is 1: + if {boatstop.%player%} is true: + set {_BoatName.%player%} to "&3%player%'s Boat" + loop all entities: + if loop-entity is {@gBoat}: + if name of loop-entity is "%{_BoatName.%player%}%": + delete loop-entity + if player has {@gBoat} in his inventory: + remove {@gBoat} from player's inventory + set {toybox.boat.%player%} to 0 + set {boatstop.%player%} to false + stop + +command /cart: + trigger: + player is in "world": + if {toybox.cart.%player%} is 0: + if player does not have {@gCart} in his inventory: + if {boatstop.%player%} is true: + set {_BoatName.%player%} to "&3%player%'s Boat" + loop all entities: + if loop-entity is {@gBoat}: + if name of loop-entity is "%{_BoatName.%player%}%": + delete loop-entity + if player has {@gBoat} in his inventory: + remove {@gBoat} from player's inventory + set {toybox.boat.%player%} to 0 + set {boatstop.%player%} to false + if {cartstop.%player%} is true: + send "You already have a minecart out." to player + stop + give 1 {@gCart} to player + set {toybox.cart.%player%} to 1 + set {cartstop.%player%} to true + send "You have received a minecart." to player + stop + if {toybox.cart.%player%} is 1: + if {cartstop.%player%} is true: + set {_CartName.%player%} to "&3%player%'s Cart" + loop all entities: + if loop-entity is {@gCart}: + if name of loop-entity is "%{_CartName.%player%}%": + delete loop-entity + if player has {@gCart} in his inventory: + remove {@gCart} from player's inventory + set {toybox.cart.%player%} to 0 + set {cartstop.%player%} to false + stop \ No newline at end of file diff --git a/Obam-Garage/worldgen.sk b/Obam-Garage/worldgen.sk new file mode 100644 index 0000000..5cc7c53 --- /dev/null +++ b/Obam-Garage/worldgen.sk @@ -0,0 +1,21 @@ +command /worldgen []: + trigger: + argument 1 is not set: + message "Pick a world foo" + stop + execute console command "mv clone tacocart tacocart%argument 1%" + execute console command "mv confirm" +# execute console command "mv monsters false" +# execute console command "mv weather false" +# execute console command "mv animals false" + +command /worlddel []: + trigger: + argument 1 is not set: + message "Pick a world foo" + stop + execute console command "mv delete tacocart%argument 1%" + execute console command "mv confirm" +# execute console command "mv monsters false" +# execute console command "mv weather false" +# execute console command "mv animals false" \ No newline at end of file diff --git a/Obam-Mini Games/Obam-Taco/Taco-Testing/taco.sk b/Obam-Mini Games/Obam-Taco/Taco-Testing/taco.sk new file mode 100644 index 0000000..984ebd3 --- /dev/null +++ b/Obam-Mini Games/Obam-Taco/Taco-Testing/taco.sk @@ -0,0 +1,2283 @@ +#Kell's Taco Cart Mini Game + +# To Do: +# legendary quest line +# Hub signs +# top players +# single player +# zombie taco + + +#startfold info + +#Variables: +# {taco.variables::*} = controls all item and villager timers +# {taco.timers.%player%::*} = controls food timers +# {taco.player.%world%::*} = stores current players 1 & 2 +# {keystone.%world%} = World Keystone +# {taco.waypoint.%world%::*} = waypoints +# {taco.p1.spawns.%world%::*} = stores Player 1 customer spawns +# {taco.p2.spawns.%world%::*} = stores Player 1 customer spawns +# {taco.villager.name::*} = stores villager names as value, index is random number +# {taco.receipt1::*} = stores ingredients per type +# {taco.p1.customer.%world%::*} = stores Player 1 customer names +# {taco.p2.customer.%world%::*} = stores Player 1 customer names +# {taco.p1.order.%world%::*} = stores Player 1 customer orders +# {taco.p2.order.%world%::*} = stores Player 1 customer orders +# {taco.p1.signs.%world%::*} = stores Player 1 sign locations +# {taco.p2.signs.%world%::*} = stores Player 2 sign locations +# {taco.start.%world%::*} = stores Start Sign locations +# {taco.1.gate1.%world%::*} = stores Player 1 Gate 1 locations +# {taco.2.gate1.%world%::*} = stores Player 2 Gate 1 locations +# {taco.1.gate2.%world%::*} = stores Player 1 Gate 2 locations +# {taco.2.gate2.%world%::*} = stores Player 2 Gate 2 locations +# farmer = 120 +# priest = 105 +# butcher = 90 +# blacksmith = 75 +# librarian = 60 +# {taco.%player%.score.%world%} = Stores Player score +# {taco.level::*} = stores dissipating spawn time variables based on player level +# {taco.timeout::*} = stores customer angry leave messages +# {taco.correct::*} = stores customer correct turn in messages +# {taco.incorrect::*} = stores customer incorrect turn in messages +# {taco.pinky::*} = stores Pinky messages from Cletus +# {taco.horsey::*} = stores Horse click messages from Cletus + +#Related Files: +# boards.sk = for scoreboard functions +# keystone.sk = for keystone command +# legend-sky = legendary quest skript for sky block +# legend-front = legendary quest skript for Fronts + +#endfold + +#startfold setup + +aliases: + grain = 296 + soft shell = 148 + hard shell = 147 + whole tomato = 260 + diced tomato = 372 + block of cheese = 19 + shredded cheese = 171:4 + raw onion = 332 + diced onion = 361 + head of lettuce = 351:2 + shredded lettuce = 295 + rancid meat = 367 + +options: + receipt1: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Lettuce||&6+ Onion" + receipt2: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Lettuce||&6+ Tomato" + receipt3: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Onion||&6+ Tomato" + receipt4: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Chicken||&6+ Lettuce||&6+ Onion||&6+ Tomato" + receipt5: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Lettuce||&6+ Onion" + receipt6: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Lettuce||&6+ Tomato" + receipt7: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Onion||&6+ Tomato" + receipt8: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Beef||&6+ Lettuce||&6+ Onion||&6+ Tomato" + receipt9: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Lettuce||&6+ Onion" + receipt10: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Lettuce||&6+ Tomato" + receipt11: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Onion||&6+ Tomato" + receipt12: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Fish||&6+ Lettuce||&6+ Onion||&6+ Tomato" + receipt13: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Lettuce||&6+ Onion" + receipt14: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Lettuce||&6+ Tomato" + receipt15: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Onion||&6+ Tomato" + receipt16: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Chicken||&6+ Lettuce||&6+ Onion||&6+ Tomato" + receipt17: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Lettuce||&6+ Onion" + receipt18: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Lettuce||&6+ Tomato" + receipt19: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Onion||&6+ Tomato" + receipt20: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Beef||&6+ Lettuce||&6+ Onion||&6+ Tomato" + receipt21: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Lettuce||&6+ Onion" + receipt22: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Lettuce||&6+ Tomato" + receipt23: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Onion||&6+ Tomato" + receipt24: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Fish||&6+ Lettuce||&6+ Onion||&6+ Tomato" + #clue1: give player book from "&9&lSkyblock General Info;&eOBAM Minigames;&fThis book contains Information about||&fSkyblock General Info on OBAM!;§cWhat Is Skyblock?§r §0Skyblock is a survival experience that is based on completing challenges and building a base. You begin on a small floating island in the sky with a chest that contains only the bare minimum to get started.§r||§cGetting Started §r §0Using the two blocks of ice, you'll want to create an infinite water source. Then, using water and your one lava bucket, create a cobblestone generator and start expanding from there!§r||§cBe Careful! §r §0Falling off or dying early on with your starter items could result in their loss and require an island reset. You get 2 free resets. After that, it is §r§22,000 Tickets§r §0per reset.§r" + #clue2: liabrary book in its place, give book about Kells and the almight taco god + #clue3 sign engraved on back with "Please watch over Cletus" from Kells + clue4: pink wool named "&a&b&k&a&3Silk Lining" with lore "&6This looks like it could be from the||&3fabled &a&b&k&a&3Sombrero of Plenty&3.||&3You should find a black market shop." + +#endfold + +#startfold recipes + +on script load: + register new shaped recipe for {@receipt1} using shredded cheese, shredded lettuce, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt1} using shredded cheese, diced onion, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt1} using diced onion, shredded cheese, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt1} using diced onion, shredded lettuce, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt1} using shredded lettuce, diced onion, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt1} using shredded lettuce, shredded cheese, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt2} using shredded cheese, shredded lettuce, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt2} using shredded cheese, diced tomato, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt2} using diced tomato, shredded cheese, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt2} using diced tomato, shredded lettuce, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt2} using shredded lettuce, diced tomato, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt2} using shredded lettuce, shredded cheese, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt3} using shredded cheese, diced onion, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt3} using shredded cheese, diced tomato, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt3} using diced tomato, shredded cheese, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt3} using diced tomato, diced onion, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt3} using diced onion, diced tomato, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt3} using diced onion, shredded cheese, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt4} using shredded lettuce, diced onion, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt4} using shredded lettuce, diced tomato, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt4} using diced tomato, shredded lettuce, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt4} using diced tomato, diced onion, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt4} using diced onion, diced tomato, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt4} using diced onion, shredded lettuce, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt5} using shredded cheese, shredded lettuce, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt5} using shredded cheese, diced onion, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt5} using diced onion, shredded cheese, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt5} using diced onion, shredded lettuce, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt5} using shredded lettuce, diced onion, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt5} using shredded lettuce, shredded cheese, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt6} using shredded cheese, shredded lettuce, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt6} using shredded cheese, diced tomato, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt6} using diced tomato, shredded cheese, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt6} using diced tomato, shredded lettuce, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt6} using shredded lettuce, diced tomato, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt6} using shredded lettuce, shredded cheese, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt7} using shredded cheese, diced onion, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt7} using shredded cheese, diced tomato, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt7} using diced tomato, shredded cheese, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt7} using diced tomato, diced onion, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt7} using diced onion, diced tomato, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt7} using diced onion, shredded cheese, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt8} using shredded lettuce, diced onion, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt8} using shredded lettuce, diced tomato, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt8} using diced tomato, shredded lettuce, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt8} using diced tomato, diced onion, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt8} using diced onion, diced tomato, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt8} using diced onion, shredded lettuce, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt9} using shredded cheese, shredded lettuce, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt9} using shredded cheese, diced onion, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt9} using diced onion, shredded cheese, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt9} using diced onion, shredded lettuce, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt9} using shredded lettuce, diced onion, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt9} using shredded lettuce, shredded cheese, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt10} using shredded cheese, shredded lettuce, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt10} using shredded cheese, diced tomato, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt10} using diced tomato, shredded cheese, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt10} using diced tomato, shredded lettuce, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt10} using shredded lettuce, diced tomato, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt10} using shredded lettuce, shredded cheese, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt11} using shredded cheese, diced onion, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt11} using shredded cheese, diced tomato, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt11} using diced tomato, shredded cheese, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt11} using diced tomato, diced onion, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt11} using diced onion, diced tomato, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt11} using diced onion, shredded cheese, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt12} using shredded lettuce, diced onion, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt12} using shredded lettuce, diced tomato, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt12} using diced tomato, shredded lettuce, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt12} using diced tomato, diced onion, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt12} using diced onion, diced tomato, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt12} using diced onion, shredded lettuce, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt13} using shredded cheese, shredded lettuce, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt13} using shredded cheese, diced onion, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt13} using diced onion, shredded cheese, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt13} using diced onion, shredded lettuce, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt13} using shredded lettuce, diced onion, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt13} using shredded lettuce, shredded cheese, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt14} using shredded cheese, shredded lettuce, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt14} using shredded cheese, diced tomato, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt14} using diced tomato, shredded cheese, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt14} using diced tomato, shredded lettuce, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt14} using shredded lettuce, diced tomato, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt14} using shredded lettuce, shredded cheese, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt15} using shredded cheese, diced onion, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt15} using shredded cheese, diced tomato, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt15} using diced tomato, shredded cheese, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt15} using diced tomato, diced onion, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt15} using diced onion, diced tomato, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt15} using diced onion, shredded cheese, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt16} using shredded lettuce, diced onion, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt16} using shredded lettuce, diced tomato, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt16} using diced tomato, shredded lettuce, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt16} using diced tomato, diced onion, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt16} using diced onion, diced tomato, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt16} using diced onion, shredded lettuce, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt17} using shredded cheese, shredded lettuce, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt17} using shredded cheese, diced onion, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt17} using diced onion, shredded cheese, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt17} using diced onion, shredded lettuce, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt17} using shredded lettuce, diced onion, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt17} using shredded lettuce, shredded cheese, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt18} using shredded cheese, shredded lettuce, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt18} using shredded cheese, diced tomato, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt18} using diced tomato, shredded cheese, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt18} using diced tomato, shredded lettuce, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt18} using shredded lettuce, diced tomato, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt18} using shredded lettuce, shredded cheese, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt19} using shredded cheese, diced onion, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt19} using shredded cheese, diced tomato, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt19} using diced tomato, shredded cheese, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt19} using diced tomato, diced onion, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt19} using diced onion, diced tomato, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt19} using diced onion, shredded cheese, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt20} using shredded lettuce, diced onion, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt20} using shredded lettuce, diced tomato, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt20} using diced tomato, shredded lettuce, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt20} using diced tomato, diced onion, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt20} using diced onion, diced tomato, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt20} using diced onion, shredded lettuce, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt21} using shredded cheese, shredded lettuce, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt21} using shredded cheese, diced onion, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt21} using diced onion, shredded cheese, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt21} using diced onion, shredded lettuce, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt21} using shredded lettuce, diced onion, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt21} using shredded lettuce, shredded cheese, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt22} using shredded cheese, shredded lettuce, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt22} using shredded cheese, diced tomato, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt22} using diced tomato, shredded cheese, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt22} using diced tomato, shredded lettuce, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt22} using shredded lettuce, diced tomato, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt22} using shredded lettuce, shredded cheese, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt23} using shredded cheese, diced onion, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt23} using shredded cheese, diced tomato, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt23} using diced tomato, shredded cheese, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt23} using diced tomato, diced onion, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt23} using diced onion, diced tomato, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt23} using diced onion, shredded cheese, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt24} using shredded lettuce, diced onion, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt24} using shredded lettuce, diced tomato, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt24} using diced tomato, shredded lettuce, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt24} using diced tomato, diced onion, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt24} using diced onion, diced tomato, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt24} using diced onion, shredded lettuce, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + +#endfold + +#startfold on events + +on join: + "%player's world%" contains "Taco": + set player's level to 0 + set player's level progress to 0 + add 20 to player's hunger + +on hunger meter change: + "%player's world%" contains "Taco": + cancel event + +on damage of a player: + "%attacker's world%" contains "Taco": + attacker is a witch: + cancel event + projectile is a raw onion: + cancel event + send "Nice shot!" to attacker + victim's tool is air: + set {_vtime} to "%{taco.variables::slow.time}% seconds" parsed as timespan + apply slowness 8 to victim for {_vtime} + apply nausea to victim for 999 seconds + send "&cYou just got knocked out by %attacker%!" to victim + stop + delete victim's tool + apply nausea to victim for 999 seconds + send "&c%attacker% just knocked the stuff out of your hands!" to victim + stop + cancel event + +on rightclick on villager: + "%player's world%" contains "Taco": + cancel event + player's tool is paper: + set {_receipt} to player's tool + {_receipt} is set: + loop {taco.player.%world%::*}: + player is loop-value: + set {_p.num} to loop-index + exit loop + {_p.num} is set: + set {_loc} to location of block below villager + loop {taco.p%{_p.num}%.spawns.%world%::*}: + {_loc} is loop-value: + set {_c.num} to loop-index + exit loop + {_c.num} is set: + set {_match} to false + {_receipt} is {taco.%{taco.p%{_p.num}%.order.%world%::%{_c.num}%}%::6}: + set {_match} to true + increase the level progress of player by 0.05 + add 1 to {taco.%{taco.player.%world%::%{_p.num}%}%.score.%world%} + set {_ran} to random integer between 1 and 5 + send "&9%{taco.p%{_p.num}%.customer.%world%::%{_c.num}%}%:&f %{taco.correct::%{_ran}%}%" to {taco.player.%world%::%{_p.num}%} + clear {taco.p1.order.%world%::%{_slot}%} + remove player's tool from player + delete villager + {_match} is false: + set {_ran} to random integer between 1 and 6 + send "&9%{taco.p%{_p.num}%.customer.%world%::%{_c.num}%}%:&f %{taco.correct::%{_ran}%}%" to {taco.player.%world%::%{_p.num}%} + remove player's tool from player + delete villager + +on damage of villager: + "%attacker's world%" contains "Taco": + cancel event + projectile is a raw onion: + send "Nailed them!" to attacker + set {_loc} to location of block below villager + loop {taco.p1.spawns.%world%::*}: + {_loc} is loop-value: + set {_p.num} to 1 + set {_c.num} to loop-index + exit loop + loop {taco.p2.spawns.%world%::*}: + {_loc} is loop-value: + set {_p.num} to 2 + set {_c.num} to loop-index + exit loop + {_p.num} is set: + {_c.num} is set: + set {_vtime} to "%{taco.variables::villager_hit.time}% seconds" parsed as timespan + subtract {_vtime} from {taco.p%{_p.num}%.customer.timer.%world%::%{_c.num}%} + set {_ran} to random integer between 1 and 5 + send "&9%{taco.p%{_p.num}%.customer.%world%::%{_c.num}%}%:&f %{taco.villager_hit::%{_ran}%}%" to {taco.player.%world%::*} + +on damage of sheep: + "%attacker's world%" contains "Taco": + cancel event + +on sheep eat: + world is "tacohub" or "TacoCart" or "tacocart1" or "tacocart2" or "tacocart3" or "tacocart4" or "tacocart5" or "tacocart6" or "tacocart7" or "tacocart8" or "tacocart9" or "tacocart10": + cancel event + +on dye of sheep: + "%player's world%" contains "Taco": + cancel event + message "Nope 1" + +on sheep dye: + "%player's world%" contains "Taco": + cancel event + message "Nope 2" + +on vehicle enter: + "%player's world%" contains "Taco": + cancel event + +on right click on horse: + "%player's world%" contains "Taco": + cancel event + set {_ran} to random integer between 1 and 5 + message "&9Cletus:&f %{taco.horsey::%{_ran}%}%" + +on right click on donkey: + "%player's world%" contains "Taco": + cancel event + message "&9Cletus:&f That'll do Donkey, that'll do." + +#on place: +# "%player's world%" contains "Taco": +# cancel event + +#on break: +# "%player's world%" contains "Taco": +# cancel event + +on pickup: + "%player's world%" contains "Taco": + item is rancid meat: + cancel event + +on xp spawn: + world is "tacohub" or "TacoCart" or "tacocart1" or "tacocart2" or "tacocart3" or "tacocart4" or "tacocart5" or "tacocart6" or "tacocart7" or "tacocart8" or "tacocart9" or "tacocart10": + cancel event + +on drop: + "%player's world%" contains "Taco": + item is not rancid meat: + cancel event + +#on rightclick on item frame: +# "%player's world%" contains "Taco": +# cancel event + +#on damage of item frame: +# "%attacker's world%" contains "Taco": +# cancel event + +on damage of a silverfish: + "%attacker's world%" contains "Taco": + kill victim + +on target: + world is "TacoCart" or "tacocart1" or "tacocart2" or "tacocart3" or "tacocart4" or "tacocart5" or "tacocart6" or "tacocart7" or "tacocart8" or "tacocart9" or "tacocart10": + creature is a witch: + target is a player: + cancel event + +on rightclick on a stone button: + "%player's world%" contains "Taco": + cancel event + player has grain: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::soft_shell}: + remove 1 grain from player + give player {taco.variables::soft_shell.amount} of soft shell named "Soft Taco Shell" + set {taco.timers.%player%::soft_shell} to now + set {_vtime} to "%{taco.variables::soft_shell.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::soft_shell} + stop + message "&cYou must wait a little longer to use the &6Soft Shell Press&c!" + stop + message "&cYou need some &6Grain&c to use this equipment!" + +on rightclick on a hopper: + "%player's world%" contains "Taco": + cancel event + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::grain}: + give player {taco.variables::grain.amount} of grain named "Grain" + set {taco.timers.%player%::grain} to now + set {_vtime} to "%{taco.variables::grain.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::grain} + stop + message "&cYou must wait a little longer to use the &6Grain Dispenser&c!" + +on rightclick on a wooden button: + "%player's world%" contains "Taco": + cancel event + player has grain: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::hard_shell}: + remove 1 grain from player + give player {taco.variables::hard_shell.amount} of hard shell named "Hard Taco Shell" + set {taco.timers.%player%::hard_shell} to now + set {_vtime} to "%{taco.variables::hard_shell.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::hard_shell} + stop + message "&cYou must wait a little longer to use the &6Hard Shell Press&c!" + stop + message "&cYou need some &6Grain&c to use this equipment!" + +on rightclick on daylight sensor: + "%player's world%" contains "Taco": + player has whole tomato: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::diced_tomato}: + remove 1 whole tomato from player + give player {taco.variables::diced_tomato.amount} of diced tomato named "Diced Tomato" + set {taco.timers.%player%::diced_tomato} to now + set {_vtime} to "%{taco.variables::diced_tomato.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::diced_tomato} + stop + message "&cYou must wait a little longer to use the &6Tomato Dicer&c!" + stop + message "&cYou need a &6Whole Tomato&c to use this equipment!" + +on rightclick on a chest: + "%player's world%" contains "Taco": + cancel event + "%player's world%" is "tacohub": + stop + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::block_of_cheese}: + give player {taco.variables::block_of_cheese.amount} of block of cheese named "Block of Cheese" + set {taco.timers.%player%::block_of_cheese} to now + set {_vtime} to "%{taco.variables::block_of_cheese.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::block_of_cheese} + stop + message "&cYou must wait a little longer to open the &6Cheese Cooler&c!" + +on rightclick on an oxeye daisy: + "%player's world%" contains "Taco": + cancel event + "%player's world%" is "tacohub": + {taco.timers.%player%::raw_onion} is not set: + set {taco.timers.%player%::raw_onion} to now + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::raw_onion}: + give player {taco.variables::raw_onion.amount} of raw onion named "Raw Onion" + set {taco.timers.%player%::raw_onion} to now + set {_vtime} to "%{taco.variables::raw_onion.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::raw_onion} + stop + message "&cYou must wait a little longer to harvest from the &6Onion Garden&c!" + +on rightclick on a dispenser: + "%player's world%" contains "Taco": + cancel event + player has raw beef: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::steak}: + remove 1 raw beef from player + give player {taco.variables::steak.amount} of steak named "Spicy Beef" + set {taco.timers.%player%::steak} to now + set {_vtime} to "%{taco.variables::steak.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::steak} + clear {taco.timers.%player%::rancid_meat} + stop + message "&cYou must wait a little longer to use the &6Steak-a-nator 5000&c!" + stop + message "&cYou need some &6Raw Beef&c to use this equipment!" + +on rightclick on a furnace: + "%player's world%" contains "Taco": + cancel event + player has raw fish: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::cooked_fish}: + remove 1 raw fish from player + give player {taco.variables::cooked_fish.amount} of cooked fish named "Fish Sticks" + set {taco.timers.%player%::cooked_fish} to now + set {_vtime} to "%{taco.variables::cooked_fish.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::cooked_fish} + clear {taco.timers.%player%::rancid_fish} + stop + message "&cYou must wait a little longer to use the &6Fish-O-Matic&c!" + stop + message "&cYou need some &6Raw Fish&c to use this equipment!" + +on rightclick on a dropper: + "%player's world%" contains "Taco": + cancel event + player has raw chicken: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::cooked_chicken}: + remove 1 raw chicken from player + give player {taco.variables::cooked_chicken.amount} of cooked chicken named "Spicy Chicken" + set {taco.timers.%player%::cooked_chicken} to now + set {_vtime} to "%{taco.variables::cooked_chicken.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::cooked_chicken} + clear {taco.timers.%player%::rancid_chicken} + stop + message "&cYou must wait a little longer to use the &6Clucker-Cooker&c!" + stop + message "&cYou need some &6Raw Chicken&c to use this equipment!" + +on rightclick on a lever: + "%player's world%" contains "Taco": + cancel event + player has head of lettuce: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::shredded_lettuce}: + remove 1 head of lettuce from player + give player {taco.variables::shredded_lettuce.amount} of shredded lettuce named "Shredded Lettuce" + set {taco.timers.%player%::shredded lettuce} to now + set {_vtime} to "%{taco.variables::shredded_lettuce.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::shredded_lettuce} + stop + message "&cYou must wait a little longer to use the &6Lettuce Shredder&c!" + stop + message "&cYou need a &6Head of Lettuce&c to use this equipment!" + +on rightclick on a tripwire hook: + "%player's world%" contains "Taco": + cancel event + player has raw onion: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::diced_onion}: + remove 1 raw onion from player + give player {taco.variables::diced_onion.amount} of diced onion named "Diced Onion" + set {taco.timers.%player%::diced_onion} to now + set {_vtime} to "%{taco.variables::diced_onion.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::diced_onion} + stop + message "&cYou must wait a little longer to use the &6Onion Chopper&c!" + stop + message "&cYou need a &6Raw Onion&c to use this equipment!" + +on rightclick on an iron door: + "%player's world%" contains "Taco": + cancel event + "%player's world%" is "tacohub": + stop + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::raw_chicken}: + give player {taco.variables::raw_chicken.amount} of raw chicken named "Raw Chicken" + set {taco.timers.%player%::raw_chicken} to now + set {_vtime} to "%{taco.variables::raw_chicken.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::raw_chicken} + set {taco.timers.%player%::rancid_chicken} to now + stop + message "&cYou must wait a little longer to open the &6Chicken Freezer&c!" + +on rightclick on a wooden door: + "%player's world%" contains "Taco": + cancel event + "%player's world%" is "tacohub": + stop + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::raw_beef}: + give player {taco.variables::raw_beef.amount} of raw beef named "Raw Beef" + set {taco.timers.%player%::raw_beef} to now + set {_vtime} to "%{taco.variables::raw_beef.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::raw_beef} + set {taco.timers.%player%::rancid_meat} to now + stop + message "&cYou must wait a little longer to open the &6Beef Freezer&c!" + +on rightclick on ice: + "%player's world%" contains "Taco": + cancel event + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::raw_fish}: + give player {taco.variables::raw_fish.amount} of raw fish named "Raw Fish" + set {taco.timers.%player%::raw_fish} to now + set {_vtime} to "%{taco.variables::raw_fish.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::raw_fish} + set {taco.timers.%player%::rancid_fish} to now + stop + message "&cYou must wait a little longer to get in the &6Fish Freezer&c!" + +on rightclick on a creeper head: + "%player's world%" contains "Taco": + cancel event + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::head_of_lettuce}: + give player {taco.variables::head_of_lettuce.amount} of head of lettuce named "Head of Lettuce" + set {taco.timers.%player%::head_of_lettuce} to now + set {_vtime} to "%{taco.variables::head_of_lettuce.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::head_of_lettuce} + stop + message "&cYou must wait a little longer to pick from the &6Lettuce Garden&c!" + +on rightclick on a jukebox: + "%player's world%" contains "Taco": + cancel event + player has block of cheese: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::shredded_cheese}: + remove 1 block of cheese from player + give player {taco.variables::shredded_cheese.amount} of shredded cheese named "Shredded Cheese" + set {taco.timers.%player%::shredded_cheese} to now + set {_vtime} to "%{taco.variables::shredded_cheese.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::shredded_cheese} + stop + message "&cYou must wait a little longer to use the &6Cheese Shredder&c!" + stop + message "&cYou need a &6Block of Cheese&c to use this equipment!" + +on rightclick on an ender chest: + "%player's world%" contains "Taco": + cancel event + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::whole_tomato}: + give player {taco.variables::whole_tomato.amount} of whole tomato named "Whole Tomato" + set {taco.timers.%player%::whole_tomato} to now + set {_vtime} to "%{taco.variables::whole_tomato.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::whole_tomato} + stop + message "&cYou must wait a little longer to get in the &6Tomato Bin&c!" + +on rightclick on a sheep: + "%player's world%" contains "Taco": + cancel event + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::sheep}: + chance of 2%: + {legendary.progress.%player%::3} is true: + message "&6Hmmmm, could this be?" + give player {@clue4} + set {legendary.progress.%player%::4} to true + set {taco.timers.%player%::sheep} to now + set {_vtime} to "%{taco.variables::sheep.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::sheep} + stop + +on rightclick on a cauldron: + "%player's world%" contains "Taco": +# cancel event + player has nausea: + remove nausea from player + remove slowness from player + message "You are healed child!" + +on right click on sign: + line 1 of block is "Click here": + set {_count} to 0 + loop entities in radius 3 of block: + loop-entity is a player: + add loop-entity to {_who::*} + add 1 to {_count} + {_count} is greater than 1: + send "Only one player per side." to {_who::*} + stop + {_count} is 1: + set {_loc} to location of block + loop {taco.start.%world%::*}: + loop-value is {_loc}: + set {_slot} to loop-index + set {taco.readycheck.%world%::%{_slot}%} to player + set line 1 of block to "Now waiting on" + set line 2 of block to "your opponent" + set line 3 of block to "to click their" + set line 4 of block to "Ready Sign" + loop {taco.%{_slot}%.gate2.%world%::*}: + set {_change} to loop-value-2 + {_slot} is "1": + set block 2 meters above {_change} to nether fence + {_slot} is "2": + set block 2 meters above {_change} to fence + stop + line 1 of block is "Now waiting on": + set {_loc} to location of block + loop {taco.start.%world%::*}: + loop-value is {_loc}: + set {_slot} to loop-index + clear {taco.readycheck.%world%::%{_slot}%} + set line 1 of block to "Click here" + set line 2 of block to "to claim the" + {_slot} is "1": + set line 3 of block to "Nether" + {_slot} is "2": + set line 3 of block to "Wooden" + set line 4 of block to "Taco Shack" + loop {taco.%{_slot}%.gate2.%world%::*}: + set {_change} to loop-value-2 + set block 2 meters above {_change} to air + + +#endfold + +#startfold periodic + +#WORLD SPECIFIC +every 60 seconds: + loop all entities in world "tacohub": + set {_ran} to random integer between 1 and 5 + loop-entity is a villager: + loop players in radius 25 of loop-entity: + send "&9Cletus:&f %{taco.pinky::%{_ran}%}%" to loop-player + +#subfold TacoCart + +every 1 second: + loop all players in world "TacoCart": + {taco.game.status.%loop-player's world%} is true: + loop {taco.player.%loop-player's world%::*}: + set {_p.num} to loop-index + loop {taco.p%{_p.num}%.signs.%loop-player's world%::*}: + set {_next} to false + set {_sign} to block at location of loop-value + set {_slot} to loop-index + set {_timecheck} to now + set {_ttm} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} + subtract 20 seconds from {_ttm} + set {_ing1} to {taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::1} + set {_ing2} to {taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::2} + set {_ing3} to {taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::3} + set {_ing4} to {taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::4} + set {_ing5} to {taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::5} + {_timecheck} is greater than {_ttm}: + set line 1 of {_sign} to "&4%{_ing1}% %{_ing2}%" + set line 2 of {_sign} to "&4%{_ing3}%" + set line 3 of {_sign} to "&4%{_ing4}%" + set line 4 of {_sign} to "&4%{_ing5}%" + set {_next} to true + {_timecheck} is greater than {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%}: + set line 1 of {_sign} to "&4----------" + set line 2 of {_sign} to "&4----------" + set line 3 of {_sign} to "&4----------" + set line 4 of {_sign} to "&4----------" + set {_next} to true + {_next} is false: + set line 1 of {_sign} to "%{_ing1}% %{_ing2}%" + set line 2 of {_sign} to "%{_ing3}%" + set line 3 of {_sign} to "%{_ing4}%" + set line 4 of {_sign} to "%{_ing5}%" + stop + +every 1 second: + loop all players in world "TacoCart": + {taco.game.status.%loop-player's world%} is true: + loop {taco.player.%loop-player's world%::*}: + set {_p.num} to loop-index + loop {taco.p%{_p.num}%.customer.timer.%loop-player's world%::*}: + set {_ran} to random integer between 1 and 10 + set {_slot} to loop-index + set {_timecheck} to now + {_timecheck} is greater than {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%}: + loop entities in radius 2 around block at {taco.p%{_p.num}%.spawns.%loop-player's world%::%{_slot}%}: + loop-entity is a villager: + send "&9%{taco.p%{_p.num}%.customer.%loop-player's world%::%{_slot}%}%:&f %{taco.timeout::%{_ran}%}%" to {taco.player.%loop-player's world%::%{_p.num}%} + delete loop-entity + stop + +every 1 second: + loop all players in world "TacoCart": + {taco.game.status.%loop-player's world%} is true: + {toggle.sb.%loop-player%} is not set: + set {toggle.sb.%loop-player%} to true + {toggle.sb.%loop-player%} is false: + set {toggle.sb.%loop-player%} to true + {toggle.sb.%loop-player%} is true: + {board.up.%loop-player%.tc} is not set: + set {board.up.%loop-player%.tc} to false + {board.up.%loop-player%.tc} is true: + {taco.player.%loop-player's world%::1} is "%loop-player%": + make score "&aYou:" in board of loop-player to {taco.%loop-player%.score.%loop-player's world%} + make score "&cThem:" in board of loop-player to {taco.%{taco.player.%loop-player's world%::2}%.score.%loop-player's world%} + {taco.player.%loop-player's world%::2} is "%loop-player%": + make score "&aYou:" in board of loop-player to {taco.%loop-player%.score.%loop-player's world%} + make score "&cThem:" in board of loop-player to {taco.%{taco.player.%loop-player's world%::1}%.score.%loop-player's world%} + {board.up.%loop-player%.tc} is false: + {taco.player.%loop-player's world%::1} is "%loop-player%": + display board named "&9&lTaco Cart" to loop-player + make score "&aYou:" in board of loop-player to {taco.%loop-player%.score.%loop-player's world%} + make score "&cThem:" in board of loop-player to {taco.%{taco.player.%loop-player's world%::2}%.score.%loop-player's world%} + move display of loop-player to sidebar + {taco.player.%loop-player's world%::2} is "%loop-player%": + display board named "&9&lTaco Cart" to loop-player + make score "&aYou:" in board of loop-player to {taco.%loop-player%.score.%loop-player's world%} + make score "&cThem:" in board of loop-player to {taco.%{taco.player.%loop-player's world%::1}%.score.%loop-player's world%} + move display of loop-player to sidebar + {taco.game.status.%loop-player's world%} is false: + display board named "" to loop-player + move display of loop-player to sidebar + +every 1 second: + loop all players in world "TacoCart": + set {_tc} to now + {taco.game.status.%loop-player's world%} is true: + {_tc} is greater than {taco.game.timer.%loop-player's world%}: + set {taco.game.status.%loop-player's world%} to false + send "Times up!" to {taco.player.%loop-player's world%::*} + set {_p1} to {taco.player.%loop-player's world%::1} parsed as a player + set {_p2} to {taco.player.%loop-player's world%::2} parsed as a player + set {_p1score} to {taco.%{_p1}%.score.%loop-player's world%} + set {_p2score} to {taco.%{_p2}%.score.%loop-player's world%} + {_p1score} is greater than {_p2score}: + set {_winner} to 3 * {_p1score} + add {_winner} to {_p1}'s balance + send "&aYou have won &e%{_winner}% Tickets&a!" to {_p1} + send "&aYou now have &e%{_p1}'s balance%" to {_p1} + log "%{_p1}%^ADD^%{_winner}%^%{_p1}'s balance%^Winner Prize" to "tickets/tacocart.log" + add {_p2score} to {_p2}'s balance + send "&aYou have won &e%{_p2score}% Tickets&a!" to {_p2} + send "&aYou now have &e%{_p2}'s balance%" to {_p2} + log "%{_p2}%^ADD^%{_p2score}%^%{_p2}'s balance%^Loser Prize" to "tickets/tacocart.log" + {_p2score} is greater than {_p1score}: + set {_winner} to 3 * {_p2score} + add {_winner} to {_p2}'s balance + send "&aYou have won &e%{_winner}% Tickets&a!" to {_p2} + send "&aYou now have &e%{_p2}'s balance%" to {_p2} + log "%{_p2}%^ADD^%{_winner}%^%{_p2}'s balance%^Winner Prize" to "tickets/tacocart.log" + add {_p1score} to {_p1}'s balance + send "&aYou have won &e%{_p1score}% Tickets&a!" to {_p1} + send "&aYou now have &e%{_p1}'s balance%" to {_p1} + log "%{_p1}%^ADD^%{_p1score}%^%{_p1}'s balance%^Loser Prize" to "tickets/tacocart.log" + {_p1score} is equal to {_p2score}: + set {_winner} to 2 * {_p1score} + add {_winner} to {_p1}'s balance + send "&aYou have won &e%{_winner}% Tickets&a!" to {_p1} + send "&aYou now have &e%{_p1}'s balance%" to {_p1} + log "%{_p1}%^ADD^%{_winner}%^%{_p1}'s balance%^Tie Prize" to "tickets/tacocart.log" + set {_winner} to 2 * {_p2score} + add {_winner} to {_p2}'s balance + send "&aYou have won &e%{_winner}% Tickets&a!" to {_p2} + send "&aYou now have &e%{_p2}'s balance%" to {_p2} + log "%{_p2}%^ADD^%{_winner}%^%{_p2}'s balance%^Tie Prize" to "tickets/tacocart.log" + loop {taco.1.gate1.%loop-player's world%::*}: + set {_change} to loop-value + set block 2 meters above {_change} to nether fence + loop {taco.2.gate1.%loop-player's world%::*}: + set {_change} to loop-value + set block 2 meters above {_change} to fence + loop {taco.player.%loop-player's world%::*}: + set {board.up.%loop-value%.tc} to false + clear {taco.p1.customer.timer.%loop-player's world%::*} + clear {taco.p2.customer.timer.%loop-player's world%::*} + clear {taco.p1.customer.%loop-player's world%::*} + clear {taco.p2.customer.%loop-player's world%::*} + set {taco.%{taco.player.%loop-player's world%::1}%.score.%loop-player's world%} to 0 + set {taco.%{taco.player.%loop-player's world%::2}%.score.%loop-player's world%} to 0 + clear {taco.player.%loop-player's world%::*} + loop all entities in loop-player's world: + loop-entity-2 is a dropped item: + delete loop-entity-2 + loop-entity-2 is a villager: + delete loop-entity-2 + loop-entity-2 is a sheep: + delete loop-entity-2 + stop + +every 5 seconds: + loop all players in world "TacoCart": + {taco.game.status.%loop-player's world%} is true: + loop {taco.player.%loop-player's world%::*}: + set {_p.num} to loop-index + loop all entities in radius 10 around block at {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: + loop-entity is a silverfish: + add 1 to {_silver} + loop-entity is player: + add loop-entity to {_players::*} + {_silver} is greater than 20: + loop all entities in radius 10 around block at {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: + loop-entity is a silverfish: + delete loop-entity + loop-entity is rancid meat: + delete loop-entity + spawn witch 2 meters above location of {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen} + set name of spawned witch to "&cBoard of Health" + set the walk speed of the spawned witch to 0.1 + message "&cBoard of Health:&f Health inspection, mind if I have a look around?" to {_players::*} + loop all blocks in radius 10 of {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: + loop-block is daylight sensor: + set {_go} to location 1 meter above loop-block + make spawned witch home towards {_go} + exit loop + wait 2 seconds + message "&cBoard of Health:&f Hmmm, what's this? A dirty tomato dicer?" to {_players::*} + wait 2 seconds + loop all blocks in radius 10 of {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: + loop-block is cauldron: + set {_go} to location 1 meter above loop-block + make spawned witch home towards {_go} + exit loop + wait 2 seconds + message "&cBoard of Health:&f Oh my, when was the last time this sink has been cleaned?" to {_players::*} + wait 2 seconds + loop all blocks in radius 10 of {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: + loop-block is jukebox: + set {_go} to location 1 meter above loop-block + make spawned witch home towards {_go} + exit loop + wait 2 seconds + message "&cBoard of Health:&f Are these mice droppings behind your cheese shredder?" to {_players::*} + wait 2 seconds + set {_go} to location 2 meter above location at {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen} + make spawned witch home towards {_go} + wait 2 seconds + message "&cBoard of Health:&f This is just deplorable. I'm going to have to cite you!" to {_players::*} + wait 2 seconds + message "&cBoard of Health:&f I'll take these with me!" to {_players::*} + clear inventory of {taco.player.%loop-player's world%::%{_p.num}%} + loop all entities in radius 15 around block at {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: + loop-entity is a villager: + delete loop-entity + loop-entity is a dropped item: + delete loop-entity + loop-entity is a witch: + delete loop-entity + stop + +every 5 seconds: + loop all players in world "TacoCart": + {taco.game.status.%loop-player's world%} is true: + {taco.timers.%loop-player%::rancid_meat} is set: + set {_rancid.drop} to difference between {taco.timers.%loop-player%::rancid_meat} and now + {_rancid.drop} is greater than 30 seconds: + remove 1 raw beef from loop-player + drop 1 rancid meat named "Rancid Meat" at location of loop-player + send "Ohhh, what stinks in here?" to loop-player + clear {taco.timers.%loop-player%::rancid_meat} + {taco.timers.%loop-player%::rancid_chicken} is set: + set {_rancid.drop} to difference between {taco.timers.%loop-player%::rancid_chicken} and now + {_rancid.drop} is greater than 30 seconds: + remove 1 raw chicken from loop-player + drop 1 rancid meat named "Rancid Meat" at location of loop-player + send "Ohhh, what stinks in here?" to loop-player + clear {taco.timers.%loop-player%::rancid_chicken} + {taco.timers.%loop-player%::rancid_fish} is set: + set {_rancid.drop} to difference between {taco.timers.%loop-player%::rancid_fish} and now + {_rancid.drop} is greater than 30 seconds: + remove 1 raw fish from loop-player + drop 1 rancid meat named "Rancid Meat" at location of loop-player + send "Ohhh, what stinks in here?" to loop-player + clear {taco.timers.%loop-player%::rancid_fish} + +every 12 seconds: + loop all players in world "TacoCart": + {taco.game.status.%loop-player's world%} is false: + loop {taco.readycheck.%world%::*}: + set {_slot} to loop-index + {_slot} is set: + add 1 to {_count} + {_count} is greater than 1: + set {_start} to true + {_start} is true: + loop {taco.readycheck.%world%::*}: + set {_slot} to loop-index + set {taco.player.%world%::%{_slot}%} to loop-value + send "Game starts in 10 seconds." to {taco.player.%world%::*} + wait 5 seconds + send "Game starts in 5 seconds." to {taco.player.%world%::*} + wait 1 second + send "4" to {taco.player.%world%::*} + wait 1 second + send "3" to {taco.player.%world%::*} + wait 1 second + send "2" to {taco.player.%world%::*} + wait 1 second + send "1" to {taco.player.%world%::*} + wait 1 second + send "It has begun!" to {taco.player.%world%::*} + set {taco.game.status.%world%} to true + set {taco.game.timer.%world%} to now + set {_vtime} to "%{taco.variables::game_minutes.time}% minutes" parsed as timespan + add {_vtime} to {taco.game.timer.%world%} + loop {taco.player.%world%::*}: + clear inventory of loop-value + clear {taco.timers.%loop-value%::*} + set {taco.%loop-value%.score.%world%} to 0 + set {taco.timers.%loop-value%::grain} to now + set {taco.timers.%loop-value%::soft_shell} to now + set {taco.timers.%loop-value%::hard_shell} to now + set {taco.timers.%loop-value%::whole_tomato} to now + set {taco.timers.%loop-value%::diced_tomato} to now + set {taco.timers.%loop-value%::block_of_cheese} to now + set {taco.timers.%loop-value%::shredded_cheese} to now + set {taco.timers.%loop-value%::raw_onion} to now + set {taco.timers.%loop-value%::diced_onion} to now + set {taco.timers.%loop-value%::head_of_lettuce} to now + set {taco.timers.%loop-value%::shredded_lettuce} to now + set {taco.timers.%loop-value%::raw_fish} to now + set {taco.timers.%loop-value%::cooked_fish} to now + set {taco.timers.%loop-value%::raw_chicken} to now + set {taco.timers.%loop-value%::cooked_chicken} to now + set {taco.timers.%loop-value%::raw_beef} to now + set {taco.timers.%loop-value%::steak} to now + set {taco.timers.%loop-value%::sheep} to now + loop {taco.1.gate1.%world%::*}: + set {_change} to loop-value + set block 2 meters above {_change} to air + loop {taco.2.gate1.%world%::*}: + set {_change} to loop-value + set block 2 meters above {_change} to air + spawn sheep 1 meter above {keystone.%world%} + set name of spawned sheep to "&dPinky" + stop + +every 10 seconds: + loop all players in world "TacoCart": + {taco.game.status.%loop-player's world%} is true: + loop {taco.player.%loop-player's world%::*}: + set {_p.num} to loop-index + set {_level} to level of {taco.player.%loop-player's world%::%{_p.num}%} + loop {taco.p%{_p.num}%.spawns.%loop-player's world%::*}: + set {_villager.check} to false + set {_place} to loop-value + set {_slot} to loop-index + loop entities in radius 2 around block at loop-value: + loop-entity is a villager: + set {_villager.check} to true + {_villager.check} is false: + set {_ran} to random integer between 1 and 30 + spawn villager 1 meter above {_place} + set {_name} to {taco.villager.name::%{_ran}%} + set name of spawned villager to "%{_name}%" + set {taco.p%{_p.num}%.customer.%loop-player's world%::%{_slot}%} to "%{_name}%" + set {_order} to random integer between 1 and 24 + set {_order2} to "receipt%{_order}%" + set {taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%} to "%{_order2}%" + send "&9%{_name}%:&f Hey buddy, can I get a %{taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::1}% %{taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::2}% taco with %{taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::3}%, %{taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::4}% & %{taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::5}% please." to {taco.player.%loop-player's world%::%{_p.num}%} + spawned villager is of type farmer: + set {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} to now + set {_mult} to {taco.variables::farmer.time} * {taco.level::%{_level}%} + set {_timeset} to "%{_mult}% seconds" parsed as timespan + add {_timeset} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} + spawned villager is of type priest: + set {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} to now + set {_mult} to {taco.variables::priest.time} * {taco.level::%{_level}%} + set {_timeset} to "%{_mult}% seconds" parsed as timespan + add {_timeset} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} + spawned villager is of type butcher: + set {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} to now + set {_mult} to {taco.variables::butcher.time} * {taco.level::%{_level}%} + set {_timeset} to "%{_mult}% seconds" parsed as timespan + add {_timeset} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} + spawned villager is of type blacksmith: + set {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} to now + set {_mult} to {taco.variables::blacksmith.time} * {taco.level::%{_level}%} + set {_timeset} to "%{_mult}% seconds" parsed as timespan + add {_timeset} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} + spawned villager is of type librarian: + set {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} to now + set {_mult} to {taco.variables::librarian.time} * {taco.level::%{_level}%} + set {_timeset} to "%{_mult}% seconds" parsed as timespan + add {_timeset} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} + stop + +every 30 seconds: + loop all players in world "TacoCart": + {taco.game.status.%loop-player's world%} is true: + loop {taco.player.%loop-player's world%::*}: + set {_p.num} to loop-index + loop all entities in radius 10 around block at {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: + loop-entity is a dropped item: + add 1 to {_rancid} + add {_rancid} to {_roach.spawn::*} + add 1 to {_meat.count} + set {_meat.spawn::%{_meat.count}%} to location of loop-entity + delete loop-entity + loop-entity is player: + add loop-entity to {_players::*} + loop {_roach.spawn::*}: + spawn silverfish 2 meters above location of {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen} + set name of spawned silverfish to "Roach" + {_rancid} is 1: + send "Oh nooooo, a roach!" to {_players::*} + {_rancid} is greater than 1: + send "Oh nooooo, %{_rancid}% roaches!" to {_players::*} + clear {_players::*} + clear {_roach.spawn::*} + set {_rancid} to 0 + stop + +#subfold tacocart1 + +every 1 second: + loop all players in world "tacocart1": + {taco.game.status.%loop-player's world%} is true: + loop {taco.player.%loop-player's world%::*}: + set {_p.num} to loop-index + loop {taco.p%{_p.num}%.signs.%loop-player's world%::*}: + set {_next} to false + set {_sign} to block at location of loop-value + set {_slot} to loop-index + set {_timecheck} to now + set {_ttm} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} + subtract 20 seconds from {_ttm} + set {_ing1} to {taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::1} + set {_ing2} to {taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::2} + set {_ing3} to {taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::3} + set {_ing4} to {taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::4} + set {_ing5} to {taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::5} + {_timecheck} is greater than {_ttm}: + set line 1 of {_sign} to "&4%{_ing1}% %{_ing2}%" + set line 2 of {_sign} to "&4%{_ing3}%" + set line 3 of {_sign} to "&4%{_ing4}%" + set line 4 of {_sign} to "&4%{_ing5}%" + set {_next} to true + {_timecheck} is greater than {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%}: + set line 1 of {_sign} to "&4----------" + set line 2 of {_sign} to "&4----------" + set line 3 of {_sign} to "&4----------" + set line 4 of {_sign} to "&4----------" + set {_next} to true + {_next} is false: + set line 1 of {_sign} to "%{_ing1}% %{_ing2}%" + set line 2 of {_sign} to "%{_ing3}%" + set line 3 of {_sign} to "%{_ing4}%" + set line 4 of {_sign} to "%{_ing5}%" + stop + +every 1 second: + loop all players in world "tacocart1": + {taco.game.status.%loop-player's world%} is true: + loop {taco.player.%loop-player's world%::*}: + set {_p.num} to loop-index + loop {taco.p%{_p.num}%.customer.timer.%loop-player's world%::*}: + set {_ran} to random integer between 1 and 10 + set {_slot} to loop-index + set {_timecheck} to now + {_timecheck} is greater than {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%}: + loop entities in radius 2 around block at {taco.p%{_p.num}%.spawns.%loop-player's world%::%{_slot}%}: + loop-entity is a villager: + send "&9%{taco.p%{_p.num}%.customer.%loop-player's world%::%{_slot}%}%:&f %{taco.timeout::%{_ran}%}%" to {taco.player.%loop-player's world%::%{_p.num}%} + delete loop-entity + stop + +every 1 second: + loop all players in world "tacocart1": + {taco.game.status.%loop-player's world%} is true: + {toggle.sb.%loop-player%} is not set: + set {toggle.sb.%loop-player%} to true + {toggle.sb.%loop-player%} is false: + set {toggle.sb.%loop-player%} to true + {toggle.sb.%loop-player%} is true: + {board.up.%loop-player%.tc} is not set: + set {board.up.%loop-player%.tc} to false + {board.up.%loop-player%.tc} is true: + {taco.player.%loop-player's world%::1} is "%loop-player%": + make score "&aYou:" in board of loop-player to {taco.%loop-player%.score.%loop-player's world%} + make score "&cThem:" in board of loop-player to {taco.%{taco.player.%loop-player's world%::2}%.score.%loop-player's world%} + {taco.player.%loop-player's world%::2} is "%loop-player%": + make score "&aYou:" in board of loop-player to {taco.%loop-player%.score.%loop-player's world%} + make score "&cThem:" in board of loop-player to {taco.%{taco.player.%loop-player's world%::1}%.score.%loop-player's world%} + {board.up.%loop-player%.tc} is false: + {taco.player.%loop-player's world%::1} is "%loop-player%": + display board named "&9&lTaco Cart" to loop-player + make score "&aYou:" in board of loop-player to {taco.%loop-player%.score.%loop-player's world%} + make score "&cThem:" in board of loop-player to {taco.%{taco.player.%loop-player's world%::2}%.score.%loop-player's world%} + move display of loop-player to sidebar + {taco.player.%loop-player's world%::2} is "%loop-player%": + display board named "&9&lTaco Cart" to loop-player + make score "&aYou:" in board of loop-player to {taco.%loop-player%.score.%loop-player's world%} + make score "&cThem:" in board of loop-player to {taco.%{taco.player.%loop-player's world%::1}%.score.%loop-player's world%} + move display of loop-player to sidebar + {taco.game.status.%loop-player's world%} is false: + display board named "" to loop-player + move display of loop-player to sidebar + +every 1 second: + loop all players in world "tacocart1": + set {_tc} to now + {taco.game.status.%loop-player's world%} is true: + {_tc} is greater than {taco.game.timer.%loop-player's world%}: + set {taco.game.status.%loop-player's world%} to false + send "Times up!" to {taco.player.%loop-player's world%::*} + set {_p1} to {taco.player.%loop-player's world%::1} parsed as a player + set {_p2} to {taco.player.%loop-player's world%::2} parsed as a player + set {_p1score} to {taco.%{_p1}%.score.%loop-player's world%} + set {_p2score} to {taco.%{_p2}%.score.%loop-player's world%} + {_p1score} is greater than {_p2score}: + set {_winner} to 3 * {_p1score} + add {_winner} to {_p1}'s balance + send "&aYou have won &e%{_winner}% Tickets&a!" to {_p1} + send "&aYou now have &e%{_p1}'s balance%" to {_p1} + log "%{_p1}%^ADD^%{_winner}%^%{_p1}'s balance%^Winner Prize" to "tickets/tacocart.log" + add {_p2score} to {_p2}'s balance + send "&aYou have won &e%{_p2score}% Tickets&a!" to {_p2} + send "&aYou now have &e%{_p2}'s balance%" to {_p2} + log "%{_p2}%^ADD^%{_p2score}%^%{_p2}'s balance%^Loser Prize" to "tickets/tacocart.log" + {_p2score} is greater than {_p1score}: + set {_winner} to 3 * {_p2score} + add {_winner} to {_p2}'s balance + send "&aYou have won &e%{_winner}% Tickets&a!" to {_p2} + send "&aYou now have &e%{_p2}'s balance%" to {_p2} + log "%{_p2}%^ADD^%{_winner}%^%{_p2}'s balance%^Winner Prize" to "tickets/tacocart.log" + add {_p1score} to {_p1}'s balance + send "&aYou have won &e%{_p1score}% Tickets&a!" to {_p1} + send "&aYou now have &e%{_p1}'s balance%" to {_p1} + log "%{_p1}%^ADD^%{_p1score}%^%{_p1}'s balance%^Loser Prize" to "tickets/tacocart.log" + {_p1score} is equal to {_p2score}: + set {_winner} to 2 * {_p1score} + add {_winner} to {_p1}'s balance + send "&aYou have won &e%{_winner}% Tickets&a!" to {_p1} + send "&aYou now have &e%{_p1}'s balance%" to {_p1} + log "%{_p1}%^ADD^%{_winner}%^%{_p1}'s balance%^Tie Prize" to "tickets/tacocart.log" + set {_winner} to 2 * {_p2score} + add {_winner} to {_p2}'s balance + send "&aYou have won &e%{_winner}% Tickets&a!" to {_p2} + send "&aYou now have &e%{_p2}'s balance%" to {_p2} + log "%{_p2}%^ADD^%{_winner}%^%{_p2}'s balance%^Tie Prize" to "tickets/tacocart.log" + loop {taco.1.gate1.%loop-player's world%::*}: + set {_change} to loop-value + set block 2 meters above {_change} to nether fence + loop {taco.2.gate1.%loop-player's world%::*}: + set {_change} to loop-value + set block 2 meters above {_change} to fence + loop {taco.player.%loop-player's world%::*}: + set {board.up.%loop-value%.tc} to false + clear {taco.p1.customer.timer.%loop-player's world%::*} + clear {taco.p2.customer.timer.%loop-player's world%::*} + clear {taco.p1.customer.%loop-player's world%::*} + clear {taco.p2.customer.%loop-player's world%::*} + set {taco.%{taco.player.%loop-player's world%::1}%.score.%loop-player's world%} to 0 + set {taco.%{taco.player.%loop-player's world%::2}%.score.%loop-player's world%} to 0 + clear {taco.player.%loop-player's world%::*} + loop all entities in loop-player's world: + loop-entity-2 is a dropped item: + delete loop-entity-2 + loop-entity-2 is a villager: + delete loop-entity-2 + loop-entity-2 is a sheep: + delete loop-entity-2 + stop + +every 5 seconds: + loop all players in world "tacocart1": + {taco.game.status.%loop-player's world%} is true: + loop {taco.player.%loop-player's world%::*}: + set {_p.num} to loop-index + loop all entities in radius 10 around block at {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: + loop-entity is a silverfish: + add 1 to {_silver} + loop-entity is player: + add loop-entity to {_players::*} + {_silver} is greater than 20: + loop all entities in radius 10 around block at {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: + loop-entity is a silverfish: + delete loop-entity + loop-entity is rancid meat: + delete loop-entity + spawn witch 2 meters above location of {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen} + set name of spawned witch to "&cBoard of Health" + set the walk speed of the spawned witch to 0.1 + message "&cBoard of Health:&f Health inspection, mind if I have a look around?" to {_players::*} + loop all blocks in radius 10 of {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: + loop-block is daylight sensor: + set {_go} to location 1 meter above loop-block + make spawned witch home towards {_go} + exit loop + wait 2 seconds + message "&cBoard of Health:&f Hmmm, what's this? A dirty tomato dicer?" to {_players::*} + wait 2 seconds + loop all blocks in radius 10 of {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: + loop-block is cauldron: + set {_go} to location 1 meter above loop-block + make spawned witch home towards {_go} + exit loop + wait 2 seconds + message "&cBoard of Health:&f Oh my, when was the last time this sink has been cleaned?" to {_players::*} + wait 2 seconds + loop all blocks in radius 10 of {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: + loop-block is jukebox: + set {_go} to location 1 meter above loop-block + make spawned witch home towards {_go} + exit loop + wait 2 seconds + message "&cBoard of Health:&f Are these mice droppings behind your cheese shredder?" to {_players::*} + wait 2 seconds + set {_go} to location 2 meter above location at {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen} + make spawned witch home towards {_go} + wait 2 seconds + message "&cBoard of Health:&f This is just deplorable. I'm going to have to cite you!" to {_players::*} + wait 2 seconds + message "&cBoard of Health:&f I'll take these with me!" to {_players::*} + clear inventory of {taco.player.%loop-player's world%::%{_p.num}%} + loop all entities in radius 15 around block at {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: + loop-entity is a villager: + delete loop-entity + loop-entity is a dropped item: + delete loop-entity + loop-entity is a witch: + delete loop-entity + stop + +every 5 seconds: + loop all players in world "tacocart1": + {taco.game.status.%loop-player's world%} is true: + {taco.timers.%loop-player%::rancid_meat} is set: + set {_rancid.drop} to difference between {taco.timers.%loop-player%::rancid_meat} and now + {_rancid.drop} is greater than 30 seconds: + remove 1 raw beef from loop-player + drop 1 rancid meat named "Rancid Meat" at location of loop-player + send "Ohhh, what stinks in here?" to loop-player + clear {taco.timers.%loop-player%::rancid_meat} + {taco.timers.%loop-player%::rancid_chicken} is set: + set {_rancid.drop} to difference between {taco.timers.%loop-player%::rancid_chicken} and now + {_rancid.drop} is greater than 30 seconds: + remove 1 raw chicken from loop-player + drop 1 rancid meat named "Rancid Meat" at location of loop-player + send "Ohhh, what stinks in here?" to loop-player + clear {taco.timers.%loop-player%::rancid_chicken} + {taco.timers.%loop-player%::rancid_fish} is set: + set {_rancid.drop} to difference between {taco.timers.%loop-player%::rancid_fish} and now + {_rancid.drop} is greater than 30 seconds: + remove 1 raw fish from loop-player + drop 1 rancid meat named "Rancid Meat" at location of loop-player + send "Ohhh, what stinks in here?" to loop-player + clear {taco.timers.%loop-player%::rancid_fish} + +every 12 seconds: + loop all players in world "tacocart1": + {taco.game.status.%loop-player's world%} is false: + loop {taco.readycheck.%world%::*}: + set {_slot} to loop-index + {_slot} is set: + add 1 to {_count} + {_count} is greater than 1: + set {_start} to true + {_start} is true: + loop {taco.readycheck.%world%::*}: + set {_slot} to loop-index + set {taco.player.%world%::%{_slot}%} to loop-value + send "Game starts in 10 seconds." to {taco.player.%world%::*} + wait 5 seconds + send "Game starts in 5 seconds." to {taco.player.%world%::*} + wait 1 second + send "4" to {taco.player.%world%::*} + wait 1 second + send "3" to {taco.player.%world%::*} + wait 1 second + send "2" to {taco.player.%world%::*} + wait 1 second + send "1" to {taco.player.%world%::*} + wait 1 second + send "It has begun!" to {taco.player.%world%::*} + set {taco.game.status.%world%} to true + set {taco.game.timer.%world%} to now + set {_vtime} to "%{taco.variables::game_minutes.time}% minutes" parsed as timespan + add {_vtime} to {taco.game.timer.%world%} + loop {taco.player.%world%::*}: + clear inventory of loop-value + clear {taco.timers.%loop-value%::*} + set {taco.%loop-value%.score.%world%} to 0 + set {taco.timers.%loop-value%::grain} to now + set {taco.timers.%loop-value%::soft_shell} to now + set {taco.timers.%loop-value%::hard_shell} to now + set {taco.timers.%loop-value%::whole_tomato} to now + set {taco.timers.%loop-value%::diced_tomato} to now + set {taco.timers.%loop-value%::block_of_cheese} to now + set {taco.timers.%loop-value%::shredded_cheese} to now + set {taco.timers.%loop-value%::raw_onion} to now + set {taco.timers.%loop-value%::diced_onion} to now + set {taco.timers.%loop-value%::head_of_lettuce} to now + set {taco.timers.%loop-value%::shredded_lettuce} to now + set {taco.timers.%loop-value%::raw_fish} to now + set {taco.timers.%loop-value%::cooked_fish} to now + set {taco.timers.%loop-value%::raw_chicken} to now + set {taco.timers.%loop-value%::cooked_chicken} to now + set {taco.timers.%loop-value%::raw_beef} to now + set {taco.timers.%loop-value%::steak} to now + set {taco.timers.%loop-value%::sheep} to now + loop {taco.1.gate1.%world%::*}: + set {_change} to loop-value + set block 2 meters above {_change} to air + loop {taco.2.gate1.%world%::*}: + set {_change} to loop-value + set block 2 meters above {_change} to air + spawn sheep 1 meter above {keystone.%world%} + set name of spawned sheep to "&dPinky" + stop + +every 10 seconds: + loop all players in world "tacocart1": + {taco.game.status.%loop-player's world%} is true: + loop {taco.player.%loop-player's world%::*}: + set {_p.num} to loop-index + set {_level} to level of {taco.player.%loop-player's world%::%{_p.num}%} + loop {taco.p%{_p.num}%.spawns.%loop-player's world%::*}: + set {_villager.check} to false + set {_place} to loop-value + set {_slot} to loop-index + loop entities in radius 2 around block at loop-value: + loop-entity is a villager: + set {_villager.check} to true + {_villager.check} is false: + set {_ran} to random integer between 1 and 30 + spawn villager 1 meter above {_place} + set {_name} to {taco.villager.name::%{_ran}%} + set name of spawned villager to "%{_name}%" + set {taco.p%{_p.num}%.customer.%loop-player's world%::%{_slot}%} to "%{_name}%" + set {_order} to random integer between 1 and 24 + set {_order2} to "receipt%{_order}%" + set {taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%} to "%{_order2}%" + send "&9%{_name}%:&f Hey buddy, can I get a %{taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::1}% %{taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::2}% taco with %{taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::3}%, %{taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::4}% & %{taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::5}% please." to {taco.player.%loop-player's world%::%{_p.num}%} + spawned villager is of type farmer: + set {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} to now + set {_mult} to {taco.variables::farmer.time} * {taco.level::%{_level}%} + set {_timeset} to "%{_mult}% seconds" parsed as timespan + add {_timeset} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} + spawned villager is of type priest: + set {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} to now + set {_mult} to {taco.variables::priest.time} * {taco.level::%{_level}%} + set {_timeset} to "%{_mult}% seconds" parsed as timespan + add {_timeset} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} + spawned villager is of type butcher: + set {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} to now + set {_mult} to {taco.variables::butcher.time} * {taco.level::%{_level}%} + set {_timeset} to "%{_mult}% seconds" parsed as timespan + add {_timeset} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} + spawned villager is of type blacksmith: + set {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} to now + set {_mult} to {taco.variables::blacksmith.time} * {taco.level::%{_level}%} + set {_timeset} to "%{_mult}% seconds" parsed as timespan + add {_timeset} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} + spawned villager is of type librarian: + set {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} to now + set {_mult} to {taco.variables::librarian.time} * {taco.level::%{_level}%} + set {_timeset} to "%{_mult}% seconds" parsed as timespan + add {_timeset} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} + stop + +every 30 seconds: + loop all players in world "tacocart1": + {taco.game.status.%loop-player's world%} is true: + loop {taco.player.%loop-player's world%::*}: + set {_p.num} to loop-index + loop all entities in radius 10 around block at {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: + loop-entity is a dropped item: + add 1 to {_rancid} + add {_rancid} to {_roach.spawn::*} + add 1 to {_meat.count} + set {_meat.spawn::%{_meat.count}%} to location of loop-entity + delete loop-entity + loop-entity is player: + add loop-entity to {_players::*} + loop {_roach.spawn::*}: + spawn silverfish 2 meters above location of {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen} + set name of spawned silverfish to "Roach" + {_rancid} is 1: + send "Oh nooooo, a roach!" to {_players::*} + {_rancid} is greater than 1: + send "Oh nooooo, %{_rancid}% roaches!" to {_players::*} + clear {_players::*} + clear {_roach.spawn::*} + set {_rancid} to 0 + stop + +#subfold tacocart2 + + +#subfold tacocart3 + + +#subfold tacocart4 + + +#subfold tacocart5 + + +#subfold tacocart6 + + +#subfold tacocart7 + + +#subfold tacocart8 + + +#subfold tacocart9 + + +#subfold tacocart10 + + +#endfold periodic + +#startfold commands + +command /tacohubsign [] [] []: + aliases: ths + permission: obam.admin + trigger: + player's world is "tacohub": + argument 1 is not set: + message "&3Current Settings" + message "&3Record = &f%{taco.sign.record}%" + message "&3World = &f%{taco.set.group}%" + argument 1 is "record" or "r": + argument 2 is not set: + message "&3Record is &f%{taco.sign.record}%" + argument 2 is "on": + set {taco.sign.record} to true + argument 2 is "off": + set {taco.sign.record} to false + argument 1 is "world" or "w": + argument 2 is not set: + message "&3Current world is &f%{taco.set.group}%" + set {taco.set.group} to argument 3 + message "&3Current world is &f%{taco.set.group}%" + message "&cThis command is used in the Taco Hub." + +on right click of a sign: + player's world is "tacohub": + player has permission obam.admin: + player's tool is stick: + {taco.sign.record} is true: + set location of sign to {_loc} + set {_new} to true + loop {taco.group.sign::%{taco.set.group}%::*}: + set {_index} to loop-index + {_loc} is loop-value: + set {_new} to false + set {_sign} to block at location of {_loc} + message "&3Teleport Sign &f%loop-index% &3of tacocart&f%{taco.set.group}% &3has been deleted." + delete {taco.group.sign::%{taco.set.group}%::%{_index}%} + set line 1 of {_sign} to "------------" + set line 2 of {_sign} to "------------" + set line 3 of {_sign} to "------------" + set line 4 of {_sign} to "------------" + {_new} is true: + set {taco.group.sign::%{taco.set.group}%::*} to {_loc} + loop {tacogroup.sign::%{taco.set.group}%::*}: + {_loc} is loop-value: + set {_sign} to block at location of {_loc} + message "&3Teleport Sign &f%loop-index% &3of tacocart&f%{taco.set.group}% &3set to &f%loop-value%&3." + set line 1 of {_sign} to "Taco Cart %{taco.set.group}%" + set line 2 of {_sign} to "------------" + set line 3 of {_sign} to "-- vs. --" + set line 4 of {_sign} to "------------" + stop + set location of sign to {_loc} + line 1 of sign is " + set { + set {_group} to + set {_world} to + loop {taco.group.sign::*}: + set {_world} to loop-index + loop {taco.group.sign::%{_world}%}: + {_loc} is loop-value-2: + set {_sign} to block at location of {_loc} + set {_path} to false + {taco.who.%{_world}%::1} is set: + {taco.who.%{_world}%::2} is set: + stop + set {_path} to true + set {taco.who.%{_world}%::2} to player + set line 4 of {_sign} to "%player%" + {_path} is false: + set {taco.who.%{_world}%::1} to player + set line 2 of {_sign} to "%player%" + +every 1 second: + loop {taco.group.list::*} + set {_group} to loop-index + set {_status.group} to loop-value + {_status.group} is available: + set {_found} to false + set {taco.group.list::%{_group}%} to used + set {_count} to 0 + loop {taco.world.list::*}: + add 1 to {_count} + set {_world} to loop-index-2 + set {_status.world} to loop-value-2 + {_status.world} is available: + set {_found} to true + set {taco.world.list::%{_world}%} to used + loop {taco.group.sign::%{_group}%}: + set {_sign} to block at location of loop-value-3 + set line 1 of {_sign} to "------------" + set line 2 of {_sign} to "-- vs. --" + set line 3 of {_sign} to "------------" + set line 4 of {_sign} to "[ %{_group}% - %{_world}% ]" + execute console command "mv clone tacocart tacocart%{_world}%" + execute console command "mvm set monsters false" + execute console command "mvm set weather false" + execute console command "mvm set animals false" + {_found} is false: + add 1 to {_count} + set {taco.world.list::%{_count}%} to used + loop {taco.group.sign::%{_group}%}: + set {_sign} to block at location of loop-value-4 + set line 1 of {_sign} to "------------" + set line 2 of {_sign} to "-- vs. --" + set line 3 of {_sign} to "------------" + set line 4 of {_sign} to "[ %{_group}% - %{_count}% ]" + execute console command "mv clone tacocart tacocart%{_count}%" + execute console command "mv monsters false" + execute console command "mv weather false" + execute console command "mv animals false" + + + + execute console command "mv tp %player% tacocart%{_world}%" + message "&3Sending you to your Taco Cart." + {taco.who.%{_world}%.1} is set: + set {taco.who.%{_world}%.2} to player + + stop +# teleport loop-player to {hptp.{@coursename.%script%}} + +command /tacovariables [] [] []: + aliases: tv + permission: obam.admin + trigger: + argument 1 is not set: + message "&cOptions are: list, add, change, delete" + stop + argument 1 is "help" or "h": + message "&cOptions are: list, add, change, delete" + stop + argument 1 is "list" or "l": + set {_index.count} to 0 + set {_count} to 0 + loop {taco.variables::*}: + add 1 to {_index.count} + set {_tpages} to round ({_index.count} / 10) + argument 2 is not set: + set {_page} to 1 + {_page} is not set: + set {_page} to argument 2 parsed as number + {_page} is greater than {_tpages}: + message "&cNot a valid page. There are currently &f%{_tpages}%&c available." + stop + set {_stop} to {_page} * 10 + set {_start} to {_stop} - 9 + message "&3Current Taco Timers &fPage %{_page}% / %{_tpages}%" + loop {taco.variables::*}: + add 1 to {_count} + {_count} is {_start}: + set {_report} to true + {_report} is true: + message "&f%{_count}% - &6%loop-index% &f- &6%loop-value%" + {_count} is {_index.count}: + message "&3End of List" + stop + {_count} is {_stop}: + stop + argument 1 is "add" or "a": + argument 2 is not set: + message "&cAdd what?" + stop + {taco.variables::%argument 2%} is set: + message "&6%argument 2%&c is already set to &6%{taco.variables::%argument 2%}%&c. Try changing it." + stop + argument 3 is not set: + message "&cAnd what is &6%argument 2%&c supposed to be set to?" + stop + set {taco.variables::%argument 2%} to argument 3 + message "&cYou have set &6%argument 2%&c to be set to&6%argument 3%&c?" + stop + argument 1 is "change" or "c": + argument 2 is not set: + message "&cChange what?" + stop + {taco.variables::%argument 2%} is not set: + message "&6%argument 2%&c does not have a timer yet. Please set one first." + stop + argument 3 is not set: + message "&cYou are changing &6%argument 2%&c from &6%{taco.variables::%argument 2%}%&c to what?" + stop + set {_old} to {taco.variables::%argument 2%} + set {taco.variables::%argument 2%} to argument 3 + message "&cYou have changed &6%argument 2%&c from &6%{_old}%&c to &6%{taco.variables::%argument 2%}%&c." + stop + argument 1 is "delete" or "d": + argument 2 is not set: + message "&cDelete what?" + {taco.variables::%argument 2%} is not set: + message "&6%argument 2%&c does not exist. Please check your spelling and retry." + stop + delete {taco.variables::%argument 2%} + message "&cYou have deleted &6%argument 2%&c." + +#subfold Tacoset + +command /tacoset: + permission: obam.admin + trigger: + world is "TacoCart": + set {taco.villager.name::1} to "Bob" + set {taco.villager.name::2} to "Shawna" + set {taco.villager.name::3} to "Anakin" + set {taco.villager.name::4} to "Aralynn" + set {taco.villager.name::5} to "Dalton" + set {taco.villager.name::6} to "Jeremy" + set {taco.villager.name::7} to "Jack" + set {taco.villager.name::8} to "Troy" + set {taco.villager.name::9} to "Joe" + set {taco.villager.name::10} to "Justin" + set {taco.villager.name::11} to "Jim" + set {taco.villager.name::12} to "Kelly" + set {taco.villager.name::13} to "Katherine" + set {taco.villager.name::14} to "Stevo" + set {taco.villager.name::15} to "Cornelius" + set {taco.villager.name::16} to "Patrick" + set {taco.villager.name::17} to "Ian" + set {taco.villager.name::18} to "Olivia" + set {taco.villager.name::19} to "Donna" + set {taco.villager.name::20} to "Jarod" + set {taco.villager.name::21} to "Sue" + set {taco.villager.name::22} to "Nick" + set {taco.villager.name::23} to "Bill" + set {taco.villager.name::24} to "Connie" + set {taco.villager.name::25} to "Irene" + set {taco.villager.name::26} to "Scott" + set {taco.villager.name::27} to "Earl" + set {taco.villager.name::28} to "Roy" + set {taco.villager.name::29} to "Precious" + set {taco.villager.name::30} to "Jenkins" + set {taco.receipt1::1} to "Soft" + set {taco.receipt1::2} to "Chicken" + set {taco.receipt1::3} to "Cheese" + set {taco.receipt1::4} to "Lettuce" + set {taco.receipt1::5} to "Onion" + set {taco.receipt1::6} to {@receipt1} + set {taco.receipt2::1} to "Soft" + set {taco.receipt2::2} to "Chicken" + set {taco.receipt2::3} to "Cheese" + set {taco.receipt2::4} to "Lettuce" + set {taco.receipt2::5} to "Tomato" + set {taco.receipt2::6} to {@receipt2} + set {taco.receipt3::1} to "Soft" + set {taco.receipt3::2} to "Chicken" + set {taco.receipt3::3} to "Cheese" + set {taco.receipt3::4} to "Onion" + set {taco.receipt3::5} to "Tomato" + set {taco.receipt3::6} to {@receipt3} + set {taco.receipt4::1} to "Soft" + set {taco.receipt4::2} to "Chicken" + set {taco.receipt4::3} to "Lettuce" + set {taco.receipt4::4} to "Onion" + set {taco.receipt4::5} to "Tomato" + set {taco.receipt4::6} to {@receipt4} + set {taco.receipt5::1} to "Soft" + set {taco.receipt5::2} to "Beef" + set {taco.receipt5::3} to "Cheese" + set {taco.receipt5::4} to "Lettuce" + set {taco.receipt5::5} to "Onion" + set {taco.receipt5::6} to {@receipt5} + set {taco.receipt6::1} to "Soft" + set {taco.receipt6::2} to "Beef" + set {taco.receipt6::3} to "Cheese" + set {taco.receipt6::4} to "Lettuce" + set {taco.receipt6::5} to "Tomato" + set {taco.receipt6::6} to {@receipt6} + set {taco.receipt7::1} to "Soft" + set {taco.receipt7::2} to "Beef" + set {taco.receipt7::3} to "Cheese" + set {taco.receipt7::4} to "Onion" + set {taco.receipt7::5} to "Tomato" + set {taco.receipt7::6} to {@receipt7} + set {taco.receipt8::1} to "Soft" + set {taco.receipt8::2} to "Beef" + set {taco.receipt8::3} to "Lettuce" + set {taco.receipt8::4} to "Onion" + set {taco.receipt8::5} to "Tomato" + set {taco.receipt8::6} to {@receipt8} + set {taco.receipt9::1} to "Soft" + set {taco.receipt9::2} to "Fish" + set {taco.receipt9::3} to "Cheese" + set {taco.receipt9::4} to "Lettuce" + set {taco.receipt9::5} to "Onion" + set {taco.receipt9::6} to {@receipt9} + set {taco.receipt10::1} to "Soft" + set {taco.receipt10::2} to "Fish" + set {taco.receipt10::3} to "Cheese" + set {taco.receipt10::4} to "Lettuce" + set {taco.receipt10::5} to "Tomato" + set {taco.receipt10::6} to {@receipt10} + set {taco.receipt11::1} to "Soft" + set {taco.receipt11::2} to "Fish" + set {taco.receipt11::3} to "Cheese" + set {taco.receipt11::4} to "Onion" + set {taco.receipt11::5} to "Tomato" + set {taco.receipt11::6} to {@receipt11} + set {taco.receipt12::1} to "Soft" + set {taco.receipt12::2} to "Fish" + set {taco.receipt12::3} to "Lettuce" + set {taco.receipt12::4} to "Onion" + set {taco.receipt12::5} to "Tomato" + set {taco.receipt12::6} to {@receipt12} + set {taco.receipt13::1} to "Hard" + set {taco.receipt13::2} to "Chicken" + set {taco.receipt13::3} to "Cheese" + set {taco.receipt13::4} to "Lettuce" + set {taco.receipt13::5} to "Onion" + set {taco.receipt13::6} to {@receipt13} + set {taco.receipt14::1} to "Hard" + set {taco.receipt14::2} to "Chicken" + set {taco.receipt14::3} to "Cheese" + set {taco.receipt14::4} to "Lettuce" + set {taco.receipt14::5} to "Tomato" + set {taco.receipt14::6} to {@receipt14} + set {taco.receipt15::1} to "Hard" + set {taco.receipt15::2} to "Chicken" + set {taco.receipt15::3} to "Cheese" + set {taco.receipt15::4} to "Onion" + set {taco.receipt15::5} to "Tomato" + set {taco.receipt15::6} to {@receipt15} + set {taco.receipt16::1} to "Hard" + set {taco.receipt16::2} to "Chicken" + set {taco.receipt16::3} to "Lettuce" + set {taco.receipt16::4} to "Onion" + set {taco.receipt16::5} to "Tomato" + set {taco.receipt16::6} to {@receipt16} + set {taco.receipt17::1} to "Hard" + set {taco.receipt17::2} to "Beef" + set {taco.receipt17::3} to "Cheese" + set {taco.receipt17::4} to "Lettuce" + set {taco.receipt17::5} to "Onion" + set {taco.receipt17::6} to {@receipt17} + set {taco.receipt18::1} to "Hard" + set {taco.receipt18::2} to "Beef" + set {taco.receipt18::3} to "Cheese" + set {taco.receipt18::4} to "Lettuce" + set {taco.receipt18::5} to "Tomato" + set {taco.receipt18::6} to {@receipt18} + set {taco.receipt19::1} to "Hard" + set {taco.receipt19::2} to "Beef" + set {taco.receipt19::3} to "Cheese" + set {taco.receipt19::4} to "Onion" + set {taco.receipt19::5} to "Tomato" + set {taco.receipt19::6} to {@receipt19} + set {taco.receipt20::1} to "Hard" + set {taco.receipt20::2} to "Beef" + set {taco.receipt20::3} to "Lettuce" + set {taco.receipt20::4} to "Onion" + set {taco.receipt20::5} to "Tomato" + set {taco.receipt20::6} to {@receipt20} + set {taco.receipt21::1} to "Hard" + set {taco.receipt21::2} to "Fish" + set {taco.receipt21::3} to "Cheese" + set {taco.receipt21::4} to "Lettuce" + set {taco.receipt21::5} to "Onion" + set {taco.receipt21::6} to {@receipt21} + set {taco.receipt22::1} to "Hard" + set {taco.receipt22::2} to "Fish" + set {taco.receipt22::3} to "Cheese" + set {taco.receipt22::4} to "Lettuce" + set {taco.receipt22::5} to "Tomato" + set {taco.receipt22::6} to {@receipt22} + set {taco.receipt23::1} to "Hard" + set {taco.receipt23::2} to "Fish" + set {taco.receipt23::3} to "Cheese" + set {taco.receipt23::4} to "Onion" + set {taco.receipt23::5} to "Tomato" + set {taco.receipt23::6} to {@receipt23} + set {taco.receipt24::1} to "Hard" + set {taco.receipt24::2} to "Fish" + set {taco.receipt24::3} to "Lettuce" + set {taco.receipt24::4} to "Onion" + set {taco.receipt24::5} to "Tomato" + set {taco.receipt24::6} to {@receipt24} + set {taco.level::0} to 1 + set {taco.level::1} to 0.95 + set {taco.level::2} to 0.9 + set {taco.level::3} to 0.85 + set {taco.level::4} to 0.8 + set {taco.level::5} to 0.75 + set {taco.level::6} to 0.7 + set {taco.level::7} to 0.65 + set {taco.level::8} to 0.6 + set {taco.level::9} to 0.55 + set {taco.level::10} to 0.5 + set {taco.level::11} to 0.45 + set {taco.level::12} to 0.4 + set {taco.level::13} to 0.35 + set {taco.level::14} to 0.30 + set {taco.level::15} to 0.25 + set {taco.level::16} to 0.2 + set {taco.level::17} to 0.15 + set {taco.level::18} to 0.1 + set {taco.level::19} to 0.05 + set {taco.timeout::1} to "This is taking way to long. I'm out!" + set {taco.timeout::2} to "I should have went to Taco Smell. Later!" + set {taco.timeout::3} to "I've seen slimes move faster than that. Peace!" + set {taco.timeout::4} to "What has two thumbs and is sick of waiting? This guy." + set {taco.timeout::5} to "Oh, I guess I'm not as important as that guy. I'm not sticking around any longer." + set {taco.timeout::6} to "What is this, Snail Cart?" + set {taco.timeout::7} to "Roaches are one thing, but waiting this long? No thanks!" + set {taco.timeout::8} to "God, it's worse than waiting for Half-Life 3! I'm outta here!" + set {taco.timeout::9} to "Ummm, my work just called. Yeah that's it, work. Gotta run." + set {taco.timeout::10} to "I guess the rumours were right. I'm not waiting this long again." + set {taco.pinky::1} to "Where has that sheep ran off to this time?" + set {taco.pinky::2} to "Pinky, oh Pinky! Dinner time." + set {taco.pinky::3} to "Excuse me, have you seen my sheep around?" + set {taco.pinky::4} to "When I find that sheep......" + set {taco.pinky::5} to "Oh where is it? Pinky must have taken off with it again." + set {taco.horsey::1} to "Dang kids, get off my horse!" + set {taco.horsey::2} to "Mess with the horse and get the hoof, son!" + set {taco.horsey::3} to "No" + set {taco.horsey::4} to "Why don't you go fondle someone else's critters." + set {taco.horsey::5} to "If you're gonna just stand around, might as well pick up a shovel. This ain't no pettin zoo." + set {taco.correct::1} to "Wow, that tastes amazing!" + set {taco.correct::2} to "Thanks buddy, that hit the spot!" + set {taco.correct::3} to "Nom Nom Nom... Ohhhh God, that's good!" + set {taco.correct::4} to "Yummy, I could eat three more of those!" + set {taco.correct::5} to "Definitely liking this place on Fadbook!" + set {taco.incorrect::1} to "That is not what I ordered. I am leaving!" + set {taco.incorrect::2} to "Seriously, how hard is it to make a taco!" + set {taco.incorrect::3} to "My blind Grandma makes me what I want, why can't you?" + set {taco.incorrect::4} to "But... Wha...It's...I give up." + set {taco.incorrect::5} to "Is this cat food or something?" + set {taco.incorrect::6} to "Remember that time you got my order right? That was awesome!" + set {taco.villager_hit::1} to "Hey, who threw that?" + set {taco.villager_hit::2} to "Watch it, buddy!" + set {taco.villager_hit::3} to "Really, are we in kindergarten?" + set {taco.villager_hit::4} to "Stop it, that really hurts!" + set {taco.villager_hit::5} to "Umphhh! Whaa, why is dog and bugs now then Frank?" + message "All set" + +#subfold Keystone + +command /keystone []: + permission: obam.admin + trigger: + argument 1 is not set: + message "Current Keystone World Types" + message "Type : Command" + message "----------------------" + message "TacoCart : taco" + argument 1 is "taco": + "%player's world%" contains "Taco": + delete {keystone.%world%} + delete {taco.waypoint.%world%::*} + delete {taco.p1.spawns.%world%::*} + delete {taco.p1.spawns.%world%::*} + delete {taco.p1.signs.%world%::*} + delete {taco.p2.signs.%world%::*} + loop blocks in radius 10 of player: + loop-block is obsidian: + set {keystone.%world%} to location of loop-block + set {_loop1} to 1 + message "Keystone has been set to %{keystone.%world%}%" + exit loop + {_loop1} is not set: + message "No Keystone was found" + stop + loop blocks in radius 10 of {keystone.%world%}: + loop-block is cyan wool: + set {taco.waypoint.%world%::p1c1} to location of loop-block + set {taco.p1.spawns.%world%::1} to location of loop-block + set {_loop2} to 1 + message "Player 1 Customer 1 set" + exit loop + {_loop2} is not set: + message "Could not locate Player 1 Customer 1" + stop + loop blocks in radius 10 of {taco.waypoint.%world%::p1c1}: + loop-block is white wool: + set {taco.waypoint.%world%::p1c2} to location of loop-block + set {taco.p1.spawns.%world%::2} to location of loop-block + set {_loop3} to 1 + message "Player 1 Customer 2 set" + exit loop + {_loop3} is not set: + message "Could not locate Player 1 Customer 2" + stop + loop blocks in radius 10 of {taco.waypoint.%world%::p1c2}: + loop-block is red wool: + set {taco.waypoint.%world%::p1c3} to location of loop-block + set {taco.p1.spawns.%world%::3} to location of loop-block + set {_loop4} to 1 + message "Player 1 Customer 3 set" + exit loop + {_loop4} is not set: + message "Could not locate Player 1 Customer 3" + stop + loop blocks in radius 10 of {taco.waypoint.%world%::p1c2}: + loop-block is quartz ore: + set {taco.waypoint.%world%::p1kitchen} to location of loop-block + set {_loop5} to 1 + message "Player 1 Kitchen set" + exit loop + {_loop5} is not set: + message "Could not locate Player 1 Kitchen" + stop + loop blocks in radius 5 of {taco.waypoint.%world%::p1kitchen}: + loop-block is workbench: + set {taco.waypoint.%world%::p1bench} to location of loop-block + set {_loop20} to 1 + message "Player 1 Bench set" + exit loop + {_loop20} is not set: + message "Could not locate Player 1 Bench" + stop + loop blocks in radius 10 of {keystone.%world%}: + loop-block is light green wool: + set {taco.waypoint.%world%::p2c1} to location of loop-block + set {taco.p2.spawns.%world%::1} to location of loop-block + set {_loop6} to 1 + message "Player 2 Customer 1 set" + exit loop + {_loop6} is not set: + message "Could not locate Player 2 Customer 1" + stop + loop blocks in radius 10 of {taco.waypoint.%world%::p2c1}: + loop-block is black wool: + set {taco.waypoint.%world%::p2c2} to location of loop-block + set {taco.p2.spawns.%world%::2} to location of loop-block + set {_loop7} to 1 + message "Player 2 Customer 2 set" + exit loop + {_loop7} is not set: + message "Could not locate Player 2 Customer 2" + stop + loop blocks in radius 10 of {taco.waypoint.%world%::p2c2}: + loop-block is orange wool: + set {taco.waypoint.%world%::p2c3} to location of loop-block + set {taco.p2.spawns.%world%::3} to location of loop-block + set {_loop8} to 1 + message "Player 2 Customer 3 set" + exit loop + {_loop8} is not set: + message "Could not locate Player 2 Customer 3" + stop + loop blocks in radius 10 of {taco.waypoint.%world%::p2c2}: + loop-block is quartz ore: + set {taco.waypoint.%world%::p2kitchen} to location of loop-block + set {_loop9} to 1 + message "Player 2 Kitchen set" + exit loop + {_loop9} is not set: + message "Could not locate Player 2 Kitchen" + stop + loop blocks in radius 5 of {taco.waypoint.%world%::p2kitchen}: + loop-block is workbench: + set {taco.waypoint.%world%::p2bench} to location of loop-block + set {_loop21} to 1 + message "Player 2 Bench set" + exit loop + {_loop21} is not set: + message "Could not locate Player 2 Bench" + stop + loop blocks in radius 5 of {taco.waypoint.%world%::p1bench}: + loop-block is sign: + set {taco.p1.signs.%world%::3} to location of loop-block + message "%{taco.p1.signs.%world%::3}%" + set {taco.p1.signs.%world%::2} to the location 2 meters south of loop-block + message "%{taco.p1.signs.%world%::2}%" + set {taco.p1.signs.%world%::1} to the location 4 meters south of loop-block + message "%{taco.p1.signs.%world%::1}%" + set {_loop10} to 1 + message "Player 1 Signs set" + exit loop + {_loop10} is not set: + message "Could not locate Player 1 Signs" + stop + loop blocks in radius 7 of {taco.waypoint.%world%::p2bench}: + loop-block is sign: + set {taco.p2.signs.%world%::1} to location of loop-block + message "%{taco.p2.signs.%world%::1}%" + set {taco.p2.signs.%world%::2} to the location 2 meters south of loop-block + message "%{taco.p2.signs.%world%::2}%" + set {taco.p2.signs.%world%::3} to the location 4 meters south of loop-block + message "%{taco.p2.signs.%world%::3}%" + set {_loop11} to 1 + message "Player 2 Signs set" + exit loop + {_loop11} is not set: + message "Could not locate Player 2 Signs" + stop + loop blocks in radius 10 of {keystone.%world%}: + loop-block is melon: + set {taco.waypoint.%world%::p1j1} to location of loop-block + set {_loop12} to 1 + message "Player 1 Jumper 1 set" + exit loop + {_loop12} is not set: + message "Could not locate Player 1 Jumper 1" + stop + loop blocks in radius 8 of {taco.waypoint.%world%::p1j1}: + loop-block is sign: + set {taco.start.%world%::1} to location of loop-block + set {_loop13} to 1 + message "%{taco.start.%world%::1}%" + message "Player 1 Start Sign set" + exit loop + {_loop13} is not set: + message "Could not locate Player 1 Start Sign" + stop + set {_count} to 0 + loop blocks in radius 8 of {taco.waypoint.%world%::p1j1}: + loop-block is emerald block: + set {taco.1.gate1.%world%::%{_count}%} to location of loop-block + add 1 to {_count} + message "Player 1 Gate 1 Block %{_count}% set" + {_count} is 3: + set {_loop14} to 1 + exit loop + {_loop14} is not set: + message "Could not locate Player 1 Gate 1" + stop + set {_count} to 0 + loop blocks in radius 8 of {taco.waypoint.%world%::p1j1}: + loop-block is emerald ore: + set {taco.1.gate2.%world%::%{_count}%} to location of loop-block + add 1 to {_count} + message "Player 1 Gate 2 Block %{_count}% set" + {_count} is 3: + set {_loop15} to 1 + exit loop + {_loop15} is not set: + message "Could not locate Player 1 Gate 2" + stop + loop blocks in radius 10 of {keystone.%world%}: + loop-block is pumpkin: + set {taco.waypoint.%world%::p2j1} to location of loop-block + set {_loop16} to 1 + message "Player 2 Jumper 1 set" + exit loop + {_loop16} is not set: + message "Could not locate Player 2 Jumper 1" + stop + loop blocks in radius 8 of {taco.waypoint.%world%::p2j1}: + loop-block is sign: + set {taco.start.%world%::2} to location of loop-block + set {_loop16} to 1 + message "%{taco.start.%world%::2}%" + message "Player 2 Start Sign set" + exit loop + {_loop16} is not set: + message "Could not locate Player 2 Start Sign" + stop + set {_count} to 0 + loop blocks in radius 8 of {taco.waypoint.%world%::p2j1}: + loop-block is diamond block: + set {taco.2.gate1.%world%::%{_count}%} to location of loop-block + add 1 to {_count} + message "Player 2 Gate 1 Block %{_count}% set" + {_count} is 3: + set {_loop17} to 1 + exit loop + {_loop17} is not set: + message "Could not locate Player 2 Gate 1" + stop + set {_count} to 0 + loop blocks in radius 8 of {taco.waypoint.%world%::p2j1}: + loop-block is diamond ore: + set {taco.2.gate2.%world%::%{_count}%} to location of loop-block + add 1 to {_count} + message "Player 2 Gate 2 Block %{_count}% set" + {_count} is 3: + set {_loop18} to 1 + exit loop + {_loop18} is not set: + message "Could not locate Player 2 Gate 2" + stop + {_loop18} is set: + message "&3All Good!" + stop + message "You are not in the correct world for this Keystone command." + +#endfold + +#startfold testing + + +#Remove when live +command /killvill: + trigger: + "%player's world%" contains "Taco": + loop villagers in radius 3 of player: + delete loop-villager + loop entities in radius 10 of player: + loop-entity is a witch: + delete loop-entity +#Remove when live +command /looptest: + trigger: + loop blocks in radius 2 of {taco.waypoint.%world%::p1kitchen}: + message " Var Block %loop-block%" + loop dropped items in radius 4 of player: + message "Item %loop-dropped item%" + loop entities in radius 4 of player: + message "Entity %loop-entity%" + loop dropped items in radius 4 of {taco.waypoint.%world%::p1kitchen}: + message "Var Item %loop-dropped item%" + loop entities in radius 4 of {taco.waypoint.%world%::p1kitchen}: + message "Var Entity %loop-entity%" + loop dropped items in radius 4 around block at {taco.waypoint.%world%::p1kitchen}: + message "Fix Item %loop-dropped item%" + loop entities in radius 4 around block at {taco.waypoint.%world%::p1kitchen}: + message "Fix Entity %loop-entity%" + message "%{taco.waypoint.%world%::p1kitchen}%" +#Remove when live +command /flesh: + trigger: + "%player's world%" contains "Taco": + loop all dropped items in world: + delete loop-dropped item +command /players: + trigger: + "%player's world%" contains "Taco": + clear {taco.player.%world%::*} + set {_players} to 1 + loop all players in player's world: + {_players} is 3: + exit loop + add {_players} to {taco.player.%world%::*} + add loop-player to {taco.player.%world%::*} + set {taco.player.%world%::%{_players}%} to loop-player + message "You are Player %{_players}%" to loop-player + add 1 to {_players} + +command /scoreadd: + trigger: + add 1 to {taco.%player%.score.%world%} + message "%{taco.%player%.score.%world%}%" + +command /scoreclear: + trigger: + set {taco.%player%.score.%world%} to 0 + message "%{taco.%player%.score.%world%}%" + +command /boardbegone: + trigger: + display board named "" to player + +command /endgame: + trigger: + "%player's world%" contains "Taco": + subtract 10 minutes from {taco.game.timer.%world%} + message "Game time altered." + +command /gameinfo: + trigger: + message "Players are %{taco.player.%world%::*}%" + message "Time is %{taco.game.timer.%world%}%" + message "Status is %{taco.game.status.%world%}%" + + + +#endfold From 232cf951607278fa65bae5c26828d8a2da8eb921 Mon Sep 17 00:00:00 2001 From: ob1bob69 Date: Thu, 7 Aug 2014 00:31:57 -0400 Subject: [PATCH 18/22] Glorious update Modification to schat2 for the Glorious one. --- OBAM-Hub/schat2.hub.sk | 2 +- OBAM-Survival Games/OBAM-WTFronts/schat2.wtf.sk | 2 +- OBAM-Survival Games/Obam-Creative/schat2.creative.sk | 2 +- OBAM-Survival Games/Obam-Fronts/schat2.fronts.sk | 2 +- Obam-Mini Games/Obam-KitPvp/schat2.kit.sk | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/OBAM-Hub/schat2.hub.sk b/OBAM-Hub/schat2.hub.sk index aaa98b8..2950bdd 100644 --- a/OBAM-Hub/schat2.hub.sk +++ b/OBAM-Hub/schat2.hub.sk @@ -37,7 +37,7 @@ on join: on chat: cancel event - player is "IcecreamCow" or "Electric_Hamster" or "ISMOOCH": + player is "IcecreamCow" or "Electric_Hamster" or "ISMOOCH" or "GloriousKoch": set {_pre} to "{@p} &d[A] %player%" {_pre} is not set: player is "OrigamiJoe" or "Deathtomb8953": diff --git a/OBAM-Survival Games/OBAM-WTFronts/schat2.wtf.sk b/OBAM-Survival Games/OBAM-WTFronts/schat2.wtf.sk index f92efee..bc01d3a 100644 --- a/OBAM-Survival Games/OBAM-WTFronts/schat2.wtf.sk +++ b/OBAM-Survival Games/OBAM-WTFronts/schat2.wtf.sk @@ -37,7 +37,7 @@ on join: on chat: cancel event - player is "IcecreamCow" or "Electric_Hamster" or "ISMOOCH": + player is "IcecreamCow" or "Electric_Hamster" or "ISMOOCH" or "GloriousKoch": set {_pre} to "{@p} &d[A] %player%" {_pre} is not set: player is "OrigamiJoe" or "Deathtomb8953": diff --git a/OBAM-Survival Games/Obam-Creative/schat2.creative.sk b/OBAM-Survival Games/Obam-Creative/schat2.creative.sk index fc36613..7fb4c25 100644 --- a/OBAM-Survival Games/Obam-Creative/schat2.creative.sk +++ b/OBAM-Survival Games/Obam-Creative/schat2.creative.sk @@ -37,7 +37,7 @@ on join: on chat: cancel event - player is "IcecreamCow" or "Electric_Hamster" or "ISMOOCH": + player is "IcecreamCow" or "Electric_Hamster" or "ISMOOCH" or "GloriousKoch": set {_pre} to "{@p} &d[A] %player%" {_pre} is not set: player is "OrigamiJoe" or "Deathtomb8953": diff --git a/OBAM-Survival Games/Obam-Fronts/schat2.fronts.sk b/OBAM-Survival Games/Obam-Fronts/schat2.fronts.sk index 0b71f78..533f9c4 100644 --- a/OBAM-Survival Games/Obam-Fronts/schat2.fronts.sk +++ b/OBAM-Survival Games/Obam-Fronts/schat2.fronts.sk @@ -37,7 +37,7 @@ on join: on chat: cancel event - player is "IcecreamCow" or "Electric_Hamster" or "ISMOOCH": + player is "IcecreamCow" or "Electric_Hamster" or "ISMOOCH" or "GloriousKoch": set {_pre} to "{@p} &d[A] %player%" {_pre} is not set: player is "OrigamiJoe" or "Deathtomb8953": diff --git a/Obam-Mini Games/Obam-KitPvp/schat2.kit.sk b/Obam-Mini Games/Obam-KitPvp/schat2.kit.sk index b01919a..fdbe0ac 100644 --- a/Obam-Mini Games/Obam-KitPvp/schat2.kit.sk +++ b/Obam-Mini Games/Obam-KitPvp/schat2.kit.sk @@ -37,7 +37,7 @@ on join: on chat: cancel event - player is "IcecreamCow" or "Electric_Hamster" or "ISMOOCH": + player is "IcecreamCow" or "Electric_Hamster" or "ISMOOCH" or "GloriousKoch": set {_pre} to "{@p} &d[A] %player%" {_pre} is not set: player is "OrigamiJoe" or "Deathtomb8953": From 085750201122273f5a3581466f4c2e78bdfd0cfa Mon Sep 17 00:00:00 2001 From: ob1bob69 Date: Sat, 9 Aug 2014 19:45:02 -0400 Subject: [PATCH 19/22] Perks modification Added perks.sk modified pets.sk and hats.sk also, removed all ci items for parent scripts and moved to ci.sk for ease of reseting --- OBAM-Survival Games/Obam-Fronts/backpack.sk | 6 - OBAM-Survival Games/Obam-Fronts/ci.fronts.sk | 57 ++++++ .../Obam-Fronts/eggification.sk | 13 -- OBAM-Survival Games/Obam-Fronts/hottouch.sk | 3 - OBAM-Survival Games/Obam-Fronts/lightbow.sk | 3 - OBAM-Survival Games/Obam-Fronts/timber.sk | 1 - .../Global-Testing}/blocksave.sk | 0 .../Global-Testing}/dbtest.sk | 0 .../Global-Testing}/effect.sk | 0 .../Global-Testing}/enchnattest.sk | 0 .../Global-Testing}/firetest.sk | 0 .../Global-Testing}/powerpick.sk | 0 {Obam-Mass => Obam-Global}/aliases-english.sk | 0 {Obam-Mass => Obam-Global}/autohub.sk | 0 {Obam-Mass => Obam-Global}/hub.sk | 0 {Obam-Mass => Obam-Global}/itemcheck.sk | 0 {Obam-Mass => Obam-Global}/liv.sk | 0 {Obam-Mass => Obam-Global}/sudo.sk | 0 {Obam-Mass => Obam-Global}/tempclose.sk | 0 Obam-Perks/hats.sk | 162 +++++++++++------- Obam-Perks/perks.sk | 45 +++++ Obam-Perks/{sheep.sk => pets.sk} | 109 +++++++++--- 22 files changed, 284 insertions(+), 115 deletions(-) create mode 100644 OBAM-Survival Games/Obam-Fronts/ci.fronts.sk rename {Obam-Mass/Mass-Testing => Obam-Global/Global-Testing}/blocksave.sk (100%) rename {Obam-Mass/Mass-Testing => Obam-Global/Global-Testing}/dbtest.sk (100%) rename {Obam-Mass/Mass-Testing => Obam-Global/Global-Testing}/effect.sk (100%) rename {Obam-Mass/Mass-Testing => Obam-Global/Global-Testing}/enchnattest.sk (100%) rename {Obam-Mass/Mass-Testing => Obam-Global/Global-Testing}/firetest.sk (100%) rename {Obam-Mass/Mass-Testing => Obam-Global/Global-Testing}/powerpick.sk (100%) rename {Obam-Mass => Obam-Global}/aliases-english.sk (100%) rename {Obam-Mass => Obam-Global}/autohub.sk (100%) rename {Obam-Mass => Obam-Global}/hub.sk (100%) rename {Obam-Mass => Obam-Global}/itemcheck.sk (100%) rename {Obam-Mass => Obam-Global}/liv.sk (100%) rename {Obam-Mass => Obam-Global}/sudo.sk (100%) rename {Obam-Mass => Obam-Global}/tempclose.sk (100%) create mode 100644 Obam-Perks/perks.sk rename Obam-Perks/{sheep.sk => pets.sk} (53%) diff --git a/OBAM-Survival Games/Obam-Fronts/backpack.sk b/OBAM-Survival Games/Obam-Fronts/backpack.sk index d43ab74..949fdad 100644 --- a/OBAM-Survival Games/Obam-Fronts/backpack.sk +++ b/OBAM-Survival Games/Obam-Fronts/backpack.sk @@ -13,12 +13,6 @@ on script load: set {db_customitems::backpack} to {@crudepack} {count.backpacks} is not set: set {count.backpacks} to 1 - set {db_ci.items::01.Crude Pack} to "i;ink sack;n;&a&b&k&a&3Crude Pack;l;&6The crude version of||&6the backpack;c;sudo PLAYER bp g crudepack 1" - set {db_ci.items::10.Crude Pack} to "i;16 ink sack;n;&a&b&k&a&3Crude Pack;l;&6The crude version of||&6the backpack;c;sudo PLAYER bp g crudepack 16" - set {db_ci.items::19.Crude Pack} to "i;64 ink sack;n;&a&b&k&a&3Crude Pack;l;&6The crude version of||&6the backpack;c;sudo PLAYER bp g crudepack 64" - set {db_ci.items::02.Ender Pack} to "i;ender pearl;n;&a&b&k&a&3EnderPack;l;&6Open your Ender Chest||&6anywhere!|| ||&5&oRight Click to open||&5&oYour portable Ender Chest;c;sudo PLAYER bp g enderpack 1" - set {db_ci.items::11.Ender Pack} to "i;16 ender pearl;n;&a&b&k&a&3EnderPack;l;&6Open your Ender Chest||&6anywhere!|| ||&5&oRight Click to open||&5&oYour portable Ender Chest;c;sudo PLAYER bp g enderpack 16" - set {db_ci.items::20.Ender Pack} to "i;64 ender pearl;n;&a&b&k&a&3EnderPack;l;&6Open your Ender Chest||&6anywhere!|| ||&5&oRight Click to open||&5&oYour portable Ender Chest;c;sudo PLAYER bp g enderpack 64" on craft of ink sack: name of event-item is "&3Crude Pack" diff --git a/OBAM-Survival Games/Obam-Fronts/ci.fronts.sk b/OBAM-Survival Games/Obam-Fronts/ci.fronts.sk new file mode 100644 index 0000000..cddeac0 --- /dev/null +++ b/OBAM-Survival Games/Obam-Fronts/ci.fronts.sk @@ -0,0 +1,57 @@ +on script load: + set {db_ci.items::01.Crude Pack} to "i;ink sack;n;&a&b&k&a&3Crude Pack;l;&6The crude version of||&6the backpack;c;sudo PLAYER bp g crudepack 1" + set {db_ci.items::02.Ender Pack} to "i;ender pearl;n;&a&b&k&a&3EnderPack;l;&6Open your Ender Chest||&6anywhere!|| ||&5&oRight Click to open||&5&oYour portable Ender Chest;c;sudo PLAYER bp g enderpack 1" + set {db_ci.items::03.capture.ball} to "i;snowball;n;&3Projeggtile Capture Ball;l;&6Capture the essence of various creatures||&6by tossing your balls at them.;c;sudo PLAYER cb capture 1" + set {db_ci.items::04.creeper.ball} to "i;snowball;n;&3Projeggtile &2Creeper &3Ball;l;&6Heavily reinforced to prevent even the||&6most explosive creepers from escaping!;c;sudo PLAYER cb creeper 1" + set {db_ci.items::05.skeleton.ball} to "i;snowball;n;&3Projeggtile &7Skeleton &3Ball;l;&6An ironic prison of bones made to hold||&6a skeleton, made from its own kin!;c;sudo PLAYER cb skeleton 1" + set {db_ci.items::06.zombie.ball} to "i;snowball;n;&3Projeggtile &aZombie &3Ball;l;&6Layered in flesh to make even the||&6loneliest zombie feel at home!;c;sudo PLAYER cb zombie 1" + set {db_ci.items::07.pigman.ball} to "i;snowball;n;&3Projeggtile &aZombie &dPigman &3Ball;l;&6A containment area with a nugget inside||&6to lure and keep the pigman content!;c;sudo PLAYER cb pigman 1" + set {db_ci.items::08.spider.ball} to "i;snowball;n;&3Projeggtile &4Spider &3Ball;l;&6Tangles an eight legged bugger||&6into a silky woven sack!;c;sudo PLAYER cb spider 1" + set {db_ci.items::09.blank} to "i;air" + set {db_ci.items::10.Crude Pack} to "i;16 ink sack;n;&a&b&k&a&3Crude Pack;l;&6The crude version of||&6the backpack;c;sudo PLAYER bp g crudepack 16" + set {db_ci.items::11.Ender Pack} to "i;16 ender pearl;n;&a&b&k&a&3EnderPack;l;&6Open your Ender Chest||&6anywhere!|| ||&5&oRight Click to open||&5&oYour portable Ender Chest;c;sudo PLAYER bp g enderpack 16" + set {db_ci.items::12.capture.ball} to "i;16 snowball;n;&3Projeggtile Capture Ball;l;&6Capture the essence of various creatures||&6by tossing your balls at them.;c;sudo PLAYER cb capture 16" + set {db_ci.items::13.creeper.ball} to "i;16 snowball;n;&3Projeggtile &2Creeper &3Ball;l;&6Heavily reinforced to prevent even the||&6most explosive creepers from escaping!;c;sudo PLAYER cb creeper 16" + set {db_ci.items::14.skeleton.ball} to "i;16 snowball;n;&3Projeggtile &7Skeleton &3Ball;l;&6An ironic prison of bones made to hold||&6a skeleton, made from its own kin!;c;sudo PLAYER cb skeleton 16" + set {db_ci.items::15.zombie.ball} to "i;16 snowball;n;&3Projeggtile &aZombie &3Ball;l;&6Layered in flesh to make even the||&6loneliest zombie feel at home!;c;sudo PLAYER cb zombie 16" + set {db_ci.items::16.pigman.ball} to "i;16 snowball;n;&3Projeggtile &aZombie &dPigman &3Ball;l;&6A containment area with a nugget inside||&6to lure and keep the pigman content!;c;sudo PLAYER cb pigman 16" + set {db_ci.items::17.spider.ball} to "i;16 snowball;n;&3Projeggtile &4Spider &3Ball;l;&6Tangles an eight legged bugger||&6into a silky woven sack!;c;sudo PLAYER cb spider 16" + set {db_ci.items::18.blank} to "i;air" + set {db_ci.items::19.Crude Pack} to "i;64 ink sack;n;&a&b&k&a&3Crude Pack;l;&6The crude version of||&6the backpack;c;sudo PLAYER bp g crudepack 64" + set {db_ci.items::20.Ender Pack} to "i;64 ender pearl;n;&a&b&k&a&3EnderPack;l;&6Open your Ender Chest||&6anywhere!|| ||&5&oRight Click to open||&5&oYour portable Ender Chest;c;sudo PLAYER bp g enderpack 64" + set {db_ci.items::21.TA} to "i;diamond axe;n;&a&b&k&a&3Timber Axe;l;&6This axe makes all logs within a 10 block radius||&6go timber!;c;sudo PLAYER timber" + set {db_ci.items::22.LB} to "i;bow;n;&3Bow of Light;l;&6Light your way from afar||&6with this magical bow.|| ||&c-1 Torch Per Use;c;sudo PLAYER lightbow" + set {db_ci.items::23.HTP} to "i;diamond pickaxe;n;&a&b&k&a&3HotTouch Pickaxe;l;&6A pickaxe forged from the heart of the Nether||&6with an intense heat to smelt ores while mining.;c;sudo PLAYER ht pick" + set {db_ci.items::24.HTA} to "i;diamond axe;n;&a&b&k&a&3HotTouch Axe;l;&6An axe forged from the heart of the Nether||&6with an intense heat to cook logs into charcoal||&6while chopping.;c;sudo PLAYER ht axe" + set {db_ci.items::25.HTS} to "i;diamond shovel;n;&a&b&k&a&3HotTouch Shovel;l;&6A shovel forged from the heart of the Nether||&6with an intense heat to cook sand clay and||&6cactus while digging.;c;sudo PLAYER ht shovel" + set {db_ci.items::26.blank} to "i;air" + set {db_ci.items::27.blank} to "i;air" + +command /cleardbci: + permission: obam.admin + trigger: + delete {db_ci.items::*} + message "You have cleared all /ci flags, please reload ci.sk to fix them." + +command /ci: + permission: obam.smod + trigger: + loop {db_ci.items::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_chest} is set: + set {_chest} to "%{_chest}%;s;%{_count}%;%loop-value%" + {_chest} is not set: + set {_chest} to "s;%{_count}%;%loop-value%" + replace "PLAYER" in {_chest} with "%player%" + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show {_chest} with {_size} rows named "&1Custom Items" to player + diff --git a/OBAM-Survival Games/Obam-Fronts/eggification.sk b/OBAM-Survival Games/Obam-Fronts/eggification.sk index e636e08..51eeb0a 100644 --- a/OBAM-Survival Games/Obam-Fronts/eggification.sk +++ b/OBAM-Survival Games/Obam-Fronts/eggification.sk @@ -13,19 +13,6 @@ on script load: register new shaped recipe for {@egg5} using {@egg}, {@egg}, {@egg}, {@egg}, rotten flesh, {@egg}, {@egg}, {@egg}, {@egg} register new shaped recipe for {@egg6} using {@egg}, {@egg}, {@egg}, {@egg}, string, {@egg}, {@egg}, {@egg}, {@egg} - set {db_ci.items::03.capture.ball} to "i;snowball;n;&3Projeggtile Capture Ball;l;&6Capture the essence of various creatures||&6by tossing your balls at them.;c;sudo PLAYER cb capture 1" - set {db_ci.items::12.capture.ball} to "i;16 snowball;n;&3Projeggtile Capture Ball;l;&6Capture the essence of various creatures||&6by tossing your balls at them.;c;sudo PLAYER cb capture 16" - set {db_ci.items::04.creeper.ball} to "i;snowball;n;&3Projeggtile &2Creeper &3Ball;l;&6Heavily reinforced to prevent even the||&6most explosive creepers from escaping!;c;sudo PLAYER cb creeper 1" - set {db_ci.items::13.creeper.ball} to "i;16 snowball;n;&3Projeggtile &2Creeper &3Ball;l;&6Heavily reinforced to prevent even the||&6most explosive creepers from escaping!;c;sudo PLAYER cb creeper 16" - set {db_ci.items::05.skeleton.ball} to "i;snowball;n;&3Projeggtile &7Skeleton &3Ball;l;&6An ironic prison of bones made to hold||&6a skeleton, made from its own kin!;c;sudo PLAYER cb skeleton 1" - set {db_ci.items::14.skeleton.ball} to "i;16 snowball;n;&3Projeggtile &7Skeleton &3Ball;l;&6An ironic prison of bones made to hold||&6a skeleton, made from its own kin!;c;sudo PLAYER cb skeleton 16" - set {db_ci.items::06.zombie.ball} to "i;snowball;n;&3Projeggtile &aZombie &3Ball;l;&6Layered in flesh to make even the||&6loneliest zombie feel at home!;c;sudo PLAYER cb zombie 1" - set {db_ci.items::15.zombie.ball} to "i;16 snowball;n;&3Projeggtile &aZombie &3Ball;l;&6Layered in flesh to make even the||&6loneliest zombie feel at home!;c;sudo PLAYER cb zombie 16" - set {db_ci.items::07.pigman.ball} to "i;snowball;n;&3Projeggtile &aZombie &dPigman &3Ball;l;&6A containment area with a nugget inside||&6to lure and keep the pigman content!;c;sudo PLAYER cb pigman 1" - set {db_ci.items::16.pigman.ball} to "i;16 snowball;n;&3Projeggtile &aZombie &dPigman &3Ball;l;&6A containment area with a nugget inside||&6to lure and keep the pigman content!;c;sudo PLAYER cb pigman 16" - set {db_ci.items::08.spider.ball} to "i;snowball;n;&3Projeggtile &4Spider &3Ball;l;&6Tangles an eight legged bugger||&6into a silky woven sack!;c;sudo PLAYER cb spider 1" - set {db_ci.items::17.spider.ball} to "i;16 snowball;n;&3Projeggtile &4Spider &3Ball;l;&6Tangles an eight legged bugger||&6into a silky woven sack!;c;sudo PLAYER cb spider 16" - command /captureball [] []: aliases: cb permission: obam.smod diff --git a/OBAM-Survival Games/Obam-Fronts/hottouch.sk b/OBAM-Survival Games/Obam-Fronts/hottouch.sk index 8ed8fcb..0e80bde 100644 --- a/OBAM-Survival Games/Obam-Fronts/hottouch.sk +++ b/OBAM-Survival Games/Obam-Fronts/hottouch.sk @@ -8,9 +8,6 @@ on script load: set {db_shop.items::HotTouch Pick} to "i;diamond pickaxe;n;&a&b&k&a&3HotTouch Pickaxe;l;&6A pickaxe forged from the heart of the Nether||&6with an intense heat to smelt ores while mining.|| ||&2StickyItem ©|| ||&5&oClick to purchase|| ||&3&lCost:||&e7,500 Tickets;c;sudo PLAYER hottouchpurchase pick" set {db_shop.items::HotTouch Axe} to "i;diamond axe;n;&a&b&k&a&3HotTouch Axe;l;&6An axe forged from the heart of the Nether||&6with an intense heat to cook logs into charcoal||&6while chopping.|| ||&2StickyItem ©|| ||&5&oClick to purchase|| ||&3&lCost:||&e5,000 Tickets;c;sudo PLAYER hottouchpurchase axe" set {db_shop.items::HotTouch Shovel} to "i;diamond shovel;n;&a&b&k&a&3HotTouch Shovel;l;&6A shovel forged from the heart of the Nether||&6with an intense heat to cook sand clay and||&6cactus while digging.|| ||&2StickyItem ©|| ||&5&oClick to purchase|| ||&3&lCost:||&e10,000 Tickets;c;sudo PLAYER hottouchpurchase shovel" - set {db_ci.items::23.HTP} to "i;diamond pickaxe;n;&a&b&k&a&3HotTouch Pickaxe;l;&6A pickaxe forged from the heart of the Nether||&6with an intense heat to smelt ores while mining.;c;sudo PLAYER ht pick" - set {db_ci.items::24.HTA} to "i;diamond axe;n;&a&b&k&a&3HotTouch Axe;l;&6An axe forged from the heart of the Nether||&6with an intense heat to cook logs into charcoal||&6while chopping.;c;sudo PLAYER ht axe" - set {db_ci.items::25.HTS} to "i;diamond shovel;n;&a&b&k&a&3HotTouch Shovel;l;&6A shovel forged from the heart of the Nether||&6with an intense heat to cook sand clay and||&6cactus while digging.;c;sudo PLAYER ht shovel" command /hottouchpurchase : permission: obam.free diff --git a/OBAM-Survival Games/Obam-Fronts/lightbow.sk b/OBAM-Survival Games/Obam-Fronts/lightbow.sk index e15186b..331d733 100644 --- a/OBAM-Survival Games/Obam-Fronts/lightbow.sk +++ b/OBAM-Survival Games/Obam-Fronts/lightbow.sk @@ -4,9 +4,6 @@ options: on script load: register new shaped recipe for {@lightbow} using glowstone dust, glowstone dust, glowstone dust, glowstone dust, bow, glowstone dust, glowstone dust, glowstone dust, glowstone dust - set {db_ci.items::22.LB} to "i;bow;n;&3Bow of Light;l;&6Light your way from afar||&6with this magical bow.|| ||&c-1 Torch Per Use;c;sudo PLAYER lightbow" - - command /lightbow: permission: obam.smod trigger: diff --git a/OBAM-Survival Games/Obam-Fronts/timber.sk b/OBAM-Survival Games/Obam-Fronts/timber.sk index d00b061..8aa7f32 100644 --- a/OBAM-Survival Games/Obam-Fronts/timber.sk +++ b/OBAM-Survival Games/Obam-Fronts/timber.sk @@ -3,7 +3,6 @@ options: on script load: set {db_shop.items::Timber Axe} to "i;diamond axe;n;&a&b&k&a&3Timber Axe;l;&6This axe makes all logs within a 10 block radius||&6go timber!|| ||&2StickyItem ©|| ||&5&oClick to purchase|| ||&3&lCost:||&e5,000 Tickets;c;sudo PLAYER timberpurchase" - set {db_ci.items::21.TA} to "i;diamond axe;n;&a&b&k&a&3Timber Axe;l;&6This axe makes all logs within a 10 block radius||&6go timber!;c;sudo PLAYER timber" command /timberpurchase: permission: obam.free diff --git a/Obam-Mass/Mass-Testing/blocksave.sk b/Obam-Global/Global-Testing/blocksave.sk similarity index 100% rename from Obam-Mass/Mass-Testing/blocksave.sk rename to Obam-Global/Global-Testing/blocksave.sk diff --git a/Obam-Mass/Mass-Testing/dbtest.sk b/Obam-Global/Global-Testing/dbtest.sk similarity index 100% rename from Obam-Mass/Mass-Testing/dbtest.sk rename to Obam-Global/Global-Testing/dbtest.sk diff --git a/Obam-Mass/Mass-Testing/effect.sk b/Obam-Global/Global-Testing/effect.sk similarity index 100% rename from Obam-Mass/Mass-Testing/effect.sk rename to Obam-Global/Global-Testing/effect.sk diff --git a/Obam-Mass/Mass-Testing/enchnattest.sk b/Obam-Global/Global-Testing/enchnattest.sk similarity index 100% rename from Obam-Mass/Mass-Testing/enchnattest.sk rename to Obam-Global/Global-Testing/enchnattest.sk diff --git a/Obam-Mass/Mass-Testing/firetest.sk b/Obam-Global/Global-Testing/firetest.sk similarity index 100% rename from Obam-Mass/Mass-Testing/firetest.sk rename to Obam-Global/Global-Testing/firetest.sk diff --git a/Obam-Mass/Mass-Testing/powerpick.sk b/Obam-Global/Global-Testing/powerpick.sk similarity index 100% rename from Obam-Mass/Mass-Testing/powerpick.sk rename to Obam-Global/Global-Testing/powerpick.sk diff --git a/Obam-Mass/aliases-english.sk b/Obam-Global/aliases-english.sk similarity index 100% rename from Obam-Mass/aliases-english.sk rename to Obam-Global/aliases-english.sk diff --git a/Obam-Mass/autohub.sk b/Obam-Global/autohub.sk similarity index 100% rename from Obam-Mass/autohub.sk rename to Obam-Global/autohub.sk diff --git a/Obam-Mass/hub.sk b/Obam-Global/hub.sk similarity index 100% rename from Obam-Mass/hub.sk rename to Obam-Global/hub.sk diff --git a/Obam-Mass/itemcheck.sk b/Obam-Global/itemcheck.sk similarity index 100% rename from Obam-Mass/itemcheck.sk rename to Obam-Global/itemcheck.sk diff --git a/Obam-Mass/liv.sk b/Obam-Global/liv.sk similarity index 100% rename from Obam-Mass/liv.sk rename to Obam-Global/liv.sk diff --git a/Obam-Mass/sudo.sk b/Obam-Global/sudo.sk similarity index 100% rename from Obam-Mass/sudo.sk rename to Obam-Global/sudo.sk diff --git a/Obam-Mass/tempclose.sk b/Obam-Global/tempclose.sk similarity index 100% rename from Obam-Mass/tempclose.sk rename to Obam-Global/tempclose.sk diff --git a/Obam-Perks/hats.sk b/Obam-Perks/hats.sk index 911aae1..0d25a42 100644 --- a/Obam-Perks/hats.sk +++ b/Obam-Perks/hats.sk @@ -1,63 +1,95 @@ #hats -options: - betahat: i;iron pressure plate;n;&3&lBeta Supporter Hat;l;&7This Special hat is for all||&7members who supported||&7during our beta period||&7This hat is a thank you from||&7the &eOBAM &7Staff for those||&7that helped us when||&7we were starting. THANK YOU!;c;hatreward betahat %player% - free: i;dirt;n;&3&lDirt Hat;l;&7This classy dirt||&7Helm is free for||&7all who wish to show||&7off their frugal||&7style!;c;hatreward dirt %player% - sup1: i;iron block;n;&3&lIron Block;l;&7This Iron hat has||&7been crafted from the||&7finest Iron Golem remains!|| ||&5&oThis Hat is for||&5&oCurrent supporters;c;hatreward supporter1 %player% - sup2: i;gold block;n;&3&lGold Block;l;&7Show your wealth with||&7with the cap of beauty||&7with this shiny gold||&7block hat!|| ||&5&oThis hat is for||&5&oCurrent supporter;c;hatreward supporter2 %player% - sup3: i;diamond block;n;&3&lDiamond Block;l;&7Show off what others||&7craze with the powerfull||&7Diamond block hat|| ||&5&oThis hat is for||&5&oCurrent supporters;c;hatreward supporter3 %player% +# sup1: i;iron block;n;&3&lIron Block;l;&7This Iron hat has||&7been crafted from the||&7finest Iron Golem remains!|| ||&5&oThis Hat is for||&5&oCurrent supporters;c;hatreward supporter1 %player% +# sup2: i;gold block;n;&3&lGold Block;l;&7Show your wealth with||&7with the cap of beauty||&7with this shiny gold||&7block hat!|| ||&5&oThis hat is for||&5&oCurrent supporter;c;hatreward supporter2 %player% +# sup3: i;diamond block;n;&3&lDiamond Block;l;&7Show off what others||&7craze with the powerfull||&7Diamond block hat|| ||&5&oThis hat is for||&5&oCurrent supporters;c;hatreward supporter3 %player% - -command /hat: - permission: obam.free - executable by: players +on script load: + set {db_perk.hats::01.dirt} to "i;dirt;n;&3&lDirt Hat;l;&6This classy dirt helm is free for all who||&6wish to show off their frugal style!;c;sudo PLAYER hat dirt" + set {db_perk.hats::02.beta} to "check" + set {db_perk.hats::02.beta::beta} to "i;iron pressure plate;n;&3&lBeta Supporter Hat;l;&6This Special hat is for all members who supported||&6during our beta period and is a thank you from the||&eOBAM &6Staff for those that helped us when we were starting.||&6THANK YOU!;c;sudo PLAYER hat beta" + set {db_perk.hats::02.beta::error} to "i;iron pressure plate;n;&3&lBeta Supporter Hat;l;&6This Special hat is for all members who supported||&6during our beta period and is a thank you from the||&eOBAM &6Staff for those that helped us when we were starting.||&6THANK YOU!|| ||&cThis hat is only available to our Beta Supporters.;c;sudo PLAYER hat error" + set {db_perk.hats::03.quartz} to "check" + set {db_perk.hats::03.quartz::quartz} to "i;quartz block;n;&3&lQuartz Hat;l;&6Description;c;sudo PLAYER hat quartz" + set {db_perk.hats::03.quartz::error} to "i;quartz block;n;&3&lQuartz Hat;l;&6Description|| ||&cThis hat is only available to our Supporters.;c;sudo PLAYER hat error" + set {db_perk.hats::04.cactus} to "check" + set {db_perk.hats::04.cactus::cactus} to "i;cactus;n;&3&lPrickly Hat;l;&6Where this hat when you're feeling a bit....Prickly!;c;sudo PLAYER hat cactus" + set {db_perk.hats::04.cactus::error} to "i;cactus;n;&3&lPrickly Hat;l;&6Where this hat when you're feeling a bit....Prickly!|| ||&cThis hat must be purchased from the OBAMCraft shop.|| ||&6Use &f/buy &6to purchase the &3Prickly Hat|| ||&6Price: &a$2.00;c;sudo PLAYER hat cactus" + +command /cleardbhats: + permission: obam.admin trigger: - show "s;1;{@free};s;2;{@sup1};s;3;{@sup2};s;4;{@sup3};s;5;{@betahat}" with 3 rows named "&9&lOBAM &9Hats" to player + delete {db_perk.hats::*} + message "You just cleared all the hat variables, please reload the script hats.sk" -command /hatreward : - executable by: console +command /hatmenu []: trigger: - argument 1 is "betahat": - player-argument has permission "obam.beta.hat": - send "&aYou now have a hat :D" to player-argument - execute console command "hatgive iron pressure plate %player-argument%" - - argument 1 is "dirt": - send "&aYou now have a hat :D" to player-argument - execute console command "hatgive dirt %player-argument%" - - argument 1 is "supporter1": - player-argument has permission "obam.supporter": - send "&aYou now have a hat :D" to player-argument - execute console command "hatgive iron block %player-argument%" - - argument 1 is "supporter2": - player-argument has permission "obam.supporter": - send "&aYou now have a hat :D" to player-argument - execute console command "hatgive gold block %player-argument%" - - argument 1 is "supporter3": - player-argument has permission "obam.supporter": - send "&aYou now have a hat :D" to player-argument - execute console command "hatgive diamond block %player-argument%" - + loop {db_perk.hats::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + set {_what} to loop-value + loop-index is "02.beta": + set {_what} to {db_perk.hats::02.beta::error} + player has permission "obam.beta.hat": + set {_what} to {db_perk.hats::02.beta::beta} + loop-index is "03.quartz": + set {_what} to {db_perk.hats::03.quartz::error} + player has permission "obam.supporter": + set {_what} to {db_perk.hats::03.quartz::quartz} + loop-index is "04.cactus": + set {_what} to {db_perk.hats::04.cactus::error} + {db_hat.purchase.cactus.%player%} is true: + set {_what} to {db_perk.hats::04.cactus::cactus} + player has permission "obam.smod": + set {_what} to {db_perk.hats::04.cactus::cactus} + {_chest} is set: + set {_chest} to "%{_chest}%;s;%{_count}%;%{_what}%" + {_chest} is not set: + set {_chest} to "s;%{_count}%;%{_what}%" + replace "PLAYER" in {_chest} with "%player%" + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show "%{_chest}%" with {_size} row named "&9&lHat Rack" to player -command /hatgive []: - executable by: players and console - permission: obam.admin +command /hat []: trigger: - - - if name of player-argument's helmet is "hat": - set player-argument's helmet to arg 1 - set name of player-argument's helmet to "hat" + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hat Rack." stop - player-argument doesn't have space for player-argument's helmet: - send "&cYour inventory is full :(" to player-argument + argument 1 is "error": + message "&cThis hat is not available to you." stop - give player-argument's helmet to player-argument - set player-argument's helmet to arg 1 - set name of player-argument's helmet to "hat" - + argument 1 is "dirt": + set {_hat} to dirt + argument 1 is "beta": + player has permission "obam.beta.hat": + set {_hat} to iron pressure plate + argument 1 is "quartz": + player has permission "obam.supporter": + set {_hat} to quartz block + argument 1 is "cactus": + {db_hat.purchase.cactus.%player%} is true: + set {_hat} to cactus + player has permission "obam.smod": + set {_hat} to cactus + send "&aYou now have a hat :D" to player + name of player's helmet is "hat": + set player's helmet to {_hat} + set name of player's helmet to "hat" + stop + player doesn't have space for player's helmet: + send "&cYour inventory is full :(" to player + stop + give player's helmet to player + set player's helmet to {_hat} + set name of player's helmet to "hat" + command /hatadd : permission: obam.admin trigger: @@ -68,8 +100,8 @@ command /hatshow: trigger: loop {hat.items.list::*}: send "%loop-value%" to player -every 0.3 seconds: +every 0.3 seconds: loop all players: loop-player has anything named "hat": remove anything named "hat" from loop-player @@ -78,15 +110,11 @@ every 0.3 seconds: on drop: name of event-item is "hat": cancel event - + on place: name of player's tool is "hat": cancel event - - - - command /hattoggle: permission: obam.mod trigger: @@ -106,10 +134,18 @@ command /hattoggle: #staff hats constant every 1 second: loop all players: + set {_bypass} to false {hat.off.%loop-player%} is true: - stop - loop-player is "ISMOOCH": - set loop-player's helmet to command block named "&d&lSmooch's Sassy Hat" - loop-player is "Electric_Hamster": - set loop-player's helmet to sponge named "&b&lThe Hamster Hat" - \ No newline at end of file + set {_bypass} to true + {_bypass} is false: + loop-player is "ISMOOCH": + set loop-player's helmet to command block named "&d&lSmooch's Sassy Hat" + loop-player is "Electric_Hamster": + set loop-player's helmet to sponge named "&b&lThe Hamster Hat" + +command /hatpurchase : + permission: obam.admin + trigger: + argument 1 is "cactus": + set {db_hat.purchase.cactus.%argument 2%} to true + send "%Argument 2% has purchased the hat Prickly Hat" to console \ No newline at end of file diff --git a/Obam-Perks/perks.sk b/Obam-Perks/perks.sk new file mode 100644 index 0000000..89d6d0a --- /dev/null +++ b/Obam-Perks/perks.sk @@ -0,0 +1,45 @@ +on script load: + set {db_perk.main::01.hats} to "i;iron pressure plate;n;&3Hat Rack;l;&6Gives you access to your virtual Hat Rack.;c;sudo PLAYER obam hatmenu" + set {db_perk.main::02.pets} to "i;lead;n;&3Pet Stable;l;&6Opens up your Pet Stable to summon your pets.;c;sudo PLAYER obam petmenu" + set {db_perk.main::03.trails} to "i;dirt;n;&3Trails Menu;l;&6;c;sudo PLAYER obam petmenu" + set {db_perk.main::04.splash} to "i;dirt;n;&3Splash Menu;l;&6;c;sudo PLAYER obam petmenu" + set {db_perk.main::05.hit} to "i;dirt;n;&3Hit Sound Menu;l;&6;c;sudo PLAYER obam petmenu" + set {db_perk.main::06.shop} to "i;dirt;n;&3Shop;l;&6;c;sudo PLAYER obam petmenu" + set {db_perk.main::07.ci} to "i;command block;n;&3Custom Items Menu;l;&6Opens the Custom Item menu to access items.;c;sudo PLAYER obam ci" + +command /cleardbmain: + permission: obam.admin + trigger: + delete {db_perk.main::*} + message "You have cleared all /OBAM flags, please reload perks.sk to fix them." + +command /obam []: + permission: obam.free + trigger: + argument 1 is not set: + loop {db_perk.main::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + set {_what} to loop-value + loop-index is "07.ci": + player does not have permission "obam.smod": + clear {_what} + {_chest} is set: + set {_chest} to "%{_chest}%;s;%{_count}%;%{_what}%" + {_chest} is not set: + set {_chest} to "s;%{_count}%;%{_what}%" + replace "PLAYER" in {_chest} with "%player%" + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show "%{_chest}%" with {_size} row named "&9&lOBAM Perks and Shop Menu" to player + argument 1 is set: + send "&aBringing up menu..." + wait 0.5 seconds + make player execute command "/%argument 1%" \ No newline at end of file diff --git a/Obam-Perks/sheep.sk b/Obam-Perks/pets.sk similarity index 53% rename from Obam-Perks/sheep.sk rename to Obam-Perks/pets.sk index 6b10619..640d0ce 100644 --- a/Obam-Perks/sheep.sk +++ b/Obam-Perks/pets.sk @@ -6,6 +6,64 @@ options: clear: i;fire;n;&6Clear;l;&7Click to clear all||&7summoned pets!;c;sudo %player% pet clear lead: i;lead;n;&6Leash;l;&7Pets getting out of||&7control? Click this||&7to attach a lead||&7to all of your summoned||&7pets!;c;sudo %player% pet lead +on script load: + set {db_perk.pets::01.ismooch} to "i;sheep spawn egg;n;&3iSmooch;l;&6The sassiest sheep in all the lands!;c;sudo PLAYER pet ismooch" + set {db_perk.pets::02.bruswain} to "check" + set {db_perk.pets::02.bruswain::bruswain} to "i;bat spawn egg;n;&3BruSwain;l;&6This lovable bat lost his parents at a||&6young age. Thank you for taking care||&6of him!;c;sudo PLAYER pet bruswain" + set {db_perk.pets::02.bruswain::error} to "i;bat spawn egg;n;&3BruSwain;l;&6This lovable bat lost his parents at a||&6young age. Thank you for taking care||&6of him!|| ||&cThis pet is only available to our Beta Supporters.;c;sudo PLAYER pet error" + set {db_perk.pets::03.sparky} to "check" + set {db_perk.pets::03.sparky::sparky} to "i;creeper spawn egg;n;&3Sparky;l;&6While this creeper appears to have a||&6dangerously electrifying personality, we||&6promise he’s completely safe!;c;sudo PLAYER pet sparky" + set {db_perk.pets::03.sparky::error} to "i;creeper spawn egg;n;&3Sparky;l;&6While this creeper appears to have a||&6dangerously electrifying personality, we||&6promise he’s completely safe!|| ||&cThis pet is only available to our Supporters.;c;sudo PLAYER pet error" + set {db_perk.pets::04.bacon} to "check" + set {db_perk.pets::04.bacon::bacon} to "i;pig spawn egg;n;&3Bacon;l;&6Rescued from the final stages of the||&6slaughter house, this pig is extremely||&6grateful for your love and kindness!;c;sudo PLAYER pet bacon" + set {db_perk.pets::04.bacon::error} to "i;pig spawn egg;n;&3Bacon;l;&6Rescued from the final stages of the||&6slaughter house, this pig is extremely||&6grateful for your love and kindness!|| ||&cThis pet must be purchased from the OBAMCraft shop.|| ||&6Use &f/buy &6to purchase &3Bacon|| ||&6Price: &a$5.00;c;sudo PLAYER pet error" + set {db_perk.pets::05.blank} to "i;air" + set {db_perk.pets::06.blank} to "i;air" + set {db_perk.pets::07.lead} to "i;lead;n;&3Leash;l;&6Pets getting out of control? Click this||&6to attach a lead to all of your||&6summoned pets!;c;sudo PLAYER pet lead" + set {db_perk.pets::08.blank} to "i;air" + set {db_perk.pets::09.clear} to "i;fire;n;&3Clear;l;&6Click to clear all summoned pets!;c;sudo PLAYER pet clear" + +command /cleardbpets: + permission: obam.admin + trigger: + delete {db_perk.pets::*} + message "You just cleared all the pet variables, please reload the script pets.sk" + +command /petmenu: + trigger: + loop {db_perk.pets::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + set {_what} to loop-value + loop-index is "02.bruswain": + set {_what} to {db_perk.pets::02.bruswain::error} + player has permission "obam.beta.hat": + set {_what} to {db_perk.pets::02.bruswain::bruswain} + loop-index is "03.sparky": + set {_what} to {db_perk.pets::03.sparky::error} + player has permission "obam.supporter": + set {_what} to {db_perk.pets::03.sparky::sparky} + loop-index is "04.bacon": + set {_what} to {db_perk.pets::04.bacon::error} + {db_pet.purchase.bacon.%player%} is true: + set {_what} to {db_perk.pets::04.bacon::bacon} + player has permission "obam.smod": + set {_what} to {db_perk.pets::04.bacon::bacon} + {_chest} is set: + set {_chest} to "%{_chest}%;s;%{_count}%;%{_what}%" + {_chest} is not set: + set {_chest} to "s;%{_count}%;%{_what}%" + replace "PLAYER" in {_chest} with "%player%" + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show "%{_chest}%" with {_size} row named "&9&lPet Stable" to player every 1 second: loop all entities: @@ -16,11 +74,11 @@ every 1 second: kill loop-entity distance between location of loop-entity and location of {owner.%loop-entity%} is greater than 20: teleport loop-entity to location of {owner.%loop-entity%} - + on damage of sheep or bat or powered creeper or pig: name of victim is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon": cancel event - + on quit: kill {pets.%player%} clear {pets.%player%} @@ -29,18 +87,18 @@ on quit: kill loop-value clear {pets.%player%::*} stop - - + command /pet []: trigger: world is "kitpvpkillingfields": send "&cYou can not do that here" to player stop - argument is not set: - show "s;1;{@ismooch};s;2;{@bruswain};s;3;{@sparky};s;4;{@bacon};s;10;{@lead};s;18;{@clear}" with 2 rows named "&1Pet Menu" to player + message "&cPlease use &7/OBAM &cto access your Pet Stable." + stop + argument is "error": + message "&cThis pet is not available to you." stop - argument is "lead": loop {pets.%player%::*}: teleport loop-value to location of player @@ -70,7 +128,6 @@ command /pet []: set {owner.%{pets.%player%}%} to player add {pets.%player%} to {pets.%player%::*} stop - argument is "BruSwain": player has permission "obam.beta.hat": spawn bat at location of player @@ -81,7 +138,6 @@ command /pet []: add {pets.%player%} to {pets.%player%::*} stop send "&cThis is for beta supporters only!" to player - argument is "Sparky": player has permission "obam.supporter": spawn powered creeper at location of player @@ -92,7 +148,6 @@ command /pet []: add {pets.%player%} to {pets.%player%::*} stop send "&cYou must be a supporter to do this!" to player - argument is "bacon": {db_pet.purchase.bacon.%player%} is true: spawn pig at location of player @@ -102,49 +157,51 @@ command /pet []: set {owner.%{pets.%player%}%} to player add {pets.%player%} to {pets.%player%::*} stop + player has permission "obam.smod": + spawn pig at location of player + set name of spawned pig to "&aBacon" + make player leash spawned pig + set {pets.%player%} to spawned pig + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop send "&cYou must purchase this pet on the online store!" - argument is "dragon": send "&cI bet you wish you could...." to player stop - - send "&cThat is not an option!" to player - - - - on explosion prime: entity is powered creeper: name of entity is "&aSparky": cancel event - - + on death of a sheep or a bat or a powered creeper or a pig: name of victim is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon" clear drops - + +on right click on a sheep or a bat or a powered creeper or a pig: + name of target is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon": + cancel event + on right click with wheat on sheep: name of event-entity is "&aISMOOCH" cancel event send "&cYou can not mate pets D:" to event-player - + on right click with carrot on sheep: name of event-entity is "&aBacon" cancel event send "&cYou can not mate pets D:" to event-player - + on right click with shears on sheep: name of event-entity is "&aISMOOCH" cancel event send "&cYou can not shear pets!" to event-player - + command /petpurchase : permission: obam.admin trigger: - argument 1 is "bacon": set {db_pet.purchase.bacon.%argument 2%} to true - send "%Argument 2% has purchased the pet BACON" to console - \ No newline at end of file + send "%Argument 2% has purchased the pet BACON" to console \ No newline at end of file From ada6d4de682f039ef581ed20bb4f1a0e99a6a3b7 Mon Sep 17 00:00:00 2001 From: ob1bob69 Date: Sun, 10 Aug 2014 01:50:21 -0400 Subject: [PATCH 20/22] Perks modification 2 modified suphorse & hit sounds. added purchase.sk for consolidated online purchases. --- OBAM-Survival Games/Obam-Fronts/hitsounds.sk | 133 ------ OBAM-Survival Games/Obam-Fronts/suphorse.sk | 31 -- Obam-Administration/purchase.sk | 5 + Obam-Perks/Perks-Fronts/hitsounds.sk | 444 ++++++++++++++++++ .../Perks-Fronts}/splash.sk | 0 Obam-Perks/Perks-Fronts/suphorse.sk | 70 +++ .../Perks-Fronts}/trails.sk | 0 Obam-Perks/hats.sk | 27 +- Obam-Perks/perks.sk | 6 +- Obam-Perks/pets.sk | 22 +- 10 files changed, 537 insertions(+), 201 deletions(-) delete mode 100644 OBAM-Survival Games/Obam-Fronts/hitsounds.sk delete mode 100644 OBAM-Survival Games/Obam-Fronts/suphorse.sk create mode 100644 Obam-Administration/purchase.sk create mode 100644 Obam-Perks/Perks-Fronts/hitsounds.sk rename {OBAM-Survival Games/Obam-Fronts => Obam-Perks/Perks-Fronts}/splash.sk (100%) create mode 100644 Obam-Perks/Perks-Fronts/suphorse.sk rename {OBAM-Survival Games/Obam-Fronts => Obam-Perks/Perks-Fronts}/trails.sk (100%) diff --git a/OBAM-Survival Games/Obam-Fronts/hitsounds.sk b/OBAM-Survival Games/Obam-Fronts/hitsounds.sk deleted file mode 100644 index 6d960c0..0000000 --- a/OBAM-Survival Games/Obam-Fronts/hitsounds.sk +++ /dev/null @@ -1,133 +0,0 @@ -#hits - -options: - note: i;dirt;n;&7Note;l;&6Click to enable Note||&6sounds for your attacks;c;sudo %player% hitmenu note - arrowhit: i;dirt;n;&7Arrow;l;&6Click to enable Arrow||&6sounds for your attacks;c;sudo %player% hitmenu arrow - anvil: i;dirt;n;&7Anvil;l;&6Click to enable Anvil||&6sounds for your attacks;c;sudo %player% hitmenu anvil - chest: i;dirt;n;&7Chest;l;&6Click to enable Chest||&6sounds for your attacks;c;sudo %player% hitmenu chest - click: i;dirt;n;&7Click;l;&6Click to enable Click||&6sounds for your attacks;c;sudo %player% hitmenu click - levelup: i;dirt;n;&7Level;l;&6Click to enable Level||&6sounds for your attacks;c;sudo %player% hitmenu level - villager: i;dirt;n;&7Villager;l;&6Click to enable Villager||&6sounds for your attacks;c;sudo %player% hitmenu villager - clear: i;glass;n;&7Clear;l;&6Click to disable all||&6sounds for your attacks;c;sudo %player% hitmenu clear -command /hitmenu []: - permission: obam.supporter - trigger: - - argument is not set: - send "&aOpening menu..." - wait 0.3 seconds - show "s;1;{@note};s;2;{@arrowhit};s;3;{@anvil};s;4;{@chest};s;5;{@click};s;6;{@levelup};s;7;{@villager};s;9;{@clear}" with 1 row named "&1Hit Menu" to player - - argument is "note": - set {hit.%player%} to "note" - send "&aAttack sound set to &eNote!" - - argument is "arrow": - set {hit.%player%} to "arrow" - send "&aAttack sound set to &eArrow&a!" - - argument is "chest": - set {hit.%player%} to "chest" - send "&aAttack sounds set to &eChest&a!" - - argument is "anvil": - set {hit.%player%} to "anvil" - send "&aAttack sounds set to &eAnvil&a!" - - argument is "click": - set {hit.%player%} to "click" - send "&aAttack sounds set to &eClick&a!" - - argument is "level": - set {hit.%player%} to "level" - send "&aAttack sounds set to &eLevel&a!" - - argument is "villager": - set {hit.%player%} to "villager" - send "&aAttack sounds set to &eVillager&a!" - - argument is "clear": - clear {hit.%player%} - send "&aAttack sounds cleared!" - -on damage: - {hit.%attacker%} is set: - {hit.%attacker%} is "note": - chance of 14%: - play note bass at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - chance of 16%: - play note piano at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - chance of 20%: - play note bass drum at location of attacker with pitch 1 - set {_play} to true - chance of 25%: - play note sticks at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - chance of 33%: - play note bass guitar at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - chance of 50%: - play note snare drum at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - play note pling at location of attacker with pitch 1 - {hit.%attacker%} is "arrow": - chance of 50%: - play shoot arrow at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - play arrow hit at location of attacker with pitch 1 - {hit.%attacker%} is "chest": - chance of 50%: - play chest close at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - play chest close at location of attacker with pitch 1 - {hit.%attacker%} is "anvil": - chance of 33%: - play anvil break at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - chance of 50%: - play anvil land at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - play anvil use at location of attacker with pitch 1 - {hit.%attacker%} is "click": - play click at location of attacker with pitch 1 - {hit.%attacker%} is "level": - chance of 50%: - play level up at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - play orb pickup at location of attacker with pitch 1 - {hit.%attacker%} is "villager": - chance of 16%: - play villager yes at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - chance of 20%: - play villager no at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - chance of 25%: - play villager death at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - chance of 33%: - play villager haggle at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - chance of 50%: - play villager idle at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - play villager hit at location of attacker with pitch 1 - - \ No newline at end of file diff --git a/OBAM-Survival Games/Obam-Fronts/suphorse.sk b/OBAM-Survival Games/Obam-Fronts/suphorse.sk deleted file mode 100644 index a703f6c..0000000 --- a/OBAM-Survival Games/Obam-Fronts/suphorse.sk +++ /dev/null @@ -1,31 +0,0 @@ -command /zombify: - permission: obam.supporter - trigger: - player is not riding: - send "&cYou must be riding a horse to do this!" - stop - player's vehicle is not a horse: - send "&cYou must be riding a horse to do this!" - stop - set {_y} to y-coordinate of player - set {_x} to x-coordinate of player - set {_z} to z-coordinate of player - execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:3,Tame:1}" - delete player's vehicle - -command /skellify: - permission: obam.supporter - trigger: - player is not riding: - send "&cYou must be riding a horse to do this!" - stop - player's vehicle is not a horse: - send "&cYou must be riding a horse to do this!" - stop - set {_y} to y-coordinate of player - set {_x} to x-coordinate of player - set {_z} to z-coordinate of player - execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:4,Tame:1}" - delete player's vehicle - - diff --git a/Obam-Administration/purchase.sk b/Obam-Administration/purchase.sk new file mode 100644 index 0000000..9d5ebce --- /dev/null +++ b/Obam-Administration/purchase.sk @@ -0,0 +1,5 @@ +command /buycraftpurchase : + permission: obam.admin + trigger: + set {db_purchase.%argument 1%.%argument 2%} to true + send "%Argument 2% has purchased %Argument 1%" to console \ No newline at end of file diff --git a/Obam-Perks/Perks-Fronts/hitsounds.sk b/Obam-Perks/Perks-Fronts/hitsounds.sk new file mode 100644 index 0000000..112b1f5 --- /dev/null +++ b/Obam-Perks/Perks-Fronts/hitsounds.sk @@ -0,0 +1,444 @@ +on script load: + set {db_perk.hit.class::01.hand} to "check" + set {db_perk.hit.class::01.hand::hand} to "i;stone button;n;&3Punch Sounds;l;&6Click to modify the sound you make when you||&6attack with your fists.;c;sudo PLAYER hitmenuchange hand" + set {db_perk.hit.class::01.hand::error} to "i;stone button;n;&3Punch Sounds;l;&6Click to modify the sound you make when you||&6attack with your fists.|| ||&cThis class is only available to our Supporters.;c;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::02.sword} to "check" + set {db_perk.hit.class::02.sword::sword} to "i;iron sword;n;&3Sword Sounds;l;&6Click to modify the sound you make when you||&6attack with a sword.;c;sudo PLAYER hitmenuchange sword" + set {db_perk.hit.class::02.sword::error} to "i;iron sword;n;&3Sword Sounds;l;&6Click to modify the sound you make when you||&6attack with a sword.|| ||&cThis class is only available to our Supporters.;c;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::03.axe} to "check" + set {db_perk.hit.class::03.axe::axe} to "i;iron axe;n;&3Axe Sounds;l;&6Click to modify the sound you make when you||&6attack with an axe.;c;sudo PLAYER hitmenuchange axe" + set {db_perk.hit.class::03.axe::error} to "i;iron axe;n;&3Axe Sounds;l;&6Click to modify the sound you make when you||&6attack with an axe.|| ||&cThis class is only available to our Supporters.;c;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::04.pickaxe} to "check" + set {db_perk.hit.class::04.pickaxe::pickaxe} to "i;iron pickaxe;n;&3Pickaxe Sounds;l;&6Click to modify the sound you make when you||&6attack with a pickaxe.;c;sudo PLAYER hitmenuchange pickaxe" + set {db_perk.hit.class::04.pickaxe::error} to "i;iron pickaxe;n;&3Pickaxe Sounds;l;&6Click to modify the sound you make when you||&6attack with a pickaxe.|| ||&cThis class is only available to our Supporters.;c;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::05.bow} to "check" + set {db_perk.hit.class::05.bow::bow} to "i;bow;n;&3Bow Sounds;l;&6Click to modify the sound you make when you||&6attack with a bow.;c;sudo PLAYER hitmenuchange bow" + set {db_perk.hit.class::05.bow::error} to "i;bow;n;&3Bow Sounds;l;&6Click to modify the sound you make when you||&6attack with a bow.|| ||&cThis class is only available to our Supporters.;c;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::06.rod} to "check" + set {db_perk.hit.class::06.rod::rod} to "i;fishing rod;n;&3Fishing Rod Sounds;l;&6Click to modify the sound you make when you||&6attack with a fishing rod.;c;sudo PLAYER hitmenuchange rod" + set {db_perk.hit.class::06.rod::error} to "i;fishing rod;n;&3Fishing Rod Sounds;l;&6Click to modify the sound you make when you||&6attack with a fishing rod.|| ||&cThis class is only available to our Supporters.;c;sudo PLAYER hitmenuchange error" + + set {db_perk.hit.hand::01.note} to "check" + set {db_perk.hit.hand::01.note::note} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.;c;sudo PLAYER hitsound hand note" + set {db_perk.hit.hand::01.note::error} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::02.arrow} to "check" + set {db_perk.hit.hand::02.arrow::arrow} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.;c;sudo PLAYER hitsound hand arrow" + set {db_perk.hit.hand::02.arrow::error} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::03.anvil} to "check" + set {db_perk.hit.hand::03.anvil::anvil} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.;c;sudo PLAYER hitsound hand anvil" + set {db_perk.hit.hand::03.anvil::error} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::04.chest} to "check" + set {db_perk.hit.hand::04.chest::chest} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.;c;sudo PLAYER hitsound hand chest" + set {db_perk.hit.hand::04.chest::error} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::05.click} to "check" + set {db_perk.hit.hand::05.click::click} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.;c;sudo PLAYER hitsound hand click" + set {db_perk.hit.hand::05.click::error} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::06.level} to "check" + set {db_perk.hit.hand::06.level::level} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.;c;sudo PLAYER hitsound hand level" + set {db_perk.hit.hand::06.level::error} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::07.villager} to "check" + set {db_perk.hit.hand::07.villager::villager} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.;c;sudo PLAYER hitsound hand villager" + set {db_perk.hit.hand::07.villager::error} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::08.clear} to "check" + set {db_perk.hit.hand::08.clear::clear} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.;c;sudo PLAYER hitsound hand clear" + set {db_perk.hit.hand::08.clear::error} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound hand error" + + set {db_perk.hit.sword::01.note} to "check" + set {db_perk.hit.sword::01.note::note} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.;c;sudo PLAYER hitsound sword note" + set {db_perk.hit.sword::01.note::error} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::02.arrow} to "check" + set {db_perk.hit.sword::02.arrow::arrow} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.;c;sudo PLAYER hitsound sword arrow" + set {db_perk.hit.sword::02.arrow::error} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::03.anvil} to "check" + set {db_perk.hit.sword::03.anvil::anvil} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.;c;sudo PLAYER hitsound sword anvil" + set {db_perk.hit.sword::03.anvil::error} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::04.chest} to "check" + set {db_perk.hit.sword::04.chest::chest} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.;c;sudo PLAYER hitsound sword chest" + set {db_perk.hit.sword::04.chest::error} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::05.click} to "check" + set {db_perk.hit.sword::05.click::click} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.;c;sudo PLAYER hitsound sword click" + set {db_perk.hit.sword::05.click::error} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::06.level} to "check" + set {db_perk.hit.sword::06.level::level} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.;c;sudo PLAYER hitsound sword level" + set {db_perk.hit.sword::06.level::error} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::07.villager} to "check" + set {db_perk.hit.sword::07.villager::villager} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.;c;sudo PLAYER hitsound sword villager" + set {db_perk.hit.sword::07.villager::error} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::08.clear} to "check" + set {db_perk.hit.sword::08.clear::clear} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.;c;sudo PLAYER hitsound sword clear" + set {db_perk.hit.sword::08.clear::error} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound sword error" + + set {db_perk.hit.axe::01.note} to "check" + set {db_perk.hit.axe::01.note::note} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.;c;sudo PLAYER hitsound axe note" + set {db_perk.hit.axe::01.note::error} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::02.arrow} to "check" + set {db_perk.hit.axe::02.arrow::arrow} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.;c;sudo PLAYER hitsound axe arrow" + set {db_perk.hit.axe::02.arrow::error} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::03.anvil} to "check" + set {db_perk.hit.axe::03.anvil::anvil} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.;c;sudo PLAYER hitsound axe anvil" + set {db_perk.hit.axe::03.anvil::error} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::04.chest} to "check" + set {db_perk.hit.axe::04.chest::chest} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.;c;sudo PLAYER hitsound axe chest" + set {db_perk.hit.axe::04.chest::error} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::05.click} to "check" + set {db_perk.hit.axe::05.click::click} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.;c;sudo PLAYER hitsound axe click" + set {db_perk.hit.axe::05.click::error} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::06.level} to "check" + set {db_perk.hit.axe::06.level::level} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.;c;sudo PLAYER hitsound axe level" + set {db_perk.hit.axe::06.level::error} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::07.villager} to "check" + set {db_perk.hit.axe::07.villager::villager} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.;c;sudo PLAYER hitsound axe villager" + set {db_perk.hit.axe::07.villager::error} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::08.clear} to "check" + set {db_perk.hit.axe::08.clear::clear} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.;c;sudo PLAYER hitsound axe clear" + set {db_perk.hit.axe::08.clear::error} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound axe error" + + set {db_perk.hit.pickaxe::01.note} to "check" + set {db_perk.hit.pickaxe::01.note::note} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.;c;sudo PLAYER hitsound pickaxe note" + set {db_perk.hit.pickaxe::01.note::error} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::02.arrow} to "check" + set {db_perk.hit.pickaxe::02.arrow::arrow} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.;c;sudo PLAYER hitsound pickaxe arrow" + set {db_perk.hit.pickaxe::02.arrow::error} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::03.anvil} to "check" + set {db_perk.hit.pickaxe::03.anvil::anvil} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.;c;sudo PLAYER hitsound pickaxe anvil" + set {db_perk.hit.pickaxe::03.anvil::error} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::04.chest} to "check" + set {db_perk.hit.pickaxe::04.chest::chest} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.;c;sudo PLAYER hitsound pickaxe chest" + set {db_perk.hit.pickaxe::04.chest::error} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::05.click} to "check" + set {db_perk.hit.pickaxe::05.click::click} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.;c;sudo PLAYER hitsound pickaxe click" + set {db_perk.hit.pickaxe::05.click::error} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::06.level} to "check" + set {db_perk.hit.pickaxe::06.level::level} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.;c;sudo PLAYER hitsound pickaxe level" + set {db_perk.hit.pickaxe::06.level::error} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::07.villager} to "check" + set {db_perk.hit.pickaxe::07.villager::villager} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.;c;sudo PLAYER hitsound pickaxe villager" + set {db_perk.hit.pickaxe::07.villager::error} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::08.clear} to "check" + set {db_perk.hit.pickaxe::08.clear::clear} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.;c;sudo PLAYER hitsound pickaxe clear" + set {db_perk.hit.pickaxe::08.clear::error} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound pickaxe error" + + set {db_perk.hit.bow::01.note} to "check" + set {db_perk.hit.bow::01.note::note} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.;c;sudo PLAYER hitsound bow note" + set {db_perk.hit.bow::01.note::error} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::02.arrow} to "check" + set {db_perk.hit.bow::02.arrow::arrow} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.;c;sudo PLAYER hitsound bow arrow" + set {db_perk.hit.bow::02.arrow::error} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::03.anvil} to "check" + set {db_perk.hit.bow::03.anvil::anvil} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.;c;sudo PLAYER hitsound bow anvil" + set {db_perk.hit.bow::03.anvil::error} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::04.chest} to "check" + set {db_perk.hit.bow::04.chest::chest} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.;c;sudo PLAYER hitsound bow chest" + set {db_perk.hit.bow::04.chest::error} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::05.click} to "check" + set {db_perk.hit.bow::05.click::click} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.;c;sudo PLAYER hitsound bow click" + set {db_perk.hit.bow::05.click::error} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::06.level} to "check" + set {db_perk.hit.bow::06.level::level} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.;c;sudo PLAYER hitsound bow level" + set {db_perk.hit.bow::06.level::error} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::07.villager} to "check" + set {db_perk.hit.bow::07.villager::villager} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.;c;sudo PLAYER hitsound bow villager" + set {db_perk.hit.bow::07.villager::error} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::08.clear} to "check" + set {db_perk.hit.bow::08.clear::clear} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.;c;sudo PLAYER hitsound bow clear" + set {db_perk.hit.bow::08.clear::error} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound bow error" + + set {db_perk.hit.rod::01.note} to "check" + set {db_perk.hit.rod::01.note::note} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.;c;sudo PLAYER hitsound rod note" + set {db_perk.hit.rod::01.note::error} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::02.arrow} to "check" + set {db_perk.hit.rod::02.arrow::arrow} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.;c;sudo PLAYER hitsound rod arrow" + set {db_perk.hit.rod::02.arrow::error} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::03.anvil} to "check" + set {db_perk.hit.rod::03.anvil::anvil} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.;c;sudo PLAYER hitsound rod anvil" + set {db_perk.hit.rod::03.anvil::error} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::04.chest} to "check" + set {db_perk.hit.rod::04.chest::chest} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.;c;sudo PLAYER hitsound rod chest" + set {db_perk.hit.rod::04.chest::error} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::05.click} to "check" + set {db_perk.hit.rod::05.click::click} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.;c;sudo PLAYER hitsound rod click" + set {db_perk.hit.rod::05.click::error} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::06.level} to "check" + set {db_perk.hit.rod::06.level::level} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.;c;sudo PLAYER hitsound rod level" + set {db_perk.hit.rod::06.level::error} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::07.villager} to "check" + set {db_perk.hit.rod::07.villager::villager} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.;c;sudo PLAYER hitsound rod villager" + set {db_perk.hit.rod::07.villager::error} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::08.clear} to "check" + set {db_perk.hit.rod::08.clear::clear} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.;c;sudo PLAYER hitsound rod clear" + set {db_perk.hit.rod::08.clear::error} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound rod error" + +command /cleardbhit: + permission: obam.admin + trigger: + delete {db_perk.hit.class::*} + delete {db_perk.hit.hand::*} + delete {db_perk.hit.sword::*} + delete {db_perk.hit.axe::*} + delete {db_perk.hit.pickaxe::*} + delete {db_perk.hit.bow::*} + delete {db_perk.hit.rod::*} + message "You have cleared all hit flags, please reload hitsounds.sk to fix them." + +command /hitclassmenu: + trigger: + loop {db_perk.hit.class::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + set {_what} to loop-value + loop-index is "01.hand": + set {_what} to {db_perk.hit.class::01.hand::hand} + player has permission "obam.supporter": + set {_what} to {db_perk.hit.class::01.hand::hand} + player has permission "obam.smod": + set {_what} to {db_perk.hit.class::01.hand::hand} + loop-index is "02.sword": + set {_what} to {db_perk.hit.class::02.sword::sword} + player has permission "obam.supporter": + set {_what} to {db_perk.hit.class::02.sword::sword} + player has permission "obam.smod": + set {_what} to {db_perk.hit.class::02.sword::sword} + loop-index is "03.axe": + set {_what} to {db_perk.hit.class::03.axe::axe} + player has permission "obam.supporter": + set {_what} to {db_perk.hit.class::03.axe::axe} + player has permission "obam.smod": + set {_what} to {db_perk.hit.class::03.axe::axe} + loop-index is "04.pickaxe": + set {_what} to {db_perk.hit.class::04.pickaxe::pickaxe} + player has permission "obam.supporter": + set {_what} to {db_perk.hit.class::04.pickaxe::pickaxe} + player has permission "obam.smod": + set {_what} to {db_perk.hit.class::04.pickaxe::pickaxe} + loop-index is "05.bow": + set {_what} to {db_perk.hit.class::05.bow::bow} + player has permission "obam.supporter": + set {_what} to {db_perk.hit.class::05.bow::bow} + player has permission "obam.smod": + set {_what} to {db_perk.hit.class::05.bow::bow} + loop-index is "06.rod": + set {_what} to {db_perk.hit.class::06.rod::rod} + player has permission "obam.supporter": + set {_what} to {db_perk.hit.class::06.rod::rod} + player has permission "obam.smod": + set {_what} to {db_perk.hit.class::06.rod::rod} + {_chest} is set: + set {_chest} to "%{_chest}%;s;%{_count}%;%{_what}%" + {_chest} is not set: + set {_chest} to "s;%{_count}%;%{_what}%" + replace "PLAYER" in {_chest} with "%player%" + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show "%{_chest}%" with {_size} row named "&9&1Hit Sound Classes" to player + +command /hitmenuchange []: + trigger: + argument 1 is set: + send "&aBringing up menu..." + wait 0.5 seconds + make player execute command "/hitmenu %argument 1%" + +command /hitmenu []: + trigger: + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hit Menu." + stop + argument 1 is "error": + message "&cThis hit class is not available to you." + stop + set {_type} to argument 1 + loop {db_perk.hit.%{_type}%::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + set {_what} to loop-value + loop-index is "01.note": + set {_what} to {db_perk.hit.%{_type}%::01.note::error} + player has permission "obam.supporter": + set {_what} to {db_perk.hit.%{_type}%::01.note::note} + player has permission "obam.smod": + set {_what} to {db_perk.hit.%{_type}%::01.note::note} + loop-index is "02.arrow": + set {_what} to {db_perk.hit.%{_type}%::02.arrow::error} + player has permission "obam.supporter": + set {_what} to {db_perk.hit.%{_type}%::02.arrow::arrow} + player has permission "obam.smod": + set {_what} to {db_perk.hit.%{_type}%::02.arrow::arrow} + loop-index is "03.anvil": + set {_what} to {db_perk.hit.%{_type}%::03.anvil::error} + player has permission "obam.supporter": + set {_what} to {db_perk.hit.%{_type}%::03.anvil::anvil} + player has permission "obam.smod": + set {_what} to {db_perk.hit.%{_type}%::03.anvil::anvil} + loop-index is "04.chest": + set {_what} to {db_perk.hit.%{_type}%::04.chest::error} + player has permission "obam.supporter": + set {_what} to {db_perk.hit.%{_type}%::04.chest::chest} + player has permission "obam.smod": + set {_what} to {db_perk.hit.%{_type}%::04.chest::chest} + loop-index is "05.click": + set {_what} to {db_perk.hit.%{_type}%::05.click::error} + player has permission "obam.supporter": + set {_what} to {db_perk.hit.%{_type}%::05.click::click} + player has permission "obam.smod": + set {_what} to {db_perk.hit.%{_type}%::05.click::click} + loop-index is "06.level": + set {_what} to {db_perk.hit.%{_type}%::06.level::error} + player has permission "obam.supporter": + set {_what} to {db_perk.hit.%{_type}%::06.level::level} + player has permission "obam.smod": + set {_what} to {db_perk.hit.%{_type}%::06.level::level} + loop-index is "07.villager": + set {_what} to {db_perk.hit.%{_type}%::07.villager::error} + player has permission "obam.supporter": + set {_what} to {db_perk.hit.%{_type}%::07.villager::villager} + player has permission "obam.smod": + set {_what} to {db_perk.hit.%{_type}%::07.villager::villager} + loop-index is "08.clear": + set {_what} to {db_perk.hit.%{_type}%::08.clear::error} + player has permission "obam.supporter": + set {_what} to {db_perk.hit.%{_type}%::08.clear::clear} + player has permission "obam.smod": + set {_what} to {db_perk.hit.%{_type}%::08.clear::clear} + {_chest} is set: + set {_chest} to "%{_chest}%;s;%{_count}%;%{_what}%" + {_chest} is not set: + set {_chest} to "s;%{_count}%;%{_what}%" + replace "PLAYER" in {_chest} with "%player%" + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show "%{_chest}%" with {_size} row named "&9&1Hit Sounds" to player + +command /hitsound [] []: + trigger: + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hit Menu." + stop + argument 2 is "error": + message "&cThis hit sound is not available to you." + stop + set {_what} to argument 1 + set {_sound} to argument 2 + argument 2 is "clear": + clear {hit.%{_what}%.%player%} + send "&aAttack sounds cleared!" + stop + set {hit.%{_what}%.%player%} to "%{_sound}%" + send "&aAttack sound set to &e%{_sound}%!" + +on damage: + {hit.%attacker%} is set: + delete {hit.%attacker%} + attacker's tool is air: + set {_what} to "hand" + attacker's tool is a sword: + set {_what} to "sword" + attacker's tool is an axe: + set {_what} to "axe" + attacker's tool is a pickaxe: + set {_what} to "pickaxe" + attacker's tool is a bow: + set {_what} to "bow" + attacker's tool is a fishing rod: + set {_what} to "rod" + {hit.%{_what}%.%attacker%} is set: + {hit.%{_what}%.%attacker%} is "note": + chance of 14%: + play note bass at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 16%: + play note piano at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 20%: + play note bass drum at location of attacker with pitch 1 + set {_play} to true + chance of 25%: + play note sticks at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 33%: + play note bass guitar at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play note snare drum at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play note pling at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "arrow": + chance of 50%: + play shoot arrow at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play arrow hit at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "chest": + chance of 50%: + play chest close at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play chest close at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "anvil": + chance of 33%: + play anvil break at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play anvil land at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play anvil use at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "click": + play click at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "level": + chance of 50%: + play level up at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play orb pickup at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "villager": + chance of 16%: + play villager yes at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 20%: + play villager no at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 25%: + play villager death at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 33%: + play villager haggle at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play villager idle at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play villager hit at location of attacker with pitch 1 + +command /hitsoundclear : + permission: obam.admin + trigger: + delete {hit.hand.%argument 1%} + delete {hit.sword.%argument 1%} + delete {hit.axe.%argument 1%} + delete {hit.pickaxe.%argument 1%} + delete {hit.bow.%argument 1%} + delete {hit.rod.%argument 1%} diff --git a/OBAM-Survival Games/Obam-Fronts/splash.sk b/Obam-Perks/Perks-Fronts/splash.sk similarity index 100% rename from OBAM-Survival Games/Obam-Fronts/splash.sk rename to Obam-Perks/Perks-Fronts/splash.sk diff --git a/Obam-Perks/Perks-Fronts/suphorse.sk b/Obam-Perks/Perks-Fronts/suphorse.sk new file mode 100644 index 0000000..2c2a863 --- /dev/null +++ b/Obam-Perks/Perks-Fronts/suphorse.sk @@ -0,0 +1,70 @@ +on script load: + set {db_perk.suphorse::01.zombify} to "check" + set {db_perk.suphorse::01.zombify::zombify} to "i;zombie spawn egg;n;&3Zombify your ride!;l;&6Feel like roaming the plains on your Zombified Horse?;c;sudo PLAYER suphorse zombify" + set {db_perk.suphorse::01.zombify::error} to "i;zombie spawn egg;n;&3Zombify your ride!;l;&6Feel like roaming the plains on your Zombified Horse?|| ||&cThis ability is only available to our Supporters.;c;sudo PLAYER suphorse error" + set {db_perk.suphorse::02.skellify} to "check" + set {db_perk.suphorse::02.skellify::skellify} to "i;skeleton spawn egg;n;&3Skellify your ride!;l;&6Feel like roaming the deserts on your Skellified Horse?;c;sudo PLAYER suphorse skellify" + set {db_perk.suphorse::02.skellify::error} to "i;skeleton spawn egg;n;&3Skellify your ride!;l;&6Feel like roaming the deserts on your Skellified Horse?|| ||&cThis ability is only available to our Supporters.;c;sudo PLAYER suphorse error" + +command /cleardbsuphorse: + permission: obam.admin + trigger: + delete {db_perk.suphorse::*} + message "You just cleared all the suphorse variables, please reload the script suphorse.sk" + +command /horsemenu: + trigger: + loop {db_perk.suphorse::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + set {_what} to loop-value + loop-index is "01.zombify": + set {_what} to {db_perk.suphorse::01.zombify::error} + player has permission "obam.supporter": + set {_what} to {db_perk.suphorse::01.zombify::zombify} + player has permission "obam.smod": + set {_what} to {db_perk.suphorse::01.zombify::zombify} + loop-index is "02.skellify": + set {_what} to {db_perk.suphorse::02.skellify::error} + player has permission "obam.supporter": + set {_what} to {db_perk.suphorse::02.skellify::skellify} + player has permission "obam.smod": + set {_what} to {db_perk.suphorse::02.skellify::skellify} + {_chest} is set: + set {_chest} to "%{_chest}%;s;%{_count}%;%{_what}%" + {_chest} is not set: + set {_chest} to "s;%{_count}%;%{_what}%" + replace "PLAYER" in {_chest} with "%player%" + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show "%{_chest}%" with {_size} row named "&9&lPet Stable" to player + +command /suphorse []: + trigger: + player is not riding: + send "&cYou must be riding a horse to do this!" + stop + player's vehicle is not a horse: + send "&cYou must be riding a horse to do this!" + stop + argument is not set: + message "&cPlease use &7/OBAM &cto access your modify your horse." + stop + argument is "error": + message "&cThis ability is not available to you." + stop + set {_y} to y-coordinate of player + set {_x} to x-coordinate of player + set {_z} to z-coordinate of player + argument is "zombify": + execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:3,Tame:1}" + argument is "skellify": + execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:4,Tame:1}" + delete player's vehicle diff --git a/OBAM-Survival Games/Obam-Fronts/trails.sk b/Obam-Perks/Perks-Fronts/trails.sk similarity index 100% rename from OBAM-Survival Games/Obam-Fronts/trails.sk rename to Obam-Perks/Perks-Fronts/trails.sk diff --git a/Obam-Perks/hats.sk b/Obam-Perks/hats.sk index 0d25a42..9934fe5 100644 --- a/Obam-Perks/hats.sk +++ b/Obam-Perks/hats.sk @@ -4,16 +4,16 @@ # sup3: i;diamond block;n;&3&lDiamond Block;l;&7Show off what others||&7craze with the powerfull||&7Diamond block hat|| ||&5&oThis hat is for||&5&oCurrent supporters;c;hatreward supporter3 %player% on script load: - set {db_perk.hats::01.dirt} to "i;dirt;n;&3&lDirt Hat;l;&6This classy dirt helm is free for all who||&6wish to show off their frugal style!;c;sudo PLAYER hat dirt" + set {db_perk.hats::01.dirt} to "i;dirt;n;&3&lDirt Hat;l;&6Carefully woven together from the finest dirt||&6in all of &3OBAM!;c;sudo PLAYER hat dirt" set {db_perk.hats::02.beta} to "check" - set {db_perk.hats::02.beta::beta} to "i;iron pressure plate;n;&3&lBeta Supporter Hat;l;&6This Special hat is for all members who supported||&6during our beta period and is a thank you from the||&eOBAM &6Staff for those that helped us when we were starting.||&6THANK YOU!;c;sudo PLAYER hat beta" - set {db_perk.hats::02.beta::error} to "i;iron pressure plate;n;&3&lBeta Supporter Hat;l;&6This Special hat is for all members who supported||&6during our beta period and is a thank you from the||&eOBAM &6Staff for those that helped us when we were starting.||&6THANK YOU!|| ||&cThis hat is only available to our Beta Supporters.;c;sudo PLAYER hat error" + set {db_perk.hats::02.beta::beta} to "i;iron pressure plate;n;&3&lBeta Supporter Hat;l;&6This Special hat is for all members who supported||&6during our beta period and is a thank you from the||&3OBAM &6Staff for those that helped us when we were||&6starting. THANK YOU!;c;sudo PLAYER hat beta" + set {db_perk.hats::02.beta::error} to "i;iron pressure plate;n;&3&lBeta Supporter Hat;l;&6This Special hat is for all members who supported||&6during our beta period and is a thank you from the||&3OBAM &6Staff for those that helped us when we were||&6starting. THANK YOU!|| ||&cThis hat is only available to our Beta Supporters.;c;sudo PLAYER hat error" set {db_perk.hats::03.quartz} to "check" - set {db_perk.hats::03.quartz::quartz} to "i;quartz block;n;&3&lQuartz Hat;l;&6Description;c;sudo PLAYER hat quartz" - set {db_perk.hats::03.quartz::error} to "i;quartz block;n;&3&lQuartz Hat;l;&6Description|| ||&cThis hat is only available to our Supporters.;c;sudo PLAYER hat error" + set {db_perk.hats::03.quartz::quartz} to "i;quartz block;n;&3&lQuartz Hat;l;&6This hat is crafted from the smoothest quartz||&6found in the hottest part of the Nether!;c;sudo PLAYER hat quartz" + set {db_perk.hats::03.quartz::error} to "i;quartz block;n;&3&lQuartz Hat;l;&6This hat is crafted from the smoothest quartz||&6found in the hottest part of the Nether!|| ||&cThis hat is only available to our Supporters.;c;sudo PLAYER hat error" set {db_perk.hats::04.cactus} to "check" - set {db_perk.hats::04.cactus::cactus} to "i;cactus;n;&3&lPrickly Hat;l;&6Where this hat when you're feeling a bit....Prickly!;c;sudo PLAYER hat cactus" - set {db_perk.hats::04.cactus::error} to "i;cactus;n;&3&lPrickly Hat;l;&6Where this hat when you're feeling a bit....Prickly!|| ||&cThis hat must be purchased from the OBAMCraft shop.|| ||&6Use &f/buy &6to purchase the &3Prickly Hat|| ||&6Price: &a$2.00;c;sudo PLAYER hat cactus" + set {db_perk.hats::04.cactus::cactus} to "i;cactus;n;&3&lPrickly Hat;l;&6Wear this hat when you're feeling a bit....Prickly!;c;sudo PLAYER hat cactus" + set {db_perk.hats::04.cactus::error} to "i;cactus;n;&3&lPrickly Hat;l;&6Wear this hat when you're feeling a bit....Prickly!|| ||&cThis hat must be purchased from the OBAMCraft shop.|| ||&eUse &f/buy &ein the hub to purchase the &3Prickly Hat|| ||&ePrice: &a$2.00;c;sudo PLAYER hat error" command /cleardbhats: permission: obam.admin @@ -38,7 +38,7 @@ command /hatmenu []: set {_what} to {db_perk.hats::03.quartz::quartz} loop-index is "04.cactus": set {_what} to {db_perk.hats::04.cactus::error} - {db_hat.purchase.cactus.%player%} is true: + {db_purchase.cactus.%player%} is true: set {_what} to {db_perk.hats::04.cactus::cactus} player has permission "obam.smod": set {_what} to {db_perk.hats::04.cactus::cactus} @@ -74,7 +74,7 @@ command /hat []: player has permission "obam.supporter": set {_hat} to quartz block argument 1 is "cactus": - {db_hat.purchase.cactus.%player%} is true: + {db_purchase.cactus.%player%} is true: set {_hat} to cactus player has permission "obam.smod": set {_hat} to cactus @@ -141,11 +141,4 @@ every 1 second: loop-player is "ISMOOCH": set loop-player's helmet to command block named "&d&lSmooch's Sassy Hat" loop-player is "Electric_Hamster": - set loop-player's helmet to sponge named "&b&lThe Hamster Hat" - -command /hatpurchase : - permission: obam.admin - trigger: - argument 1 is "cactus": - set {db_hat.purchase.cactus.%argument 2%} to true - send "%Argument 2% has purchased the hat Prickly Hat" to console \ No newline at end of file + set loop-player's helmet to sponge named "&b&lThe Hamster Hat" \ No newline at end of file diff --git a/Obam-Perks/perks.sk b/Obam-Perks/perks.sk index 89d6d0a..eeb0832 100644 --- a/Obam-Perks/perks.sk +++ b/Obam-Perks/perks.sk @@ -3,9 +3,11 @@ on script load: set {db_perk.main::02.pets} to "i;lead;n;&3Pet Stable;l;&6Opens up your Pet Stable to summon your pets.;c;sudo PLAYER obam petmenu" set {db_perk.main::03.trails} to "i;dirt;n;&3Trails Menu;l;&6;c;sudo PLAYER obam petmenu" set {db_perk.main::04.splash} to "i;dirt;n;&3Splash Menu;l;&6;c;sudo PLAYER obam petmenu" - set {db_perk.main::05.hit} to "i;dirt;n;&3Hit Sound Menu;l;&6;c;sudo PLAYER obam petmenu" + set {db_perk.main::05.hit} to "i;jukebox;n;&3Hit Sound Menu;l;&6;c;sudo PLAYER obam hitclassmenu" set {db_perk.main::06.shop} to "i;dirt;n;&3Shop;l;&6;c;sudo PLAYER obam petmenu" - set {db_perk.main::07.ci} to "i;command block;n;&3Custom Items Menu;l;&6Opens the Custom Item menu to access items.;c;sudo PLAYER obam ci" + set {db_perk.main::07.horse} to "i;horse spawn egg;n;&3Horse Changer Upper;l;&6Want to Skellify of Zombify your ride?;c;sudo PLAYER obam horsemenu" + set {db_perk.main::08.blank} to "i;air" + set {db_perk.main::09.ci} to "i;command block;n;&3Custom Items Menu;l;&6Opens the Custom Item menu to access items.;c;sudo PLAYER obam ci" command /cleardbmain: permission: obam.admin diff --git a/Obam-Perks/pets.sk b/Obam-Perks/pets.sk index 640d0ce..7089e8f 100644 --- a/Obam-Perks/pets.sk +++ b/Obam-Perks/pets.sk @@ -1,11 +1,3 @@ -options: - ismooch: i;sheep spawn egg;n;&6ISMOOCH;l;&7Grab a pink Sheep||&7named ISMOOCH|| ||&5&oThis pet is free!||&5&oClick to Summon!;c;sudo %player% pet ismooch - bruswain: i;bat spawn egg;n;&6Bru Swain;l;&7From the darkness comes||&7Bru Swain. A mysterious||&7bat|| ||&5&oThis pet is for our||&5&oBeta Supporters only.;c;sudo %player% pet bruswain - sparky: i;creeper spawn egg;n;&6Sparky;l;&7A trolly creeper||&7to scare your friends!|| ||&5&oThis pet is for||&5&oall supporters!;c;sudo %player% pet sparky - bacon: i;pig spawn egg;n;&6Bacon;l;&7A tasty pig ready||&7for slaughter but unable||&7to die|| ||&5&oThis pet can be||&5&opurchased through the||&5&oOBAMcraft shop;c;sudo %player% pet bacon - clear: i;fire;n;&6Clear;l;&7Click to clear all||&7summoned pets!;c;sudo %player% pet clear - lead: i;lead;n;&6Leash;l;&7Pets getting out of||&7control? Click this||&7to attach a lead||&7to all of your summoned||&7pets!;c;sudo %player% pet lead - on script load: set {db_perk.pets::01.ismooch} to "i;sheep spawn egg;n;&3iSmooch;l;&6The sassiest sheep in all the lands!;c;sudo PLAYER pet ismooch" set {db_perk.pets::02.bruswain} to "check" @@ -16,7 +8,7 @@ on script load: set {db_perk.pets::03.sparky::error} to "i;creeper spawn egg;n;&3Sparky;l;&6While this creeper appears to have a||&6dangerously electrifying personality, we||&6promise he’s completely safe!|| ||&cThis pet is only available to our Supporters.;c;sudo PLAYER pet error" set {db_perk.pets::04.bacon} to "check" set {db_perk.pets::04.bacon::bacon} to "i;pig spawn egg;n;&3Bacon;l;&6Rescued from the final stages of the||&6slaughter house, this pig is extremely||&6grateful for your love and kindness!;c;sudo PLAYER pet bacon" - set {db_perk.pets::04.bacon::error} to "i;pig spawn egg;n;&3Bacon;l;&6Rescued from the final stages of the||&6slaughter house, this pig is extremely||&6grateful for your love and kindness!|| ||&cThis pet must be purchased from the OBAMCraft shop.|| ||&6Use &f/buy &6to purchase &3Bacon|| ||&6Price: &a$5.00;c;sudo PLAYER pet error" + set {db_perk.pets::04.bacon::error} to "i;pig spawn egg;n;&3Bacon;l;&6Rescued from the final stages of the||&6slaughter house, this pig is extremely||&6grateful for your love and kindness!|| ||&cThis pet must be purchased from the OBAMCraft shop.|| ||&eUse &f/buy &ein the hub purchase &3Bacon|| ||&ePrice: &a$5.00;c;sudo PLAYER pet error" set {db_perk.pets::05.blank} to "i;air" set {db_perk.pets::06.blank} to "i;air" set {db_perk.pets::07.lead} to "i;lead;n;&3Leash;l;&6Pets getting out of control? Click this||&6to attach a lead to all of your||&6summoned pets!;c;sudo PLAYER pet lead" @@ -46,7 +38,7 @@ command /petmenu: set {_what} to {db_perk.pets::03.sparky::sparky} loop-index is "04.bacon": set {_what} to {db_perk.pets::04.bacon::error} - {db_pet.purchase.bacon.%player%} is true: + {db_purchase.bacon.%player%} is true: set {_what} to {db_perk.pets::04.bacon::bacon} player has permission "obam.smod": set {_what} to {db_perk.pets::04.bacon::bacon} @@ -149,7 +141,7 @@ command /pet []: stop send "&cYou must be a supporter to do this!" to player argument is "bacon": - {db_pet.purchase.bacon.%player%} is true: + {db_purchase.bacon.%player%} is true: spawn pig at location of player set name of spawned pig to "&aBacon" make player leash spawned pig @@ -166,6 +158,7 @@ command /pet []: add {pets.%player%} to {pets.%player%::*} stop send "&cYou must purchase this pet on the online store!" + stop argument is "dragon": send "&cI bet you wish you could...." to player stop @@ -198,10 +191,3 @@ on right click with shears on sheep: name of event-entity is "&aISMOOCH" cancel event send "&cYou can not shear pets!" to event-player - -command /petpurchase : - permission: obam.admin - trigger: - argument 1 is "bacon": - set {db_pet.purchase.bacon.%argument 2%} to true - send "%Argument 2% has purchased the pet BACON" to console \ No newline at end of file From 50df7485a905b6acb4e0d53b74a07836aaa49787 Mon Sep 17 00:00:00 2001 From: ob1bob69 Date: Mon, 11 Aug 2014 11:07:58 -0400 Subject: [PATCH 21/22] Final Perks Mod --- Obam-Perks/Perks-Fronts/hitsounds.sk | 2 +- Obam-Perks/Perks-Fronts/splash.sk | 340 ++++++++++++++++++-------- Obam-Perks/Perks-Fronts/suphorse.sk | 21 +- Obam-Perks/Perks-Fronts/trails.sk | 342 ++++++++++++++++++--------- Obam-Perks/perks.sk | 31 ++- Obam-Perks/ticketstuff.sk | 58 ++--- 6 files changed, 531 insertions(+), 263 deletions(-) diff --git a/Obam-Perks/Perks-Fronts/hitsounds.sk b/Obam-Perks/Perks-Fronts/hitsounds.sk index 112b1f5..75e4584 100644 --- a/Obam-Perks/Perks-Fronts/hitsounds.sk +++ b/Obam-Perks/Perks-Fronts/hitsounds.sk @@ -236,7 +236,7 @@ command /hitclassmenu: set {_size} to 3 {_count} is greater than 27: set {_size} to 4 - show "%{_chest}%" with {_size} row named "&9&1Hit Sound Classes" to player + show "%{_chest}%" with {_size} row named "&9&lHit Sound Classes" to player command /hitmenuchange []: trigger: diff --git a/Obam-Perks/Perks-Fronts/splash.sk b/Obam-Perks/Perks-Fronts/splash.sk index e06f53f..a52413c 100644 --- a/Obam-Perks/Perks-Fronts/splash.sk +++ b/Obam-Perks/Perks-Fronts/splash.sk @@ -1,100 +1,235 @@ -#splash +on script load: + set {db_perk.splash::01.heart} to "check" + set {db_perk.splash::01.heart::heart} to "i;red dye;n;&3Heart Particles;l;&6Click to enable a heart splash!;c;sudo PLAYER splash heart" + set {db_perk.splash::01.heart::error} to "i;red dye;n;&3Heart Particles;l;&6Click to enable a heart splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" + set {db_perk.splash::02.flame} to "check" + set {db_perk.splash::02.flame::flame} to "i;fire;n;&3Flame Particles;l;&6Click to enable a flame splash!;c;sudo PLAYER splash flame" + set {db_perk.splash::02.flame::error} to "i;fire;n;&3Flame Particles;l;&6Click to enable a flame splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" + set {db_perk.splash::03.reddust} to "check" + set {db_perk.splash::03.reddust::reddust} to "i;magma cream;n;&3Unstable Gas Particles;l;&6Click to enable an unstable gas splash!;c;sudo PLAYER splash reddust" + set {db_perk.splash::03.reddust::error} to "i;magma cream;n;&3Unstable Gas Particles;l;&6Click to enable an unstable gas splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" + set {db_perk.splash::04.smoke} to "check" + set {db_perk.splash::04.smoke::smoke} to "i;charcoal;n;&3Dark Smoke Particles;l;&6Click to enable a dark smoke splash!;c;sudo PLAYER splash smoke" + set {db_perk.splash::04.smoke::error} to "i;charcoal;n;&3Dark Smoke Particles;l;&6Click to enable a dark smoke splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" + set {db_perk.splash::05.waterdrip} to "check" + set {db_perk.splash::05.waterdrip::waterdrip} to "i;water;n;&3Water Drip Particles;l;&6Click to enable a water drip splash!;c;sudo PLAYER splash waterdrip" + set {db_perk.splash::05.waterdrip::error} to "i;water;n;&3Water Drip Particles;l;&6Click to enable a water drip splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" + set {db_perk.splash::06.lavadrip} to "check" + set {db_perk.splash::06.lavadrip::lavadrip} to "i;lava;n;&3Lava Drip Particles;l;&6Click to enable a lava drip splash!;c;sudo PLAYER splash lavadrip" + set {db_perk.splash::06.lavadrip::error} to "i;lava;n;&3Lava Drip Particles;l;&6Click to enable a lava drip splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" + set {db_perk.splash::07.slime} to "check" + set {db_perk.splash::07.slime::slime} to "i;slimeball;n;&3Slime Particles;l;&6Click to enable a slime splash!;c;sudo PLAYER splash slime" + set {db_perk.splash::07.slime::error} to "i;slimeball;n;&3Slime Particles;l;&6Click to enable a slime splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" + set {db_perk.splash::08.note} to "check" + set {db_perk.splash::08.note::note} to "i;jukebox;n;&3Music Notes Particles;l;&6Click to enable a music note splash!;c;sudo PLAYER splash note" + set {db_perk.splash::08.note::error} to "i;jukebox;n;&3Music Notes Particles;l;&6Click to enable a music note splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" + set {db_perk.splash::09.happy} to "check" + set {db_perk.splash::09.happy::happy} to "i;villager spawn egg;n;&3Villager Particles “Happy”;l;&6Click to enable a happy villager splash!;c;sudo PLAYER splash happy" + set {db_perk.splash::09.happy::error} to "i;villager spawn egg;n;&3Villager Particles “Happy”;l;&6Click to enable a happy villager splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" + set {db_perk.splash::10.angry} to "check" + set {db_perk.splash::10.angry::angry} to "i;villager spawn egg;n;&3Villager Particles “Angry”;l;&6Click to enable a angry villager splash!;c;sudo PLAYER splash angry" + set {db_perk.splash::10.angry::error} to "i;villager spawn egg;n;&3Villager Particles “Angry”;l;&6Click to enable a angry villager splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" + set {db_perk.splash::11.explode} to "check" + set {db_perk.splash::11.explode::explode} to "i;tnt;n;&3Explosion Smoke Particles;l;&6Click to enable a explosion smoke splash!;c;sudo PLAYER splash explode" + set {db_perk.splash::11.explode::error} to "i;tnt;n;&3Explosion Smoke Particles;l;&6Click to enable a explosion smoke splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" + set {db_perk.splash::12.snow} to "check" + set {db_perk.splash::12.snow::snow} to "i;snow block;n;&3Snowflake Particles;l;&6Click to enable a snowflake splash!;c;sudo PLAYER splash snow" + set {db_perk.splash::12.snow::error} to "i;snow block;n;&3Snowflake Particles;l;&6Click to enable a snowflake splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" + set {db_perk.splash::13.portal} to "check" + set {db_perk.splash::13.portal::portal} to "i;nether portal;n;&3Nether Portal Particles;l;&6Click to enable a nether portal splash!;c;sudo PLAYER splash portal" + set {db_perk.splash::13.portal::error} to "i;nether portal;n;&3Nether Portal Particles;l;&6Click to enable a nether portal splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" + set {db_perk.splash::14.cloud} to "check" + set {db_perk.splash::14.cloud::cloud} to "i;bonemeal;n;&3Cloud Particles;l;&6Click to enable a cloud splash!;c;sudo PLAYER splash cloud" + set {db_perk.splash::14.cloud::error} to "i;bonemeal;n;&3Cloud Particles;l;&6Click to enable a cloud splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" +# set {db_perk.splash::15.bubble} to "check" +# set {db_perk.splash::15.bubble::bubble} to "i;water bottle;n;&3Bubble Particles;l;&6Click to enable a bubble splash!;c;sudo PLAYER splash bubble" +# set {db_perk.splash::15.bubble::error} to "i;water bottle;n;&3Bubble Particles;l;&6Click to enable a bubble splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" + set {db_perk.splash::16.clear} to "check" + set {db_perk.splash::16.clear::clear} to "i;glass;n;&3Clear Particles;l;&6Click to clear your splash!;c;sudo PLAYER splash clear" + set {db_perk.splash::16.clear::error} to "i;glass;n;&3Clear Particles;l;&6Click to clear your splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" + +command /cleardbsplash: + permission: obam.admin + trigger: + delete {db_perk.splash::*} + message "You have cleared all splash flags, please reload splash.sk to fix them." -options: - heart: i;dirt;n;&7Hearts;l;&6Click to enable heart||&6effects for your splash;c;sudo %player% splashmenu hearts - flame: i;dirt;n;&7Flames;l;&6Click to enable flame||&6effects for your splash;c;sudo %player% splashmenu flames - reddust: i;dirt;n;&7Red Poof;l;&6Click to enable red poof||&6effects for your splash;c;sudo %player% splashmenu burst - smoke: i;dirt;n;&7Smoke;l;&6Click to enable smoke||&6effects for your splash;c;sudo %player% splashmenu smoke - waterdrip: i;dirt;n;&7Drip Water;l;&6Click to enable water drip||&6effects for your splash;c;sudo %player% splashmenu water - lavadrip: i;dirt;n;&7Drip Lava;l;&6Click to enable lava drip||&6effects for your splash;c;sudo %player% splashmenu lava - slime: i;dirt;n;&7Slime;l;&6Click to enable slime||&6effects for your splash;c;sudo %player% splashmenu slime - note: i;dirt;n;&7Notes;l;&6Click to enable music note||&6effects for your splash;c;sudo %player% splashmenu notes - happy: i;dirt;n;&7Happy;l;&6Click to enable Happy||&6effects for your splash;c;sudo %player% splashmenu happy - angry: i;dirt;n;&7Angry;l;&6Click to enable Angry||&6effects for your splash;c;sudo %player% splashmenu angry - explode: i;dirt;n;&7Explosion;l;&6Click to enable Explosion||&6effects for your splash;c;sudo %player% splashmenu explode - snow: i;dirt;n;&7Snow;l;&6Click to enable Snow Shovel||&6effects for your splash;c;sudo %player% splashmenu snow - portal: i;dirt;n;&7Portal;l;&6Click to enable Portal||&6effects for your splash;c;sudo %player% splashmenu portal - cloud: i;dirt;n;&7Cloud;l;&6Click to enable Cloud||&6effects for your splash;c;sudo %player% splashmenu cloud - clear: i;glass;n;&7Clear splash;l;&6Click to disable||&6effects for your splash;c;sudo %player% splashmenu clear - bubble: i;dirt;n;&7Bubble;l;&6Click to enable Bubble||&6effects for your splash;c;sudo %player% splashmenu bubble - command /splashmenu []: - permission: obam.supporter trigger: - + loop {db_perk.splash::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + set {_what} to loop-value + loop-index is "01.heart": + set {_what} to {db_perk.splash::01.heart::error} + player has permission "obam.supporter": + set {_what} to {db_perk.splash::01.heart::heart} + player has permission "obam.smod": + set {_what} to {db_perk.splash::01.heart::heart} + loop-index is "02.flame": + set {_what} to {db_perk.splash::02.flame::error} + player has permission "obam.supporter": + set {_what} to {db_perk.splash::02.flame::flame} + player has permission "obam.smod": + set {_what} to {db_perk.splash::02.flame::flame} + loop-index is "03.reddust": + set {_what} to {db_perk.splash::03.reddust::error} + player has permission "obam.supporter": + set {_what} to {db_perk.splash::03.reddust::reddust} + player has permission "obam.smod": + set {_what} to {db_perk.splash::03.reddust::reddust} + loop-index is "04.smoke": + set {_what} to {db_perk.splash::04.smoke::error} + player has permission "obam.supporter": + set {_what} to {db_perk.splash::04.smoke::smoke} + player has permission "obam.smod": + set {_what} to {db_perk.splash::04.smoke::smoke} + loop-index is "05.waterdrip": + set {_what} to {db_perk.splash::05.waterdrip::error} + player has permission "obam.supporter": + set {_what} to {db_perk.splash::05.waterdrip::waterdrip} + player has permission "obam.smod": + set {_what} to {db_perk.splash::05.waterdrip::waterdrip} + loop-index is "06.lavadrip": + set {_what} to {db_perk.splash::06.lavadrip::error} + player has permission "obam.supporter": + set {_what} to {db_perk.splash::06.lavadrip::lavadrip} + player has permission "obam.smod": + set {_what} to {db_perk.splash::06.lavadrip::lavadrip} + loop-index is "07.slime": + set {_what} to {db_perk.splash::07.slime::error} + player has permission "obam.supporter": + set {_what} to {db_perk.splash::07.slime::slime} + player has permission "obam.smod": + set {_what} to {db_perk.splash::07.slime::slime} + loop-index is "08.note": + set {_what} to {db_perk.splash::08.note::error} + player has permission "obam.supporter": + set {_what} to {db_perk.splash::08.note::note} + player has permission "obam.smod": + set {_what} to {db_perk.splash::08.note::note} + loop-index is "09.happy": + set {_what} to {db_perk.splash::09.happy::error} + player has permission "obam.supporter": + set {_what} to {db_perk.splash::09.happy::happy} + player has permission "obam.smod": + set {_what} to {db_perk.splash::09.happy::happy} + loop-index is "10.angry": + set {_what} to {db_perk.splash::10.angry::error} + player has permission "obam.supporter": + set {_what} to {db_perk.splash::10.angry::angry} + player has permission "obam.smod": + set {_what} to {db_perk.splash::10.angry::angry} + loop-index is "11.explode": + set {_what} to {db_perk.splash::11.explode::error} + player has permission "obam.supporter": + set {_what} to {db_perk.splash::11.explode::explode} + player has permission "obam.smod": + set {_what} to {db_perk.splash::11.explode::explode} + loop-index is "12.snow": + set {_what} to {db_perk.splash::12.snow::error} + player has permission "obam.supporter": + set {_what} to {db_perk.splash::12.snow::snow} + player has permission "obam.smod": + set {_what} to {db_perk.splash::12.snow::snow} + loop-index is "13.portal": + set {_what} to {db_perk.splash::13.portal::error} + player has permission "obam.supporter": + set {_what} to {db_perk.splash::13.portal::portal} + player has permission "obam.smod": + set {_what} to {db_perk.splash::13.portal::portal} + loop-index is "14.cloud": + set {_what} to {db_perk.splash::14.cloud::error} + player has permission "obam.supporter": + set {_what} to {db_perk.splash::14.cloud::cloud} + player has permission "obam.smod": + set {_what} to {db_perk.splash::14.cloud::cloud} +# loop-index is "15.bubble": +# set {_what} to {db_perk.splash::15.bubble::error} +# player has permission "obam.supporter": +# set {_what} to {db_perk.splash::15.bubble::bubble} +# player has permission "obam.smod": +# set {_what} to {db_perk.splash::15.bubble::bubble} + loop-index is "16.clear": + set {_what} to {db_perk.splash::16.clear::error} + player has permission "obam.supporter": + set {_what} to {db_perk.splash::16.clear::clear} + player has permission "obam.smod": + set {_what} to {db_perk.splash::16.clear::clear} + {_chest} is set: + set {_chest} to "%{_chest}%;s;%{_count}%;%{_what}%" + {_chest} is not set: + set {_chest} to "s;%{_count}%;%{_what}%" + replace "PLAYER" in {_chest} with "%player%" + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show "%{_chest}%" with {_size} row named "&9&lSplash Menu" to player + +command /splash []: + trigger: argument is not set: - send "&aOpening menu..." - wait 0.3 seconds - show "s;1;{@heart};s;2;{@flame};s;3;{@reddust};s;4;{@smoke};s;5;{@slime};s;6;{@note};s;7;{@lavadrip};s;8;{@waterdrip};s;9;{@happy};s;10;{@angry};s;11;{@explode};s;12;{@snow};s;13;{@portal};s;14;{@cloud};s;15;{@clear}" with 2 rows named "&1splash Menu" to player - - argument is "hearts": - set {splash.%player%} to "hearts" - send "&asplash set to &eHearts&a!" - - argument is "flames": - set {splash.%player%} to "flames" - send "&asplash set to &eFlames&a!" - - argument is "burst": - set {splash.%player%} to "burst" - send "&asplash set to &eRed Poof&a!" - - argument is "smoke": - set {splash.%player%} to "smoke" - send "&asplash set to &eSmoke&a!" - - argument is "slime": - set {splash.%player%} to "slime" - send "&asplash set to &eSlime&a!" - - argument is "notes": - set {splash.%player%} to "notes" - send "&asplash set to &eNotes&a!" - - argument is "lava": - set {splash.%player%} to "lava" - send "&asplash set to &eLava Drip&a!" - - argument is "water": - set {splash.%player%} to "water" - send "&asplash set to &eWater Drip&a!" - - argument is "happy": - set {splash.%player%} to "happy" - send "&asplash set to &eHappy&A!" - - argument is "angry": - set {splash.%player%} to "angry" - send "&asplash set to &eAngry&A!" - - argument is "explode": - set {splash.%player%} to "explode" - send "&asplash set to &eExplosion&a!" - - argument is "snow": - set {splash.%player%} to "snow" - send "&asplash set to &eSnow Shovel&a!" - - argument is "bubble": - set {splash.%player%} to "bubble" - send "&asplash set to &eBubble&A!" - - argument is "portal": - set {splash.%player%} to "portal" - send "&asplash set to &ePortal&a!" - - argument is "cloud": - set {splash.%player%} to "cloud" - send "&asplash set to &eCloud&A!" - - argument is "bubble": - set {splash.%player%} to "bubble" - - argument is "clear": - clear {splash.%player%} - send "&asplash disabled!" - - + message "&cPlease use &7/OBAM &cto access the Splash Menu." + stop + argument is "error": + message "&cThis splash is not available to you." + stop + player has permission "obam.supporter": + argument is "heart": + set {splash.%player%} to "heart" + send "&aYou have enabled a &eHeart Splash&a!" + argument is "flame": + set {splash.%player%} to "flame" + send "&aYou have enabled a &eFlame Splash&a!" + argument is "reddust": + set {splash.%player%} to "reddust" + send "&aYou have enabled an &eUnstable Gas Splash&a!" + argument is "smoke": + set {splash.%player%} to "smoke" + send "&aYou have enabled a &eDark Smoke Splash&a!" + argument is "waterdrip": + set {splash.%player%} to "waterdrip" + send "&aYou have enabled a &eWater Drip Splash&a!" + argument is "lavadrip": + set {splash.%player%} to "lavadrip" + send "&aYou have enabled a &eLava Drip Splash&a!" + argument is "slime": + set {splash.%player%} to "slime" + send "&aYou have enabled a &eSlime Splash&a!" + argument is "note": + set {splash.%player%} to "note" + send "&aYou have enabled a &eMusic Note Splash&a!" + argument is "happy": + set {splash.%player%} to "happy" + send "&aYou have enabled a &eHappy Villager Splash&a!" + argument is "angry": + set {splash.%player%} to "angry" + send "&aYou have enabled an &eAngry Villager Splash&a!" + argument is "explode": + set {splash.%player%} to "explode" + send "&aYou have enabled an &eExplosion Smoke Splash&a!" + argument is "snow": + set {splash.%player%} to "snow" + send "&aYou have enabled a &eSnowflake Splash&a!" +# argument is "bubble": +# set {splash.%player%} to "bubble" +# send "&aYou have enabled a &eBubble Splash&a!" + argument is "portal": + set {splash.%player%} to "portal" + send "&aYou have enabled a &eNether Portal Splash&a!" + argument is "cloud": + set {splash.%player%} to "cloud" + send "&aYou have enabled a &eCloud Splash&a!" + argument is "clear": + clear {splash.%player%} + send "&aYou have disabled your splash!" + every 5 seconds: loop all players: clear {_amt} @@ -104,23 +239,23 @@ every 5 seconds: {_amt} is not set: set {_amt} to 50 {splash.%loop-player%} is set: - {splash.%loop-player%} is "bubble": - spawn {_amt} of bubble data 1 offset with 1, 1, 1 at location of loop-player +# {splash.%loop-player%} is "bubble": +# spawn {_amt} of bubble data 1 offset with 1, 1, 1 at location of loop-player {splash.%loop-player%} is "cloud": spawn {_amt} of cloud data 1 offset with 1, 1, 1 at location of loop-player - {splash.%loop-player%} is "hearts": + {splash.%loop-player%} is "heart": spawn {_amt} of heart data 1 offset with 1, 1, 1 at location of loop-player - {splash.%loop-player%} is "flames": + {splash.%loop-player%} is "flame": spawn {_amt} of flame data 1 offset with 1, 1, 1 at location of loop-player - {splash.%loop-player%} is "burst": + {splash.%loop-player%} is "reddust": spawn {_amt} of red dust data 1 offset with 1, 1, 1 at location of loop-player {splash.%loop-player%} is "smoke": spawn {_amt} of large smoke data 1 offset with 1, 1, 1 at location of loop-player - {splash.%loop-player%} is "notes": + {splash.%loop-player%} is "note": spawn {_amt} of note data 1 offset with 1, 1, 1 at location of loop-player - {splash.%loop-player%} is "lava": + {splash.%loop-player%} is "lavadrip": spawn {_amt} of drip lava data 1 offset with 1, 1, 1 at location of loop-player - {splash.%loop-player%} is "water": + {splash.%loop-player%} is "waterdrip": spawn {_amt} of drip water data 1 offset with 1, 1, 1 at location of loop-player {splash.%loop-player%} is "slime": spawn {_amt} of slime data 1 offset with 1, 1, 1 at location of loop-player @@ -134,6 +269,3 @@ every 5 seconds: spawn {_amt} of snow shovel data 1 offset with 1, 1, 1 at location of loop-player {splash.%loop-player%} is "portal": spawn {_amt} of portal data 1 offset with 1, 1, 1 at location of loop-player - - - \ No newline at end of file diff --git a/Obam-Perks/Perks-Fronts/suphorse.sk b/Obam-Perks/Perks-Fronts/suphorse.sk index 2c2a863..ca9130b 100644 --- a/Obam-Perks/Perks-Fronts/suphorse.sk +++ b/Obam-Perks/Perks-Fronts/suphorse.sk @@ -44,7 +44,7 @@ command /horsemenu: set {_size} to 3 {_count} is greater than 27: set {_size} to 4 - show "%{_chest}%" with {_size} row named "&9&lPet Stable" to player + show "%{_chest}%" with {_size} row named "&9&lHorse O' Matic" to player command /suphorse []: trigger: @@ -60,11 +60,14 @@ command /suphorse []: argument is "error": message "&cThis ability is not available to you." stop - set {_y} to y-coordinate of player - set {_x} to x-coordinate of player - set {_z} to z-coordinate of player - argument is "zombify": - execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:3,Tame:1}" - argument is "skellify": - execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:4,Tame:1}" - delete player's vehicle + "%player's world%" is "world": + set {_y} to y-coordinate of player + set {_x} to x-coordinate of player + set {_z} to z-coordinate of player + argument is "zombify": + execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:3,Tame:1}" + argument is "skellify": + execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:4,Tame:1}" + delete player's vehicle + stop + message "&cThis can only be used in the Regular World." \ No newline at end of file diff --git a/Obam-Perks/Perks-Fronts/trails.sk b/Obam-Perks/Perks-Fronts/trails.sk index 0b41a07..160d275 100644 --- a/Obam-Perks/Perks-Fronts/trails.sk +++ b/Obam-Perks/Perks-Fronts/trails.sk @@ -1,127 +1,253 @@ -options: - heart: i;dirt;n;&7Hearts;l;&6Click to enable heart||&6trails for your bows;c;sudo %player% trailmenu hearts - flame: i;dirt;n;&7Flames;l;&6Click to enable flame||&6trails for your bows;c;sudo %player% trailmenu flames - reddust: i;dirt;n;&7Red Poof;l;&6Click to enable red poof||&6trails for your bows;c;sudo %player% trailmenu burst - smoke: i;dirt;n;&7Smoke;l;&6Click to enable smoke||&6trails for your bows;c;sudo %player% trailmenu smoke - waterdrip: i;dirt;n;&7Drip Water;l;&6Click to enable water drip||&6trails for your bows;c;sudo %player% trailmenu water - lavadrip: i;dirt;n;&7Drip Lava;l;&6Click to enable lava drip||&6trail for your bows;c;sudo %player% trailmenu lava - slime: i;dirt;n;&7Slime;l;&6Click to enable slime||&6trails for your bows;c;sudo %player% trailmenu slime - note: i;dirt;n;&7Notes;l;&6Click to enable music note||&6trails for your bows;c;sudo %player% trailmenu notes - happy: i;dirt;n;&7Happy;l;&6Click to enable Happy||&6trails for your bows;c;sudo %player% trailmenu happy - angry: i;dirt;n;&7Angry;l;&6Click to enable Angry||&6trails for your bows;c;sudo %player% trailmenu angry - explode: i;dirt;n;&7Explosion;l;&6Click to enable Explosion||&6trails for your bows;c;sudo %player% trailmenu explode - snow: i;dirt;n;&7Snow;l;&6Click to enable Snow Shovel||&6trails for your bows;c;sudo %player% trailmenu snow - portal: i;dirt;n;&7Portal;l;&6Click to enable Portal||&6trails for your bows;c;sudo %player% trailmenu portal - cloud: i;dirt;n;&7Cloud;l;&6Click to enable Cloud||&6trails for your bows;c;sudo %player% trailmenu cloud - clear: i;glass;n;&7Clear Trail;l;&6Click to disable||&6trails for you bows;c;sudo %player% trailmenu clear - - +on script load: + set {db_perk.trails::01.heart} to "check" + set {db_perk.trails::01.heart::heart} to "i;red dye;n;&3Heart Particles;l;&6Click to enable heart trails!;c;sudo PLAYER trails heart" + set {db_perk.trails::01.heart::error} to "i;red dye;n;&3Heart Particles;l;&6Click to enable heart trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" + set {db_perk.trails::02.flame} to "check" + set {db_perk.trails::02.flame::flame} to "i;fire;n;&3Flame Particles;l;&6Click to enable flame trails!;c;sudo PLAYER trails flame" + set {db_perk.trails::02.flame::error} to "i;fire;n;&3Flame Particles;l;&6Click to enable flame trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" + set {db_perk.trails::03.reddust} to "check" + set {db_perk.trails::03.reddust::reddust} to "i;magma cream;n;&3Unstable Gas Particles;l;&6Click to enablen unstable gas trails!;c;sudo PLAYER trails reddust" + set {db_perk.trails::03.reddust::error} to "i;magma cream;n;&3Unstable Gas Particles;l;&6Click to enablen unstable gas trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" + set {db_perk.trails::04.smoke} to "check" + set {db_perk.trails::04.smoke::smoke} to "i;charcoal;n;&3Dark Smoke Particles;l;&6Click to enable dark smoke trails!;c;sudo PLAYER trails smoke" + set {db_perk.trails::04.smoke::error} to "i;charcoal;n;&3Dark Smoke Particles;l;&6Click to enable dark smoke trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" + set {db_perk.trails::05.waterdrip} to "check" + set {db_perk.trails::05.waterdrip::waterdrip} to "i;water;n;&3Water Drip Particles;l;&6Click to enable water drip trails!;c;sudo PLAYER trails waterdrip" + set {db_perk.trails::05.waterdrip::error} to "i;water;n;&3Water Drip Particles;l;&6Click to enable water drip trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" + set {db_perk.trails::06.lavadrip} to "check" + set {db_perk.trails::06.lavadrip::lavadrip} to "i;lava;n;&3Lava Drip Particles;l;&6Click to enable lava drip trails!;c;sudo PLAYER trails lavadrip" + set {db_perk.trails::06.lavadrip::error} to "i;lava;n;&3Lava Drip Particles;l;&6Click to enable lava drip trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" + set {db_perk.trails::07.slime} to "check" + set {db_perk.trails::07.slime::slime} to "i;slimeball;n;&3Slime Particles;l;&6Click to enable slime trails!;c;sudo PLAYER trails slime" + set {db_perk.trails::07.slime::error} to "i;slimeball;n;&3Slime Particles;l;&6Click to enable slime trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" + set {db_perk.trails::08.note} to "check" + set {db_perk.trails::08.note::note} to "i;jukebox;n;&3Music Notes Particles;l;&6Click to enable music note trails!;c;sudo PLAYER trails note" + set {db_perk.trails::08.note::error} to "i;jukebox;n;&3Music Notes Particles;l;&6Click to enable music note trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" + set {db_perk.trails::09.happy} to "check" + set {db_perk.trails::09.happy::happy} to "i;villager spawn egg;n;&3Villager Particles “Happy”;l;&6Click to enable happy villager trails!;c;sudo PLAYER trails happy" + set {db_perk.trails::09.happy::error} to "i;villager spawn egg;n;&3Villager Particles “Happy”;l;&6Click to enable happy villager trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" + set {db_perk.trails::10.angry} to "check" + set {db_perk.trails::10.angry::angry} to "i;villager spawn egg;n;&3Villager Particles “Angry”;l;&6Click to enable angry villager trails!;c;sudo PLAYER trails angry" + set {db_perk.trails::10.angry::error} to "i;villager spawn egg;n;&3Villager Particles “Angry”;l;&6Click to enable angry villager trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" + set {db_perk.trails::11.explode} to "check" + set {db_perk.trails::11.explode::explode} to "i;tnt;n;&3Explosion Smoke Particles;l;&6Click to enable explosion smoke trails!;c;sudo PLAYER trails explode" + set {db_perk.trails::11.explode::error} to "i;tnt;n;&3Explosion Smoke Particles;l;&6Click to enable explosion smoke trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" + set {db_perk.trails::12.snow} to "check" + set {db_perk.trails::12.snow::snow} to "i;snow block;n;&3Snowflake Particles;l;&6Click to enable snowflake trails!;c;sudo PLAYER trails snow" + set {db_perk.trails::12.snow::error} to "i;snow block;n;&3Snowflake Particles;l;&6Click to enable snowflake trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" + set {db_perk.trails::13.portal} to "check" + set {db_perk.trails::13.portal::portal} to "i;nether portal;n;&3Nether Portal Particles;l;&6Click to enable nether portal trails!;c;sudo PLAYER trails portal" + set {db_perk.trails::13.portal::error} to "i;nether portal;n;&3Nether Portal Particles;l;&6Click to enable nether portal trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" + set {db_perk.trails::14.cloud} to "check" + set {db_perk.trails::14.cloud::cloud} to "i;bonemeal;n;&3Cloud Particles;l;&6Click to enable cloud trails!;c;sudo PLAYER trails cloud" + set {db_perk.trails::14.cloud::error} to "i;bonemeal;n;&3Cloud Particles;l;&6Click to enable cloud trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" + set {db_perk.trails::16.clear} to "check" + set {db_perk.trails::16.clear::clear} to "i;glass;n;&3Clear Particles;l;&6Click to clear your trails!;c;sudo PLAYER trails clear" + set {db_perk.trails::16.clear::error} to "i;glass;n;&3Clear Particles;l;&6Click to clear your trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" + +command /cleardbtrails: + permission: obam.admin + trigger: + delete {db_perk.trails::*} + message "You have cleared all trails flags, please reload trails.sk to fix them." + command /trailmenu []: - permission: obam.supporter trigger: - + loop {db_perk.trails::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + set {_what} to loop-value + loop-index is "01.heart": + set {_what} to {db_perk.trails::01.heart::error} + player has permission "obam.supporter": + set {_what} to {db_perk.trails::01.heart::heart} + player has permission "obam.smod": + set {_what} to {db_perk.trails::01.heart::heart} + loop-index is "02.flame": + set {_what} to {db_perk.trails::02.flame::error} + player has permission "obam.supporter": + set {_what} to {db_perk.trails::02.flame::flame} + player has permission "obam.smod": + set {_what} to {db_perk.trails::02.flame::flame} + loop-index is "03.reddust": + set {_what} to {db_perk.trails::03.reddust::error} + player has permission "obam.supporter": + set {_what} to {db_perk.trails::03.reddust::reddust} + player has permission "obam.smod": + set {_what} to {db_perk.trails::03.reddust::reddust} + loop-index is "04.smoke": + set {_what} to {db_perk.trails::04.smoke::error} + player has permission "obam.supporter": + set {_what} to {db_perk.trails::04.smoke::smoke} + player has permission "obam.smod": + set {_what} to {db_perk.trails::04.smoke::smoke} + loop-index is "05.waterdrip": + set {_what} to {db_perk.trails::05.waterdrip::error} + player has permission "obam.supporter": + set {_what} to {db_perk.trails::05.waterdrip::waterdrip} + player has permission "obam.smod": + set {_what} to {db_perk.trails::05.waterdrip::waterdrip} + loop-index is "06.lavadrip": + set {_what} to {db_perk.trails::06.lavadrip::error} + player has permission "obam.supporter": + set {_what} to {db_perk.trails::06.lavadrip::lavadrip} + player has permission "obam.smod": + set {_what} to {db_perk.trails::06.lavadrip::lavadrip} + loop-index is "07.slime": + set {_what} to {db_perk.trails::07.slime::error} + player has permission "obam.supporter": + set {_what} to {db_perk.trails::07.slime::slime} + player has permission "obam.smod": + set {_what} to {db_perk.trails::07.slime::slime} + loop-index is "08.note": + set {_what} to {db_perk.trails::08.note::error} + player has permission "obam.supporter": + set {_what} to {db_perk.trails::08.note::note} + player has permission "obam.smod": + set {_what} to {db_perk.trails::08.note::note} + loop-index is "09.happy": + set {_what} to {db_perk.trails::09.happy::error} + player has permission "obam.supporter": + set {_what} to {db_perk.trails::09.happy::happy} + player has permission "obam.smod": + set {_what} to {db_perk.trails::09.happy::happy} + loop-index is "10.angry": + set {_what} to {db_perk.trails::10.angry::error} + player has permission "obam.supporter": + set {_what} to {db_perk.trails::10.angry::angry} + player has permission "obam.smod": + set {_what} to {db_perk.trails::10.angry::angry} + loop-index is "11.explode": + set {_what} to {db_perk.trails::11.explode::error} + player has permission "obam.supporter": + set {_what} to {db_perk.trails::11.explode::explode} + player has permission "obam.smod": + set {_what} to {db_perk.trails::11.explode::explode} + loop-index is "12.snow": + set {_what} to {db_perk.trails::12.snow::error} + player has permission "obam.supporter": + set {_what} to {db_perk.trails::12.snow::snow} + player has permission "obam.smod": + set {_what} to {db_perk.trails::12.snow::snow} + loop-index is "13.portal": + set {_what} to {db_perk.trails::13.portal::error} + player has permission "obam.supporter": + set {_what} to {db_perk.trails::13.portal::portal} + player has permission "obam.smod": + set {_what} to {db_perk.trails::13.portal::portal} + loop-index is "14.cloud": + set {_what} to {db_perk.trails::14.cloud::error} + player has permission "obam.supporter": + set {_what} to {db_perk.trails::14.cloud::cloud} + player has permission "obam.smod": + set {_what} to {db_perk.trails::14.cloud::cloud} + loop-index is "16.clear": + set {_what} to {db_perk.trails::16.clear::error} + player has permission "obam.supporter": + set {_what} to {db_perk.trails::16.clear::clear} + player has permission "obam.smod": + set {_what} to {db_perk.trails::16.clear::clear} + {_chest} is set: + set {_chest} to "%{_chest}%;s;%{_count}%;%{_what}%" + {_chest} is not set: + set {_chest} to "s;%{_count}%;%{_what}%" + replace "PLAYER" in {_chest} with "%player%" + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show "%{_chest}%" with {_size} row named "&9&lTrails Menu" to player + +command /trails []: + trigger: argument is not set: - send "&aOpening menu..." - wait 0.3 seconds - show "s;1;{@heart};s;2;{@flame};s;3;{@reddust};s;4;{@smoke};s;5;{@slime};s;6;{@note};s;7;{@lavadrip};s;8;{@waterdrip};s;9;{@happy};s;10;{@angry};s;11;{@explode};s;12;{@snow};s;13;{@portal};s;14;{@cloud};s;15;{@clear}" with 2 rows named "&1Trail Menu" to player - - argument is "hearts": - set {trail.%player%} to "hearts" - send "&aTrail set to &eHearts&a!" - - argument is "flames": - set {trail.%player%} to "flames" - send "&aTrail set to &eFlames&a!" - - argument is "burst": - set {trail.%player%} to "burst" - send "&aTrail set to &eRed Poof&a!" - - argument is "smoke": - set {trail.%player%} to "smoke" - send "&aTrail set to &eSmoke&a!" - - argument is "slime": - set {trail.%player%} to "slime" - send "&aTrail set to &eSlime&a!" - - argument is "notes": - set {trail.%player%} to "notes" - send "&aTrail set to &eNotes&a!" - - argument is "lava": - set {trail.%player%} to "lava" - send "&aTrail set to &eLava Drip&a!" - - argument is "water": - set {trail.%player%} to "water" - send "&aTrail set to &eWater Drip&a!" - - argument is "happy": - set {trail.%player%} to "happy" - send "&aTrail set to &eHappy&A!" - - argument is "angry": - set {trail.%player%} to "angry" - send "&aTrail set to &eAngry&A!" - - argument is "explode": - set {trail.%player%} to "explode" - send "&aTrail set to &eExplosion&a!" - - argument is "snow": - set {trail.%player%} to "snow" - send "&aTrail set to &eSnow Shovel&a!" - - argument is "bubble": - set {trail.%player%} to "bubble" - send "&aTrail set to &eBubble&A!" - - argument is "portal": - set {trail.%player%} to "portal" - send "&aTrail set to &ePortal&a!" - - argument is "cloud": - set {trail.%player%} to "cloud" - send "&aTrail set to &eCloud&A!" - - argument is "clear": - clear {trail.%player%} - send "&aTrails disabled!" - - + message "&cPlease use &7/OBAM &cto access the Trails Menu." + stop + argument is "error": + message "&cThis trail is not available to you." + stop + player has permission "obam.supporter": + delete {trail.%player%} + argument is "heart": + set {trails.%player%} to "heart" + send "&aYou have enabled &eHeart trails&a!" + argument is "flame": + set {trails.%player%} to "flame" + send "&aYou have enabled &eFlame trails&a!" + argument is "reddust": + set {trails.%player%} to "reddust" + send "&aYou have enabled &eUnstable Gas trails&a!" + argument is "smoke": + set {trails.%player%} to "smoke" + send "&aYou have enabled &eDark Smoke trails&a!" + argument is "waterdrip": + set {trails.%player%} to "waterdrip" + send "&aYou have enabled &eWater Drip trails&a!" + argument is "lavadrip": + set {trails.%player%} to "lavadrip" + send "&aYou have enabled &eLava Drip trails&a!" + argument is "slime": + set {trails.%player%} to "slime" + send "&aYou have enabled &eSlime trails&a!" + argument is "note": + set {trails.%player%} to "note" + send "&aYou have enabled &eMusic Note trails&a!" + argument is "happy": + set {trails.%player%} to "happy" + send "&aYou have enabled &eHappy Villager trails&a!" + argument is "angry": + set {trails.%player%} to "angry" + send "&aYou have enabled &eAngry Villager trails&a!" + argument is "explode": + set {trails.%player%} to "explode" + send "&aYou have enabled &eExplosion Smoke trails&a!" + argument is "snow": + set {trails.%player%} to "snow" + send "&aYou have enabled &eSnowflake trails&a!" + argument is "portal": + set {trails.%player%} to "portal" + send "&aYou have enabled &eNether Portal trails&a!" + argument is "cloud": + set {trails.%player%} to "cloud" + send "&aYou have enabled &eCloud trails&a!" + argument is "clear": + clear {trails.%player%} + send "&aYou have disabled your trails!" + on shoot: - {trail.%shooter%} is set: - {trail.%shooter%} is "hearts": + {trails.%shooter%} is set: + {trails.%shooter%} is "heart": trail projectile with heart - {trail.%shooter%} is "flames": + {trails.%shooter%} is "flame": trail projectile with flame - {trail.%shooter%} is "burst": + {trails.%shooter%} is "reddust": trail projectile with red dust - {trail.%shooter%} is "smoke": + {trails.%shooter%} is "smoke": trail projectile with large smoke - {trail.%shooter%} is "bubble": + {trails.%shooter%} is "bubble": trail projectile with bubble - {trail.%shooter%} is "notes": + {trails.%shooter%} is "note": trail projectile with note - {trail.%shooter%} is "lava": + {trails.%shooter%} is "lavadrip": trail projectile with drip lava - {trail.%shooter%} is "water": + {trails.%shooter%} is "waterdrip": trail projectile with drip water - {trail.%shooter%} is "slime": + {trails.%shooter%} is "slime": trail projectile with slime - {trail.%shooter%} is "happy": + {trails.%shooter%} is "happy": trail projectile with happy villager - {trail.%shooter%} is "angry": + {trails.%shooter%} is "angry": trail projectile with angry villager - {trail.%shooter%} is "explode": + {trails.%shooter%} is "explode": trail projectile with large explode - {trail.%shooter%} is "snow": + {trails.%shooter%} is "snow": trail projectile with snow shovel - {trail.%shooter%} is "portal": + {trails.%shooter%} is "portal": trail projectile with portal - {trail.%shooter%} is "cloud": + {trails.%shooter%} is "cloud": trail projectile with cloud - - - \ No newline at end of file diff --git a/Obam-Perks/perks.sk b/Obam-Perks/perks.sk index eeb0832..300ac73 100644 --- a/Obam-Perks/perks.sk +++ b/Obam-Perks/perks.sk @@ -1,12 +1,12 @@ on script load: set {db_perk.main::01.hats} to "i;iron pressure plate;n;&3Hat Rack;l;&6Gives you access to your virtual Hat Rack.;c;sudo PLAYER obam hatmenu" set {db_perk.main::02.pets} to "i;lead;n;&3Pet Stable;l;&6Opens up your Pet Stable to summon your pets.;c;sudo PLAYER obam petmenu" - set {db_perk.main::03.trails} to "i;dirt;n;&3Trails Menu;l;&6;c;sudo PLAYER obam petmenu" - set {db_perk.main::04.splash} to "i;dirt;n;&3Splash Menu;l;&6;c;sudo PLAYER obam petmenu" - set {db_perk.main::05.hit} to "i;jukebox;n;&3Hit Sound Menu;l;&6;c;sudo PLAYER obam hitclassmenu" - set {db_perk.main::06.shop} to "i;dirt;n;&3Shop;l;&6;c;sudo PLAYER obam petmenu" - set {db_perk.main::07.horse} to "i;horse spawn egg;n;&3Horse Changer Upper;l;&6Want to Skellify of Zombify your ride?;c;sudo PLAYER obam horsemenu" - set {db_perk.main::08.blank} to "i;air" + set {db_perk.main::03.trails} to "i;arrow;n;&3Trails Menu;l;&6Opens up your Projectile Trails Menu.;c;sudo PLAYER obam trailmenu" + set {db_perk.main::04.splash} to "i;cobweb;n;&3Splash Menu;l;&6Opens up you Splash Menu.;c;sudo PLAYER obam splashmenu" + set {db_perk.main::05.hit} to "i;jukebox;n;&3Hit Sound Menu;l;&6Opens up your Hit Sound Menu.;c;sudo PLAYER obam hitclassmenu" + set {db_perk.main::06.horse} to "i;horse spawn egg;n;&3Horse Changer Upper;l;&6Want to Skellify of Zombify your ride?;c;sudo PLAYER obam horsemenu" + set {db_perk.main::07.blank} to "i;air" + set {db_perk.main::08.shop} to "i;emerald;n;&3Shop;l;&6Opens up the Shop Menu.;c;sudo PLAYER obam shop" set {db_perk.main::09.ci} to "i;command block;n;&3Custom Items Menu;l;&6Opens the Custom Item menu to access items.;c;sudo PLAYER obam ci" command /cleardbmain: @@ -42,6 +42,23 @@ command /obam []: set {_size} to 4 show "%{_chest}%" with {_size} row named "&9&lOBAM Perks and Shop Menu" to player argument 1 is set: + argument 1 is "horsemenu": + "%player's world%" is "Death-hub", "skyworld", "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + argument 1 is "petmenu": + "%player's world%" is "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop send "&aBringing up menu..." wait 0.5 seconds - make player execute command "/%argument 1%" \ No newline at end of file + make player execute command "/%argument 1%" + + + + + + + + + \ No newline at end of file diff --git a/Obam-Perks/ticketstuff.sk b/Obam-Perks/ticketstuff.sk index 62b44c7..bfb4d45 100644 --- a/Obam-Perks/ticketstuff.sk +++ b/Obam-Perks/ticketstuff.sk @@ -2,30 +2,27 @@ command /settickettime: permission: obam.admin trigger: - set {ticket.tracker} to now - + on join: {ticket.tracker.count.%player%} is not set: set {ticket.tracker.count.%player%} to {ticket.tracker.count.%player%} set {ticket.tracker.count.%player%} to {ticket.tracker.count.%player%} - player has permission "obam.supporter.tickets": - {ticket.tracker.count.%player%} is not set: - set {ticket.tracker.count.%player%} to {ticket.tracker.count} - {ticket.tracker.bonus.%player%} is not set: - add 2000 to player's balance - wait 1 second - send "&aYou have received your first &e2000&a tickets for getting supporter ultimate! Enjoy!" to player - set {ticket.tracker.bonus.%player%} to true - stop - {ticket.tracker.count.%player%} is not equal to {ticket.tracker.count}: - set {_pay.%player%} to difference between {ticket.tracker.count} and {ticket.tracker.count.%player%} - set {_pay.%player%} to 2000 * {_pay.%player%} - add {_pay.%player%} to player's balance - set {ticket.tracker.count.%player%} to {ticket.tracker.count} + {ticket.tracker.count.%player%} is not set: + set {ticket.tracker.count.%player%} to {ticket.tracker.count} + {ticket.tracker.bonus.%player%} is not set: + add 2000 to player's balance wait 1 second - send "&aYou have received &e2000&a tickets for your weekly allowance! Enjoy!" to player - + send "&aYou have received your first &e2000&a tickets for playing on OBAM! Enjoy!" to player + set {ticket.tracker.bonus.%player%} to true + stop + {ticket.tracker.count.%player%} is not equal to {ticket.tracker.count}: + set {_pay.%player%} to difference between {ticket.tracker.count} and {ticket.tracker.count.%player%} + set {_pay.%player%} to 2000 * {_pay.%player%} + add {_pay.%player%} to player's balance + set {ticket.tracker.count.%player%} to {ticket.tracker.count} + wait 1 second + send "&aYou have received &e2000&a tickets for your weekly allowance! Enjoy!" to player every 1 minute: difference between {ticket.tracker} and now is greater than or equal to 7 days: @@ -34,13 +31,12 @@ every 1 minute: set {ticket.tracker.count} to 0 add 1 to {ticket.tracker.count} - command /syncup: permission: obam.admin trigger: set {db_ticket.tracker.count} to {ticket.tracker.count} set {db_ticket.tracker} to {ticket.tracker} - + command /ticketcounterset []: permission: obam.admin trigger: @@ -48,45 +44,39 @@ command /ticketcounterset []: set {ticket.tracker.count} to argument 1 player-argument is set: set {ticket.tracker.count.%player-argument%} to argument 1 - + command /syncdown: permission: obam.admin trigger: set {ticket.tracker.count} to {db_ticket.tracker.count} set {ticket.tracker} to {db_ticket.tracker} - + command /trackcheck: permission: obam.admin trigger: set {_check} to difference between {ticket.tracker} and now send "%{_check}%" to player - - + command /addtoticket: permission: obam.admin trigger: {ticket.tracker.count} is not set: set {ticket.tracker.count} to 0 add 1 to {ticket.tracker.count} - + command /viewtime: permission: obam.admin trigger: send "%{ticket.tracker.count}%" to player send "%{ticket.tracker.count.%player%}%" to player - - + command /clearultimate : permission: obam.admin trigger: clear {ticket.tracker.count.%offline player-argument%} - + command /updateplayers: - permisson: obam.admin + permission: obam.admin trigger: loop all players: - loop-player has permission "obam.supporter.tickets": - set {db_ticket.tracker.count.%loop-player%} to {ticket.tracker.count.%loop-player%} - - - \ No newline at end of file + set {db_ticket.tracker.count.%loop-player%} to {ticket.tracker.count.%loop-player%} From 317413016e33c489796c2935ce83815ee896660a Mon Sep 17 00:00:00 2001 From: ob1bob69 Date: Mon, 1 Sep 2014 23:30:18 -0400 Subject: [PATCH 22/22] 1.7.9 Updates Server cleanup and 1.7.9 conversion --- .../Hub-Testing/{tonyhub.sk => tony.hub.sk} | 0 {OBAM-Hub => OBAM-Old}/-boatsforhub.sk | 0 .../Chat.sk | 0 .../EASYASEFFIPLOGGINGMAGIC.sk | 0 .../KitDamageSubSystem.sk | 0 .../Obam-Hotpotato/Hotpotato Maps/hpField.sk | 0 .../Hotpotato Maps/hpLavaFlow.sk | 0 .../Hotpotato Maps/hpMushroom.sk | 0 .../Hotpotato Maps/hpNetherFort.sk | 0 .../Hotpotato Maps/hpOmniPlex.sk | 0 .../Hotpotato Maps/hpOmniStairs.sk | 0 .../Hotpotato Maps/hpSewerSystem.sk | 0 .../Hotpotato Maps/hpSnowyHills.sk | 0 .../Obam-Hotpotato/Hotpotato Maps/hpcave.sk | 0 .../Obam-Hotpotato/Hotpotato Maps/hpcity.sk | 0 .../Obam-Hotpotato/hotpotato.sk | 0 .../Obam-Hotpotato/hpstat.sk | 0 .../Obam-Hotpotato/hptemp.sk | 0 .../Obam-Hotpotato/lobbies.sk | 0 .../Obam-Parkour/checkpoints.sk | 0 .../Obam-Parkour/parkour.sk | 0 .../Obam-Parkour/parkoursigns.sk | 0 .../Obam-Parkour/parkourspawn.sk | 0 .../Obam-Parkour/parkourstats.sk | 0 .../Obam-Parkour/timer.sk | 0 .../TicketLogSystem | 0 {Obam-Moderation => OBAM-Old}/admin.sk | 0 .../autobantest.sk | 0 {Obam-Global => OBAM-Old}/autohub.sk | 0 {OBAM-Hub => OBAM-Old}/boatsforhub | 0 {OBAM-Hub => OBAM-Old}/boatsforhub.sk | 0 {Obam-Communication => OBAM-Old}/broadcast.sk | 0 {Obam-Administration => OBAM-Old}/bugs.sk | 0 {OBAM-Fix => OBAM-Old}/ci.sk | 0 {Obam-Administration => OBAM-Old}/circle.sk | 0 {Obam-Communication => OBAM-Old}/connect.sk | 0 .../Global-Testing => OBAM-Old}/dbtest.sk | 0 .../defaultfix.sk | 0 .../Global-Testing => OBAM-Old}/effect.sk | 0 .../enchnattest.sk | 0 .../Global-Testing => OBAM-Old}/firetest.sk | 0 {Obam-Moderation => OBAM-Old}/gcommannds.sk | 0 .../hashedfordays.sk | 0 {Obam-Sort => OBAM-Old}/helpbeta.sk | 0 {Obam-Sort => OBAM-Old}/helpbetageneral.sk | 0 {Obam-Sort => OBAM-Old}/helpbetaskyblock.sk | 0 {Obam-Global => OBAM-Old}/hub.sk | 0 .../hubconfig.sk => OBAM-Old/hubconfig.old.sk | 0 {OBAM-Hub => OBAM-Old}/hubprotect.sk | 0 .../Obam-KitPvp => OBAM-Old}/kds.sk | 0 .../KitPVP-Testing => OBAM-Old}/kitstuff.sk | 0 {OBAM-Hub => OBAM-Old}/minecartsforhub.sk | 0 {Obam-Communication => OBAM-Old}/modbridge.sk | 0 OBAM-Old/ninjatools.sk | 130 + .../Global-Testing => OBAM-Old}/powerpick.sk | 0 {Obam-Administration => OBAM-Old}/referall.sk | 0 {Obam-Administration => OBAM-Old}/restarts.sk | 0 {OBAM-Hub => OBAM-Old}/schat2.hub.sk | 0 .../Obam-KitPvp => OBAM-Old}/schat2.kit.sk | 0 Obam-Global/sudo.sk => OBAM-Old/sudo.g.sk | 1 - .../teams.txt | 0 .../tellchat.sk | 0 {Obam-Administration => OBAM-Old}/todolist.sk | 0 {OBAM-Fix => OBAM-Old}/who.sk | 0 {Obam-Communication => OBAM-Old}/wtfmike.sk | 0 .../Tested and Moved/dragonegg.g.sk | 7 + .../{ => Tested and Moved}/wtfcounter.sk | 2 - .../WTFronts-Testing}/landclaim.sk | 97 +- .../OBAM-WTFronts/schat2.wtf.sk | 324 --- OBAM-Survival Games/OBAM-WTFronts/wtfronts.sk | 185 +- .../Obam-Creative/schat2.creative.sk | 324 --- OBAM-Survival Games/Obam-Fronts/LandAdd.sk | 8 - .../{FIXIT.sk => Tested and Moved/FIXIT.g.sk} | 7 - .../{FTAS.sk => Tested and Moved/FTAS.g.sk} | 0 .../{ => Tested and Moved}/abstain.sk | 86 +- .../Obam-Fronts/Tested and Moved/access.g.sk | 90 + .../backpack.g.sk} | 5 - .../Tested and Moved/chestdeath.client.sk | 36 + .../Tested and Moved/chestdeath.main.sk | 122 + .../Obam-Fronts/Tested and Moved/ci.fronts.sk | 67 + .../Tested and Moved/disenchant.g.sk | 24 + .../Tested and Moved/dragonegg.g.sk | 7 + .../entcount.g.sk} | 43 +- .../Obam-Fronts/Tested and Moved/flags.g.sk | 222 ++ .../Obam-Fronts/Tested and Moved/flow.g.sk | 20 + .../Obam-Fronts/{ => Tested and Moved}/fma.sk | 146 +- .../{heads.sk => Tested and Moved/heads.g.sk} | 3 +- .../{heal.sk => Tested and Moved/heal.g.sk} | 24 +- .../hottouch.g.sk} | 6 - .../Tested and Moved/landclaim.g.sk | 908 +++++++ .../lightbow.g.sk} | 2 - .../projeggtiles.g.sk} | 92 +- .../shop.fronts.sk} | 35 +- .../soulbound.g.sk} | 45 +- .../Obam-Fronts/Tested and Moved/timber.g.sk | 54 + OBAM-Survival Games/Obam-Fronts/access.sk | 122 - OBAM-Survival Games/Obam-Fronts/ci.fronts.sk | 57 - OBAM-Survival Games/Obam-Fronts/disenchant.sk | 29 - OBAM-Survival Games/Obam-Fronts/flags.sk | 386 --- OBAM-Survival Games/Obam-Fronts/flow.sk | 21 - OBAM-Survival Games/Obam-Fronts/fortune.sk | 409 --- OBAM-Survival Games/Obam-Fronts/fortuneFIX.sk | 193 -- .../Obam-Fronts/schat2.fronts.sk | 324 --- OBAM-Survival Games/Obam-Fronts/starterkit.sk | 21 - OBAM-Survival Games/Obam-Fronts/timber.sk | 58 - OBAM-Survival Games/Obam-Skyblock/skyblock.sk | 130 + OBAM-Voting/SimpleVoteListener.yml | 16 - OBAM-Voting/config.yml | 4 - OBAM-Voting/public.key | 1 - OBAM-Voting/rmperm.txt | 3 - OBAM-Voting/vote-script.txt | 5 - .../Finished and Placed}/aliases-english.sk | 0 .../Finished and Placed/blocksave.g.sk | 2 +- .../Finished and Placed/hubconfig.sk | 131 + .../Finished and Placed/itemcheck.g.sk | 22 + .../Finished and Placed/liv.g.sk | 0 .../Finished and Placed/moderate.g.sk | 114 +- .../Finished and Placed/op.g.sk | 14 +- .../Finished and Placed/pinfo.g.sk | 23 +- .../Finished and Placed/tempclose.g.sk | 0 .../Finished and Placed/uuid.sk | 16 + .../Finished and Placed/yoyo.g.sk | 34 + Obam-Administration/purchase.sk | 5 - .../Finished and Placed/connect.g.sk | 38 + .../Finished and Placed/firstjoin.sk | 16 + .../{ => Finished and Placed}/motd.sk | 15 +- .../Finished and Placed/schat2.g.sk | 376 +++ .../schatbridge.g.sk} | 80 +- .../Finished and Placed/xbroad.g.sk | 18 + Obam-Communication/firstjoin.sk | 13 - Obam-Global/itemcheck.sk | 22 - .../Obam-CreatureCapture/CreatureCapture.sk | 108 + .../KitPVP-Testing/KitDamageSubSystem | 102 - .../Obam-KitPvp/KitPVP-Testing/fisherman.txt | 11 - .../Obam-KitPvp/aliases-english.sk | 1689 ------------ .../{KitPVP-Testing => }/archer.sk | 0 .../{KitPVP-Testing => }/firemage.sk | 0 .../{KitPVP-Testing => }/fisherman.sk | 0 .../Obam-KitPvp/{KitPVP-Testing => }/kdss.sk | 0 .../{KitPVP-Testing => }/kitpvp.sk | 0 Obam-Mini Games/Obam-KitPvp/kitstuff.sk | 1620 ------------ .../{KitPVP-Testing => }/lightningmage.sk | 0 .../Obam-KitPvp/{KitPVP-Testing => }/melee.sk | 0 .../{KitPVP-Testing => }/necromancer.sk | 0 .../Obam-KitPvp/{KitPVP-Testing => }/ninja.sk | 0 Obam-Mini Games/Obam-KitPvp/pinfo.kit.sk | 103 - .../{KitPVP-Testing => }/skelemancer.sk | 0 .../Obam-KitPvp/{KitPVP-Testing => }/tank.sk | 0 .../Obam-Taco/Taco-Testing/taco.sk | 2283 ----------------- Obam-Mini Games/Obam-Taco/taco.sk | 1879 ++++++++++++++ Obam-Moderation/mode.sk | 8 - Obam-Moderation/moderate.sk | 90 - Obam-Perks/Finished and placed/allowance.sk | 52 + .../{ => Finished and placed}/exclusive.sk | 0 Obam-Perks/Finished and placed/hats.g.sk | 136 + Obam-Perks/Finished and placed/hitsounds.g.sk | 336 +++ Obam-Perks/Finished and placed/otam.g.sk | 142 + Obam-Perks/Finished and placed/perks.g.sk | 101 + .../pets.g.sk} | 87 +- Obam-Perks/Finished and placed/purchase.sk | 15 + Obam-Perks/Finished and placed/splash.g.sk | 214 ++ Obam-Perks/Finished and placed/suphorse.g.sk | 70 + .../{tam.sk => Finished and placed/tam.g.sk} | 50 +- .../tickets.g.sk} | 0 Obam-Perks/Finished and placed/trails.g.sk | 205 ++ Obam-Perks/Perks-Fronts/hitsounds.sk | 444 ---- Obam-Perks/Perks-Fronts/splash.sk | 271 -- Obam-Perks/Perks-Fronts/suphorse.sk | 73 - Obam-Perks/Perks-Fronts/trails.sk | 253 -- Obam-Perks/hats.sk | 144 -- Obam-Perks/perks.sk | 64 - Obam-Sort/KitsPlus.sk | 44 - Obam-Sort/LiVBot.yml | 259 -- Obam-Sort/LiVBotcurtain.yml | 259 -- Obam-Sort/PurpleIRC-2.1.9.jar | Bin 598426 -> 0 bytes Obam-Sort/SampleBot.yml | 257 -- Obam-Sort/config.yml | 151 -- Obam-Sort/gc | 226 -- Obam-Sort/ninjatools.sk | 264 -- Obam-Sort/testchest.sk | 40 - Obam-Sort/unbreak.sk | 13 - Obam-Sort/webstats.sk | 5 - On Server Files/Event/Admin/blocksave.g.sk | 28 + On Server Files/Event/Admin/itemcheck.g.sk | 22 + On Server Files/Event/Admin/liv.g.sk | 628 +++++ On Server Files/Event/Admin/moderate.g.sk | 556 ++++ On Server Files/Event/Admin/op.g.sk | 27 + .../Event/Admin/pinfo.g.sk | 26 +- On Server Files/Event/Admin/tempclose.g.sk | 13 + On Server Files/Event/Admin/yoyo.g.sk | 34 + On Server Files/Event/Com/connect.g.sk | 38 + On Server Files/Event/Com/schat2.g.sk | 376 +++ On Server Files/Event/Com/schatbridge.g.sk | 100 + On Server Files/Event/Com/xbroad.g.sk | 18 + .../Event/Creature/CreatureCapture.sk | 261 ++ On Server Files/Event/Perk/hats.g.sk | 136 + On Server Files/Event/Perk/hitsounds.g.sk | 336 +++ On Server Files/Event/Perk/otam.g.sk | 142 + On Server Files/Event/Perk/perks.g.sk | 101 + On Server Files/Event/Perk/pets.g.sk | 190 ++ On Server Files/Event/Perk/splash.g.sk | 214 ++ On Server Files/Event/Perk/suphorse.g.sk | 70 + On Server Files/Event/Perk/tam.g.sk | 71 + On Server Files/Event/Perk/tickets.g.sk | 68 + On Server Files/Event/Perk/trails.g.sk | 205 ++ On Server Files/Event/TMA/tma.sk | 350 +++ On Server Files/Event/Zbeta/zbeta.sk | 1291 ++++++++++ On Server Files/Fronts/Admin/blocksave.g.sk | 28 + On Server Files/Fronts/Admin/itemcheck.g.sk | 22 + On Server Files/Fronts/Admin/liv.g.sk | 628 +++++ On Server Files/Fronts/Admin/moderate.g.sk | 556 ++++ On Server Files/Fronts/Admin/op.g.sk | 27 + .../Fronts/Admin/pinfo.g.sk | 26 +- On Server Files/Fronts/Admin/tempclose.g.sk | 13 + On Server Files/Fronts/Admin/yoyo.g.sk | 34 + On Server Files/Fronts/Com/connect.g.sk | 38 + On Server Files/Fronts/Com/schat2.g.sk | 376 +++ On Server Files/Fronts/Com/schatbridge.g.sk | 100 + On Server Files/Fronts/Com/xbroad.g.sk | 18 + On Server Files/Fronts/Fronts/FIXIT.g.sk | 28 + On Server Files/Fronts/Fronts/FTAS.g.sk | 20 + On Server Files/Fronts/Fronts/abstain.sk | 132 + On Server Files/Fronts/Fronts/access.g.sk | 90 + On Server Files/Fronts/Fronts/backpack.g.sk | 258 ++ .../Fronts/Fronts/chestdeath.client.sk | 36 + .../Fronts/Fronts/chestdeath.main.sk | 122 + On Server Files/Fronts/Fronts/ci.fronts.sk | 67 + On Server Files/Fronts/Fronts/disenchant.g.sk | 24 + On Server Files/Fronts/Fronts/dragonegg.g.sk | 7 + On Server Files/Fronts/Fronts/entcount.g.sk | 74 + On Server Files/Fronts/Fronts/flags.g.sk | 222 ++ On Server Files/Fronts/Fronts/flow.g.sk | 20 + On Server Files/Fronts/Fronts/fma.sk | 794 ++++++ On Server Files/Fronts/Fronts/heads.g.sk | 69 + On Server Files/Fronts/Fronts/heal.g.sk | 46 + On Server Files/Fronts/Fronts/hottouch.g.sk | 101 + On Server Files/Fronts/Fronts/landclaim.g.sk | 908 +++++++ On Server Files/Fronts/Fronts/lightbow.g.sk | 50 + .../Fronts/Fronts/projeggtiles.g.sk | 380 +++ On Server Files/Fronts/Fronts/shop.fronts.sk | 54 + On Server Files/Fronts/Fronts/soulbound.g.sk | 91 + On Server Files/Fronts/Fronts/timber.g.sk | 54 + On Server Files/Fronts/Perk/hats.g.sk | 136 + On Server Files/Fronts/Perk/hitsounds.g.sk | 336 +++ On Server Files/Fronts/Perk/otam.g.sk | 142 + On Server Files/Fronts/Perk/perks.g.sk | 101 + On Server Files/Fronts/Perk/pets.g.sk | 190 ++ On Server Files/Fronts/Perk/splash.g.sk | 214 ++ On Server Files/Fronts/Perk/suphorse.g.sk | 70 + On Server Files/Fronts/Perk/tam.g.sk | 71 + On Server Files/Fronts/Perk/tickets.g.sk | 68 + On Server Files/Fronts/Perk/trails.g.sk | 205 ++ On Server Files/Hub/Admin/blocksave.g.sk | 28 + On Server Files/Hub/Admin/hubconfig.sk | 131 + On Server Files/Hub/Admin/itemcheck.g.sk | 22 + On Server Files/Hub/Admin/liv.g.sk | 628 +++++ On Server Files/Hub/Admin/moderate.g.sk | 556 ++++ On Server Files/Hub/Admin/op.g.sk | 27 + .../Hub/Admin/pinfo.g.sk | 26 +- On Server Files/Hub/Admin/tempclose.g.sk | 13 + On Server Files/Hub/Admin/uuid.sk | 16 + On Server Files/Hub/Admin/yoyo.g.sk | 34 + On Server Files/Hub/Com/connect.g.sk | 38 + On Server Files/Hub/Com/firstjoin.sk | 16 + On Server Files/Hub/Com/motd.sk | 13 + On Server Files/Hub/Com/schat2.g.sk | 376 +++ On Server Files/Hub/Com/schatbridge.g.sk | 100 + On Server Files/Hub/Com/xbroad.g.sk | 18 + On Server Files/Hub/Hub/hubconfig.sk | 96 + On Server Files/Hub/Perk/allowance.sk | 52 + On Server Files/Hub/Perk/hats.g.sk | 136 + On Server Files/Hub/Perk/hitsounds.g.sk | 336 +++ On Server Files/Hub/Perk/otam.g.sk | 142 + On Server Files/Hub/Perk/perks.g.sk | 101 + On Server Files/Hub/Perk/pets.g.sk | 190 ++ On Server Files/Hub/Perk/purchase.sk | 15 + On Server Files/Hub/Perk/splash.g.sk | 214 ++ On Server Files/Hub/Perk/suphorse.g.sk | 70 + On Server Files/Hub/Perk/tam.g.sk | 71 + On Server Files/Hub/Perk/tickets.g.sk | 68 + On Server Files/Hub/Perk/trails.g.sk | 205 ++ On Server Files/Hub/Test/tony.hub.sk | 81 + On Server Files/KitPVP/Admin/blocksave.g.sk | 28 + On Server Files/KitPVP/Admin/itemcheck.g.sk | 22 + On Server Files/KitPVP/Admin/liv.g.sk | 628 +++++ On Server Files/KitPVP/Admin/moderate.g.sk | 556 ++++ On Server Files/KitPVP/Admin/op.g.sk | 27 + On Server Files/KitPVP/Admin/pinfo.g.sk | 111 + On Server Files/KitPVP/Admin/tempclose.g.sk | 13 + On Server Files/KitPVP/Admin/yoyo.g.sk | 34 + On Server Files/KitPVP/Com/connect.g.sk | 38 + On Server Files/KitPVP/Com/schat2.g.sk | 376 +++ On Server Files/KitPVP/Com/schatbridge.g.sk | 100 + On Server Files/KitPVP/Com/xbroad.g.sk | 18 + On Server Files/KitPVP/KitPVP/archer.sk | 25 + On Server Files/KitPVP/KitPVP/firemage.sk | 54 + On Server Files/KitPVP/KitPVP/fisherman.sk | 33 + On Server Files/KitPVP/KitPVP/kdss.sk | 370 +++ On Server Files/KitPVP/KitPVP/kitpvp.sk | 383 +++ .../KitPVP/KitPVP/lightningmage.sk | 50 + On Server Files/KitPVP/KitPVP/melee.sk | 19 + On Server Files/KitPVP/KitPVP/necromancer.sk | 82 + On Server Files/KitPVP/KitPVP/ninja.sk | 32 + On Server Files/KitPVP/KitPVP/skelemancer.sk | 93 + On Server Files/KitPVP/KitPVP/tank.sk | 22 + On Server Files/KitPVP/Perk/hats.g.sk | 136 + On Server Files/KitPVP/Perk/hitsounds.g.sk | 336 +++ On Server Files/KitPVP/Perk/otam.g.sk | 142 + On Server Files/KitPVP/Perk/perks.g.sk | 101 + On Server Files/KitPVP/Perk/pets.g.sk | 190 ++ On Server Files/KitPVP/Perk/splash.g.sk | 214 ++ On Server Files/KitPVP/Perk/suphorse.g.sk | 70 + On Server Files/KitPVP/Perk/tam.g.sk | 71 + On Server Files/KitPVP/Perk/tickets.g.sk | 68 + On Server Files/KitPVP/Perk/trails.g.sk | 205 ++ .../KitPVP/Test/damage modifier.sk | 29 + On Server Files/TacoCart/Admin/blocksave.g.sk | 28 + On Server Files/TacoCart/Admin/itemcheck.g.sk | 22 + On Server Files/TacoCart/Admin/liv.g.sk | 628 +++++ On Server Files/TacoCart/Admin/moderate.g.sk | 556 ++++ On Server Files/TacoCart/Admin/op.g.sk | 27 + On Server Files/TacoCart/Admin/pinfo.g.sk | 111 + On Server Files/TacoCart/Admin/tempclose.g.sk | 13 + On Server Files/TacoCart/Admin/yoyo.g.sk | 34 + On Server Files/TacoCart/Com/connect.g.sk | 38 + On Server Files/TacoCart/Com/schat2.g.sk | 376 +++ On Server Files/TacoCart/Com/schatbridge.g.sk | 100 + On Server Files/TacoCart/Com/xbroad.g.sk | 18 + On Server Files/TacoCart/Perk/exclusive.sk | 3 + On Server Files/TacoCart/Perk/hats.g.sk | 136 + On Server Files/TacoCart/Perk/hitsounds.g.sk | 336 +++ On Server Files/TacoCart/Perk/otam.g.sk | 142 + On Server Files/TacoCart/Perk/perks.g.sk | 101 + On Server Files/TacoCart/Perk/pets.g.sk | 190 ++ On Server Files/TacoCart/Perk/splash.g.sk | 214 ++ On Server Files/TacoCart/Perk/suphorse.g.sk | 70 + On Server Files/TacoCart/Perk/tam.g.sk | 71 + On Server Files/TacoCart/Perk/tickets.g.sk | 68 + On Server Files/TacoCart/Perk/trails.g.sk | 205 ++ On Server Files/TacoCart/Tacocart/taco.sk | 1879 ++++++++++++++ On Server Files/WTFronts/Admin/blocksave.g.sk | 28 + On Server Files/WTFronts/Admin/itemcheck.g.sk | 22 + On Server Files/WTFronts/Admin/liv.g.sk | 628 +++++ On Server Files/WTFronts/Admin/moderate.g.sk | 556 ++++ On Server Files/WTFronts/Admin/op.g.sk | 27 + On Server Files/WTFronts/Admin/pinfo.g.sk | 111 + On Server Files/WTFronts/Admin/tempclose.g.sk | 13 + On Server Files/WTFronts/Admin/yoyo.g.sk | 34 + On Server Files/WTFronts/Com/connect.g.sk | 38 + On Server Files/WTFronts/Com/schat2.g.sk | 376 +++ On Server Files/WTFronts/Com/schatbridge.g.sk | 100 + On Server Files/WTFronts/Com/xbroad.g.sk | 18 + On Server Files/WTFronts/Perk/hats.g.sk | 136 + On Server Files/WTFronts/Perk/hitsounds.g.sk | 336 +++ On Server Files/WTFronts/Perk/otam.g.sk | 142 + On Server Files/WTFronts/Perk/perks.g.sk | 101 + On Server Files/WTFronts/Perk/pets.g.sk | 190 ++ On Server Files/WTFronts/Perk/splash.g.sk | 214 ++ On Server Files/WTFronts/Perk/suphorse.g.sk | 70 + On Server Files/WTFronts/Perk/tam.g.sk | 71 + On Server Files/WTFronts/Perk/tickets.g.sk | 68 + On Server Files/WTFronts/Perk/trails.g.sk | 205 ++ .../WTFronts/WTFronts/dragonegg.g.sk | 7 + .../WTFronts/WTFronts/wtfcounter.sk | 11 + .../allowance.sk | 50 +- Shit we need to revisit/otam.g.sk | 142 + Shit we need to revisit/purchase.sk | 12 + Shit we need to revisit/tam.g.sk | 109 + Shit we need to revisit/tickets.g.sk | 68 + 369 files changed, 36331 insertions(+), 11668 deletions(-) rename OBAM-Hub/Hub-Testing/{tonyhub.sk => tony.hub.sk} (100%) rename {OBAM-Hub => OBAM-Old}/-boatsforhub.sk (100%) rename {Obam-Communication/Communication-Testing => OBAM-Old}/Chat.sk (100%) rename {Obam-Administration => OBAM-Old}/EASYASEFFIPLOGGINGMAGIC.sk (100%) rename {Obam-Mini Games/Obam-KitPvp/KitPVP-Testing => OBAM-Old}/KitDamageSubSystem.sk (100%) rename {Obam-Mini Games => OBAM-Old}/Obam-Hotpotato/Hotpotato Maps/hpField.sk (100%) rename {Obam-Mini Games => OBAM-Old}/Obam-Hotpotato/Hotpotato Maps/hpLavaFlow.sk (100%) rename {Obam-Mini Games => OBAM-Old}/Obam-Hotpotato/Hotpotato Maps/hpMushroom.sk (100%) rename {Obam-Mini Games => OBAM-Old}/Obam-Hotpotato/Hotpotato Maps/hpNetherFort.sk (100%) rename {Obam-Mini Games => OBAM-Old}/Obam-Hotpotato/Hotpotato Maps/hpOmniPlex.sk (100%) rename {Obam-Mini Games => OBAM-Old}/Obam-Hotpotato/Hotpotato Maps/hpOmniStairs.sk (100%) rename {Obam-Mini Games => OBAM-Old}/Obam-Hotpotato/Hotpotato Maps/hpSewerSystem.sk (100%) rename {Obam-Mini Games => OBAM-Old}/Obam-Hotpotato/Hotpotato Maps/hpSnowyHills.sk (100%) rename {Obam-Mini Games => OBAM-Old}/Obam-Hotpotato/Hotpotato Maps/hpcave.sk (100%) rename {Obam-Mini Games => OBAM-Old}/Obam-Hotpotato/Hotpotato Maps/hpcity.sk (100%) rename {Obam-Mini Games => OBAM-Old}/Obam-Hotpotato/hotpotato.sk (100%) rename {Obam-Mini Games => OBAM-Old}/Obam-Hotpotato/hpstat.sk (100%) rename {Obam-Mini Games => OBAM-Old}/Obam-Hotpotato/hptemp.sk (100%) rename {Obam-Mini Games => OBAM-Old}/Obam-Hotpotato/lobbies.sk (100%) rename {Obam-Mini Games => OBAM-Old}/Obam-Parkour/checkpoints.sk (100%) rename {Obam-Mini Games => OBAM-Old}/Obam-Parkour/parkour.sk (100%) rename {Obam-Mini Games => OBAM-Old}/Obam-Parkour/parkoursigns.sk (100%) rename {Obam-Mini Games => OBAM-Old}/Obam-Parkour/parkourspawn.sk (100%) rename {Obam-Mini Games => OBAM-Old}/Obam-Parkour/parkourstats.sk (100%) rename {Obam-Mini Games => OBAM-Old}/Obam-Parkour/timer.sk (100%) rename {Obam-Administration/Administration-Testing => OBAM-Old}/TicketLogSystem (100%) rename {Obam-Moderation => OBAM-Old}/admin.sk (100%) rename {Obam-Moderation/Moderation-Testing => OBAM-Old}/autobantest.sk (100%) rename {Obam-Global => OBAM-Old}/autohub.sk (100%) rename {OBAM-Hub => OBAM-Old}/boatsforhub (100%) rename {OBAM-Hub => OBAM-Old}/boatsforhub.sk (100%) rename {Obam-Communication => OBAM-Old}/broadcast.sk (100%) rename {Obam-Administration => OBAM-Old}/bugs.sk (100%) rename {OBAM-Fix => OBAM-Old}/ci.sk (100%) rename {Obam-Administration => OBAM-Old}/circle.sk (100%) rename {Obam-Communication => OBAM-Old}/connect.sk (100%) rename {Obam-Global/Global-Testing => OBAM-Old}/dbtest.sk (100%) rename {Obam-Administration => OBAM-Old}/defaultfix.sk (100%) rename {Obam-Global/Global-Testing => OBAM-Old}/effect.sk (100%) rename {Obam-Global/Global-Testing => OBAM-Old}/enchnattest.sk (100%) rename {Obam-Global/Global-Testing => OBAM-Old}/firetest.sk (100%) rename {Obam-Moderation => OBAM-Old}/gcommannds.sk (100%) rename {Obam-Administration => OBAM-Old}/hashedfordays.sk (100%) rename {Obam-Sort => OBAM-Old}/helpbeta.sk (100%) rename {Obam-Sort => OBAM-Old}/helpbetageneral.sk (100%) rename {Obam-Sort => OBAM-Old}/helpbetaskyblock.sk (100%) rename {Obam-Global => OBAM-Old}/hub.sk (100%) rename OBAM-Hub/hubconfig.sk => OBAM-Old/hubconfig.old.sk (100%) rename {OBAM-Hub => OBAM-Old}/hubprotect.sk (100%) rename {Obam-Mini Games/Obam-KitPvp => OBAM-Old}/kds.sk (100%) rename {Obam-Mini Games/Obam-KitPvp/KitPVP-Testing => OBAM-Old}/kitstuff.sk (100%) rename {OBAM-Hub => OBAM-Old}/minecartsforhub.sk (100%) rename {Obam-Communication => OBAM-Old}/modbridge.sk (100%) create mode 100644 OBAM-Old/ninjatools.sk rename {Obam-Global/Global-Testing => OBAM-Old}/powerpick.sk (100%) rename {Obam-Administration => OBAM-Old}/referall.sk (100%) rename {Obam-Administration => OBAM-Old}/restarts.sk (100%) rename {OBAM-Hub => OBAM-Old}/schat2.hub.sk (100%) rename {Obam-Mini Games/Obam-KitPvp => OBAM-Old}/schat2.kit.sk (100%) rename Obam-Global/sudo.sk => OBAM-Old/sudo.g.sk (98%) rename {Obam-Communication/Communication-Testing => OBAM-Old}/teams.txt (100%) rename {Obam-Communication/Communication-Testing => OBAM-Old}/tellchat.sk (100%) rename {Obam-Administration => OBAM-Old}/todolist.sk (100%) rename {OBAM-Fix => OBAM-Old}/who.sk (100%) rename {Obam-Communication => OBAM-Old}/wtfmike.sk (100%) create mode 100644 OBAM-Survival Games/OBAM-WTFronts/Tested and Moved/dragonegg.g.sk rename OBAM-Survival Games/OBAM-WTFronts/{ => Tested and Moved}/wtfcounter.sk (99%) rename OBAM-Survival Games/{Obam-Fronts => OBAM-WTFronts/WTFronts-Testing}/landclaim.sk (93%) delete mode 100644 OBAM-Survival Games/OBAM-WTFronts/schat2.wtf.sk delete mode 100644 OBAM-Survival Games/Obam-Creative/schat2.creative.sk delete mode 100644 OBAM-Survival Games/Obam-Fronts/LandAdd.sk rename OBAM-Survival Games/Obam-Fronts/{FIXIT.sk => Tested and Moved/FIXIT.g.sk} (98%) rename OBAM-Survival Games/Obam-Fronts/{FTAS.sk => Tested and Moved/FTAS.g.sk} (100%) rename OBAM-Survival Games/Obam-Fronts/{ => Tested and Moved}/abstain.sk (64%) create mode 100644 OBAM-Survival Games/Obam-Fronts/Tested and Moved/access.g.sk rename OBAM-Survival Games/Obam-Fronts/{backpack.sk => Tested and Moved/backpack.g.sk} (98%) create mode 100644 OBAM-Survival Games/Obam-Fronts/Tested and Moved/chestdeath.client.sk create mode 100644 OBAM-Survival Games/Obam-Fronts/Tested and Moved/chestdeath.main.sk create mode 100644 OBAM-Survival Games/Obam-Fronts/Tested and Moved/ci.fronts.sk create mode 100644 OBAM-Survival Games/Obam-Fronts/Tested and Moved/disenchant.g.sk create mode 100644 OBAM-Survival Games/Obam-Fronts/Tested and Moved/dragonegg.g.sk rename OBAM-Survival Games/Obam-Fronts/{entcount.sk => Tested and Moved/entcount.g.sk} (91%) create mode 100644 OBAM-Survival Games/Obam-Fronts/Tested and Moved/flags.g.sk create mode 100644 OBAM-Survival Games/Obam-Fronts/Tested and Moved/flow.g.sk rename OBAM-Survival Games/Obam-Fronts/{ => Tested and Moved}/fma.sk (92%) rename OBAM-Survival Games/Obam-Fronts/{heads.sk => Tested and Moved/heads.g.sk} (98%) rename OBAM-Survival Games/Obam-Fronts/{heal.sk => Tested and Moved/heal.g.sk} (69%) rename OBAM-Survival Games/Obam-Fronts/{hottouch.sk => Tested and Moved/hottouch.g.sk} (79%) create mode 100644 OBAM-Survival Games/Obam-Fronts/Tested and Moved/landclaim.g.sk rename OBAM-Survival Games/Obam-Fronts/{lightbow.sk => Tested and Moved/lightbow.g.sk} (99%) rename OBAM-Survival Games/Obam-Fronts/{eggification.sk => Tested and Moved/projeggtiles.g.sk} (88%) rename OBAM-Survival Games/Obam-Fronts/{shop.sk => Tested and Moved/shop.fronts.sk} (50%) rename OBAM-Survival Games/Obam-Fronts/{soulbound.sk => Tested and Moved/soulbound.g.sk} (79%) create mode 100644 OBAM-Survival Games/Obam-Fronts/Tested and Moved/timber.g.sk delete mode 100644 OBAM-Survival Games/Obam-Fronts/access.sk delete mode 100644 OBAM-Survival Games/Obam-Fronts/ci.fronts.sk delete mode 100644 OBAM-Survival Games/Obam-Fronts/disenchant.sk delete mode 100644 OBAM-Survival Games/Obam-Fronts/flags.sk delete mode 100644 OBAM-Survival Games/Obam-Fronts/flow.sk delete mode 100644 OBAM-Survival Games/Obam-Fronts/fortune.sk delete mode 100644 OBAM-Survival Games/Obam-Fronts/fortuneFIX.sk delete mode 100644 OBAM-Survival Games/Obam-Fronts/schat2.fronts.sk delete mode 100644 OBAM-Survival Games/Obam-Fronts/starterkit.sk delete mode 100644 OBAM-Survival Games/Obam-Fronts/timber.sk create mode 100644 OBAM-Survival Games/Obam-Skyblock/skyblock.sk delete mode 100644 OBAM-Voting/SimpleVoteListener.yml delete mode 100644 OBAM-Voting/config.yml delete mode 100644 OBAM-Voting/public.key delete mode 100644 OBAM-Voting/rmperm.txt delete mode 100644 OBAM-Voting/vote-script.txt rename {Obam-Global => Obam-Administration/Finished and Placed}/aliases-english.sk (100%) rename Obam-Global/Global-Testing/blocksave.sk => Obam-Administration/Finished and Placed/blocksave.g.sk (96%) create mode 100644 Obam-Administration/Finished and Placed/hubconfig.sk create mode 100644 Obam-Administration/Finished and Placed/itemcheck.g.sk rename Obam-Global/liv.sk => Obam-Administration/Finished and Placed/liv.g.sk (100%) rename Obam-Moderation/spawnmob.sk => Obam-Administration/Finished and Placed/moderate.g.sk (84%) rename Obam-Moderation/Moderation-Testing/op.sk => Obam-Administration/Finished and Placed/op.g.sk (60%) rename OBAM-Hub/pinfo.hub.sk => Obam-Administration/Finished and Placed/pinfo.g.sk (91%) rename Obam-Global/tempclose.sk => Obam-Administration/Finished and Placed/tempclose.g.sk (100%) create mode 100644 Obam-Administration/Finished and Placed/uuid.sk create mode 100644 Obam-Administration/Finished and Placed/yoyo.g.sk delete mode 100644 Obam-Administration/purchase.sk create mode 100644 Obam-Communication/Finished and Placed/connect.g.sk create mode 100644 Obam-Communication/Finished and Placed/firstjoin.sk rename Obam-Communication/{ => Finished and Placed}/motd.sk (51%) create mode 100644 Obam-Communication/Finished and Placed/schat2.g.sk rename Obam-Communication/{schatbridge.sk => Finished and Placed/schatbridge.g.sk} (65%) create mode 100644 Obam-Communication/Finished and Placed/xbroad.g.sk delete mode 100644 Obam-Communication/firstjoin.sk delete mode 100644 Obam-Global/itemcheck.sk delete mode 100644 Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/KitDamageSubSystem delete mode 100644 Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/fisherman.txt delete mode 100644 Obam-Mini Games/Obam-KitPvp/aliases-english.sk rename Obam-Mini Games/Obam-KitPvp/{KitPVP-Testing => }/archer.sk (100%) rename Obam-Mini Games/Obam-KitPvp/{KitPVP-Testing => }/firemage.sk (100%) rename Obam-Mini Games/Obam-KitPvp/{KitPVP-Testing => }/fisherman.sk (100%) rename Obam-Mini Games/Obam-KitPvp/{KitPVP-Testing => }/kdss.sk (100%) rename Obam-Mini Games/Obam-KitPvp/{KitPVP-Testing => }/kitpvp.sk (100%) delete mode 100644 Obam-Mini Games/Obam-KitPvp/kitstuff.sk rename Obam-Mini Games/Obam-KitPvp/{KitPVP-Testing => }/lightningmage.sk (100%) rename Obam-Mini Games/Obam-KitPvp/{KitPVP-Testing => }/melee.sk (100%) rename Obam-Mini Games/Obam-KitPvp/{KitPVP-Testing => }/necromancer.sk (100%) rename Obam-Mini Games/Obam-KitPvp/{KitPVP-Testing => }/ninja.sk (100%) delete mode 100644 Obam-Mini Games/Obam-KitPvp/pinfo.kit.sk rename Obam-Mini Games/Obam-KitPvp/{KitPVP-Testing => }/skelemancer.sk (100%) rename Obam-Mini Games/Obam-KitPvp/{KitPVP-Testing => }/tank.sk (100%) delete mode 100644 Obam-Mini Games/Obam-Taco/Taco-Testing/taco.sk create mode 100644 Obam-Mini Games/Obam-Taco/taco.sk delete mode 100644 Obam-Moderation/mode.sk delete mode 100644 Obam-Moderation/moderate.sk create mode 100644 Obam-Perks/Finished and placed/allowance.sk rename Obam-Perks/{ => Finished and placed}/exclusive.sk (100%) create mode 100644 Obam-Perks/Finished and placed/hats.g.sk create mode 100644 Obam-Perks/Finished and placed/hitsounds.g.sk create mode 100644 Obam-Perks/Finished and placed/otam.g.sk create mode 100644 Obam-Perks/Finished and placed/perks.g.sk rename Obam-Perks/{pets.sk => Finished and placed/pets.g.sk} (58%) create mode 100644 Obam-Perks/Finished and placed/purchase.sk create mode 100644 Obam-Perks/Finished and placed/splash.g.sk create mode 100644 Obam-Perks/Finished and placed/suphorse.g.sk rename Obam-Perks/{tam.sk => Finished and placed/tam.g.sk} (55%) rename Obam-Perks/{moneystuff.sk => Finished and placed/tickets.g.sk} (100%) create mode 100644 Obam-Perks/Finished and placed/trails.g.sk delete mode 100644 Obam-Perks/Perks-Fronts/hitsounds.sk delete mode 100644 Obam-Perks/Perks-Fronts/splash.sk delete mode 100644 Obam-Perks/Perks-Fronts/suphorse.sk delete mode 100644 Obam-Perks/Perks-Fronts/trails.sk delete mode 100644 Obam-Perks/hats.sk delete mode 100644 Obam-Perks/perks.sk delete mode 100644 Obam-Sort/KitsPlus.sk delete mode 100644 Obam-Sort/LiVBot.yml delete mode 100644 Obam-Sort/LiVBotcurtain.yml delete mode 100644 Obam-Sort/PurpleIRC-2.1.9.jar delete mode 100644 Obam-Sort/SampleBot.yml delete mode 100644 Obam-Sort/config.yml delete mode 100644 Obam-Sort/gc delete mode 100644 Obam-Sort/ninjatools.sk delete mode 100644 Obam-Sort/testchest.sk delete mode 100644 Obam-Sort/unbreak.sk delete mode 100644 Obam-Sort/webstats.sk create mode 100644 On Server Files/Event/Admin/blocksave.g.sk create mode 100644 On Server Files/Event/Admin/itemcheck.g.sk create mode 100644 On Server Files/Event/Admin/liv.g.sk create mode 100644 On Server Files/Event/Admin/moderate.g.sk create mode 100644 On Server Files/Event/Admin/op.g.sk rename OBAM-Survival Games/OBAM-WTFronts/pinfo.wtf.sk => On Server Files/Event/Admin/pinfo.g.sk (86%) create mode 100644 On Server Files/Event/Admin/tempclose.g.sk create mode 100644 On Server Files/Event/Admin/yoyo.g.sk create mode 100644 On Server Files/Event/Com/connect.g.sk create mode 100644 On Server Files/Event/Com/schat2.g.sk create mode 100644 On Server Files/Event/Com/schatbridge.g.sk create mode 100644 On Server Files/Event/Com/xbroad.g.sk create mode 100644 On Server Files/Event/Creature/CreatureCapture.sk create mode 100644 On Server Files/Event/Perk/hats.g.sk create mode 100644 On Server Files/Event/Perk/hitsounds.g.sk create mode 100644 On Server Files/Event/Perk/otam.g.sk create mode 100644 On Server Files/Event/Perk/perks.g.sk create mode 100644 On Server Files/Event/Perk/pets.g.sk create mode 100644 On Server Files/Event/Perk/splash.g.sk create mode 100644 On Server Files/Event/Perk/suphorse.g.sk create mode 100644 On Server Files/Event/Perk/tam.g.sk create mode 100644 On Server Files/Event/Perk/tickets.g.sk create mode 100644 On Server Files/Event/Perk/trails.g.sk create mode 100644 On Server Files/Event/TMA/tma.sk create mode 100644 On Server Files/Event/Zbeta/zbeta.sk create mode 100644 On Server Files/Fronts/Admin/blocksave.g.sk create mode 100644 On Server Files/Fronts/Admin/itemcheck.g.sk create mode 100644 On Server Files/Fronts/Admin/liv.g.sk create mode 100644 On Server Files/Fronts/Admin/moderate.g.sk create mode 100644 On Server Files/Fronts/Admin/op.g.sk rename OBAM-Survival Games/Obam-Creative/pinfo.creative.sk => On Server Files/Fronts/Admin/pinfo.g.sk (86%) create mode 100644 On Server Files/Fronts/Admin/tempclose.g.sk create mode 100644 On Server Files/Fronts/Admin/yoyo.g.sk create mode 100644 On Server Files/Fronts/Com/connect.g.sk create mode 100644 On Server Files/Fronts/Com/schat2.g.sk create mode 100644 On Server Files/Fronts/Com/schatbridge.g.sk create mode 100644 On Server Files/Fronts/Com/xbroad.g.sk create mode 100644 On Server Files/Fronts/Fronts/FIXIT.g.sk create mode 100644 On Server Files/Fronts/Fronts/FTAS.g.sk create mode 100644 On Server Files/Fronts/Fronts/abstain.sk create mode 100644 On Server Files/Fronts/Fronts/access.g.sk create mode 100644 On Server Files/Fronts/Fronts/backpack.g.sk create mode 100644 On Server Files/Fronts/Fronts/chestdeath.client.sk create mode 100644 On Server Files/Fronts/Fronts/chestdeath.main.sk create mode 100644 On Server Files/Fronts/Fronts/ci.fronts.sk create mode 100644 On Server Files/Fronts/Fronts/disenchant.g.sk create mode 100644 On Server Files/Fronts/Fronts/dragonegg.g.sk create mode 100644 On Server Files/Fronts/Fronts/entcount.g.sk create mode 100644 On Server Files/Fronts/Fronts/flags.g.sk create mode 100644 On Server Files/Fronts/Fronts/flow.g.sk create mode 100644 On Server Files/Fronts/Fronts/fma.sk create mode 100644 On Server Files/Fronts/Fronts/heads.g.sk create mode 100644 On Server Files/Fronts/Fronts/heal.g.sk create mode 100644 On Server Files/Fronts/Fronts/hottouch.g.sk create mode 100644 On Server Files/Fronts/Fronts/landclaim.g.sk create mode 100644 On Server Files/Fronts/Fronts/lightbow.g.sk create mode 100644 On Server Files/Fronts/Fronts/projeggtiles.g.sk create mode 100644 On Server Files/Fronts/Fronts/shop.fronts.sk create mode 100644 On Server Files/Fronts/Fronts/soulbound.g.sk create mode 100644 On Server Files/Fronts/Fronts/timber.g.sk create mode 100644 On Server Files/Fronts/Perk/hats.g.sk create mode 100644 On Server Files/Fronts/Perk/hitsounds.g.sk create mode 100644 On Server Files/Fronts/Perk/otam.g.sk create mode 100644 On Server Files/Fronts/Perk/perks.g.sk create mode 100644 On Server Files/Fronts/Perk/pets.g.sk create mode 100644 On Server Files/Fronts/Perk/splash.g.sk create mode 100644 On Server Files/Fronts/Perk/suphorse.g.sk create mode 100644 On Server Files/Fronts/Perk/tam.g.sk create mode 100644 On Server Files/Fronts/Perk/tickets.g.sk create mode 100644 On Server Files/Fronts/Perk/trails.g.sk create mode 100644 On Server Files/Hub/Admin/blocksave.g.sk create mode 100644 On Server Files/Hub/Admin/hubconfig.sk create mode 100644 On Server Files/Hub/Admin/itemcheck.g.sk create mode 100644 On Server Files/Hub/Admin/liv.g.sk create mode 100644 On Server Files/Hub/Admin/moderate.g.sk create mode 100644 On Server Files/Hub/Admin/op.g.sk rename OBAM-Survival Games/Obam-Fronts/pinfo.fronts.sk => On Server Files/Hub/Admin/pinfo.g.sk (86%) create mode 100644 On Server Files/Hub/Admin/tempclose.g.sk create mode 100644 On Server Files/Hub/Admin/uuid.sk create mode 100644 On Server Files/Hub/Admin/yoyo.g.sk create mode 100644 On Server Files/Hub/Com/connect.g.sk create mode 100644 On Server Files/Hub/Com/firstjoin.sk create mode 100644 On Server Files/Hub/Com/motd.sk create mode 100644 On Server Files/Hub/Com/schat2.g.sk create mode 100644 On Server Files/Hub/Com/schatbridge.g.sk create mode 100644 On Server Files/Hub/Com/xbroad.g.sk create mode 100644 On Server Files/Hub/Hub/hubconfig.sk create mode 100644 On Server Files/Hub/Perk/allowance.sk create mode 100644 On Server Files/Hub/Perk/hats.g.sk create mode 100644 On Server Files/Hub/Perk/hitsounds.g.sk create mode 100644 On Server Files/Hub/Perk/otam.g.sk create mode 100644 On Server Files/Hub/Perk/perks.g.sk create mode 100644 On Server Files/Hub/Perk/pets.g.sk create mode 100644 On Server Files/Hub/Perk/purchase.sk create mode 100644 On Server Files/Hub/Perk/splash.g.sk create mode 100644 On Server Files/Hub/Perk/suphorse.g.sk create mode 100644 On Server Files/Hub/Perk/tam.g.sk create mode 100644 On Server Files/Hub/Perk/tickets.g.sk create mode 100644 On Server Files/Hub/Perk/trails.g.sk create mode 100644 On Server Files/Hub/Test/tony.hub.sk create mode 100644 On Server Files/KitPVP/Admin/blocksave.g.sk create mode 100644 On Server Files/KitPVP/Admin/itemcheck.g.sk create mode 100644 On Server Files/KitPVP/Admin/liv.g.sk create mode 100644 On Server Files/KitPVP/Admin/moderate.g.sk create mode 100644 On Server Files/KitPVP/Admin/op.g.sk create mode 100644 On Server Files/KitPVP/Admin/pinfo.g.sk create mode 100644 On Server Files/KitPVP/Admin/tempclose.g.sk create mode 100644 On Server Files/KitPVP/Admin/yoyo.g.sk create mode 100644 On Server Files/KitPVP/Com/connect.g.sk create mode 100644 On Server Files/KitPVP/Com/schat2.g.sk create mode 100644 On Server Files/KitPVP/Com/schatbridge.g.sk create mode 100644 On Server Files/KitPVP/Com/xbroad.g.sk create mode 100644 On Server Files/KitPVP/KitPVP/archer.sk create mode 100644 On Server Files/KitPVP/KitPVP/firemage.sk create mode 100644 On Server Files/KitPVP/KitPVP/fisherman.sk create mode 100644 On Server Files/KitPVP/KitPVP/kdss.sk create mode 100644 On Server Files/KitPVP/KitPVP/kitpvp.sk create mode 100644 On Server Files/KitPVP/KitPVP/lightningmage.sk create mode 100644 On Server Files/KitPVP/KitPVP/melee.sk create mode 100644 On Server Files/KitPVP/KitPVP/necromancer.sk create mode 100644 On Server Files/KitPVP/KitPVP/ninja.sk create mode 100644 On Server Files/KitPVP/KitPVP/skelemancer.sk create mode 100644 On Server Files/KitPVP/KitPVP/tank.sk create mode 100644 On Server Files/KitPVP/Perk/hats.g.sk create mode 100644 On Server Files/KitPVP/Perk/hitsounds.g.sk create mode 100644 On Server Files/KitPVP/Perk/otam.g.sk create mode 100644 On Server Files/KitPVP/Perk/perks.g.sk create mode 100644 On Server Files/KitPVP/Perk/pets.g.sk create mode 100644 On Server Files/KitPVP/Perk/splash.g.sk create mode 100644 On Server Files/KitPVP/Perk/suphorse.g.sk create mode 100644 On Server Files/KitPVP/Perk/tam.g.sk create mode 100644 On Server Files/KitPVP/Perk/tickets.g.sk create mode 100644 On Server Files/KitPVP/Perk/trails.g.sk create mode 100644 On Server Files/KitPVP/Test/damage modifier.sk create mode 100644 On Server Files/TacoCart/Admin/blocksave.g.sk create mode 100644 On Server Files/TacoCart/Admin/itemcheck.g.sk create mode 100644 On Server Files/TacoCart/Admin/liv.g.sk create mode 100644 On Server Files/TacoCart/Admin/moderate.g.sk create mode 100644 On Server Files/TacoCart/Admin/op.g.sk create mode 100644 On Server Files/TacoCart/Admin/pinfo.g.sk create mode 100644 On Server Files/TacoCart/Admin/tempclose.g.sk create mode 100644 On Server Files/TacoCart/Admin/yoyo.g.sk create mode 100644 On Server Files/TacoCart/Com/connect.g.sk create mode 100644 On Server Files/TacoCart/Com/schat2.g.sk create mode 100644 On Server Files/TacoCart/Com/schatbridge.g.sk create mode 100644 On Server Files/TacoCart/Com/xbroad.g.sk create mode 100644 On Server Files/TacoCart/Perk/exclusive.sk create mode 100644 On Server Files/TacoCart/Perk/hats.g.sk create mode 100644 On Server Files/TacoCart/Perk/hitsounds.g.sk create mode 100644 On Server Files/TacoCart/Perk/otam.g.sk create mode 100644 On Server Files/TacoCart/Perk/perks.g.sk create mode 100644 On Server Files/TacoCart/Perk/pets.g.sk create mode 100644 On Server Files/TacoCart/Perk/splash.g.sk create mode 100644 On Server Files/TacoCart/Perk/suphorse.g.sk create mode 100644 On Server Files/TacoCart/Perk/tam.g.sk create mode 100644 On Server Files/TacoCart/Perk/tickets.g.sk create mode 100644 On Server Files/TacoCart/Perk/trails.g.sk create mode 100644 On Server Files/TacoCart/Tacocart/taco.sk create mode 100644 On Server Files/WTFronts/Admin/blocksave.g.sk create mode 100644 On Server Files/WTFronts/Admin/itemcheck.g.sk create mode 100644 On Server Files/WTFronts/Admin/liv.g.sk create mode 100644 On Server Files/WTFronts/Admin/moderate.g.sk create mode 100644 On Server Files/WTFronts/Admin/op.g.sk create mode 100644 On Server Files/WTFronts/Admin/pinfo.g.sk create mode 100644 On Server Files/WTFronts/Admin/tempclose.g.sk create mode 100644 On Server Files/WTFronts/Admin/yoyo.g.sk create mode 100644 On Server Files/WTFronts/Com/connect.g.sk create mode 100644 On Server Files/WTFronts/Com/schat2.g.sk create mode 100644 On Server Files/WTFronts/Com/schatbridge.g.sk create mode 100644 On Server Files/WTFronts/Com/xbroad.g.sk create mode 100644 On Server Files/WTFronts/Perk/hats.g.sk create mode 100644 On Server Files/WTFronts/Perk/hitsounds.g.sk create mode 100644 On Server Files/WTFronts/Perk/otam.g.sk create mode 100644 On Server Files/WTFronts/Perk/perks.g.sk create mode 100644 On Server Files/WTFronts/Perk/pets.g.sk create mode 100644 On Server Files/WTFronts/Perk/splash.g.sk create mode 100644 On Server Files/WTFronts/Perk/suphorse.g.sk create mode 100644 On Server Files/WTFronts/Perk/tam.g.sk create mode 100644 On Server Files/WTFronts/Perk/tickets.g.sk create mode 100644 On Server Files/WTFronts/Perk/trails.g.sk create mode 100644 On Server Files/WTFronts/WTFronts/dragonegg.g.sk create mode 100644 On Server Files/WTFronts/WTFronts/wtfcounter.sk rename Obam-Perks/ticketstuff.sk => Shit we need to revisit/allowance.sk (53%) create mode 100644 Shit we need to revisit/otam.g.sk create mode 100644 Shit we need to revisit/purchase.sk create mode 100644 Shit we need to revisit/tam.g.sk create mode 100644 Shit we need to revisit/tickets.g.sk diff --git a/OBAM-Hub/Hub-Testing/tonyhub.sk b/OBAM-Hub/Hub-Testing/tony.hub.sk similarity index 100% rename from OBAM-Hub/Hub-Testing/tonyhub.sk rename to OBAM-Hub/Hub-Testing/tony.hub.sk diff --git a/OBAM-Hub/-boatsforhub.sk b/OBAM-Old/-boatsforhub.sk similarity index 100% rename from OBAM-Hub/-boatsforhub.sk rename to OBAM-Old/-boatsforhub.sk diff --git a/Obam-Communication/Communication-Testing/Chat.sk b/OBAM-Old/Chat.sk similarity index 100% rename from Obam-Communication/Communication-Testing/Chat.sk rename to OBAM-Old/Chat.sk diff --git a/Obam-Administration/EASYASEFFIPLOGGINGMAGIC.sk b/OBAM-Old/EASYASEFFIPLOGGINGMAGIC.sk similarity index 100% rename from Obam-Administration/EASYASEFFIPLOGGINGMAGIC.sk rename to OBAM-Old/EASYASEFFIPLOGGINGMAGIC.sk diff --git a/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/KitDamageSubSystem.sk b/OBAM-Old/KitDamageSubSystem.sk similarity index 100% rename from Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/KitDamageSubSystem.sk rename to OBAM-Old/KitDamageSubSystem.sk diff --git a/Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpField.sk b/OBAM-Old/Obam-Hotpotato/Hotpotato Maps/hpField.sk similarity index 100% rename from Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpField.sk rename to OBAM-Old/Obam-Hotpotato/Hotpotato Maps/hpField.sk diff --git a/Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpLavaFlow.sk b/OBAM-Old/Obam-Hotpotato/Hotpotato Maps/hpLavaFlow.sk similarity index 100% rename from Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpLavaFlow.sk rename to OBAM-Old/Obam-Hotpotato/Hotpotato Maps/hpLavaFlow.sk diff --git a/Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpMushroom.sk b/OBAM-Old/Obam-Hotpotato/Hotpotato Maps/hpMushroom.sk similarity index 100% rename from Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpMushroom.sk rename to OBAM-Old/Obam-Hotpotato/Hotpotato Maps/hpMushroom.sk diff --git a/Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpNetherFort.sk b/OBAM-Old/Obam-Hotpotato/Hotpotato Maps/hpNetherFort.sk similarity index 100% rename from Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpNetherFort.sk rename to OBAM-Old/Obam-Hotpotato/Hotpotato Maps/hpNetherFort.sk diff --git a/Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpOmniPlex.sk b/OBAM-Old/Obam-Hotpotato/Hotpotato Maps/hpOmniPlex.sk similarity index 100% rename from Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpOmniPlex.sk rename to OBAM-Old/Obam-Hotpotato/Hotpotato Maps/hpOmniPlex.sk diff --git a/Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpOmniStairs.sk b/OBAM-Old/Obam-Hotpotato/Hotpotato Maps/hpOmniStairs.sk similarity index 100% rename from Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpOmniStairs.sk rename to OBAM-Old/Obam-Hotpotato/Hotpotato Maps/hpOmniStairs.sk diff --git a/Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpSewerSystem.sk b/OBAM-Old/Obam-Hotpotato/Hotpotato Maps/hpSewerSystem.sk similarity index 100% rename from Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpSewerSystem.sk rename to OBAM-Old/Obam-Hotpotato/Hotpotato Maps/hpSewerSystem.sk diff --git a/Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpSnowyHills.sk b/OBAM-Old/Obam-Hotpotato/Hotpotato Maps/hpSnowyHills.sk similarity index 100% rename from Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpSnowyHills.sk rename to OBAM-Old/Obam-Hotpotato/Hotpotato Maps/hpSnowyHills.sk diff --git a/Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpcave.sk b/OBAM-Old/Obam-Hotpotato/Hotpotato Maps/hpcave.sk similarity index 100% rename from Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpcave.sk rename to OBAM-Old/Obam-Hotpotato/Hotpotato Maps/hpcave.sk diff --git a/Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpcity.sk b/OBAM-Old/Obam-Hotpotato/Hotpotato Maps/hpcity.sk similarity index 100% rename from Obam-Mini Games/Obam-Hotpotato/Hotpotato Maps/hpcity.sk rename to OBAM-Old/Obam-Hotpotato/Hotpotato Maps/hpcity.sk diff --git a/Obam-Mini Games/Obam-Hotpotato/hotpotato.sk b/OBAM-Old/Obam-Hotpotato/hotpotato.sk similarity index 100% rename from Obam-Mini Games/Obam-Hotpotato/hotpotato.sk rename to OBAM-Old/Obam-Hotpotato/hotpotato.sk diff --git a/Obam-Mini Games/Obam-Hotpotato/hpstat.sk b/OBAM-Old/Obam-Hotpotato/hpstat.sk similarity index 100% rename from Obam-Mini Games/Obam-Hotpotato/hpstat.sk rename to OBAM-Old/Obam-Hotpotato/hpstat.sk diff --git a/Obam-Mini Games/Obam-Hotpotato/hptemp.sk b/OBAM-Old/Obam-Hotpotato/hptemp.sk similarity index 100% rename from Obam-Mini Games/Obam-Hotpotato/hptemp.sk rename to OBAM-Old/Obam-Hotpotato/hptemp.sk diff --git a/Obam-Mini Games/Obam-Hotpotato/lobbies.sk b/OBAM-Old/Obam-Hotpotato/lobbies.sk similarity index 100% rename from Obam-Mini Games/Obam-Hotpotato/lobbies.sk rename to OBAM-Old/Obam-Hotpotato/lobbies.sk diff --git a/Obam-Mini Games/Obam-Parkour/checkpoints.sk b/OBAM-Old/Obam-Parkour/checkpoints.sk similarity index 100% rename from Obam-Mini Games/Obam-Parkour/checkpoints.sk rename to OBAM-Old/Obam-Parkour/checkpoints.sk diff --git a/Obam-Mini Games/Obam-Parkour/parkour.sk b/OBAM-Old/Obam-Parkour/parkour.sk similarity index 100% rename from Obam-Mini Games/Obam-Parkour/parkour.sk rename to OBAM-Old/Obam-Parkour/parkour.sk diff --git a/Obam-Mini Games/Obam-Parkour/parkoursigns.sk b/OBAM-Old/Obam-Parkour/parkoursigns.sk similarity index 100% rename from Obam-Mini Games/Obam-Parkour/parkoursigns.sk rename to OBAM-Old/Obam-Parkour/parkoursigns.sk diff --git a/Obam-Mini Games/Obam-Parkour/parkourspawn.sk b/OBAM-Old/Obam-Parkour/parkourspawn.sk similarity index 100% rename from Obam-Mini Games/Obam-Parkour/parkourspawn.sk rename to OBAM-Old/Obam-Parkour/parkourspawn.sk diff --git a/Obam-Mini Games/Obam-Parkour/parkourstats.sk b/OBAM-Old/Obam-Parkour/parkourstats.sk similarity index 100% rename from Obam-Mini Games/Obam-Parkour/parkourstats.sk rename to OBAM-Old/Obam-Parkour/parkourstats.sk diff --git a/Obam-Mini Games/Obam-Parkour/timer.sk b/OBAM-Old/Obam-Parkour/timer.sk similarity index 100% rename from Obam-Mini Games/Obam-Parkour/timer.sk rename to OBAM-Old/Obam-Parkour/timer.sk diff --git a/Obam-Administration/Administration-Testing/TicketLogSystem b/OBAM-Old/TicketLogSystem similarity index 100% rename from Obam-Administration/Administration-Testing/TicketLogSystem rename to OBAM-Old/TicketLogSystem diff --git a/Obam-Moderation/admin.sk b/OBAM-Old/admin.sk similarity index 100% rename from Obam-Moderation/admin.sk rename to OBAM-Old/admin.sk diff --git a/Obam-Moderation/Moderation-Testing/autobantest.sk b/OBAM-Old/autobantest.sk similarity index 100% rename from Obam-Moderation/Moderation-Testing/autobantest.sk rename to OBAM-Old/autobantest.sk diff --git a/Obam-Global/autohub.sk b/OBAM-Old/autohub.sk similarity index 100% rename from Obam-Global/autohub.sk rename to OBAM-Old/autohub.sk diff --git a/OBAM-Hub/boatsforhub b/OBAM-Old/boatsforhub similarity index 100% rename from OBAM-Hub/boatsforhub rename to OBAM-Old/boatsforhub diff --git a/OBAM-Hub/boatsforhub.sk b/OBAM-Old/boatsforhub.sk similarity index 100% rename from OBAM-Hub/boatsforhub.sk rename to OBAM-Old/boatsforhub.sk diff --git a/Obam-Communication/broadcast.sk b/OBAM-Old/broadcast.sk similarity index 100% rename from Obam-Communication/broadcast.sk rename to OBAM-Old/broadcast.sk diff --git a/Obam-Administration/bugs.sk b/OBAM-Old/bugs.sk similarity index 100% rename from Obam-Administration/bugs.sk rename to OBAM-Old/bugs.sk diff --git a/OBAM-Fix/ci.sk b/OBAM-Old/ci.sk similarity index 100% rename from OBAM-Fix/ci.sk rename to OBAM-Old/ci.sk diff --git a/Obam-Administration/circle.sk b/OBAM-Old/circle.sk similarity index 100% rename from Obam-Administration/circle.sk rename to OBAM-Old/circle.sk diff --git a/Obam-Communication/connect.sk b/OBAM-Old/connect.sk similarity index 100% rename from Obam-Communication/connect.sk rename to OBAM-Old/connect.sk diff --git a/Obam-Global/Global-Testing/dbtest.sk b/OBAM-Old/dbtest.sk similarity index 100% rename from Obam-Global/Global-Testing/dbtest.sk rename to OBAM-Old/dbtest.sk diff --git a/Obam-Administration/defaultfix.sk b/OBAM-Old/defaultfix.sk similarity index 100% rename from Obam-Administration/defaultfix.sk rename to OBAM-Old/defaultfix.sk diff --git a/Obam-Global/Global-Testing/effect.sk b/OBAM-Old/effect.sk similarity index 100% rename from Obam-Global/Global-Testing/effect.sk rename to OBAM-Old/effect.sk diff --git a/Obam-Global/Global-Testing/enchnattest.sk b/OBAM-Old/enchnattest.sk similarity index 100% rename from Obam-Global/Global-Testing/enchnattest.sk rename to OBAM-Old/enchnattest.sk diff --git a/Obam-Global/Global-Testing/firetest.sk b/OBAM-Old/firetest.sk similarity index 100% rename from Obam-Global/Global-Testing/firetest.sk rename to OBAM-Old/firetest.sk diff --git a/Obam-Moderation/gcommannds.sk b/OBAM-Old/gcommannds.sk similarity index 100% rename from Obam-Moderation/gcommannds.sk rename to OBAM-Old/gcommannds.sk diff --git a/Obam-Administration/hashedfordays.sk b/OBAM-Old/hashedfordays.sk similarity index 100% rename from Obam-Administration/hashedfordays.sk rename to OBAM-Old/hashedfordays.sk diff --git a/Obam-Sort/helpbeta.sk b/OBAM-Old/helpbeta.sk similarity index 100% rename from Obam-Sort/helpbeta.sk rename to OBAM-Old/helpbeta.sk diff --git a/Obam-Sort/helpbetageneral.sk b/OBAM-Old/helpbetageneral.sk similarity index 100% rename from Obam-Sort/helpbetageneral.sk rename to OBAM-Old/helpbetageneral.sk diff --git a/Obam-Sort/helpbetaskyblock.sk b/OBAM-Old/helpbetaskyblock.sk similarity index 100% rename from Obam-Sort/helpbetaskyblock.sk rename to OBAM-Old/helpbetaskyblock.sk diff --git a/Obam-Global/hub.sk b/OBAM-Old/hub.sk similarity index 100% rename from Obam-Global/hub.sk rename to OBAM-Old/hub.sk diff --git a/OBAM-Hub/hubconfig.sk b/OBAM-Old/hubconfig.old.sk similarity index 100% rename from OBAM-Hub/hubconfig.sk rename to OBAM-Old/hubconfig.old.sk diff --git a/OBAM-Hub/hubprotect.sk b/OBAM-Old/hubprotect.sk similarity index 100% rename from OBAM-Hub/hubprotect.sk rename to OBAM-Old/hubprotect.sk diff --git a/Obam-Mini Games/Obam-KitPvp/kds.sk b/OBAM-Old/kds.sk similarity index 100% rename from Obam-Mini Games/Obam-KitPvp/kds.sk rename to OBAM-Old/kds.sk diff --git a/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/kitstuff.sk b/OBAM-Old/kitstuff.sk similarity index 100% rename from Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/kitstuff.sk rename to OBAM-Old/kitstuff.sk diff --git a/OBAM-Hub/minecartsforhub.sk b/OBAM-Old/minecartsforhub.sk similarity index 100% rename from OBAM-Hub/minecartsforhub.sk rename to OBAM-Old/minecartsforhub.sk diff --git a/Obam-Communication/modbridge.sk b/OBAM-Old/modbridge.sk similarity index 100% rename from Obam-Communication/modbridge.sk rename to OBAM-Old/modbridge.sk diff --git a/OBAM-Old/ninjatools.sk b/OBAM-Old/ninjatools.sk new file mode 100644 index 0000000..c73c63b --- /dev/null +++ b/OBAM-Old/ninjatools.sk @@ -0,0 +1,130 @@ + + + +command /home: + description: Go to island's home + permission: obam.free + usage: /home or /start + executable by: players + aliases: /start + trigger: + make player execute command "/is" + + +command /restartisland: + description: Restart your island + usage: /restart + executable by: players or console + permission: obam.free + aliases: /ri + trigger: + {island.reset.use.%player%} is greater than or equal to 2: + message "&cYou have used up your two resets! You will need to purchase the next one for &e2000 Tickets!&c Type &e/restartconfirm&c to continue!" to player + set {skyblock.%player%.restart} to 1 + stop + {island.reset.use.%player%} is 1: + message "&cAre you sure you want to do this? This will reset your island, You can only do this for free &e1 &ctime! Type &e/restartconfirm to do this." to player + set {skyblock.%player%.restart} to 1 + stop + message "&cAre you sure you want to do this? This will reset your island, You can only do this for free &e2 &ctimes! Type &e/restartconfirm to do this." to player + set {skyblock.%player%.restart} to 1 + +command /risrestart : + permission: obam.admin + trigger: + set {island.reset.use.%player-argument%} to 0 + +command /restartconfirm: + permission: obam.free + trigger: + world is "skyworld": + + {skyblock.%player%.restart} is 1: + {island.reset.use.%player%} is greater than or equal to 2: + set {balance.%player%} to player's balance + {balance.%player%} is less than 2000: + send "&cYou Do not have enough tickets for this!" to player + stop + remove 2000 from player's balance + send "&cYou have paid &e2000 Tickets&c for resetting your island. You now have &e%player's balance% &cremaining." to player + + message "&cYou are restarting your island!" to player + make player execute command "/is restart" + set {skyblock.%player%.restart} to 0 + {island.reset.use.%player%} is not set: + set {island.reset.use.%player%} to 0 + add 1 to {island.reset.use.%player%} + stop + else: + message "&cPlease type /restart first" + + else: + message "&cYou can not do that here!" to player + + + +command /setspawn: + description: Sets island's spawnpoint + usage: /spawnpoint while standing in location + permission: obam.free + executable by: players + aliases: /sethome + trigger: + make player execute command "/is sethome" + + +command /warp : + description: Go to a player's island + usage: /warp [player name] + executable by: players + permission: obam.free + trigger: + make player execute command "/is warp %arg 1%" + +command /setwarp: + description: Set warp location for island + permission: obam.free + usage: /setwarp + trigger: + make player execute command "/is setwarp" + + +command /togglewarp: + description: Toggle if other players can warp to your island + permission: obam.free + usage: /togglewarp + trigger: + make player execute command "/is togglewarp" + + +command /invite : + description: Invite someone to your island + permission: obam.free + usage: /invite [name] + trigger: + make player execute command "/is invite %arg 1%" + + + + +command /accept: + description: Accept party invite + usage: /accept + trigger: + make player execute command "/is accept" + + +command /reject: + description: Reject party invite + permission: obam.free + usage: /reject + trigger: + make player execute command "/is reject" + + +command /remove : + description: Remove a player from your island + permission: obam.free + usage: /remove [name] + trigger: + make player execute command "/is kick %arg 1%" \ No newline at end of file diff --git a/Obam-Global/Global-Testing/powerpick.sk b/OBAM-Old/powerpick.sk similarity index 100% rename from Obam-Global/Global-Testing/powerpick.sk rename to OBAM-Old/powerpick.sk diff --git a/Obam-Administration/referall.sk b/OBAM-Old/referall.sk similarity index 100% rename from Obam-Administration/referall.sk rename to OBAM-Old/referall.sk diff --git a/Obam-Administration/restarts.sk b/OBAM-Old/restarts.sk similarity index 100% rename from Obam-Administration/restarts.sk rename to OBAM-Old/restarts.sk diff --git a/OBAM-Hub/schat2.hub.sk b/OBAM-Old/schat2.hub.sk similarity index 100% rename from OBAM-Hub/schat2.hub.sk rename to OBAM-Old/schat2.hub.sk diff --git a/Obam-Mini Games/Obam-KitPvp/schat2.kit.sk b/OBAM-Old/schat2.kit.sk similarity index 100% rename from Obam-Mini Games/Obam-KitPvp/schat2.kit.sk rename to OBAM-Old/schat2.kit.sk diff --git a/Obam-Global/sudo.sk b/OBAM-Old/sudo.g.sk similarity index 98% rename from Obam-Global/sudo.sk rename to OBAM-Old/sudo.g.sk index 2fd4c04..5571b1f 100644 --- a/Obam-Global/sudo.sk +++ b/OBAM-Old/sudo.g.sk @@ -1,5 +1,4 @@ command /sudo : permission: obam.admin trigger: - make argument 1 execute argument 2 \ No newline at end of file diff --git a/Obam-Communication/Communication-Testing/teams.txt b/OBAM-Old/teams.txt similarity index 100% rename from Obam-Communication/Communication-Testing/teams.txt rename to OBAM-Old/teams.txt diff --git a/Obam-Communication/Communication-Testing/tellchat.sk b/OBAM-Old/tellchat.sk similarity index 100% rename from Obam-Communication/Communication-Testing/tellchat.sk rename to OBAM-Old/tellchat.sk diff --git a/Obam-Administration/todolist.sk b/OBAM-Old/todolist.sk similarity index 100% rename from Obam-Administration/todolist.sk rename to OBAM-Old/todolist.sk diff --git a/OBAM-Fix/who.sk b/OBAM-Old/who.sk similarity index 100% rename from OBAM-Fix/who.sk rename to OBAM-Old/who.sk diff --git a/Obam-Communication/wtfmike.sk b/OBAM-Old/wtfmike.sk similarity index 100% rename from Obam-Communication/wtfmike.sk rename to OBAM-Old/wtfmike.sk diff --git a/OBAM-Survival Games/OBAM-WTFronts/Tested and Moved/dragonegg.g.sk b/OBAM-Survival Games/OBAM-WTFronts/Tested and Moved/dragonegg.g.sk new file mode 100644 index 0000000..e55ec5e --- /dev/null +++ b/OBAM-Survival Games/OBAM-WTFronts/Tested and Moved/dragonegg.g.sk @@ -0,0 +1,7 @@ +on flow: + block is a dragon egg: + cancel event + +on block physics: + block is a dragon egg: + cancel event diff --git a/OBAM-Survival Games/OBAM-WTFronts/wtfcounter.sk b/OBAM-Survival Games/OBAM-WTFronts/Tested and Moved/wtfcounter.sk similarity index 99% rename from OBAM-Survival Games/OBAM-WTFronts/wtfcounter.sk rename to OBAM-Survival Games/OBAM-WTFronts/Tested and Moved/wtfcounter.sk index 88afbd0..bac5952 100644 --- a/OBAM-Survival Games/OBAM-WTFronts/wtfcounter.sk +++ b/OBAM-Survival Games/OBAM-WTFronts/Tested and Moved/wtfcounter.sk @@ -4,8 +4,6 @@ on chat: set {db_wtf.counter} to 0 add 1 to {db_wtf.counter} - - command /wtfcounter: permission: obam.admin trigger: diff --git a/OBAM-Survival Games/Obam-Fronts/landclaim.sk b/OBAM-Survival Games/OBAM-WTFronts/WTFronts-Testing/landclaim.sk similarity index 93% rename from OBAM-Survival Games/Obam-Fronts/landclaim.sk rename to OBAM-Survival Games/OBAM-WTFronts/WTFronts-Testing/landclaim.sk index 5ee8f57..77e59df 100644 --- a/OBAM-Survival Games/Obam-Fronts/landclaim.sk +++ b/OBAM-Survival Games/OBAM-WTFronts/WTFronts-Testing/landclaim.sk @@ -1,41 +1,28 @@ variables: - {claimedland.%player%} = 0 + {db_claimedland.%player%} = 0 {availableland.live.%player%} = 1 {alert.fronts.%player%} = true on join: {db_prizecheck.%player%} is set: - add {db_prizecheck.%player%} to {availableland.%player%} + add {db_prizecheck.%player%} to {db_availableland.%player%} send "&aYou have had &e%{db_prizecheck.%player%}%&a added to your Fronts balance!" to player clear {db_prizecheck.%player%} if {played.%player%} is not set: set {played.%player%} to true - {reset.%player%.betamove} is not set: - set {claimedland.%player%} to 0 - clear {owned.chunks.%player%::*} - clear {name.list.%player%::*} - clear {loc.chunks.%player%::*} - set {reset.%player%.betamove} to true - {reset.%player%.betamove2} is not set: - set {availableland.%player%} to 1 - set {reset.%player%.betamove2} to true - {reset.%player%.betamove3} is not set: - clear {home.%player%.wild} - size of {loc.chunks.%player%::*} is greater than 0: - loop {loc.chunks.%player%::*}: - set {_loc} to {loc.chunks.%player%::%loop-index%} - set {_chunk} to chunk at location of {_loc} - set {_chunk.name} to {chunk.name.%{_chunk}%} - set {home.%player%.wild} to {_loc} - send "&aYour home location has been moved to &e%{_chunk.name}%" to player - set {reset.%player%.betamove3} to true - stop - set {reset.%player%.betamove3} to true - {reset.%player%.betamove4} is not set: - clear {bed.%player%.wild} - set {reset.%player%.betamove4} to true + +command /movedata: + permission: obam.admin + trigger: + + loop {db_channel.global::*}: + + set {db_claimedland.%loop-value%} to {claimedland.%loop-value%} + set {db_availableland.%loop-value%} to {availableland.%loop-value%} + + @@ -76,11 +63,11 @@ command /front [] [] []: trigger: argument 1 is not set: message "&3-[&a&lFronts Claimed&3]-" - message "&6 %{claimedland.%player%}%" + message "&6 %{db_claimedland.%player%}%" send "&3-[&a&lPurchased Slots&3]-" to player - send "&6 %{availableland.%player%}%" + send "&6 %{db_availableland.%player%}%" send "&3-[&a&lAvailible Slots&3]-" to player - send "&6 %{availableland.%player%} - {claimedland.%player%}%" to player + send "&6 %{db_availableland.%player%} - {db_claimedland.%player%}%" to player stop #subfold @help argument 1 is "help" or "h": @@ -131,7 +118,7 @@ command /front [] [] []: if player cannot build at the loop-block: message "&cYou can not claim land in this area." stop - {claimedland.%player%} is greater than or equal to {availableland.%player%}: + {db_claimedland.%player%} is greater than or equal to {db_availableland.%player%}: send "&cYou do not have enough Availiable land for this action! Please purchase more with /shop!" to player stop {first.claim.%player%} is set: @@ -141,19 +128,19 @@ command /front [] [] []: send "&cYou do not have enough tickets to do this!" to player stop - {chunks.claim.count.%player%} is not set: - set {chunks.claim.count.%player%} to 0 - add 1 to {chunks.claim.count.%player%} + {db_chunks.claim.count.%player%} is not set: + set {db_chunks.claim.count.%player%} to 0 + add 1 to {db_chunks.claim.count.%player%} add name of player to {land.live.%chunk at location of player%::*} set {chunk.live.%chunk at location of player%} to name of player set {chunk.live.%chunk at location of player%.%player%} to true add chunk at location of player to {owned.chunks.%player%::*} - set {chunk.name.%chunk at location of player%} to "%{chunks.claim.count.%player%}%" + set {chunk.name.%chunk at location of player%} to "%{db_chunks.claim.count.%player%}%" set {loc.chunks.%player%::%chunk at location of player%} to location of player message "&6You now own this Front." - {claimedland.%player%} is 0: + {db_claimedland.%player%} is 0: set {home.%player%.wild} to location of player - add 1 to {claimedland.%player%} + add 1 to {db_claimedland.%player%} {first.claim.%player%} is set: {first.claim.%player%} is true: remove 2000 from player's balance @@ -171,7 +158,7 @@ command /front [] [] []: if {chunk.live.%chunk at location of player%} is not name of player: message "&cYou do not own this land." stop - remove 1 from {claimedland.%player%} + remove 1 from {db_claimedland.%player%} loop {land.live.%chunk at location of player%::*}: set {_player} to {land.live.%chunk at location of player%::%loop-index%} clear {chunk.live.%chunk at location of player%.%{_player}%} @@ -321,7 +308,7 @@ command /front [] [] []: send "&aTeleporting to &e%argument 2%" to player teleport player to {_loc} stop - send "&cYou do not have a Front named &e%argument 2%" + send "&cYou do not have a Front named &e%argument 2% &cin this world!" stop argument 3 is set: if {chunk.live.%chunk at location of player%} is not set: @@ -355,7 +342,7 @@ command /front [] [] []: send "&aTeleporting to &e%argument 2%" to player teleport player to {_loc} stop - send "&c%argument 3% does not have a Front named &e%argument 2%" + send "&c%argument 3% does not have a Front named &e%argument 2% &cin this world!" stop argument 1 is "alert": {alert.fronts.%player%} is not set: @@ -558,6 +545,16 @@ on right click on sign: stop send "&cYou can not do this here!" to player +command /deathfix []: + permission: obam.admin + trigger: + argument 1 is "list" or "l": + message "Your owned Chunks:" + message "%{owned.chunks.%player%::*}%" + stop + add chunk at location of player to {owned.chunks.%player%::*} + message "Added chunk to your list of owned chunks." + command /clearland []: permission: obam.admin @@ -578,7 +575,7 @@ command /clearland []: send "&cClearing Home spawn" to player clear {home.%player%.wild} send "&cManginling variables" to player - set {claimedland.%player%} to 0 + set {db_claimedland.%player%} to 0 clear {owned.chunks.%player%::*} send "&aLand clear complete!" to player stop @@ -708,21 +705,17 @@ command /townclaim: command /owner : permission: obam.admin trigger: - {chunks.claim.count.%argument%} is not set: - set {chunks.claim.count.%argument%} to 0 - add 1 to {chunks.claim.count.%argument%} + {db_chunks.claim.count.%argument%} is not set: + set {db_chunks.claim.count.%argument%} to 0 + add 1 to {db_chunks.claim.count.%argument%} add argument to {land.live.%chunk at location of player%::*} set {chunk.live.%chunk at location of player%} to argument set {chunk.live.%chunk at location of player%.%argument%} to true add chunk at location of player to {owned.chunks.%argument%::*} - set {chunk.name.%chunk at location of player%} to "%{chunks.claim.count.%argument%}%" + set {chunk.name.%chunk at location of player%} to "%{db_chunks.claim.count.%argument%}%" set {loc.chunks.%argument%::%chunk at location of player%} to location of player message "&6%argument% now owns this Front." send "&cPlease remember to adjust for tickets!" - -on command "/hub": - cancel event - send "&aUse &e/main &ato return to the hub server!" to player on command "/spawn": {chunk.live.%chunk at location of player%} is not player: @@ -798,5 +791,13 @@ command /claimedset : trigger: set {claimedland.%player-arg%} to argument 2 send "&e%player-arg%&a claimed balance set to &e%argument 2%" + + +on first join: + teleport player to {town.spawn} + +on spawn: + {chunk.live.%chunk at event-location%} is "Town": + cancel event \ No newline at end of file diff --git a/OBAM-Survival Games/OBAM-WTFronts/schat2.wtf.sk b/OBAM-Survival Games/OBAM-WTFronts/schat2.wtf.sk deleted file mode 100644 index bc01d3a..0000000 --- a/OBAM-Survival Games/OBAM-WTFronts/schat2.wtf.sk +++ /dev/null @@ -1,324 +0,0 @@ -options: - p: &c[W] - -on join: - {db_alerts.on.%player%} is not set: - set {db_alerts.on.%player%} to true - {db_alerts.on.%player%} is true: - send "&aYour chat alerts are &eOn&a. You can turn them off by using the command &e/chat alerts off" - {db_alerts.on.%player%} is false: - send "&aYour chat alerts are &eOff&a. You can turn them on by using the command &e/chat alert on" - {db_global.%player%} is not set: - set {db_global.%player%} to true - {db_global.%player%} is true: - set {db_channel.global::%player%} to player - set {db_channel.%player%} to "global" - player does not have permission "obam.supporter": - delete {db_channel.supporter::%player%} - player does not have permission "obam.mod": - delete {db_channel.staff::%player%} - player does not have permission "obam.mechanic": - delete {db_channel.mech::%player%} - {db_channel.mech.%player%} is not set: - player has permission "obam.mechanic": - set {db_channel.mech.%player%} to true - {db_channel.mech.%player%} is true: - set {db_channel.mech::%player%} to player - {db_channel.sup.%player%} is not set: - player has permission "obam.supporter": - set {db_channel.sup.%player%} to true - {db_channel.sup.%player%} is true: - set {db_channel.supporter::%player%} to player - {db_channel.staff.%player%} is not set: - player has permission "obam.mod": - set {db_channel.staff::%player%} to player - {db_channel.staff.%player%} is true: - set {db_channel.supporter::%player%} to player - -on chat: - cancel event - player is "IcecreamCow" or "Electric_Hamster" or "ISMOOCH" or "GloriousKoch": - set {_pre} to "{@p} &d[A] %player%" - {_pre} is not set: - player is "OrigamiJoe" or "Deathtomb8953": - set {_pre} to "{@p} &a[╪] %player%" - {_pre} is not set: - player has permission "obam.mod": - set {_pre} to "{@p} &2[M] %player%" - {_pre} is not set: - player has permission "obam.supporter": - set {_pre} to "{@p} &6[^] %player%" - {_pre} is not set: - set {_pre} to "{@p} %player%" - player is "BruSwain": - set {_pre} to "{@p} &6[^] %player%" - {db_star.%player%} is set: - set {_pre} to "%{_pre}% <%{db_star.%player%}%>✦" - {db_channel.%player%} is "private": - set {_player} to {private.%player%} parsed as a player - {_player} is online: - set {_found} to true - {_found} is set: - set {_player} to {private.%player%} parsed as a player - send "&d%player% ➽ %{_player}%&d: %message%" to {_player} - send "&d%player% ➽ %{_player}%&d: %message%" to player - {db_alerts.on.%{_player}%} is true: - play level up at location of {_player} with pitch 2 - {_found} is not set: - set {_message} to "&d%player% ➽ %{private.%player%}%&d: %message%" - send {_message} to player - execute console command "privatepush %{private.%player%}% %{_message}%" - {db_channel.%player%} is "staff": - player does not have permission "obam.mod": - set {db_channel.%player%} to "global" - delete {db_channel.staff::%player%} - {db_channel.%player%} is "staff": - loop {db_channel.staff::*}: - clear {_player} - set {_player} to loop-index parsed as player - set message to "&a%message%" - message contains "%{_player}%": - replace "%{_player}%" in message with "&c%{_player}%&a" - {db_alerts.on.%{_player}%} is true: - play level up at location of {_player} with pitch 2 - set {_message} to "%{_pre}%&a: %message%" - send "%{_message}%" to {_player} - set message to "%uncoloured message%" - execute console command "/modpush %{_pre}%&a: %message%" - {db_channel.%player%} is "mechanic": - player does not have permission "obam.mechanic": - set {db_channel.%player%} to "global" - delete {db_channel.mech::%player%} - {db_channel.%player%} is "mechanic": - loop {db_channel.mech::*}: - clear {_player} - set {_player} to loop-index parsed as player - set message to "&e%message%" - message contains "%{_player}%": - replace "%{_player}%" in message with "&c%{_player}%&e" - {db_alerts.on.%{_player}%} is true: - play level up at location of {_player} with pitch 2 - set {_message} to "%{_pre}%&e: %message%" - send "%{_message}%" to {_player} - set message to "%uncoloured message%" - execute console command "/mechpush %{_message}%" - stop - {db_channel.%player%} is "supporter": - player does not have permission "obam.supporter": - set {db_channel.%player%} to "global" - delete {db_channel.supporter::%player%} - {db_channel.%player%} is "supporter": - loop {db_channel.supporter::*}: - clear {_player} - set {_player} to loop-index parsed as player - set message to "&b%message%" - message contains "%{_player}%": - replace "%{_player}%" in message with "&c%{_player}%&b" - {db_alerts.on.%{_player}%} is true: - play level up at location of {_player} with pitch 2 - set {_message} to "%{_pre}%&b: %message%" - send "%{_message}%" to {_player} - set message to "%uncoloured message%" - execute console command "/supporterpush %{_message}%" - stop - {db_channel.%player%} is "global": - loop {db_channel.global::*}: - clear {_player} - set {_player} to loop-index parsed as player - set message to "&f%message%" - message contains "%{_player}%": - replace "%{_player}%" in message with "&c%{_player}%&f" - {db_alerts.on.%{_player}%} is true: - play level up at location of {_player} with pitch 2 - set {_message} to "%{_pre}%&f: %message%" - send "%{_message}%" to {_player} - set message to "%uncoloured message%" - execute console command "globalpush %{_pre}%&f: %message%" - stop - -command /chat [] []: - permission: obam.free - aliases: c, ch - trigger: - argument 1 is "m" or "mod": - player does not have permission "obam.mod": - send "&cYou dont have permission to do this!" - stop - set {db_channel.%player%} to "staff" - {db_channel.staff::%player%} is not set: - set {db_channel.staff::%player%} to player - send "&aYou are now chatting in the &aMod&a channel!" - stop - argument 1 is "s" or "supporter": - player does not have permission "obam.supporter": - send "&cYou dont have permission to do this!" - stop - set {db_channel.%player%} to "supporter" - {db_channel.supporter::%player%} is not set: - set {db_channel.supporter.%player%} to player - send "&aYou are now chatting in the &bSupporter&a channel!" - argument 1 is "mech" or "mechanic": - player does not have permission "obam.mechanic": - send "&cYou dont have permission to do this!" - stop - set {db_channel.%player%} to "mechanic" - {db_channel.mech::%player%} is not set: - set {db_channel.mech::%player%} to player - send "&aYou are now chatting in the &eMechanic&a Channel!" - argument 1 is "g" or "global": - set {db_channel.%player%} to "global" - send "&aYou are now chatting in the &fGlobal&a channel!" - argument 1 is "l" or "leave": - argument 2 is not set: - send "&cPlease specify a channel: &e/chat leave " - stop - argument 2 is "mod" or "m": - send "&cYou can not leave the staff chat silly" - stop - argument 2 is "mech" or "mechanic": - send "&cYou are now leaving the &eMechanic&c chat!" - delete {db_channel.mech::%player%} - stop - argument 2 is "s" or "supporter": - send "&cYou are now leaving the &bSupporter&c chat!" - delete {db_channel.supporter::%player%} - stop - argument 2 is "g" or "global": - send "&cYou are now leaving the &fGlobal&c chat!" - delete {db_channel.global::%player%} - stop - argument 1 is "j" or "join": - argument 2 is not set: - send "&cPlease specify a channel: &e/chat join " - stop - argument 2 is "mod" or "m": - player does not have permission "obam.mod": - send "&cYou do not have permission to do this!" - stop - {db_channel.staff::%player%} is set: - send "&cYou are already in this channel!" - send "&cIf you believe this is an error, please report it!" - stop - set {db_channel.staff::%player%} to player - set {db_channel.%player%} to "staff" - send "&aYou are now in the &2Mod&a channel!" - stop - argument 2 is "mechanic" or "mech": - player does not have permission "obam.mechanic": - send "&cYou do not have permission to do this!" - stop - {db_channel.mech::%player%} is set: - send "&cYou are already in this channel!" - send "&cIf you believe this is an error, please report it!" - stop - set {db_channel.mech::%player%} to player - set {db_channel.%player%} to "mechanic" - send "&aYou are now in the &eMechanic&a Channel!" - stop - argument 2 is "s" or "supporter": - player does not have permission "obam.supporter": - send "&cYou do not have permission to do this!" - stop - {db_channel.supporter::%player%} is set: - send "&cYou are already in this channel!" - send "&cIf you believe this is an error, please report it!" - stop - set {db_channel.supporter::%player%} to player - set {db_channel.%player%} to "supporter" - send "&aYou are now in the &bSupporter&a channel!" - stop - argument 2 is "g" or "global": - {db_channel.global::%player%} is set: - send "&cYou are already in this channel!" - send "&cIf you believe this is an error, please report it!" - stop - set {db_channel.global::%player%} to player - set {db_channel.%player%} to "global" - send "&aYou are now in the &fGlobal&a channel!" - argument 1 is "who": - argument 2 is not set: - loop {db_channel.%{db_channel.%player%}%::*}: - send "%loop-index%" - argument 2 is set: - {db_channel.%{db_channel.%player%}%::%argument 2%} is set: - send "%argument 2% is in this channel" - argument 1 is "alerts" or "alert" or "a": - argument 2 is not set: - {db_alerts.on.%player%} is not set: - set {db_alerts.on.%player%} to true - send "&aYour chat alerts are now &eOn&a." - stop - {db_alerts.on.%player%} is true: - set {db_alerts.on.%player%} to false - send "&aYour chat alerts are now &eOff&a." - stop - {db_alerts.on.%player%} is false: - set {db_alerts.on.%player%} to true - send "&aYour chat alerts are now &eOn&a." - stop - argument 2 is "off": - set {db_alerts.on.%player%} to false - send "&aYour chat alerts are now &eOff&a." - argument 2 is "on": - set {db_alerts.on.%player%} to true - send "&aYour chat alerts are now &eOn&a." - -command /star []: - permission: obam.admin - trigger: - argument 2 is "clear": - clear {db_star.%argument 1%} - send "&aCleared Star setting for %argument 1%" - stop - set {db_star.%argument 1%} to argument 2 - send "&aStar for %argument 1% set to <%argument 2%>%argument 2%&a." - -command /tell [] []: - permission: obam.free - trigger: - argument 1 is not set: - {db_channel.%player%} is "private": - send "&aYou have left your private conversation with %{private.%player%}%" - make player execute command "/ch g" - stop - {db_channel.%player%} is not "private": - send "&cYou are not in a conversation!" - stop - argument 2 is not set: - send "&dYou are now in a private conversation with &e%argument 1%" - set {private.%player%} to "%argument 1%" - set {db_channel.%player%} to "private" - argument 2 is set: - send "&d%player% ➽ %argument 1%: %argument 2%" to player - loop all players: - loop-player is argument 1 - set {_found} to true - {_found} is set: - send "&d%player% ➽ %argument 1%: %argument 2%" to argument 1 - {db_alerts.on.%argument 1%} is true: - play level up at location of argument 1 with pitch 2 - {_found} is not set: - set {_message} to "&d%player% ➽ %argument 1%: %argument 2%" - execute console command "privatepush %argument 1% %{_message}%" - -command /fishslap : - permission: obam.free - trigger: - {cool.fish.%player%} is not set: - set {cool.fish.%player%} to now - add 5 seconds to {cool.fish.%player%} - set {_wait} to difference between {cool.fish.%player%} and now - {_wait} is less than 4 seconds: - send "&cYou are slapping too much! Calm down D:" to player - stop - send "&aYou just slapped &e%argument%&a!" - set {cool.fish.%player%} to now - loop all players: - "%loop-player%" is argument - set {_found} to true - {db_alerts.on.%loop-player%} is true - play slime attack at location of loop-player with pitch 1 - send "&e%player% &ajust slapped you with a giant fish!" to loop-player - stop - {_found} is not set: - forward command "fishcatch %argument% %player%" to console diff --git a/OBAM-Survival Games/OBAM-WTFronts/wtfronts.sk b/OBAM-Survival Games/OBAM-WTFronts/wtfronts.sk index eb9d43a..a76b772 100644 --- a/OBAM-Survival Games/OBAM-WTFronts/wtfronts.sk +++ b/OBAM-Survival Games/OBAM-WTFronts/wtfronts.sk @@ -20,18 +20,20 @@ options: grapplinghook: fishing rod named "&3Grappling Hook" with lore "&6Use this tool to reach new heights or safely||&6reach the bottom of deep drops.|| ||&c- 1 Elemental Fuel Per Use" safetytorch: redstone torch named "&3Safety Torch" with lore "&6When placed will prevent mobs from spawning in the chunk" soap1: nether brick item named "&3Soap" with lore "&6Clean yourself and those around you by||&6creating a soothing bubble bath!|| ||&a+ 100 Hygiene Points" - stblgun: bow named "&3Stablizer Gun" with lore "&6By using &3Elemental Fuel &6as its ammo, this||&6special gun destroys Unstable Mobs and||&6delivers their Unstable Drops to you! This||&6gun only works on Unstable Mobs.|| ||&c- 1 Elemental Fuel Per Shot" + stblgun: bow named "&3Stabilizer Gun" with lore "&6By using &3Elemental Fuel &6as its ammo, this||&6special gun destroys Unstable Mobs and||&6delivers their Unstable Drops to you! This||&6gun only works on Unstable Mobs.|| ||&c- 1 Elemental Fuel Per Shot" stblmine: diamond pickaxe named "&3Stable Miner Pickaxe" with lore "&6This pickaxe is designed to stop the harsh||&6environmental disasters while mining!|| ||&c- 1 Elemental Fuel Per Use" advbench: workbench named "&3Advanced Workbench" with lore "&6Reinforced with iron, this crafting bench||&6is more suited to handle the harsh||&6elements of this world." advanvil: anvil named "&3Advanced Anvil" with lore "&6An upgraded workbench that facilitates the||&6forging of very powerful items and armours." - + on script load: register new shapeless recipe for {@bandages} using paper, slimeball, air, air, air, air, air, air, air register new shapeless recipe for {@superbottle} using bottle of water, bottle of water, bottle of water, bottle of water, air, air, air, air, air register new shapeless recipe for {@coffee} using air, cocoa beans, air, air, milk, air, air, air, air register new shapeless recipe for {@soap1} using air, milk bucket, air, air, rose, air, air, water bottle, air register new shaped recipe for {@advbench} using iron ingot, iron ingot, iron ingot, iron ingot, workbench, iron ingot, iron ingot, iron ingot, iron ingot - + delete {db_wtf.bench.items::*} + delete {db_wtf.anvil.items::*} + delete {db_wtf.ci::*} set {db_wtf.bench.items::01.bandages} to "i;paper;n;&3Bandage;l;&6Used to heal injuries obtained from large||&6falls. Multiple bandages may be needed||&6to completely heal the injury.|| ||&c- 1 Injury Point Per Use|| ||&eRequires:||&61 - &fPaper||&61 - &fSlimeball;c;sudo PLAYER wtfitem bandages 1" set {db_wtf.bench.items::07.soap1} to "i;nether brick item;n;&3Soap;l;&6Clean yourself and those around you by||&6creating a soothing bubble bath!|| ||&a+ 100 Hygiene Points|| ||&eRequires:||&61 - &fMilk Bucket||&61 - &fPoppy||&61 - &fWater Bottle;c;sudo PLAYER wtfitem soap1 1" set {db_wtf.bench.items::02.stable} to "i;packed ice;n;&3Stabilizer;l;&6Contains the perfect elemental make up to||&6bring unstable energy down to usable levels.|| ||&eRequires:||&68 - &fIce||&61 - &3Fairy Dust;c;sudo PLAYER wtfitem stable 1" @@ -71,7 +73,7 @@ on script load: set {db_wtf.anvil.items::09.blank} to "i;air" set {db_wtf.anvil.items::10.stblmine} to "i;diamond pickaxe;n;&3Stable Miner Pickaxe;l;&6This pickaxe is designed to stop the harsh||&6environmental disasters while mining!|| ||&c- 1 Elemental Fuel Per Use|| ||&eRequires:||&62 - &3Stable Metal Bar||&61 - &fDiamond Pickaxe||&61 - &3Stabilizer;c;sudo PLAYER wtfitem stblmine 1" set {db_wtf.anvil.items::11.grapplinghook} to "i;fishing rod;n;&3Grappling Hook;l;&6Use this tool to reach new heights or safely||&6reach the bottom of deep drops.|| ||&c- 1 Elemental Fuel Per Use|| ||&eRequires:||&68 - &3Elemental Fuel||&61 - &fFishing Rod;c;sudo PLAYER wtfitem grapplinghook 1" - set {db_wtf.anvil.items::12.stblgun} to "i;bow;n;&3Stablizer Gun;l;&6By using &3Elemental Fuel &6as its ammo, this||&6special gun destroys Unstable Mobs and||&6delivers their Unstable Drops to you! This||&6gun only works on Unstable Mobs.|| ||&c- 1 Elemental Fuel Per Shot|| ||&eRequires:||&64 - &3Stable Metal Bar||&61 - &3Stabilizer||&61 - &fBow;c;sudo PLAYER wtfitem stblgun 1" + set {db_wtf.anvil.items::12.stblgun} to "i;bow;n;&3Stabilizer Gun;l;&6By using &3Elemental Fuel &6as its ammo, this||&6special gun destroys Unstable Mobs and||&6delivers their Unstable Drops to you! This||&6gun only works on Unstable Mobs.|| ||&c- 1 Elemental Fuel Per Shot|| ||&eRequires:||&64 - &3Stable Metal Bar||&61 - &3Stabilizer||&61 - &fBow;c;sudo PLAYER wtfitem stblgun 1" set {db_wtf.ci::01.unstele} to "i;magma cream;n;&3Unstable Element;l;&6This highly energetic goo is really hot and||&6unusable in it’s current form.;c;sudo PLAYER ci unstele 1" set {db_wtf.ci::02.unstele} to "i;16 magma cream;n;&3Unstable Element;l;&6This highly energetic goo is really hot and||&6unusable in it’s current form.;c;sudo PLAYER ci unstele 16" @@ -117,7 +119,7 @@ on script load: set {db_wtf.ci::42.blank} to "i;air" set {db_wtf.ci::43.stblmine} to "i;diamond pickaxe;n;&3Stable Miner Pickaxe;l;&6This pickaxe is designed to stop the harsh||&6environmental disasters while mining!|| ||&c- 1 Elemental Fuel Per Use;c;sudo PLAYER ci stblmine 1" set {db_wtf.ci::44.grapplinghook} to "i;fishing rod;n;&3Grappling Hook;l;&6Use this tool to reach new heights or safely||&6reach the bottom of deep drops.|| ||&c- 1 Elemental Fuel Per Use;c;sudo PLAYER ci grapplinghook 1" - set {db_wtf.ci::45.stblgun} to "i;bow;n;&3Stablizer Gun;l;&6By using &3Elemental Fuel &6as its ammo, this||&6special gun destroys Unstable Mobs and||&6delivers their Unstable Drops to you! This||&6gun only works on Unstable Mobs.|| ||&c- 1 Elemental Fuel Per Shot;c;sudo PLAYER ci stblgun 1" + set {db_wtf.ci::45.stblgun} to "i;bow;n;&3Stabilizer Gun;l;&6By using &3Elemental Fuel &6as its ammo, this||&6special gun destroys Unstable Mobs and||&6delivers their Unstable Drops to you! This||&6gun only works on Unstable Mobs.|| ||&c- 1 Elemental Fuel Per Shot;c;sudo PLAYER ci stblgun 1" set {db_wtf.ci::46.stablechest} to "i;diamond chestplate;n;&3Stable Diamond Chestplate;l;&6Contains a special slot which can be used to||&6create chestplates with special abilities and||&6a container for &3Elemental Fuel.;c;sudo PLAYER ci stablechest 1" set {db_wtf.ci::47.blank} to "i;air" set {db_wtf.ci::48.qnhchest} to "i;diamond chestplate;n;&3Chest of Quench;l;&6This chestplate utilizes the power of the||&3Super Water Bottle &6to make sure you never ||&6go thirsty!|| ||&c- 1 Elemental Fuel Per Use;c;sudo PLAYER ci qnhchest 1" @@ -128,14 +130,11 @@ on script load: set {db_wtf.ci::53.strengthchest} to "i;diamond chestplate;n;&3Chest of Strength;l;&6Harness the power of a Strength II beacon||&6while wearing this chestplate!|| ||&c- 1 Elemental Fuel Every 3 Seconds;c;sudo PLAYER ci strengthchest 1" set {db_wtf.ci::54.blank} to "i;air" -command /cleardb: - permission: obam.admin - trigger: - delete {db_wtf.bench.items::*} - delete {db_wtf.anvil.items::*} - delete {db_wtf.ci::*} - on join: + {fatigue.%player%} + {hygiene.%player%} + {thirst.%player%} + {injured.%player%} {fatigue.%player%} is not set: set {fatigue.%player%} to 100 {hygiene.%player%} is not set: @@ -264,15 +263,6 @@ on mine: loop-block is air: set loop-block to water -on portal enter: - {unstable.%chunk at event-location%} is false - chance of 25%: - set {unstable.%chunk at event-location%} to true - set {_ran} to random number between 15 and 20 - set {_ran2} to random number between 18 and 20 - set {cavein.%chunk at event-location%.chance} to {_ran} - set {methane.%chunk at event-location%.chance} to {_ran2} - command /chunkstats: permission: obam.admin trigger: @@ -566,13 +556,14 @@ command /wtfitem : player has 1 * argument 2 of milk: player has 1 * argument 2 of rose: player has 1 * argument 2 of water bottle: - player doesn't have space for 1 * argument 2 of {@soap1}: + player doesn't have space for 2 * argument 2 of {@soap1}: message "&cYou do not have room for this." stop remove 1 * argument 2 of milk from player remove 1 * argument 2 of rose from player remove 1 * argument 2 of water bottle from player give 1 * argument 2 of {@soap1} to player + give 1 * argument 2 of bucket to player message "&aItem Created" stop message "&cYou are missing &fWater Bottle" @@ -595,12 +586,13 @@ command /wtfitem : argument 1 is "coffee": player has 1 * argument 2 of cocoa beans: player has 1 * argument 2 of milk: - player doesn't have space for 1 * argument 2 of {@coffee}: + player doesn't have space for 2 * argument 2 of {@coffee}: message "&cYou do not have room for this." stop remove 1 * argument 2 of cocoa beans from player remove 1 * argument 2 of milk from player give 1 * argument 2 of {@coffee} to player + give 1 * argument 2 of bucket to player message "&aItem Created" stop message "&cYou are missing &fMilk Bucket" @@ -991,6 +983,17 @@ on explosion prime: event-entity is creeper: {unstable.%event-entity%} is true: cancel event + loop blocks in radius 10 of event-entity: + {chunk.live.%chunk at location of loop-block%} is set: + set {_safe} to true + {_safe} is set: + create safe explosion of force 5 at event-location + set {_loc} to event-location + spawn 100 of red dust data 1 offset with 1, 1, 1 at {_loc} + loop players in radius 5 of event-location: + make event-entity damage loop-player by 4 + stop + wait 2 seconds create an explosion of force 5 at event-location set {_loc} to event-location spawn 100 of red dust data 1 offset with 1, 1, 1 at {_loc} @@ -1010,11 +1013,30 @@ on death of cow: clear drops stop {unstable.%victim%} is set: - create an explosion of force 5 at victim - chance of 20%: - add {@unstmetal} to drops - chance of 15%: - add {@unstele} to drops + loop blocks in radius 10 of victim: + {chunk.live.%chunk at location of loop-block%} is set: + set {_safe} to true + exit loop + {_safe} is set: + create safe explosion with force 5 at victim + chance of 20%: + add {@unstmetal} to drops + chance of 15%: + add {@unstele} to drops + spawn 100 of red dust data 1 offset with 1, 1, 1 at victim + loop players in radius 5 of victim: + make victim damage loop-player by 4 + stop + create an explosion with force 5 at victim + chance of 100%: + set {_amount} to random integer between 0.5 and 5 + add {_amount} of {@unstmetal} to drops + chance of 40%: + set {_amount} to random integer between 0.5 and 5 + add {_amount} of {@unstele} to drops + chance of 10%: + set {_amount} to random integer between 0.5 and 2 + add {_amount} of {@elefuel} to drops on death of a creeper or a skeleton or a zombie or a spider: chance of 15%: @@ -1023,14 +1045,24 @@ on death of a creeper or a skeleton or a zombie or a spider: loop drops: add loop-item to attacker's inventory clear drops - entity's name is "&cUnstable Spawn": + stop + {unstable.%victim%} is set: + chance of 100%: + set {_amount} to random integer between 0.5 and 5 + add {_amount} of {@unstmetal} to drops + chance of 40%: + set {_amount} to random integer between 0.5 and 5 + add {_amount} of {@unstele} to drops chance of 10%: - chance of 2%: - add {@unstele} to drops - add {@unstmetal} to drops + set {_amount} to random integer between 0.5 and 2 + add {_amount} of {@elefuel} to drops on damage: victim is player: + {boner.%attacker%} is set: + apply slowness 10 to victim for 5 seconds + send "&cYou have been boned." to victim + delete {boner.%attacker%} # attacker is a zombie: # {infected.%victim%.flag} is not set: # set {infected.%victim%.flag} to true @@ -1160,6 +1192,13 @@ on right click with nether brick item: on shoot: shooter's tool is {@grapplinghook}: set {teleport.%projectile%} to shooter + {unstable.%shooter%} is set: + chance of 30%: + {boner.%shooter%} is set: + stop + cancel event + set {boner.%shooter%} to true + make shooter shoot item projectile bone at speed 5 on projectile hit: shooter does not have {@elefuel}: @@ -1175,7 +1214,7 @@ on projectile hit: stop on rightclick: - if player is holding {@grapplinghook}: + player is holding {@grapplinghook}: repair tool of player stop @@ -1248,7 +1287,7 @@ on death of a player: # apply speed to entity for 999 days command /ci [] []: - permission: obam.free + permission: obam.admin trigger: argument 1 is not set: loop {db_wtf.ci::*}: @@ -1564,12 +1603,12 @@ command /unstlist: #bloodmoon every 30 seconds: - time in "world" is between 18:00 and 19:00: + time in "WTFlive2" is between 18:00 and 19:00: chance of 5%: {blood.moon} is not set set {blood.moon} to true broadcast "&cA blood moon rises..." - time in "world" is between 6:00 and 18:00: + time in "WTFlive2" is between 6:00 and 18:00: {blood.moon} is true: clear {blood.moon} broadcast "&aThe blood moon sets!" @@ -1615,41 +1654,61 @@ on spawn of a creeper or a skeleton or a spider or zombie or a cow: command /bloodmoon: permission: obam.admin trigger: - set time of "world" to 18:00 + set time of "WTFlive2" to 18:00 set {blood.moon} to true broadcast "&cA blood moon rises..." command /dawn: permission: obam.admin trigger: - set time of "world" to 5:30 + set time of "WTFlive2" to 5:30 on right click with bow: player's tool is a bow: - name of player's tool is "&3Stablizer Gun": + name of player's tool is "&3Stabilizer Gun": cancel event - {cool.gun.%player%} is not set: - set {cool.gun.%player%} to now - add 3 seconds to {cool.gun.%player%} - set {_cool} to difference between {cool.gun.%player%} and now - {_cool} is less than 2 seconds: - send "&cYou are reloading!" - stop - {unstable.%target entity%} is set: - name of target entity contains "&cUnstable" - player does not have {@elefuel}: - send "&cYou are out of &eElemental Fuel!" + {cool.gun.%player%} is not set: + set {cool.gun.%player%} to now + add 3 seconds to {cool.gun.%player%} + set {_cool} to difference between {cool.gun.%player%} and now + {_cool} is less than 2 seconds: + send "&cYou are reloading!" stop - {hit.%target entity%} is not set - remove 1 {@elefuel} from player - set {hit.%target entity%} to true - make player shoot item projectile packed ice at speed 5 - set {cool.gun.%player%} to now - set {_target} to target entity - wait 0.2 seconds - strike lightning effect at location of {_target} - kill {_target} - send "&aYou have captured the Unstable Soul of this creature!" - add {@unstele} to player's inventory - add {@unstmetal} to player's inventory - add {@stable} to player's inventory + {unstable.%target entity%} is set: + name of target entity contains "&cUnstable" + player does not have {@elefuel}: + send "&cYou are out of &eElemental Fuel!" + stop + {hit.%target entity%} is not set + remove 1 {@elefuel} from player + set {hit.%target entity%} to true + make player shoot item projectile packed ice at speed 5 + set {cool.gun.%player%} to now + set {_target} to target entity + wait 0.2 seconds + strike lightning effect at location of {_target} + kill {_target} + send "&aYou have captured the Unstable Soul of this creature!" + chance of 100%: + set {_amount} to random integer between 0.5 and 2 + add {_amount} of {@unstmetal} to player's inventory + chance of 40%: + set {_amount} to random integer between 0.5 and 2 + add {_amount} of {@unstele} to player's inventory + add {@stable} to player's inventory + + +command /stablize: + permission: obam.admin + trigger: + set {unstable.%chunk at location of player%} to false + chance of 90%: + set {_ran} to random integer between 1 and 5 + set {cavein.%chunk at location of player%.chance} to {_ran} + {cavein.%chunk at location of player%.chance} is not set: + set {cavein.%chunk at location of player%.chance} to false + chance of 95%: + set {_ran} to random integer between 3 and 6 + set {methane.%chunk at location of player%.chance} to {_ran} + {methane.%chunk at location of player%.chance} is not set: + set {methane.%chunk at location of player%.chance} to false \ No newline at end of file diff --git a/OBAM-Survival Games/Obam-Creative/schat2.creative.sk b/OBAM-Survival Games/Obam-Creative/schat2.creative.sk deleted file mode 100644 index 7fb4c25..0000000 --- a/OBAM-Survival Games/Obam-Creative/schat2.creative.sk +++ /dev/null @@ -1,324 +0,0 @@ -options: - p: &6[C] - -on join: - {db_alerts.on.%player%} is not set: - set {db_alerts.on.%player%} to true - {db_alerts.on.%player%} is true: - send "&aYour chat alerts are &eOn&a. You can turn them off by using the command &e/chat alerts off" - {db_alerts.on.%player%} is false: - send "&aYour chat alerts are &eOff&a. You can turn them on by using the command &e/chat alert on" - {db_global.%player%} is not set: - set {db_global.%player%} to true - {db_global.%player%} is true: - set {db_channel.global::%player%} to player - set {db_channel.%player%} to "global" - player does not have permission "obam.supporter": - delete {db_channel.supporter::%player%} - player does not have permission "obam.mod": - delete {db_channel.staff::%player%} - player does not have permission "obam.mechanic": - delete {db_channel.mech::%player%} - {db_channel.mech.%player%} is not set: - player has permission "obam.mechanic": - set {db_channel.mech.%player%} to true - {db_channel.mech.%player%} is true: - set {db_channel.mech::%player%} to player - {db_channel.sup.%player%} is not set: - player has permission "obam.supporter": - set {db_channel.sup.%player%} to true - {db_channel.sup.%player%} is true: - set {db_channel.supporter::%player%} to player - {db_channel.staff.%player%} is not set: - player has permission "obam.mod": - set {db_channel.staff::%player%} to player - {db_channel.staff.%player%} is true: - set {db_channel.supporter::%player%} to player - -on chat: - cancel event - player is "IcecreamCow" or "Electric_Hamster" or "ISMOOCH" or "GloriousKoch": - set {_pre} to "{@p} &d[A] %player%" - {_pre} is not set: - player is "OrigamiJoe" or "Deathtomb8953": - set {_pre} to "{@p} &a[╪] %player%" - {_pre} is not set: - player has permission "obam.mod": - set {_pre} to "{@p} &2[M] %player%" - {_pre} is not set: - player has permission "obam.supporter": - set {_pre} to "{@p} &6[^] %player%" - {_pre} is not set: - set {_pre} to "{@p} %player%" - player is "BruSwain": - set {_pre} to "{@p} &6[^] %player%" - {db_star.%player%} is set: - set {_pre} to "%{_pre}% <%{db_star.%player%}%>✦" - {db_channel.%player%} is "private": - set {_player} to {private.%player%} parsed as a player - {_player} is online: - set {_found} to true - {_found} is set: - set {_player} to {private.%player%} parsed as a player - send "&d%player% ➽ %{_player}%&d: %message%" to {_player} - send "&d%player% ➽ %{_player}%&d: %message%" to player - {db_alerts.on.%{_player}%} is true: - play level up at location of {_player} with pitch 2 - {_found} is not set: - set {_message} to "&d%player% ➽ %{private.%player%}%&d: %message%" - send {_message} to player - execute console command "privatepush %{private.%player%}% %{_message}%" - {db_channel.%player%} is "staff": - player does not have permission "obam.mod": - set {db_channel.%player%} to "global" - delete {db_channel.staff::%player%} - {db_channel.%player%} is "staff": - loop {db_channel.staff::*}: - clear {_player} - set {_player} to loop-index parsed as player - set message to "&a%message%" - message contains "%{_player}%": - replace "%{_player}%" in message with "&c%{_player}%&a" - {db_alerts.on.%{_player}%} is true: - play level up at location of {_player} with pitch 2 - set {_message} to "%{_pre}%&a: %message%" - send "%{_message}%" to {_player} - set message to "%uncoloured message%" - execute console command "/modpush %{_pre}%&a: %message%" - {db_channel.%player%} is "mechanic": - player does not have permission "obam.mechanic": - set {db_channel.%player%} to "global" - delete {db_channel.mech::%player%} - {db_channel.%player%} is "mechanic": - loop {db_channel.mech::*}: - clear {_player} - set {_player} to loop-index parsed as player - set message to "&e%message%" - message contains "%{_player}%": - replace "%{_player}%" in message with "&c%{_player}%&e" - {db_alerts.on.%{_player}%} is true: - play level up at location of {_player} with pitch 2 - set {_message} to "%{_pre}%&e: %message%" - send "%{_message}%" to {_player} - set message to "%uncoloured message%" - execute console command "/mechpush %{_message}%" - stop - {db_channel.%player%} is "supporter": - player does not have permission "obam.supporter": - set {db_channel.%player%} to "global" - delete {db_channel.supporter::%player%} - {db_channel.%player%} is "supporter": - loop {db_channel.supporter::*}: - clear {_player} - set {_player} to loop-index parsed as player - set message to "&b%message%" - message contains "%{_player}%": - replace "%{_player}%" in message with "&c%{_player}%&b" - {db_alerts.on.%{_player}%} is true: - play level up at location of {_player} with pitch 2 - set {_message} to "%{_pre}%&b: %message%" - send "%{_message}%" to {_player} - set message to "%uncoloured message%" - execute console command "/supporterpush %{_message}%" - stop - {db_channel.%player%} is "global": - loop {db_channel.global::*}: - clear {_player} - set {_player} to loop-index parsed as player - set message to "&f%message%" - message contains "%{_player}%": - replace "%{_player}%" in message with "&c%{_player}%&f" - {db_alerts.on.%{_player}%} is true: - play level up at location of {_player} with pitch 2 - set {_message} to "%{_pre}%&f: %message%" - send "%{_message}%" to {_player} - set message to "%uncoloured message%" - execute console command "globalpush %{_pre}%&f: %message%" - stop - -command /chat [] []: - permission: obam.free - aliases: c, ch - trigger: - argument 1 is "m" or "mod": - player does not have permission "obam.mod": - send "&cYou dont have permission to do this!" - stop - set {db_channel.%player%} to "staff" - {db_channel.staff::%player%} is not set: - set {db_channel.staff::%player%} to player - send "&aYou are now chatting in the &aMod&a channel!" - stop - argument 1 is "s" or "supporter": - player does not have permission "obam.supporter": - send "&cYou dont have permission to do this!" - stop - set {db_channel.%player%} to "supporter" - {db_channel.supporter::%player%} is not set: - set {db_channel.supporter.%player%} to player - send "&aYou are now chatting in the &bSupporter&a channel!" - argument 1 is "mech" or "mechanic": - player does not have permission "obam.mechanic": - send "&cYou dont have permission to do this!" - stop - set {db_channel.%player%} to "mechanic" - {db_channel.mech::%player%} is not set: - set {db_channel.mech::%player%} to player - send "&aYou are now chatting in the &eMechanic&a Channel!" - argument 1 is "g" or "global": - set {db_channel.%player%} to "global" - send "&aYou are now chatting in the &fGlobal&a channel!" - argument 1 is "l" or "leave": - argument 2 is not set: - send "&cPlease specify a channel: &e/chat leave " - stop - argument 2 is "mod" or "m": - send "&cYou can not leave the staff chat silly" - stop - argument 2 is "mech" or "mechanic": - send "&cYou are now leaving the &eMechanic&c chat!" - delete {db_channel.mech::%player%} - stop - argument 2 is "s" or "supporter": - send "&cYou are now leaving the &bSupporter&c chat!" - delete {db_channel.supporter::%player%} - stop - argument 2 is "g" or "global": - send "&cYou are now leaving the &fGlobal&c chat!" - delete {db_channel.global::%player%} - stop - argument 1 is "j" or "join": - argument 2 is not set: - send "&cPlease specify a channel: &e/chat join " - stop - argument 2 is "mod" or "m": - player does not have permission "obam.mod": - send "&cYou do not have permission to do this!" - stop - {db_channel.staff::%player%} is set: - send "&cYou are already in this channel!" - send "&cIf you believe this is an error, please report it!" - stop - set {db_channel.staff::%player%} to player - set {db_channel.%player%} to "staff" - send "&aYou are now in the &2Mod&a channel!" - stop - argument 2 is "mechanic" or "mech": - player does not have permission "obam.mechanic": - send "&cYou do not have permission to do this!" - stop - {db_channel.mech::%player%} is set: - send "&cYou are already in this channel!" - send "&cIf you believe this is an error, please report it!" - stop - set {db_channel.mech::%player%} to player - set {db_channel.%player%} to "mechanic" - send "&aYou are now in the &eMechanic&a Channel!" - stop - argument 2 is "s" or "supporter": - player does not have permission "obam.supporter": - send "&cYou do not have permission to do this!" - stop - {db_channel.supporter::%player%} is set: - send "&cYou are already in this channel!" - send "&cIf you believe this is an error, please report it!" - stop - set {db_channel.supporter::%player%} to player - set {db_channel.%player%} to "supporter" - send "&aYou are now in the &bSupporter&a channel!" - stop - argument 2 is "g" or "global": - {db_channel.global::%player%} is set: - send "&cYou are already in this channel!" - send "&cIf you believe this is an error, please report it!" - stop - set {db_channel.global::%player%} to player - set {db_channel.%player%} to "global" - send "&aYou are now in the &fGlobal&a channel!" - argument 1 is "who": - argument 2 is not set: - loop {db_channel.%{db_channel.%player%}%::*}: - send "%loop-index%" - argument 2 is set: - {db_channel.%{db_channel.%player%}%::%argument 2%} is set: - send "%argument 2% is in this channel" - argument 1 is "alerts" or "alert" or "a": - argument 2 is not set: - {db_alerts.on.%player%} is not set: - set {db_alerts.on.%player%} to true - send "&aYour chat alerts are now &eOn&a." - stop - {db_alerts.on.%player%} is true: - set {db_alerts.on.%player%} to false - send "&aYour chat alerts are now &eOff&a." - stop - {db_alerts.on.%player%} is false: - set {db_alerts.on.%player%} to true - send "&aYour chat alerts are now &eOn&a." - stop - argument 2 is "off": - set {db_alerts.on.%player%} to false - send "&aYour chat alerts are now &eOff&a." - argument 2 is "on": - set {db_alerts.on.%player%} to true - send "&aYour chat alerts are now &eOn&a." - -command /star []: - permission: obam.admin - trigger: - argument 2 is "clear": - clear {db_star.%argument 1%} - send "&aCleared Star setting for %argument 1%" - stop - set {db_star.%argument 1%} to argument 2 - send "&aStar for %argument 1% set to <%argument 2%>%argument 2%&a." - -command /tell [] []: - permission: obam.free - trigger: - argument 1 is not set: - {db_channel.%player%} is "private": - send "&aYou have left your private conversation with %{private.%player%}%" - make player execute command "/ch g" - stop - {db_channel.%player%} is not "private": - send "&cYou are not in a conversation!" - stop - argument 2 is not set: - send "&dYou are now in a private conversation with &e%argument 1%" - set {private.%player%} to "%argument 1%" - set {db_channel.%player%} to "private" - argument 2 is set: - send "&d%player% ➽ %argument 1%: %argument 2%" to player - loop all players: - loop-player is argument 1 - set {_found} to true - {_found} is set: - send "&d%player% ➽ %argument 1%: %argument 2%" to argument 1 - {db_alerts.on.%argument 1%} is true: - play level up at location of argument 1 with pitch 2 - {_found} is not set: - set {_message} to "&d%player% ➽ %argument 1%: %argument 2%" - execute console command "privatepush %argument 1% %{_message}%" - -command /fishslap : - permission: obam.free - trigger: - {cool.fish.%player%} is not set: - set {cool.fish.%player%} to now - add 5 seconds to {cool.fish.%player%} - set {_wait} to difference between {cool.fish.%player%} and now - {_wait} is less than 4 seconds: - send "&cYou are slapping too much! Calm down D:" to player - stop - send "&aYou just slapped &e%argument%&a!" - set {cool.fish.%player%} to now - loop all players: - "%loop-player%" is argument - set {_found} to true - {db_alerts.on.%loop-player%} is true - play slime attack at location of loop-player with pitch 1 - send "&e%player% &ajust slapped you with a giant fish!" to loop-player - stop - {_found} is not set: - forward command "fishcatch %argument% %player%" to console diff --git a/OBAM-Survival Games/Obam-Fronts/LandAdd.sk b/OBAM-Survival Games/Obam-Fronts/LandAdd.sk deleted file mode 100644 index ca775f1..0000000 --- a/OBAM-Survival Games/Obam-Fronts/LandAdd.sk +++ /dev/null @@ -1,8 +0,0 @@ -command /frontlandadd : - permission: obam.admin - trigger: - {availibleland.%argument 1%} is not set: - set {availibleland.%argument 1%} to 1 - add argument 2 to {availibleland.%argument 1%} - - log "%date%%argument 2% plots added to %argument 1%'s availible land. their number is now %{availibleland.%argument 1%}" to "logs/fronts/LAND-ADDITIONS.log" diff --git a/OBAM-Survival Games/Obam-Fronts/FIXIT.sk b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/FIXIT.g.sk similarity index 98% rename from OBAM-Survival Games/Obam-Fronts/FIXIT.sk rename to OBAM-Survival Games/Obam-Fronts/Tested and Moved/FIXIT.g.sk index 0366b84..5be8a68 100644 --- a/OBAM-Survival Games/Obam-Fronts/FIXIT.sk +++ b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/FIXIT.g.sk @@ -10,19 +10,15 @@ command /fixit: send "&cYou can not use FixIt on StickyItems!" stop set {_c.tool} to player's tool - set {_bal} to player's balance {_bal} is less than 500: send "&cYou do not have enough tickets to do this!" to player stop player's level is less than 30: - send "&cYou must have at least 30 levels to do this!" to player stop repair player's tool - reduce the player's level by 30 - remove 500 from player's balance play "anvil use" at location of player with pitch 1 send "&6&lThe Gods strike your tool!" to player @@ -30,6 +26,3 @@ command /fixit: send "&aYou have used &e500 Tickets&a to repair this tool" to player send "&aYou have &e%player's balance%&a remaining" to player log "%player%^%{_bal}%^DEDUCT^500^%player's balance%^FIXIT FEE" to "tickets/FIXIT.log" - stop - - diff --git a/OBAM-Survival Games/Obam-Fronts/FTAS.sk b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/FTAS.g.sk similarity index 100% rename from OBAM-Survival Games/Obam-Fronts/FTAS.sk rename to OBAM-Survival Games/Obam-Fronts/Tested and Moved/FTAS.g.sk diff --git a/OBAM-Survival Games/Obam-Fronts/abstain.sk b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/abstain.sk similarity index 64% rename from OBAM-Survival Games/Obam-Fronts/abstain.sk rename to OBAM-Survival Games/Obam-Fronts/Tested and Moved/abstain.sk index 3d239df..34eaac7 100644 --- a/OBAM-Survival Games/Obam-Fronts/abstain.sk +++ b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/abstain.sk @@ -1,15 +1,12 @@ variables: - {abstain.%player%} = false - - + {abstain.%uuid of player%} = false command /abstain []: permission: obam.free trigger: - argument is not set: send " " - send " &aYour Abstain status is currently &e%{abstain.%player%}%&a, you can change this by doing &e/abstain confirm&a. " + send " &aYour Abstain status is currently &e%{abstain.%uuid of player%}%&a, you can change this by doing &e/abstain confirm&a. " send " " send "&aThis change will cost &e2500 Tickets&a." send " " @@ -17,116 +14,119 @@ command /abstain []: stop argument is "mod": player has permission "obam.admin": - {abstain.%player%} is false: - set {abstain.%player%} to true + {abstain.%uuid of player%} is false: + set {abstain.%uuid of player%} to true execute console command "perms player %player% set nametags.color.red false" execute console command "perms player %player% set nametags.color.blue" send "&aYou are now abstaining from PvP!" to player - send "&aYour Abstain status is now &e%{abstain.%player%}%" + send "&aYour Abstain status is now &e%{abstain.%uuid of player%}%" stop - - {abstain.%player%} is true: - set {abstain.%player%} to false + {abstain.%uuid of player%} is true: + set {abstain.%uuid of player%} to false execute console command "perms player %player% set nametags.color.blue false" execute console command "perms player %player% set nametags.color.red" send "&aYou are now able to PvP!" to player - send "&aYour Abstain status is now &e%{abstain.%player%}%" + send "&aYour Abstain status is now &e%{abstain.%uuid of player%}%" stop - stop - argument is "confirm" or "c": set {_hold} to difference between now and {abst.confirm.%player%} {_hold} is greater than 30 seconds: send "&cYou must do &e/abstain&a before doing the confirm command" stop - - {abstain.%player%} is not set: - set {abstain.%player%} to false - {abstain.%player%} is false: + {abstain.%uuid of player%} is not set: + set {abstain.%uuid of player%} to false + {abstain.%uuid of player%} is false: set {_bal} to player's balance {_bal} is less than 2500: send "&cYou do not have enough tickets to perform this operation" stop remove 2500 from player's balance - set {abstain.%player%} to "wait abstain" - set {abstain.%player%.time} to now + set {abstain.%uuid of player%} to "wait abstain" + set {abstain.%uuid of player%.time} to now send "&aYou have abstained from PvP. You will lose access to some features. You have paid a toll of &e2500 Tickets&a." send "&aIt can take up to &e2 hours&a for your abstain feature to take affect." send "&aYou know have &e%player's balance%&a." stop - {abstain.%player%} is true: + {abstain.%uuid of player%} is true: set {_bal} to player's balance {_bal} is less than 2500: send "&cYou do not have enough tickets to perform this operation" stop remove 2500 from player's balance - set {abstain.%player%} to "wait pvp" - set {abstain.%player%.time} to now + set {abstain.%uuid of player%} to "wait pvp" + set {abstain.%uuid of player%.time} to now send "&aYou are engaging in PvP. You will be susceptible to PvP fights. You have paid a toll of &e2500 Tickets&a." send "&aIt can take up to &e2 Hours&a for your PvP entering process to take affect." send "&aYou now have &e%player's balance%&a." stop - {abstain.%player%} is "wait pvp": + {abstain.%uuid of player%} is "wait pvp": send "&cYou already have an Abstain process waiting. It can take up to 2 hours for this change to take an effect" stop - {abstain.%player%} is "wait abstain": + {abstain.%uuid of player%} is "wait abstain": send "&cYou already have an Abstain process waiting. It can take up to 2 hours for this change to take an effect" stop on damage: victim is a player attacker is a player - {abstain.%victim%} is true: + {abstain.%uuid of victim%} is true: cancel event - {abstain.%attacker%} is true: + {abstain.%uuid of attacker%} is true: send "&cYou can not engage in PvP while abstaining!" cancel event every 1 hour: loop all players: - {abstain.%loop-player%} is "wait pvp": - set {_hold} to difference between {abstain.%loop-player%.time} and now + {abstain.%uuid of loop-player%} is "wait pvp": + set {_hold} to difference between {abstain.%uuid of loop-player%.time} and now {_hold} is more than 1 hour - set {abstain.%loop-player%} to false + set {abstain.%uuid of loop-player%} to false execute console command "perms player %loop-player% set nametags.color.blue false" execute console command "perms player %loop-player% set nametags.color.red" send "&aYou are now able to PvP!" to loop-player - {abstain.%loop-player%} is "wait abstain": - set {_hold} to difference between {abstain.%loop-player%.time} and now + {abstain.%uuid of loop-player%} is "wait abstain": + set {_hold} to difference between {abstain.%uuid of loop-player%.time} and now {_hold} is more than 1 hour - set {abstain.%loop-player%} to true + set {abstain.%uuid of loop-player%} to true execute console command "perms player %loop-player% set nametags.color.red false" execute console command "perms player %loop-player% set nametags.color.blue" send "&aYou are now abstaining from PvP!" to loop-player on connect: + {abstain.%player%} is set: + set {abstain.%uuid of player%} to {abstain.%player%} + delete {abstain.%player%} + {abstain.%player%.time} is set: + set {abstain.%uuid of player%.time} to {abstain.%player%.time} + delete {abstain.%player%.time} + {abstain.%uuid of player%} is not set: + set{abstain.%uuid of player%} to false player is "ISMOOCH": stop - {abstain.%player%} is true: + {abstain.%uuid of player%} is true: player does not have permission "nametags.color.blue": execute console command "perms player %player% set nametags.color.blue" player has permission "nametags.color.red": execute console command "perms player %player% set nametags.color.red false" - {abstain.%player%} is false: + {abstain.%uuid of player%} is false: player does not have permission "nametags.color.red": execute console command "perms player %player% set nametags.color.red" player has permission "nametags.color.blue": execute console command "perms player %player% set nametags.color.blue false" - {abstain.%player%} is "wait pvp": - set {_hold} to difference between {abstain.%player%.time} and now + {abstain.%uuid of player%} is "wait pvp": + set {_hold} to difference between {abstain.%uuid of player%.time} and now {_hold} is more than 1 hour: - set {abstain.%player%} to false + set {abstain.%uuid of player%} to false send "&aYou can now PvP!" execute console command "perms player %player% set nametags.color.blue false" execute console command "perms player %player% set nametags.color.red" stop - - {abstain.%player%} is "wait abstain": - set {_hold} to difference between {abstain.%player%.time} and now + {abstain.%uuid of player%} is "wait abstain": + set {_hold} to difference between {abstain.%uuid of player%.time} and now {_hold} is more than 1 hour: - set {abstain.%player%} to true + set {abstain.%uuid of player%} to true send "&aYou are now abstaining from PvP!" execute console command "perms player %player% set nametags.color.red false" execute console command "perms player %player% set nametags.color.blue" - stop \ No newline at end of file + stop diff --git a/OBAM-Survival Games/Obam-Fronts/Tested and Moved/access.g.sk b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/access.g.sk new file mode 100644 index 0000000..55959ec --- /dev/null +++ b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/access.g.sk @@ -0,0 +1,90 @@ +on right click on a chest or a door or a anvil or a lever or a button or a wood button or a furnace or a jukebox or a dropper or a hopper or a brewing stand or a dispenser or a beacon or a trapdoor or a fence gate or a trapped chest or a enchantment table or a repeater or a redstone comparator or a ender chest or a note block: + {bypassland.%uuid of player%} is true: + stop + {chunk.live.%chunk at location of event-block%} is not event-player: + loop blocks in radius 2 of event-block: + loop-block is sign: + chunk at location of event-block is chunk at location of loop-block: + line 1 of loop-block is "[ACCESS]": + line 2 of loop-block is "%event-player%" or "everyone": + stop + line 4 of loop-block is "%event-player%" or "everyone": + stop + line 3 of loop-block is "%event-player%" or "everyone": + stop + event-block is a chest or a furnace or a dispenser or a hopper or a brewing stand or a dropper or a trapped chest or a beacon: + {flags.%chunk at location of event-block%::container::%uuid of player%} is not set: + set {flags.%chunk at location of event-block%::container::%uuid of player%} to false + {flags.%chunk at location of event-block%::container::everyone} is not set: + set {flags.%chunk at location of event-block%::container::everyone} to false + {flags.%chunk at location of event-block%::container::everyone} is false: + {flags.%chunk at location of event-block%::container::%uuid of player%} is true: + stop + {flags.%chunk at location of event-block%::container::everyone} is true: + stop + event-block is a door or a anvil or a note block or a lever or a button or a wood button or a jukebox or a trapdoor or a fence gate or a enchantment table or a redstone comparator or a repeater: + {flags.%chunk at location of event-block%::use::everyone} is not set: + set {flags.%chunk at location of event-block%::use::everyone} to false + {flags.%chunk at location of event-block%::use::%uuid of player%} is not set: + set {flags.%chunk at location of event-block%::use::%uuid of player%} to false + {flags.%chunk at location of event-block%::use::everyone} is false: + {flags.%chunk at location of event-block%::use::%uuid of player%} is true: + stop + {flags.%chunk at location of event-block%::use::everyone} is true: + stop + cancel event + send "&cYou do not have permission to do this." to event-player + +on right click on a anvil: + delete event-block + set event-block to anvil + +on sign change: + line 1 of block is "access" or "[access]": + set line 1 of block to "[ACCESS]" + +on bed enter: + {chunk.live.%chunk at location of event-block%} is not event-player: + {flags.%chunk at location of player%::use::everyone} is not set: + set {flags.%chunk at location of player%::use::everyone} to false + {flags.%chunk at location of player%::use::%uuid of player%} is not set: + set {flags.%chunk at location of player%::use::%uuid of player%} to false + {flags.%chunk at location of player%::use::everyone} is false: + {flags.%chunk at location of player%::use::%uuid of player%} is true: + stop + {flags.%chunk at location of player%::use::everyone} is true: + stop + cancel event + send "&cYou can not do that here!" to event-player + +on right click on painting or hopper minecart or storage minecart: + {bypassland.%uuid of player%} is true: + stop + {chunk.live.%chunk at location of block%} is not player: + {flags.%chunk at location of block%::build::everyone} is not set: + set {flags.%chunk at location of block%::build::everyone} to false + {flags.%chunk at location of block%::build::%uuid of player%} is not set: + set {flags.%chunk at location of block%::build::%uuid of player%} to false + {flags.%chunk at location of block%::build::everyone} is false: + {flags.%chunk at location of block%::build::%uuid of player%} is true: + stop + {flags.%chunk at location of block%::build::everyone} is true: + stop + message "&cThis land is owned by %{chunk.live.%chunk at location of block%}%." + cancel event + +on damage of a painting: + {bypassland.%uuid of attacker%} is true: + stop + {chunk.live.%chunk at location of attacker%} is not attacker: + {flags.%chunk at location of attacker%::build::everyone} is not set: + set {flags.%chunk at location of attacker%::build::everyone} to false + {flags.%chunk at location of attacker%::build::%uuid of attacker%} is not set: + set {flags.%chunk at location of attacker%::build::%uuid of attacker%} to false + {flags.%chunk at location of attacker%::build::everyone} is false: + {flags.%chunk at location of attacker%::build::%uuid of attacker%} is true: + stop + {flags.%chunk at location of attacker%::build::everyone} is true: + stop + message "&cThis land is owned by %{chunk.live.%chunk at location of attacker%}%." + cancel event diff --git a/OBAM-Survival Games/Obam-Fronts/backpack.sk b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/backpack.g.sk similarity index 98% rename from OBAM-Survival Games/Obam-Fronts/backpack.sk rename to OBAM-Survival Games/Obam-Fronts/Tested and Moved/backpack.g.sk index 949fdad..f63eb73 100644 --- a/OBAM-Survival Games/Obam-Fronts/backpack.sk +++ b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/backpack.g.sk @@ -1,4 +1,3 @@ - options: crudepack: ink sack named "&3Crude Pack" with lore "&6Use /backpack to||&6finish crafting this item" backpack: ink sack named "&3BackPack" @@ -7,10 +6,6 @@ options: on script load: register new shaped recipe for {@crudepack} using emerald block, emerald block, emerald block, emerald block, ink sack, emerald block, emerald block, chest, emerald block register new shaped recipe for {@enderpack} using air, air, air, emerald block, ender pearl, emerald block, air, ender chest, air - {db_customitems::backpack} is not set: - set {db_customitems::backpack} to {@crudepack} - {db_customitems::backpack} is not {@crudepack}: - set {db_customitems::backpack} to {@crudepack} {count.backpacks} is not set: set {count.backpacks} to 1 diff --git a/OBAM-Survival Games/Obam-Fronts/Tested and Moved/chestdeath.client.sk b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/chestdeath.client.sk new file mode 100644 index 0000000..cb9ec14 --- /dev/null +++ b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/chestdeath.client.sk @@ -0,0 +1,36 @@ +on death of a player: + {chunk.live.%chunk at location of player%} is set: + {chunk.live.%chunk at location of player%} is not player: + stop + {db_death.chest} is set: + set block at location of player to a chest + + set {_chest} to block at location of player + set block above {_chest} to cobblestone + set block above block east of {_chest} to cobblestone + set block above block above {_chest} to a sign + set {_sign} to block above block above {_chest} + set block at block east of {_chest} to chest + + loop drops: + lore of loop-item does not contain "StickyItem": + add loop-item to {_chest} + + + clear drops + + set line 1 of {_sign} to "%player%" + set line 2 of {_sign} to "Died here" + + wait 0.5 seconds + send "&aDeath Chests are currently active! Your items have been saved at &e%location of {_chest}%&a!" to player + log "CHEST DEATH at %location of {_chest}% -- %time% -- %player%" to "chestdeath.log" + +command /tombstone: + permission: obam.free + trigger: + + + send "Current TombStone Status:" + send "%{db_death.chest}%" + \ No newline at end of file diff --git a/OBAM-Survival Games/Obam-Fronts/Tested and Moved/chestdeath.main.sk b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/chestdeath.main.sk new file mode 100644 index 0000000..8bc11e7 --- /dev/null +++ b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/chestdeath.main.sk @@ -0,0 +1,122 @@ +every 1 second: + + set {_hold} to now + + {db_time.extend.death} is less than now: + + + + + + broadcast "&3&l۝TombStone: &dTombStone has Ended!" + execute console command "crossmessage &3&l۝TombStone: &dTombStone has Ended!" + clear {db_death.chest} + clear {db_time.extend.death} + + set {_diff} to difference between {db_time.extend.death} and now + + {_diff} is less than 15 minutes: + + {alert.death.lastminute} is not set: + set {alert.death.lastminute} to true + + broadcast "&3&l۝TombStone: &dLess than 15 minutes remaining of TombStone!" + execute console command "crossmessage &3&l۝TombStone: &dLess than 15 minutes remaining of TombStone!" + + + +on death of a player: + {db_death.chest} is set: + set block at location of player to a chest + + set {_chest} to block at location of player + set block above {_chest} to cobblestone + set block above block east of {_chest} to cobblestone + set block above block above {_chest} to a sign + set {_sign} to block above block above {_chest} + set block at block east of {_chest} to chest + + loop items in player's inventory: + lore of loop-item does not contain "StickyItem": + add loop-item to {_chest} + + + clear drops + + set line 1 of {_sign} to "%player%" + set line 2 of {_sign} to "Died here" + + wait 0.5 seconds + send "&aTombStone currently active! Your items have been saved at &e%location of {_chest}%&a!" to player + log "CHEST DEATH at %location of {_chest}% -- %time% -- %player%" to "chestdeath.log" + + +command /chestextended : + permission: obam.admin + trigger: + + {db_time.extend.death} is not set: + set {db_time.extend.death} to now + {db_deathstats.time.%argument 2%} is not set: + set {db_deathstats.time.%argument 2%} to 0 + + #Not meant to be a real option.. just for debugging + arg 1 is 5: + + add 5 minutes to {db_time.extend.death} + add 5 to {db_deathstats.time.%argument 2%} + + arg 1 is 30: + + add 30 minutes to {db_time.extend.death} + add 30 to {db_deathstats.time.%argument 2%} + + arg 1 is 60: + + add 1 hour to {db_time.extend.death} + add 60 to {db_deathstats.time.%argument 2%} + + arg 1 is 90: + + add 90 minutes to {db_time.extend.death} + add 90 to {db_deathstats.time.%argument 2%} + + arg 1 is 120: + + add 2 hours to {db_time.extend.death} + add 120 to {db_deathstats.time.%argument 2%} + + broadcast "&3&l۝TombStone &e%argument 2%&d has extended the TombStone Timer by &e%argument 1% Minutes&d!" + execute console command "crossmessage &3&l۝TombStone: &e%argument 2%&d has extended the TombStoneTimer by &e%argument 1% Minutes&d!" + + set {_diff} to difference between {db_time.extend.death} and now + + {db_death.chest} is not set: + set {db_death.chest} to true + + broadcast "&3&l۝TombStone: &e%{_diff}% &dremaining!" + execute console command "crossmessage &3&l۝TombStone: &e%{_diff}% &dremaining!" + clear {alert.death.lastminute} + + + + +command /deathchestclear: + permission: obam.admin + trigger: + + + clear {db_death.chest} + clear {db_time.extend.death} + clear {alert.death.lastminute} + + send "&3&l۝tombStone: &dTombStone Bonus Cleared" to console + send "&3&l۝TombStone: &dTombStone Bonus Cleared" + +command /tombstone: + permission: obam.free + trigger: + + + send "Current TombStone Status:" + send "%{db_death.chest}%" \ No newline at end of file diff --git a/OBAM-Survival Games/Obam-Fronts/Tested and Moved/ci.fronts.sk b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/ci.fronts.sk new file mode 100644 index 0000000..d8ec6a6 --- /dev/null +++ b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/ci.fronts.sk @@ -0,0 +1,67 @@ +on script load: + delete {db_ci.items::*} + set {db_ci.items::01.Crude Pack} to "ink sack;&a&b&k&a&3Crude Pack;&6The crude version of||&6the backpack;sudo PLAYER bp g crudepack 1" + set {db_ci.items::02.Ender Pack} to "ender pearl;&a&b&k&a&3EnderPack;&6Open your Ender Chest||&6anywhere!|| ||&5&oRight Click to open||&5&oYour portable Ender Chest;sudo PLAYER bp g enderpack 1" + set {db_ci.items::03.capture.ball} to "snowball;&3Projeggtile Capture Ball;&6Capture the essence of various creatures||&6by tossing your balls at them.;sudo PLAYER cb capture 1" + set {db_ci.items::04.creeper.ball} to "snowball;&3Projeggtile &2Creeper &3Ball;&6Heavily reinforced to prevent even the||&6most explosive creepers from escaping!;sudo PLAYER cb creeper 1" + set {db_ci.items::05.skeleton.ball} to "snowball;&3Projeggtile &7Skeleton &3Ball;&6An ironic prison of bones made to hold||&6a skeleton, made from its own kin!;sudo PLAYER cb skeleton 1" + set {db_ci.items::06.zombie.ball} to "snowball;&3Projeggtile &aZombie &3Ball;&6Layered in flesh to make even the||&6loneliest zombie feel at home!;sudo PLAYER cb zombie 1" + set {db_ci.items::07.pigman.ball} to "snowball;&3Projeggtile &aZombie &dPigman &3Ball;&6A containment area with a nugget inside||&6to lure and keep the pigman content!;sudo PLAYER cb pigman 1" + set {db_ci.items::08.spider.ball} to "snowball;&3Projeggtile &4Spider &3Ball;&6Tangles an eight legged bugger||&6into a silky woven sack!;sudo PLAYER cb spider 1" + set {db_ci.items::09.blank} to "air" + set {db_ci.items::10.Crude Pack} to "16 ink sack;&a&b&k&a&3Crude Pack;&6The crude version of||&6the backpack;sudo PLAYER bp g crudepack 16" + set {db_ci.items::11.Ender Pack} to "16 ender pearl;&a&b&k&a&3EnderPack;&6Open your Ender Chest||&6anywhere!|| ||&5&oRight Click to open||&5&oYour portable Ender Chest;sudo PLAYER bp g enderpack 16" + set {db_ci.items::12.capture.ball} to "16 snowball;&3Projeggtile Capture Ball;&6Capture the essence of various creatures||&6by tossing your balls at them.;sudo PLAYER cb capture 16" + set {db_ci.items::13.creeper.ball} to "16 snowball;&3Projeggtile &2Creeper &3Ball;&6Heavily reinforced to prevent even the||&6most explosive creepers from escaping!;sudo PLAYER cb creeper 16" + set {db_ci.items::14.skeleton.ball} to "16 snowball;&3Projeggtile &7Skeleton &3Ball;&6An ironic prison of bones made to hold||&6a skeleton, made from its own kin!;sudo PLAYER cb skeleton 16" + set {db_ci.items::15.zombie.ball} to "16 snowball;&3Projeggtile &aZombie &3Ball;&6Layered in flesh to make even the||&6loneliest zombie feel at home!;sudo PLAYER cb zombie 16" + set {db_ci.items::16.pigman.ball} to "16 snowball;&3Projeggtile &aZombie &dPigman &3Ball;&6A containment area with a nugget inside||&6to lure and keep the pigman content!;sudo PLAYER cb pigman 16" + set {db_ci.items::17.spider.ball} to "16 snowball;&3Projeggtile &4Spider &3Ball;&6Tangles an eight legged bugger||&6into a silky woven sack!;sudo PLAYER cb spider 16" + set {db_ci.items::18.blank} to "air" + set {db_ci.items::19.Crude Pack} to "64 ink sack;&a&b&k&a&3Crude Pack;&6The crude version of||&6the backpack;sudo PLAYER bp g crudepack 64" + set {db_ci.items::20.Ender Pack} to "64 ender pearl;&a&b&k&a&3EnderPack;&6Open your Ender Chest||&6anywhere!|| ||&5&oRight Click to open||&5&oYour portable Ender Chest;sudo PLAYER bp g enderpack 64" + set {db_ci.items::21.TA} to "diamond axe;&a&b&k&a&3Timber Axe;&6This axe makes all logs within a 10 block radius||&6go timber!;sudo PLAYER timber" + set {db_ci.items::22.LB} to "bow;&3Bow of Light;&6Light your way from afar||&6with this magical bow.|| ||&c-1 Torch Per Use;sudo PLAYER lightbow" + set {db_ci.items::23.HTP} to "diamond pickaxe;&a&b&k&a&3HotTouch Pickaxe;&6A pickaxe forged from the heart of the Nether||&6with an intense heat to smelt ores while mining.;sudo PLAYER ht pick" + set {db_ci.items::24.HTA} to "diamond axe;&a&b&k&a&3HotTouch Axe;&6An axe forged from the heart of the Nether||&6with an intense heat to cook logs into charcoal||&6while chopping.;sudo PLAYER ht axe" + set {db_ci.items::25.HTS} to "diamond shovel;&a&b&k&a&3HotTouch Shovel;&6A shovel forged from the heart of the Nether||&6with an intense heat to cook sand clay and||&6cactus while digging.;sudo PLAYER ht shovel" + set {db_ci.items::26.blank} to "air" + set {db_ci.items::27.blank} to "air" + set {db_ci.items::28.FMA.helmet} to "diamond helmet;&7FMA Helmet;&6Standard issue FMA gear;sudo PLAYER fmagear helmet" + set {db_ci.items::29.FMA.chest} to "diamond chestplate;&7FMA Chestplate;&6Standard issue FMA gear;sudo PLAYER fmagear chest" + set {db_ci.items::30.FMA.leggings} to "diamond leggings;&7FMA Leggings;&6Standard issue FMA gear;sudo PLAYER fmagear leggings" + set {db_ci.items::31.FMA.boots} to "diamond boots;&7FMA Boots;&6Standard issue FMA gear;sudo PLAYER fmagear boots" + set {db_ci.items::32.FMA.sword} to "diamond sword;&7FMA Sword;&6Standard issue FMA gear;sudo PLAYER fmagear sword" + set {db_ci.items::33.FMA.bow} to "bow;&7FMA Bow;&6Standard issue FMA gear;sudo PLAYER fmagear bow" + set {db_ci.items::34.FMA.arrows} to "64 arrow;&7FMA Arrows;&6Standard issue FMA gear;sudo PLAYER fmagear arrows" + set {db_ci.items::35.FMA.apples} to "64 apple;&7FMA Apples;&6Standard issue FMA gear;sudo PLAYER fmagear apples" + +command /ci: + permission: obam.smod + trigger: + loop {db_ci.items::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lOBAM Custom Items Menu" to player + wait 1 tick + set {_count} to 0 + loop {db_ci.items::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} \ No newline at end of file diff --git a/OBAM-Survival Games/Obam-Fronts/Tested and Moved/disenchant.g.sk b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/disenchant.g.sk new file mode 100644 index 0000000..5bff46c --- /dev/null +++ b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/disenchant.g.sk @@ -0,0 +1,24 @@ +command /unenchant: + executable by: players + permission: obam.free + aliases: /disenchant + trigger: + player's tool is enchanted: + player's tool is not a sword or axe or pickaxe or shovel or bow or helmet or chestplate or leggings or boots: + message "&cYou may only disenchant Armour, Weapons or Tools!" to player + stop + set {_bal} to player's balance + {_bal} is less than 200: + send "&cYou do not have enough tickets to do this!" to player + stop + player's level is less than 15: + send "&cYou must have at least 15 levels to do this!" to player + stop + disenchant player's tool + reduce the player's level by 15 + remove 200 from player's balance + send "&6&lThe Gods have taken their gifts back!" to player + send "&aYou have used &e200 Tickets&a to disenchant this tool" to player + send "&aYou have &e%player's balance%&a remaining" to player + log "%player%^%{_bal}%^DEDUCT^200^%player's balance%^DISENCHANT FEE" to "tickets/disenchant.log" + stop diff --git a/OBAM-Survival Games/Obam-Fronts/Tested and Moved/dragonegg.g.sk b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/dragonegg.g.sk new file mode 100644 index 0000000..e55ec5e --- /dev/null +++ b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/dragonegg.g.sk @@ -0,0 +1,7 @@ +on flow: + block is a dragon egg: + cancel event + +on block physics: + block is a dragon egg: + cancel event diff --git a/OBAM-Survival Games/Obam-Fronts/entcount.sk b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/entcount.g.sk similarity index 91% rename from OBAM-Survival Games/Obam-Fronts/entcount.sk rename to OBAM-Survival Games/Obam-Fronts/Tested and Moved/entcount.g.sk index 386ed3b..8fe85ec 100644 --- a/OBAM-Survival Games/Obam-Fronts/entcount.sk +++ b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/entcount.g.sk @@ -1,4 +1,3 @@ - command /ent []: permission: obam.free description: Counts the living entities in a sphere of specified radius around player @@ -11,99 +10,65 @@ command /ent []: send "&cPlease wait ...." stop argument is not set: - - - - loop entities in radius 160 of player: - + loop entities in radius 254 of player: loop-entity is not a player chunk at location of loop-entity is chunk at location of player set {_type} to "%type of loop-entity%" set {_hold::*} to {_type} split at ":" - {_count.list::%{_hold::1}%} is not set: set {_count.list::%{_hold::1}%} to 0 set {_count.list::%{_hold::1}%} to {_count.list::%{_hold::1}%} + 1 - {_count.total} is not set: set {_count.total} to 0 add 1 to {_count.total} - - {_count.total} is not set: send "&eNo entites... MAGIC!" - stop - + stop send "&aThere are currently &e%{_count.total}%&a entities in chunk &e%player's chunk%" send "&aList:" - loop {_count.list::*}: send "&a%loop-index%: &e%loop-value%" - set {cool.ent.%player%} to now - stop - - argument is greater than 160: - send "&cPlease choose a number between &e1 &cand &e160" + argument is greater than 254: + send "&cPlease choose a number between &e1 &cand &e254" stop loop entities in radius argument of player's location: - loop-entity is not a player set {_type} to "%type of loop-entity%" set {_hold::*} to {_type} split at ":" - {_count.list::%{_hold::1}%} is not set: set {_count.list::%{_hold::1}%} to 0 set {_count.list::%{_hold::1}%} to {_count.list::%{_hold::1}%} + 1 - {_count.total} is not set: set {_count.total} to 0 add 1 to {_count.total} - - {_count.total} is not set: send "&eNo entites... MAGIC!" stop - send "&aThere are currently &e%{_count.total}%&a entities in the radius of &e%argument%" send "&aList:" - loop {_count.list::*}: send "&a%loop-index%: &e%loop-value%" - set {cool.ent.%player%} to now command /entworld: permission: obam.admin trigger: loop entities in player's world: - loop-entity is not a player set {_type} to "%type of loop-entity%" set {_hold::*} to {_type} split at ":" - {_count.list::%{_hold::1}%} is not set: set {_count.list::%{_hold::1}%} to 0 set {_count.list::%{_hold::1}%} to {_count.list::%{_hold::1}%} + 1 - {_count.total} is not set: set {_count.total} to 0 add 1 to {_count.total} - - {_count.total} is not set: send "&eNo entites... MAGIC!" stop - send "&aThere are currently &e%{_count.total}%&a entities in world &e%player's world%" send "&aList:" - loop {_count.list::*}: send "&a%loop-index%: &e%loop-value%" - - - - - - \ No newline at end of file diff --git a/OBAM-Survival Games/Obam-Fronts/Tested and Moved/flags.g.sk b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/flags.g.sk new file mode 100644 index 0000000..0783ec7 --- /dev/null +++ b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/flags.g.sk @@ -0,0 +1,222 @@ +on script load: + delete {db_flags::*} + set {db_flags::01.header.admin} to "nether star;&3Admin Flag;&6Click this icon to open the &eAdmin &6flags menu.||&6Or enable/disable all flags with the button below.;sudo PLAYER flags menu admin WHO" + set {db_flags::02.header.build} to "diamond pickaxe;&3Build Flag;&6Click this icon to open the &eBuild &6flags menu.||&6Or enable/disable all flags with the button below;sudo PLAYER flags menu build WHO" + set {db_flags::03.header.use} to "stone button;&3Use Flag;&6Click this icon to open the &eUse &6flags menu.||&6Or enable/disable all flags with the button below;sudo PLAYER flags menu use WHO" + set {db_flags::04.header.container} to "chest;&Container Flag;&6Click this icon to open the &eContainer &6flags menu.||&6Or enable/disable all flags with the button below.;sudo PLAYER flags menu container WHO" + set {db_flags::05.header.bucket} to "bucket;&3Bucket Flag;&6Click this icon to open the &eBucket &6flags menu.||&6Or enable/disable all flags with the button below.;sudo PLAYER flags menu bucket WHO" + set {db_flags::06.header.teleport} to "portal;&3Teleport Flag;&6Click this icon to open the &eTeleport &6flags menu.||&6Or enable/disable all flags with the button below.;sudo PLAYER flags menu teleport WHO" + set {db_flags::07.header.entity} to "sheep spawn egg;&3Entity Flag;&6Click this icon to open the &eEntity &6flags menu.||&6Or enable/disable all flags with the button below.;sudo PLAYER flags menu entity WHO" + set {db_flags::08.header.all} to "lever;&3All Flags;&6Click the button below to disable/enable all flags.||&6If any flag is enabled, it will disable all flags." + set {db_flags::09.header.front} to "grass;&3Front Settings;&6Click this icon to open the &Front Settings &6menu.||&6Or enable/disable all flags with the button below.;sudo PLAYER flags menu front WHO" + set {db_flags::01.admin.null} to "air" + set {db_flags::01.build.null} to "air" + set {db_flags::01.use.usedoor} to "wooden door;&3Use - Door;&6Click the button below to disable/enable||&6the &eDoor Use&6 flag for this front." + set {db_flags::02.use.useanvil} to "anvil;&3Use - Anvil;&6Click the button below to disable/enable||&6the &eAnvil Use&6 flag for this front." + set {db_flags::03.use.usenote} to "note block;&3Use - Noteblock;&6Click the button below to disable/enable||&6the &eNoteblock Use&6 flag for this front." + set {db_flags::04.use.usejuke} to "jukebox;&3Use - Jukebox;&6Click the button below to disable/enable||&6the &eJukebox Use&6 flag for this front." + set {db_flags::05.use.uselever} to "lever;&3Use - Lever;&6Click the button below to disable/enable||&6the &eLever Use&6 flag for this front." + set {db_flags::06.use.usestonebutton} to "stone button;&3Use - Stone Button;&6Click the button below to disable/enable||&6the &eStone Button Use&6 flag for this front." + set {db_flags::07.use.usewoodbutton} to "wood button;&3Use - Wood Button;&6Click the button below to disable/enable||&6the &eWood Button Use&6 flag for this front." + set {db_flags::08.use.usetrap} to "trapdoor;&3Use - Trap Door;&6Click the button below to disable/enable||&6the &eTrap Door Use&6 flag for this front." + set {db_flags::09.use.usefence} to "fence gate;&3Use - Fence Gate;&6Click the button below to disable/enable||&6the &eFence Gate Use&6 flag for this front." + set {db_flags::10.use.useenchant} to "enchantment table;&3Use - Enchantment Table;&6Click the button below to disable/enable||&6the &eEnchantment Table Use&6 flag for this front." + set {db_flags::11.use.usecomparator} to "redstone comparator;&3Use - Comparator;&6Click the button below to disable/enable||&6the &eComparator Use&6 flag for this front." + set {db_flags::12.use.userepeater} to "repeater;&3Use - Repeater;&6Click the button below to disable/enable||&6the &eRepeater Use&6 flag for this front." + set {db_flags::01.container.conchest} to "chest;&3Container - Chest;&6Click the button below to disable/enable||&6the &eChest Container&6 flag for this front." + set {db_flags::02.container.confurnace} to "furnace;&3Container - Furnace;&6Click the button below to disable/enable||&6the &eFurnace Container&6 flag for this front." + set {db_flags::03.container.condispenser} to "dispenser;&3Container - Dispenser;&6Click the button below to disable/enable||&6the &eDispenser Container&6 flag for this front." + set {db_flags::04.container.conhopper} to "hopper;&3Container - Hopper;&6Click the button below to disable/enable||&6the &eHopper Container&6 flag for this front." + set {db_flags::05.container.conbrewing} to "brewing stand;&3Container - Brewing Stand;&6Click the button below to disable/enable||&6the &eBrewing Stand Container&6 flag for this front." + set {db_flags::06.container.condropper} to "dropper;&3Container - Dropper;&6Click the button below to disable/enable||&6the &eDropper Container&6 flag for this front." + set {db_flags::07.container.contrapped} to "trapped chest;&3Container - Trapped Chest;&6Click the button below to disable/enable||&6the &eTrapped Chest Container&6 flag for this front." + set {db_flags::08.container.conbeacon} to "beacon;&3Container - Beacon;&6Click the button below to disable/enable||&6the &eBeacon Container&6 flag for this front." + set {db_flags::01.bucket.bucketwater} to "water bucket;&3Bucket Flag - Water;&6Click the button below to disable/enable||&6the &eWater Bucket&6 flag for this front." + set {db_flags::02.bucket.bucketlava} to "lava bucket;&3Bucket Flag - Lava;&6Click the button below to disable/enable||&6the &eLava Bucket&6 flag for this front." + set {db_flags::01.teleport.null} to "air" + set {db_flags::01.entity.null} to "air" + set {db_flags::01.front.frontflow} to "water;&3Flow;&6Click the button below to disable/enable||&6the &eFlow&6 flag for this front." + set {db_flags::02.front.frontfirespread} to "fire;&3Firespread;&6Click the button below to disable/enable||&6the &eFirespread&6 flag for this front." + set {db_flags::03.front.fronttnt} to "tnt;&3TNT;&6Click the button below to disable/enable||&6the &eTNT&6 flag for this front." + +on join: + {flag.reset.%uuid of player%} is not set: + wait 10 seconds + {owned.chunks.%uuid of player%::*} is set: + loop {owned.chunks.%uuid of player%::*}: + set {_chunk} to loop-index-1 + loop {flags.%{_chunk}%::*}: + delete {flags.%{_chunk}%::loop-index-2::*} + delete {flags.%{_chunk}%::*} + set {flag.reset.%uuid of player%} to false + message "&cAttention: &6All flags have been deleted." + +command /flags [] [] []: + permission: obam.free + trigger: + {chunk.live.%chunk at location of player%} is not set: + send "&cThis land has not been claimed yet!" + stop + argument 1 is not set: + set {_task} to menu + set {_what} to header + set {_who} to Everyone + argument 1 is not "menu" or "set" or "list": + {db_name.%argument 1%} does not exist: + message "&cThat player does not exist." + stop + set {_task} to menu + set {_what} to header + set {_who} to argument 1 + set {_task} to argument 1 + set {_what} to argument 2 + set {_who} to argument 3 + set {_who.uuid} to {db_name.%{_who}%} + {_task} is "menu": + loop {db_flags::*}: + set {_decode1::*} to loop-index split at "." + set {_sub} to {_decode1::3} + {_sub} is "null": + send "&c&lThis feature is being worked on and will be here soon!" + stop + set {_prim} to {_decode1::2} + {_count} is not set: + set {_count} to 0 + {_prim} contains "{_what}": + add 1 to {_count} + {_count} is less than 10: + set {_size} to 2 + {_count} is greater than 9: + set {_size} to 4 + {_count} is greater than 18: + set {_size} to 6 + {_count} is greater than 27: + set {_size} to 8 + show chest with {_size} row named "&9&lOBAM %{_what}% Flags Menu" to player + wait 1 tick + loop {db_flags::*}: + set {_decode2::*} to loop-index-1 split at "." + set {_prim} to {_decode2::2} + {_prim} is {_what}: + set {_slot} to {_decode2::1} parsed as integer + subtract 1 from {_slot1} + set {_slot2} to 9 + {_slot1} + set {_sub} to {_decode2::3} + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + replace "WHO" in {_command} with "%{_who}%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_slot1} of player with {_what} to be unstealable + {_command} is set: + format slot {_slot1} of player with {_what} to close then run {_command} + {_sub} is "all": + loop {db_flags::*}: + set {_decode3::*} to loop-index-2 split at "." + set {_sub1} to {_decode3::3} + {flags.%chunk at location of player%::%{_sub1}%::%{_who.uuid}%} is true: + set {_any.check} to true + {_any.check} is set: + set {_state1} to light green wool parsed as an item + set {_state2} to "&aEnabled" + set {_state3} to "&6Click to &cDisable &6all flags for &e%{_who}%." + set {_state4} sudo %player% flags set all %{_who}% + {_any.check} is not set: + set {_state1} to red wool parsed as an item + set {_state2} to "&cDisabled" + set {_state3} to "&6Click to &aEnable &6all flags for &e%{_who}%." + set {_state4} sudo %player% flags set all %{_who}% + {_sub} is "front" or "flow" or "firespread" or "tnt": + {flags.%chunk at location of player%::%{_sub}%} is not set: + set {flags.%chunk at location of player%::%{_sub}%} to false + {flags.%chunk at location of player%::%{_sub}%} is true: + set {_state1} to light green wool parsed as an item + set {_state2} to "&aEnabled" + set {_state3} to "&6Click to &cDisable &6the &e%{_sub}% &6flag for &e%{_who}%." + set {_state4} sudo %player% flags set %{_sub}% %{_who}% + {flags.%chunk at location of player%::%{_sub}%} is false: + set {_state1} to red wool parsed as an item + set {_state2} to "&cDisabled" + set {_state3} to "&6Click to &aEnable &6the &e%{_sub}% &6flag for &e%{_who}%." + set {_state4} sudo %player% flags set %{_sub}% %{_who}% + {_sub} is not "front" or "flow" or "firespread" or "tnt": + {flags.%chunk at location of player%::%{_sub}%::%{_who.uuid}%} is not set: + set {flags.%chunk at location of player%::%{_sub}%::%{_who.uuid}%} to false + {flags.%chunk at location of player%::%{_sub}%::%{_who.uuid}%} is true: + set {_state1} to light green wool parsed as an item + set {_state2} to "&aEnabled" + set {_state3} to "&6Click to &cDisable &6the &e%{_sub}% &6flag for &e%{_who}%." + set {_state4} sudo %player% flags set %{_sub}% %{_who}% + {flags.%chunk at location of player%::%{_sub}%::%{_who.uuid}%} is false: + set {_state1} to red wool parsed as an item + set {_state2} to "&cDisabled" + set {_state3} to "&6Click to &aEnable &6the &e%{_sub}% &6flag for &e%{_who}%." + set {_state4} sudo %player% flags set %{_sub}% %{_who}% + set {_what2} to {_state1} named {_state2} with lore {_state3} + format slot {_slot2} of player with {_what2} to be unstealable + format slot {_slot2} of player with {_what2} to close then run {_state4} + {_task} is "set": + {chunk.live.%chunk at location of player%} is not player: + {flags.%chunk at location of player%::admin::%uuid of player%} is not set: + set {flags.%chunk at location of player%::admin::%uuid of player%} to false + {flags.%chunk at location of player%::admin::%uuid of player%} is false: + send "&cYou do not have permission to do this!" + stop + {flags.%chunk at location of player%::admin::everyone} is not set: + set {flags.%chunk at location of player%::admin::everyone} to false + {flags.%chunk at location of player%::admin::everyone} is false: + send "&cYou do not have permission to do this!" + stop + {_what} is "front" or "flow" or "firespread" or "tnt": + {flags.%chunk at location of player%::%{_what}%} is true: + set {flags.%chunk at location of player%::%{_what}%} to false + send "&cYou have disabled the &e%{_what}%&c flag on this &eFront" + stop + {flags.%chunk at location of player%::%{_what}%} is false: + set {flags.%chunk at location of player%::%{_what}%} to true + send "&aYou have enabled the &e%{_what}%&a flag on this &eFront" + stop + {_what} is "all": + set {_clear} to false + loop {db_flags::*}: + set {_decode4::*} to loop-index split at "." + set {_sub2} to {_decode4::3} + {flags.%chunk at location of player%::%{_sub2}%::%{_who.uuid}%} is true: + set {_clear} to true + loop {db_flags::*}: + set {_decode5::*} to loop-index split at "." + set {_sub3} to {_decode5::3} + set {flags.%chunk at location of player%::%{_sub3}%::%{_who.uuid}%} to {_clear} + {_clear} is true: + send "&cYou have disabled &eAll&c flags for &e%{_who}%" + stop + send "&aYou have enabled &eAll&a flags for &e%{_who}%" + stop + {flags.%chunk at location of player%::%{_what}%::%{_who.uuid}%} is false: + set {flags.%chunk at location of player%::%{_what}%::%{_who.uuid}%} to true + send "&aEnabled &e%{_what}%&a flag for &e%{_who}%" + stop + {flags.%chunk at location of player%::%{_what}%::%{_who.uuid}%} is true: + set {flags.%chunk at location of player%::%{_what}%::%{_who.uuid}%} to false + send "&cDisabled &e%{_what}%&c flag for &e%{_who}%" + stop + {_task} is "list": + {_what} is not set: + send "&cPlease specify a flag." + stop + send "&aActive users for &e%{_what}% &aflag:" + loop {flags.%chunk at location of player%::%{_what}%::*}: + loop-value is true + send "&a%{db_master.uuid::%loop-index%}%" + stop + send "&cPlease check your command and try again." + stop + +command /forceadmin: + permission: obam.smod + trigger: + set {flags.%chunk at location of player%::admin::%uuid of player%} to true + send "&aYou now have the admin flag for this chunk owned by &e%{db_master.uuid::%{chunk.live.%chunk at location of block%}%}%&a." diff --git a/OBAM-Survival Games/Obam-Fronts/Tested and Moved/flow.g.sk b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/flow.g.sk new file mode 100644 index 0000000..2ca707e --- /dev/null +++ b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/flow.g.sk @@ -0,0 +1,20 @@ +on flow: + {flags.%chunk at event-location%::frontflow} is set: + {flags.%chunk at event-location%::frontflow} is false: + cancel event + {flags.%chunk at event-location%::frontflow} is true: + stop + +on ignition: + {flags.%chunk at event-location%::frontfirespread} is set: + {flags.%chunk at event-location%::frontfirespread} is false: + cancel event + {flags.%chunk at event-location%::frontfirespread} is true: + stop + +on burn: + {flags.%chunk at event-location%::frontfirespread} is set: + {flags.%chunk at event-location%::frontfirespread} is false: + cancel event + {flags.%chunk at event-location%::frontfirespread} is true: + stop diff --git a/OBAM-Survival Games/Obam-Fronts/fma.sk b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/fma.sk similarity index 92% rename from OBAM-Survival Games/Obam-Fronts/fma.sk rename to OBAM-Survival Games/Obam-Fronts/Tested and Moved/fma.sk index fa2a499..68fc544 100644 --- a/OBAM-Survival Games/Obam-Fronts/fma.sk +++ b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/fma.sk @@ -1,4 +1,3 @@ - on script load: {hostilemobs::creeper} is set: delete {hostilemobs::creeper} @@ -53,15 +52,6 @@ on script load: {hostilemobsproper::ghast} is not set: set {hostilemobsproper::ghast} to ghast - set {db_ci.items::28.FMA.helmet} to "i;diamond helmet;n;&7FMA Helmet;l;&6Standard issue FMA gear;c;sudo PLAYER fmagear helmet" - set {db_ci.items::29.FMA.chest} to "i;diamond chestplate;n;&7FMA Chestplate;l;&6Standard issue FMA gear;c;sudo PLAYER fmagear chest" - set {db_ci.items::30.FMA.leggings} to "i;diamond leggings;n;&7FMA Leggings;l;&6Standard issue FMA gear;c;sudo PLAYER fmagear leggings" - set {db_ci.items::31.FMA.boots} to "i;diamond boots;n;&7FMA Boots;l;&6Standard issue FMA gear;c;sudo PLAYER fmagear boots" - set {db_ci.items::32.FMA.sword} to "i;diamond sword;n;&7FMA Sword;l;&6Standard issue FMA gear;c;sudo PLAYER fmagear sword" - set {db_ci.items::33.FMA.bow} to "i;bow;n;&7FMA Bow;l;&6Standard issue FMA gear;c;sudo PLAYER fmagear bow" - set {db_ci.items::34.FMA.arrows} to "i;64 arrow;n;&7FMA Arrows;l;&6Standard issue FMA gear;c;sudo PLAYER fmagear arrows" - set {db_ci.items::35.FMA.apples} to "i;64 apple;n;&7FMA Apples;l;&6Standard issue FMA gear;c;sudo PLAYER fmagear apples" - command /spawntoggle: permission: obam.smod trigger: @@ -77,6 +67,7 @@ command /spawntoggle: set {spawn.mobarena} to true send "&aNatural Spawns are now on in the &eMob Arena" stop + on burn of coal block: {chunk.live.%chunk at location of block%} is "MobArena-BattleFloor": cancel event @@ -97,16 +88,13 @@ command /fmaspawn [] []: set display name of spawned entity to "&c%{_ranname}%" set {spawncheck.ok} to false - stop - argument 3 is set: loop {rannames::*}: argument 3 is loop-value set {_found} to true {_found} is not set: add argument 3 to {rannames::*} - set {_ran} to a random integer between 1 and 30 set {spawncheck.ok} to true loop {_ran} times: @@ -115,25 +103,21 @@ command /fmaspawn [] []: set display name of spawned entity to "&c%argument 3%" set {spawncheck.ok} to false stop - argument 3 is not set: set {_ran} to random integer between 1 and 30 set {spawncheck.ok} to true loop {_ran} times: set {_ranmob} to random element of {hostilemobs::*} - spawn {_ranmob} at location of player set {spawncheck.ok} to false stop argument 2 is not "random": - argument 2 is set - - set {_amount} to argument 2 parsed as number - {_amount} is not set: - parse error is set: - send "&c%last parse error%" - stop - + argument 2 is set: + set {_amount} to argument 2 parsed as number + {_amount} is not set: + parse error is set: + send "&c%last parse error%" + stop argument 3 is "random": set {spawncheck.ok} to true loop {_amount} times: @@ -142,16 +126,13 @@ command /fmaspawn [] []: spawn {_ranmob} at location of player set display name of spawned entity to "&c%{_ranname}%" set {spawncheck.ok} to false - stop - argument 3 is set: loop {rannames::*}: - argument 3 is loop-value - set {_found} to true + argument 3 is loop-value: + set {_found} to true {_found} is not set: - add argument 3 to {rannames::*} - + add argument 3 to {rannames::* set {spawncheck.ok} to true loop {_amount} times: set {_ranmob} to random element of {hostilemobs::*} @@ -159,53 +140,40 @@ command /fmaspawn [] []: set display name of spawned entity to "&c%argument 3%" set {spawncheck.ok} to false stop - argument 3 is not set: set {spawncheck.ok} to true loop {_amount} times: set {_ranmob} to random element of {hostilemobs::*} - spawn {_ranmob} at location of player set {spawncheck.ok} to false stop - - argument 1 is not "random": - argument 1 is set - {hostilemobsproper::%argument 1%} is not set: - send "&cThat is not a valid mob!" - stop - + argument 1 is set: + {hostilemobsproper::%argument 1%} is not set: + send "&cThat is not a valid mob!" + stop set {_mob} to {hostilemobsproper::%argument 1%} argument 3 is not set: argument 2 is not set: set {spawncheck.ok} to true spawn {_mob} at location of player set {spawncheck.ok} to false - - - argument 2 is "random": argument 3 is "random": set {_ran} to a random integer between 1 and 30 set {spawncheck.ok} to true loop {_ran} times: set {_ranname} to random element of {rannames::*} - spawn {_mob} at location of player - set display name of spawned entity to "&c%{_ranname}%" set {spawncheck.ok} to false - stop - argument 3 is set: loop {rannames::*}: argument 3 is loop-value set {_found} to true {_found} is not set: add argument 3 to {rannames::*} - set {_ran} to a random integer between 1 and 30 set {spawncheck.ok} to true loop {_ran} times: @@ -213,25 +181,20 @@ command /fmaspawn [] []: set display name of spawned entity to "&c%argument 3%" set {spawncheck.ok} to false stop - argument 3 is not set: set {_ran} to random integer between 1 and 30 set {spawncheck.ok} to true loop {_ran} times: - - spawn {_mob} at location of player set {spawncheck.ok} to false stop argument 2 is not "random": - argument 2 is set - - set {_amount} to argument 2 parsed as number - {_amount} is not set: - parse error is set: - send "&c%last parse error%" - stop - + argument 2 is set: + set {_amount} to argument 2 parsed as number + {_amount} is not set: + parse error is set: + send "&c%last parse error%" + stop argument 3 is "random": set {spawncheck.ok} to true loop {_amount} times: @@ -239,30 +202,26 @@ command /fmaspawn [] []: spawn {_mob} at location of player set display name of spawned entity to "&c%{_ranname}%" set {spawncheck.ok} to false - stop - argument 3 is set: loop {rannames::*}: - argument 3 is loop-value - set {_found} to true + argument 3 is loop-value: + set {_found} to true {_found} is not set: add argument 3 to {rannames::*} - set {spawncheck.ok} to true loop {_amount} times: spawn {_mob} at location of player set display name of spawned entity to "&c%argument 3%" set {spawncheck.ok} to false stop - argument 3 is not set: set {spawncheck.ok} to true loop {_amount} times: - spawn {_mob} at location of player set {spawncheck.ok} to false stop + command /nameadd []: permission: obam.smod trigger: @@ -275,18 +234,19 @@ command /nameadd []: send "&cYou must specify what to delete!" stop loop {rannames::*}: - loop-value is argument 2 - delete {rannames::%loop-index%} - send "&cDeleted &e%argument 2%" - stop + loop-value is argument 2: + delete {rannames::%loop-index%} + send "&cDeleted &e%argument 2%" + stop add argument 1 to {rannames::*} send "&e%argument 1% &aadded" + command /doorset: permission: obam.admin trigger: add location of targeted block to {fma.doors::*} send "&aBlock added" - + command /fmaclose: permission: obam.mod trigger: @@ -294,7 +254,7 @@ command /fmaclose: set {_loc} to loop-value set block at loop-value to locked chest:15 send "&aDoors closed" - + command /fmaopen: permission: obam.mod trigger: @@ -302,6 +262,7 @@ command /fmaopen: set {_loc} to loop-value set block at loop-value to air send "&aDoors opened" + on spawn: set {_chunk} to chunk at event-location set {_chunk.owner} to {chunk.live.%{_chunk}%} @@ -309,9 +270,9 @@ on spawn: {spawn.mobarena} is false: {spawncheck.ok} is not set: set {spawncheck.ok} to false - {spawncheck.ok} is false - cancel event - + {spawncheck.ok} is false: + cancel event + command /corneradd [] []: permission: obam.admin trigger: @@ -320,6 +281,7 @@ command /corneradd [] []: send "&aCorner added" argument 1 is "clear": clear {fma.corners::*} + command /fmacampers: permission: obam.smod trigger: @@ -339,7 +301,7 @@ command /entitycheck: permission: obam.free trigger: send "%type of target entity%" - + command /winnerchestadd: permission: obam.admin trigger: @@ -347,10 +309,8 @@ command /winnerchestadd: set {_size} to {_size} + 1 set {winner.chests::%{_size}%} to targeted block - on death: {chunk.live.%chunk at location of victim%} is "MobArena-BattleFloor" - loop drops: set {_chest} to {winner.chests::1} while {_chest} doesn't have space for loop-item: @@ -367,17 +327,17 @@ on target: {chunk.live.%chunk at location of event-entity%} is "MobArena-BattleFloor": {chunk.live.%chunk at location of target%} is not "MobArena-BattleFloor": cancel event - + on right click with ender pearl: {chunk.live.%chunk at location of player%} is "MobArena-BattleFloor" or "MobArena-Spawn" or "MobArena-Arena" or "MobArena-Winner" or "MobArea-Twerk": cancel event send "&cYou can not do that here" - + command /fma: permission: obam.free trigger: make player execute command "f t FMA-Spawn mobarena-spawn" - + on drop: {chunk.live.%chunk at event-location%} is "MobArena-BattleFloor" set {_chest} to {winner.chests::1} @@ -391,11 +351,11 @@ on drop: remove item from player add item to {_chest} delete item - + on xp spawn: - {chunk.live.%chunk at event-location%} is "MobArena-BattleFloor" - cancel event - + {chunk.live.%chunk at event-location%} is "MobArena-BattleFloor": + cancel event + command /special : permission: obam.smod trigger: @@ -406,41 +366,33 @@ command /special : argument is "lava": loop {fma.special::*}: set block at loop-value to lava - wait 3 seconds loop {fma.special::*}: set block at loop-value to coal block argument is "ice": loop {fma.special::*}: set block at loop-value to ice - wait 3 seconds loop {fma.special::*}: set block at loop-value to coal block argument is "water": loop {fma.special::*}: set block at loop-value to water - wait 3 seconds loop {fma.special::*}: set block at loop-value to coal block - argument is "soulsand": loop {fma.special::*}: set block at loop-value to soul sand - wait 3 seconds loop {fma.special::*}: set block at loop-value to coal block - argument is "cobweb": loop {fma.special::*}: set block at loop-value to cobweb - wait 3 seconds loop {fma.special::*}: set block at loop-value to coal block - argument is "music": loop all players: {chunk.live.%chunk at location of loop-player%} is "MobArena-BattleFloor": @@ -462,7 +414,6 @@ command /special : set block at loop-value to coal block set block below loop-value to air set block above block above loop-value to air - argument is "lever": loop {fma.special::*}: set block at loop-value to redstone lamp @@ -471,7 +422,6 @@ command /special : loop {fma.special::*}: set block at loop-value to coal block set block above loop-value to air - argument is "stack": loop {fma.special::*}: set block above loop-value to redstone block @@ -480,7 +430,6 @@ command /special : loop {fma.special::*}: set block above block above loop-value to redstone lamp wait 1 tick - wait 3 seconds loop {fma.special::*}: set block above block above loop-value to lava @@ -714,25 +663,24 @@ command /special : loop {fma.special::*}: set block below loop-value to air set block at loop-value to coal block - - + on drop: {chunk.live.%chunk at location of player%} is "MobArena-Winner": set {_ran} to random element of {twerk.drop::*} drop item at block below {_ran} delete item - + command /twerkadd: permission: obam.admin trigger: add location of targeted block to {twerk.drop::*} send "&aBlock added" - + command /specialtestsword: permission: obam.admin trigger: give diamond sword named "&cSpecial Test Sword" to player - + on damage: attacker's tool is diamond sword named "&cSpecial Test Sword": attacker has permission "obam.admin": diff --git a/OBAM-Survival Games/Obam-Fronts/heads.sk b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/heads.g.sk similarity index 98% rename from OBAM-Survival Games/Obam-Fronts/heads.sk rename to OBAM-Survival Games/Obam-Fronts/Tested and Moved/heads.g.sk index cd33ba1..ea1bdc0 100644 --- a/OBAM-Survival Games/Obam-Fronts/heads.sk +++ b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/heads.g.sk @@ -3,7 +3,7 @@ on death of a player: attacker is not victim: add skull of victim to drops set {_item.1} to "&3Death Note - &eVICTIM" - set {_item.2} to "&7This note shows that &eATTACKER&7 took the||&7life of &eVICTIM&7 on &eDATE EST" + set {_item.2} to "&7This note shows that &eATTACKER&7 took the||&7life of &eVICTIM&7 on &eDATE CST" replace "VICTIM" in {_item.1} with "%victim%" replace "VICTIM" in {_item.2} with "%victim%" replace "ATTACKER" in {_item.2} with "%attacker%" @@ -67,4 +67,3 @@ on death of a living entity: victim is villagers: set {_player} to "MHF_Villager" parsed as offline player add skull of {_player} to drops - diff --git a/OBAM-Survival Games/Obam-Fronts/heal.sk b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/heal.g.sk similarity index 69% rename from OBAM-Survival Games/Obam-Fronts/heal.sk rename to OBAM-Survival Games/Obam-Fronts/Tested and Moved/heal.g.sk index e15242a..39a350b 100644 --- a/OBAM-Survival Games/Obam-Fronts/heal.sk +++ b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/heal.g.sk @@ -3,39 +3,35 @@ variables: {heal.%player%} = false - command /heal: executable by: players permission: obam.free trigger: - {heal.%player%} is not set: - set {heal.%player%} to now - add 13 hours to {heal.%player%} - - set {_check} to difference between {heal.%player%} and now + {heal.%uuid of player%} is not set: + set {heal.%uuid of player%} to now + add 13 hours to {heal.%uuid of player%} + set {_check} to difference between {heal.%uuid of player%} and now {_check} is less than 12 hours: - set {_check} to difference between {heal.%player%} and now + set {_check} to difference between {heal.%uuid of player%} and now set {_hold} to difference between now and now add 12 hours to {_hold} subtract {_check} from {_hold} send "&cYou must wait at least &e%{_hold}% &cto use this command!" stop - {abstain.%player%} is false: + {abstain.%uuid of player%} is false: send "&cOnly abstaining players can use this feature!" stop - {abstian.%player%} is "wait pvp" or "wait abstain": + {abstian.%uuid of player%} is "wait pvp" or "wait abstain": send "&cYou can not use this feature in transition!" stop - {abstain.%player%} is true: - + {abstain.%uuid of player%} is true: set {_bal} to player's balance {_bal} is less than 2000: send "&cYou do not have enough tickets to do this!" to player stop - remove 2000 from player's balance - set {heal.%player%} to now - send "&aYou have been healed" to player + set {heal.%uuid of player%} to now + send "&aYou have been healed." to player set player's health to 10 set player's hunger to 10 apply regeneration 2 to player for 30 seconds diff --git a/OBAM-Survival Games/Obam-Fronts/hottouch.sk b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/hottouch.g.sk similarity index 79% rename from OBAM-Survival Games/Obam-Fronts/hottouch.sk rename to OBAM-Survival Games/Obam-Fronts/Tested and Moved/hottouch.g.sk index 0e80bde..91eb88a 100644 --- a/OBAM-Survival Games/Obam-Fronts/hottouch.sk +++ b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/hottouch.g.sk @@ -3,12 +3,6 @@ options: smeltaxe: diamond axe named "&a&b&k&a&3HotTouch Axe" with lore "&6An axe forged from the heart of the Nether||&6with an intense heat to cook logs into charcoal||&6while chopping.|| ||&2StickyItem ©" smeltshovel: diamond shovel named "&a&b&k&a&3HotTouch Shovel" with lore "&6A shovel forged from the heart of the Nether||&6with an intense heat to cook sand clay and||&6cactus while digging.|| ||&2StickyItem ©" - -on script load: - set {db_shop.items::HotTouch Pick} to "i;diamond pickaxe;n;&a&b&k&a&3HotTouch Pickaxe;l;&6A pickaxe forged from the heart of the Nether||&6with an intense heat to smelt ores while mining.|| ||&2StickyItem ©|| ||&5&oClick to purchase|| ||&3&lCost:||&e7,500 Tickets;c;sudo PLAYER hottouchpurchase pick" - set {db_shop.items::HotTouch Axe} to "i;diamond axe;n;&a&b&k&a&3HotTouch Axe;l;&6An axe forged from the heart of the Nether||&6with an intense heat to cook logs into charcoal||&6while chopping.|| ||&2StickyItem ©|| ||&5&oClick to purchase|| ||&3&lCost:||&e5,000 Tickets;c;sudo PLAYER hottouchpurchase axe" - set {db_shop.items::HotTouch Shovel} to "i;diamond shovel;n;&a&b&k&a&3HotTouch Shovel;l;&6A shovel forged from the heart of the Nether||&6with an intense heat to cook sand clay and||&6cactus while digging.|| ||&2StickyItem ©|| ||&5&oClick to purchase|| ||&3&lCost:||&e10,000 Tickets;c;sudo PLAYER hottouchpurchase shovel" - command /hottouchpurchase : permission: obam.free trigger: diff --git a/OBAM-Survival Games/Obam-Fronts/Tested and Moved/landclaim.g.sk b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/landclaim.g.sk new file mode 100644 index 0000000..84c28cc --- /dev/null +++ b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/landclaim.g.sk @@ -0,0 +1,908 @@ +variables: + {db_claimedland.%uuid of player%} = 0 + {availableland.live.%uuid of player%} = 1 + {alert.fronts.%uuid of player%} = true + +on join: + {db_prizecheck.%uuid of player%} is set: + add {db_prizecheck.%uuid of player%} to {db_availableland.%uuid of player%} + send "&aYou have had &e%{db_prizecheck.%uuid of player%}%&a added to your Fronts balance!" to player + clear {db_prizecheck.%uuid of player%} + {played.%player%} is set: + set {played.%uuid of player%} to {played.%player%} + delete {played.%player%} + {played.%uuid of player%} is not set: + set {played.%uuid of player%} to true + {db_claimedland.%player%} is set: + set {db_claimedland.%uuid of player%} to {db_claimedland.%player%} + delete {db_claimedland.%player%} + {db_availableland.%player%} is set: + set {db_availableland.%uuid of player%} to {db_availableland.%player%} + delete {db_availableland.%player%} + {db_chunks.claim.count.%player%} is set: + set {db_chunks.claim.count.%uuid of player%} to {db_chunks.claim.count.%player%} + delete {db_chunks.claim.count.%player%} + {owned.chunks.%player%::*} is set: + loop {owned.chunks.%player%::*}: + set {chunk.live.%loop-index%} to uuid of player + add loop-index to {owned.chunks.%uuid of player%::*} + delete {land.live.%loop-index%::*} + delete {owned.chunks.%player%::*} + {loc.chunks.%player%::*} is set: + loop {loc.chunks.%player%::*}: + set {loc.chunks.%uuid of player%::%loop-index%} to loop-value + delete {loc.chunks.%player%::*} + {home.%player%.wild} is set: + set {home.%uuid of player%.wild} to {home.%player%.wild} + delete {home.%player%.wild} + {first.claim.%player%} is set: + set {first.claim.%uuid of player%} to {first.claim.%player%} + delete {first.claim.%player%} + +command /movedata: + permission: obam.admin + trigger: + loop {db_channel.global::*}: + set {db_claimedland.%loop-value%} to {claimedland.%loop-value%} + set {db_availableland.%loop-value%} to {availableland.%loop-value%} + +every 1 tick: + loop all players: + {chunk.live.%chunk at location of loop-player%} is not set: + {alert.notify.owner.%loop-player%} is not "Unclaimed": + {alert.fronts.%uuid of loop-player%} is true: + send "&a&lUnclaimed Front" to loop-player + set {alert.notify.owner.%loop-player%} to "Unclaimed" + {alert.notify.owner.%loop-player%} is not {chunk.live.%chunk at location of loop-player%}: + {chunk.live.%chunk at location of loop-player%} is not set: + {alert.notify.owner.%loop-player%} is not "Unclaimed": + {alert.fronts.%uuid of loop-player%} is true: + send "&a&lUnclaimed Front" to loop-player + set {alert.notify.owner.%loop-player%} to "Unclaimed" + {chunk.live.%chunk at location of loop-player%} is set: + {alert.fronts.%uuid of loop-player%} is true: + send "&a&lFront Claimed by: &e%{db_master.uuid::%{chunk.live.%chunk at location of loop-player%}%}%" to loop-player + set {alert.notify.owner.%loop-player%} to {chunk.live.%chunk at location of loop-player%} + {alert.notify.owner.%loop-player%} is not set: + {chunk.live.%chunk at location of loop-player%} is not set: + {alert.fronts.%uuid of loop-player%} is true: + send "&a&lUnclaimed Front" to loop-player + set {alert.notify.owner.%loop-player%} to "Unclaimed" + +#startfold +command /front [] [] []: + permission: obam.free + description: For all land related commands + usage: &c/front (claim, unclaim, add, remove, name) + aliases: /f + trigger: + argument 1 is not set: + message "&3-[&a&lFronts Claimed&3]-" + message "&6 %{db_claimedland.%uuid of player%}%" + send "&3-[&a&lPurchased Slots&3]-" to player + send "&6 %{db_availableland.%uuid of player%}%" + send "&3-[&a&lAvailible Slots&3]-" to player + send "&6 %{db_availableland.%uuid of player%} - {db_claimedland.%uuid of player%}%" to player + stop + #subfold @help + argument 1 is "help" or "h": + message "&3--[&6&lFronts Help&3]--" + message "&cRequired = [] Optional = ()" + message "&a * /front or f" + message "&7 Shows your land claiming statistics" + message "&a * /front:f [Info:i/Stats:s]" + message "&7 Shows information about the land you are standing in" + message "&a * /front:f [Claim:c/Unclaim:u]" + message "&7 Claim/Unclaim the land you are standing at" + player has permission "land.bypass": + message "&a * /land bypass" + message "&7 Bypass all claimed land" + stop + #subfold @stats + argument 1 is "stats" or "info" or "s" or "i": + {chunk.live.%chunk at location of player%} is set: + {chunk.live.%chunk at location of player%} is not "Town": + message "&3--[&lFront Owner&3]--" + message "&a * %{db_master.uuid::%{chunk.live.%chunk at location of loop-player%}%}%" + send "&3---[&lFront Name&3]--" + {chunk.name.%chunk at location of player%} is not set: + send "&a * Name not set" + stop + send "&a * %{chunk.name.%chunk at location of player%}%" + stop + message "&6This area is not currently owned by a player." + stop + #subfold @error + argument 1 is "error": + player has permission "land.bypass": + message "&cIncorrect usage. Try '/front [claim, unclaim, name, bypass] (player)'" + player does not have permission "land.bypass": + message "&cIncorrect usage. Try '/front [claim, unclaim, name] (player)'" + message "&7 ()'s = Optional, []'s = Required." + stop + #subfold @claim + argument 1 is "claim" or "c": + {chunk.live.%chunk at location of player%} is set: + message "&cThis land has already been claimed." + stop + loop blocks in radius 50 of player: + player cannot build at the loop-block: + message "&cYou can not claim land in this area." + stop + {db_claimedland.%uuid of player%} is greater than or equal to {db_availableland.%uuid of player%}: + send "&cYou do not have enough Availiable land for this action! Please purchase more from &7Fronts Ferdinand &cat Town Spawn!" to player + stop + {first.claim.%uuid of player%} is true: + set {_bal} to player's balance + {_bal} is less than 2000: + send "&cYou do not have enough tickets to do this!" to player + stop + {db_chunks.claim.count.%uuid of player%} is not set: + set {db_chunks.claim.count.%uuid of player%} to 0 + add 1 to {db_chunks.claim.count.%uuid of player%} + set {chunk.live.%chunk at location of player%} to uuid of player + add chunk at location of player to {owned.chunks.%uuid of player%::*} + set {chunk.name.%chunk at location of player%} to "%{db_chunks.claim.count.%uuid of player%}%" + set {loc.chunks.%uuid of player%::%chunk at location of player%} to location of player + message "&6You now own this Front." + {db_claimedland.%uuid of player%} is 0: + set {home.%uuid of player%.wild} to location of player + add 1 to {db_claimedland.%uuid of player%} + {first.claim.%uuid of player%} is true: + remove 2000 from player's balance + send "&aYou have used &e2000 Tickets&a to claim this Front" to player + send "&aYou have &e%player's balance%&a remaining" to player + stop + send "&aThis was your first land claim. It was free. The next one will cost &e2000 Tickets!" to player + set {first.claim.%uuid of player%} to true + stop + #subfold @unclaim + argument 1 is "unclaim" or "u": + {chunk.live.%chunk at location of player%} is not set: + message "&cThis land has not been claimed." + stop + {chunk.live.%chunk at location of player%} is not uuid of player: + message "&cYou do not own this land." + stop + remove 1 from {db_claimedland.%uuid of player%} + set {_chunk} to chunk at location of player + chunk at location of {home.%uuid of player%.wild} is chunk at location of player: + clear {home.%uuid of player%.wild} + send "&cYour home location has been cleared!" to player + clear {chunk.live.%chunk at location of player%} + clear {chunk.name.%chunk at location of player%} + delete {loc.chunks.%uuid of player%::%chunk at location of player%} + loop {flags.%chunk at location of player%::*}: + loop {flags.%chunk at location of player%::%loop-index%::*}: + delete {flags.%chunk at location of player%::%loop-index-1%::%loop-index-2%} + delete {flags.%chunk at location of player%::%loop-index%} + loop {owned.chunks.%uuid of player%::*}: + chunk at location of player is {owned.chunks.%uuid of player%::%loop-index%} + delete {owned.chunks.%uuid of player%::%loop-index%} + message "&6You have unclaimed this Front." + stop + #subfold @bypass + argument 1 is "bypass": + player has permission "land.bypass": + {bypassland.%uuid of player%} is true: + clear {bypassland.%uuid of player%} + message "&6You have finished bypassing claimed land." + stop + set {bypassland.%uuid of player%} to true + message "&6You can now bypass claimed land." + stop + message "&cYou do not have permission to use this command." + stop + #subfold @name + argument 1 is "name" or "n": + {chunk.live.%chunk at location of player%} is not set: + message "&cThis land has not been claimed." + stop + {chunk.live.%chunk at location of player%} is not uuid of player: + {flags.%chunk at location of player%::admin::everyone} is not set: + set {flags.%chunk at location of player%::admin::everyone} to false + {flags.%chunk at location of player%::admin::%uuid of player%} is not set: + set {flags.%chunk at location of player%::admin::%uuid of player%} to false + {flags.%chunk at location of player%::admin::everyone} is false: + {flags.%chunk at location of player%::admin::%uuid of player%} is false: + send "&cYou do not have permission to do this!" + stop + argument 2 is "set": + send "&cThat is an invalid name!" to player + stop + argument 2 is not set: + send "&cPlease choose a name!" to player + stop + message "&aYou have named this Front to &e%argument 2%" + set {chunk.name.%chunk at location of player%} to "%argument 2%" + set {loc.chunks.%uuid of player%::%chunk at location of player%} to location of player + stop + #subfold @list + argument 1 is "list" or "l": + argument 2 is not set: + loop {loc.chunks.%uuid of player%::*}: + set {_loc} to {loc.chunks.%uuid of player%::%loop-index%} + set {_chunk} to chunk at location of {_loc} + set {_chunk.name} to {chunk.name.%{_chunk}%} + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {chunk.name.%{_chunk}%} is not set: + set {chunk.name.%{_chunk}%} to "%{_count}%" + set {_chunk.name} to {chunk.name.%{_chunk}%} + {_chunk.name} is not set: + set {_chunk.name} to "&cNot Named" + send "&a%{_count}%.......%{_chunk}%....%{_chunk.name}%" to player + stop + argument 2 is set: + message "You can only list your own fronts at the moment." + stop + #subfold @travel + argument 1 is "travel" or "t": + argument 3 is not set: + argument 2 is "set": + {chunk.live.%chunk at location of player%} is not set: + message "&cThis land has not been claimed." + stop + {chunk.live.%chunk at location of player%} is not uuid of player: + message "&cThis is not your land!" + stop + set {loc.chunks.%uuid of player%::%chunk at location of player%} to location of player + send "&aYour travel location for this area, has been moved" to player + stop + {chunk.live.%chunk at location of player%} is not set: + message "&cYou can only do this in &eTown&c, or on your land!" + stop + {chunk.live.%chunk at location of player%} is not uuid of player: + {chunk.live.%chunk at location of player%} is not "Town": + {flags.%chunk at location of player%::teleport::everyone} is not set: + set {flags.%chunk at location of player%::teleport::everyone} to false + {flags.%chunk at location of player%::teleport::everyone} is false: + {flags.%chunk at location of player%::teleport::%uuid of player%} is not set: + set {flags.%chunk at location of player%::teleport::%uuid of player%} to false + {flags.%chunk at location of player%::teleport::%uuid of player%} is false: + message "&cYou can only do this in &eTown&c, or on your land!" + stop + loop {loc.chunks.%uuid of player%::*}: + set {_loc} to loop-value + set {_chunk} to chunk at location of {_loc} + set {_chunk.name} to {chunk.name.%{_chunk}%} + {_chunk.name} is argument 2: + send "&aTeleporting to &e%argument 2%" to player + teleport player to {_loc} + stop + send "&cYou do not have a Front named &e%argument 2% &cin this world!" + stop + argument 3 is set: + {chunk.live.%chunk at location of player%} is not set: + message "&cYou can only do this in &eTown&c, or on your land!" + stop + {chunk.live.%chunk at location of player%} is not uuid of player: + {chunk.live.%chunk at location of player%} is not "Town": + {flags.%chunk at location of player%::teleport::everyone} is not set: + set {flags.%chunk at location of player%::teleport::everyone} to false + {flags.%chunk at location of player%::teleport::everyone} is false: + {flags.%chunk at location of player%::teleport::%player%} is not set: + set {flags.%chunk at location of player%::teleport::%player%} to false + {flags.%chunk at location of player%::teleport::%player%} is false: + message "&cYou can only do this in &eTown&c, or on your land!" + stop + loop {loc.chunks.%{db_name.%argument 3%}%::*}: + set {_loc} to loop-value + set {_chunk} to chunk at location of {_loc} + set {_chunk.name} to {chunk.name.%{_chunk}%} + {_chunk.name} is argument 2: + {flags.%{_chunk}%::teleport::everyone} is not set: + set {flags.%{_chunk}%::teleport::everyone} to false + {flags.%{_chunk}%::teleport::%uuid of player%} is not set: + set {flags.%{_chunk}%::teleport::%uuid of player%} to false + {flags.%{_chunk}%::teleport::everyone} is false: + {flags.%{_chunk}%::teleport::%uuid of player%} is false + send "&cYou do not have permission to go here!" to player + stop + send "&aTeleporting to &e%argument 2%" to player + teleport player to {_loc} + stop + send "&c%argument 3% does not have a Front named &e%argument 2% &cin this world!" + stop + argument 1 is "alert": + {alert.fronts.%uuid of player%} is not set: + send "&aFront alerts are now &eoff" + set {alert.fronts.%uuid of player%} to false + stop + {alert.fronts.%uuid of player%} is false: + send "&aFront alerts are now &eon" + set {alert.fronts.%uuid of player%} to true + stop + {alert.fronts.%uuid of player%} is true: + send "&aFront alerts are now &eoff" + set {alert.fronts.%uuid of player%} to false + stop + else: + make player execute command "f error" + stop +#endfold +on quit: + {bypassland.%uuid of player%} is true: + clear {bypassland.%uuid of player%} + +on place: + {bypassland.%uuid of player%} is true: + stop + {chunk.live.%chunk at location of block%} is set: + block is not tnt or water or lava: + {flags.%chunk at location of block%::build::everyone} is true: + stop + {flags.%chunk at location of block%::build::%uuid of player%} is true: + stop + message "&cThis land is owned by %{db_master.uuid::%{chunk.live.%chunk at location of block%}%}%." + cancel event + +on break: + event-block is not water or lava or milk: + {bypassland.%uuid of player%} is true: + stop + {chunk.live.%chunk at location of event-block%} is set: + {flags.%chunk at location of event-block%::build::everyone} is true: + set {_perm} to true + {flags.%chunk at location of event-block%::build::%uuid of player%} is true: + set {_perm} to true + {_perm} is true: + event-block is a chest or a furnace or a dispenser or a hopper or a brewing stand or a dropper or a trapped chest or a beacon: + set {_type} to checked + {flags.%chunk at location of event-block%::container::everyone} is true: + stop + {flags.%chunk at location of event-block%::container::%uuid of player%} is true: + stop + event-block is a chest: + {flags.%chunk at location of event-block%::conchest::everyone} is true: + stop + {flags.%chunk at location of event-block%::conchest::%uuid of player%} is true: + stop + event-block is a furnace: + {flags.%chunk at location of event-block%::confurnace::everyone} is true: + stop + {flags.%chunk at location of event-block%::confurnace::%uuid of player%} is true: + stop + event-block is a dispenser: + {flags.%chunk at location of event-block%::condispenser::everyone} is true: + stop + {flags.%chunk at location of event-block%::condispenser::%uuid of player%} is true: + stop + event-block is a hopper: + {flags.%chunk at location of event-block%::conhopper::everyone} is true: + stop + {flags.%chunk at location of event-block%::conhopper::%uuid of player%} is true: + stop + event-block is a brewing stand: + {flags.%chunk at location of event-block%::conbrewing::everyone} is true: + stop + {flags.%chunk at location of event-block%::conbrewing::%uuid of player%} is true: + stop + event-block is a dropper: + {flags.%chunk at location of event-block%::condropper::everyone} is true: + stop + {flags.%chunk at location of event-block%::condropper::%uuid of player%} is true: + stop + event-block is a trapped chest: + {flags.%chunk at location of event-block%::contrapped::everyone} is true: + stop + {flags.%chunk at location of event-block%::contrapped::%uuid of player%} is true: + stop + event-block is a beacon: + {flags.%chunk at location of event-block%::conbeacon::everyone} is true: + stop + {flags.%chunk at location of event-block%::conbeacon::%uuid of player%} is true: + stop + event-block is a door or a anvil or a note block or a lever or a stone button or a wood button or a jukebox or a trapdoor or a fence gate or a enchantment table or a redstone comparator or a repeater: + set {_type} to checked + {flags.%chunk at location of event-block%::use::everyone} is true: + stop + {flags.%chunk at location of event-block%::use::%uuid of player%} is true: + stop + event-block is a door: + {flags.%chunk at location of event-block%::usedoor::everyone} is true: + stop + {flags.%chunk at location of event-block%::usedoor::%uuid of player%} is true: + stop + event-block is a anvil: + {flags.%chunk at location of event-block%::useanvil::everyone} is true: + stop + {flags.%chunk at location of event-block%::useanvil::%uuid of player%} is true: + stop + event-block is a note block: + {flags.%chunk at location of event-block%::usenote::everyone} is true: + stop + {flags.%chunk at location of event-block%::usenote::%uuid of player%} is true: + stop + event-block is a jukebox: + {flags.%chunk at location of event-block%::usejuke::everyone} is true: + stop + {flags.%chunk at location of event-block%::usejuke::%uuid of player%} is true: + stop + event-block is a lever: + {flags.%chunk at location of event-block%::uselever::everyone} is true: + stop + {flags.%chunk at location of event-block%::uselever::%uuid of player%} is true: + stop + event-block is a stone button: + {flags.%chunk at location of event-block%::usestonebutton::everyone} is true: + stop + {flags.%chunk at location of event-block%::usestonebutton::%uuid of player%} is true: + stop + event-block is a wood button: + {flags.%chunk at location of event-block%::usewoodbutton::everyone} is true: + stop + {flags.%chunk at location of event-block%::usewoodbutton::%uuid of player%} is true: + stop + event-block is a trapdoor: + {flags.%chunk at location of event-block%::usetrap::everyone} is true: + stop + {flags.%chunk at location of event-block%::usetrap::%uuid of player%} is true: + stop + event-block is a fence gate: + {flags.%chunk at location of event-block%::usefence::everyone} is true: + stop + {flags.%chunk at location of event-block%::usefence::%uuid of player%} is true: + stop + event-block is a enchantment table: + {flags.%chunk at location of event-block%::useenchant::everyone} is true: + stop + {flags.%chunk at location of event-block%::useenchant::%uuid of player%} is true: + stop + event-block is a redstone comparator: + {flags.%chunk at location of event-block%::usecomparator::everyone} is true: + stop + {flags.%chunk at location of event-block%::usecomparator::%uuid of player%} is true: + stop + event-block is a repeater: + {flags.%chunk at location of event-block%::userepeater::everyone} is true: + stop + {flags.%chunk at location of event-block%::userepeater::%uuid of player%} is true: + stop + {_type} is not set: + stop + message "&cThis land is owned by %{db_master.uuid::%{chunk.live.%chunk at location of event-block%}%}%." + cancel event + +on place of tnt: + {bypassland.%uuid of player%} is true: + stop + loop blocks in radius 10 of block: + {chunk.live.%chunk at location of loop-block%} is set: + {flags.%chunk at location of loop-block%::fronttnt} is false: + cancel event + message "&cYou can not use explosives here." + stop + +on explode: + entity is creeper + loop blocks in radius 10 of entity: + {chunk.live.%chunk at location of loop-block%} is set: + cancel event + set {_safe} to true + {_safe} is set: + create safe explosion of force 3 at event-location + +on damage of a entity: + victim is a chicken or a cow or a mooshroom or a horse or a sheep or a pig or a wolf or a ocelot or a villager or a squid: + attacker is a player: + victim is a cow: + attacker's tool is a empty bucket: + stop + loop blocks in radius 3 of victim: + {bypassland.%uuid of attacker%} is true: + stop + {chunk.live.%chunk at location of loop-block%} is not attacker: + {flags.%chunk at location of loop-block%::entity::everyone} is not set: + set {flags.%chunk at location of loop-block%::entity::everyone} to false + {flags.%chunk at location of loop-block%::entity::%uuid of attacker%} is not set: + set {flags.%chunk at location of loop-block%::entity::%uuid of attacker%} to false + {flags.%chunk at location of loop-block%::entity::everyone} is false: + {flags.%chunk at location of loop-block%::entity::%uuid of attacker%} is true: + stop + {flags.%chunk at location of loop-block%::entity::everyone} is true: + stop + send "&cThis area is protected!" to attacker + cancel event + +on right click on lead: + {bypassland.%uuid of player%} is true: + stop + {chunk.live.%chunk at location of event-player%} is set: + {chunk.live.%chunk at location of event-player%} is not event-player: + send "&cThis area is protected!" to event-player + cancel event + stop trigger + +on right click on a door or a anvil or a note block or a lever or a stone button or a wood button or a jukebox or a trapdoor or a fence gate or a enchantment table or a redstone comparator or a repeater or a chest or a furnace or a dispenser or a hopper or a brewing stand or a dropper or a trapped chest or a beacon: + {bypassland.%uuid of player%} is true: + stop + {chunk.live.%chunk at location of event-block%} is set: + event-block is a chest or a furnace or a dispenser or a hopper or a brewing stand or a dropper or a trapped chest or a beacon: + {flags.%chunk at location of event-block%::container::everyone} is true: + stop + {flags.%chunk at location of event-block%::container::%uuid of player%} is true: + stop + event-block is a chest: + {flags.%chunk at location of event-block%::conchest::everyone} is true: + stop + {flags.%chunk at location of event-block%::conchest::%uuid of player%} is true: + stop + event-block is a furnace: + {flags.%chunk at location of event-block%::confurnace::everyone} is true: + stop + {flags.%chunk at location of event-block%::confurnace::%uuid of player%} is true: + stop + event-block is a dispenser: + {flags.%chunk at location of event-block%::condispenser::everyone} is true: + stop + {flags.%chunk at location of event-block%::condispenser::%uuid of player%} is true: + stop + event-block is a hopper: + {flags.%chunk at location of event-block%::conhopper::everyone} is true: + stop + {flags.%chunk at location of event-block%::conhopper::%uuid of player%} is true: + stop + event-block is a brewing stand: + {flags.%chunk at location of event-block%::conbrewing::everyone} is true: + stop + {flags.%chunk at location of event-block%::conbrewing::%uuid of player%} is true: + stop + event-block is a dropper: + {flags.%chunk at location of event-block%::condropper::everyone} is true: + stop + {flags.%chunk at location of event-block%::condropper::%uuid of player%} is true: + stop + event-block is a trapped chest: + {flags.%chunk at location of event-block%::contrapped::everyone} is true: + stop + {flags.%chunk at location of event-block%::contrapped::%uuid of player%} is true: + stop + event-block is a beacon: + {flags.%chunk at location of event-block%::conbeacon::everyone} is true: + stop + {flags.%chunk at location of event-block%::conbeacon::%uuid of player%} is true: + stop + event-block is a door or a anvil or a note block or a lever or a stone button or a wood button or a jukebox or a trapdoor or a fence gate or a enchantment table or a redstone comparator or a repeater: + {flags.%chunk at location of event-block%::use::everyone} is true: + stop + {flags.%chunk at location of event-block%::use::%uuid of player%} is true: + stop + event-block is a door: + {flags.%chunk at location of event-block%::usedoor::everyone} is true: + stop + {flags.%chunk at location of event-block%::usedoor::%uuid of player%} is true: + stop + event-block is a anvil: + {flags.%chunk at location of event-block%::useanvil::everyone} is true: + stop + {flags.%chunk at location of event-block%::useanvil::%uuid of player%} is true: + stop + event-block is a note block: + {flags.%chunk at location of event-block%::usenote::everyone} is true: + stop + {flags.%chunk at location of event-block%::usenote::%uuid of player%} is true: + stop + event-block is a jukebox: + {flags.%chunk at location of event-block%::usejuke::everyone} is true: + stop + {flags.%chunk at location of event-block%::usejuke::%uuid of player%} is true: + stop + event-block is a lever: + {flags.%chunk at location of event-block%::uselever::everyone} is true: + stop + {flags.%chunk at location of event-block%::uselever::%uuid of player%} is true: + stop + event-block is a stone button: + {flags.%chunk at location of event-block%::usestonebutton::everyone} is true: + stop + {flags.%chunk at location of event-block%::usestonebutton::%uuid of player%} is true: + stop + event-block is a wood button: + {flags.%chunk at location of event-block%::usewoodbutton::everyone} is true: + stop + {flags.%chunk at location of event-block%::usewoodbutton::%uuid of player%} is true: + stop + event-block is a trapdoor: + {flags.%chunk at location of event-block%::usetrap::everyone} is true: + stop + {flags.%chunk at location of event-block%::usetrap::%uuid of player%} is true: + stop + event-block is a fence gate: + {flags.%chunk at location of event-block%::usefence::everyone} is true: + stop + {flags.%chunk at location of event-block%::usefence::%uuid of player%} is true: + stop + event-block is a enchantment table: + {flags.%chunk at location of event-block%::useenchant::everyone} is true: + stop + {flags.%chunk at location of event-block%::useenchant::%uuid of player%} is true: + stop + event-block is a redstone comparator: + {flags.%chunk at location of event-block%::usecomparator::everyone} is true: + stop + {flags.%chunk at location of event-block%::usecomparator::%uuid of player%} is true: + stop + event-block is a repeater: + {flags.%chunk at location of event-block%::userepeater::everyone} is true: + stop + {flags.%chunk at location of event-block%::userepeater::%uuid of player%} is true: + stop + message "&cThis land is owned by %{db_master.uuid::%{chunk.live.%chunk at location of event-block%}%}%." + cancel event + +on right click on horse: + {bypassland.%uuid of player%} is true: + stop + {chunk.live.%chunk at location of event-player%} is set: + {chunk.live.%chunk at location of event-player%} is not event-player: + send "&cThis area is protected!" to event-player + cancel event + stop trigger + +on damage of a player: + attacker is a player: + loop blocks in radius 10 of victim: + {chunk.live.%chunk at location of loop-block%} is set: + send "&cThis area is protected!" to attacker + cancel event + stop trigger + +command /townset: + permission: obam.admin + trigger: + set {town.spawn} to location of player + +command /town: + permission: obam.free + trigger: + {chunk.live.%chunk at location of player%} is not player: + {chunk.live.%chunk at location of player%} is not "Town": + send "&cYou can only do this in Town, or on your own land!" to player + {chunk.live.%chunk at location of player%} is not set: + message "&cYou must do this on your land!" + stop + teleport player to {town.spawn} + +on sign change: + line 1 of block is "warp" or "[warp]": + {chunk.live.%chunk at location of player%} is uuid of player: + line 2 of block is "town": + set line 1 of block to "[WARP]" + set line 2 of block to "TOWN" + stop + send "&cYou can not do that here!" to player + cancel event + +on right click on sign: + line 1 of block is "[WARP]": + line 2 of block is "TOWN": + {chunk.live.%chunk at location of player%} is not player: + {chunk.live.%chunk at location of player%} is not "Town": + send "&cYou can only do this on your own land!" to player + {chunk.live.%chunk at location of player%} is not set: + message "&cYou must do this on your land!" + stop + teleport player to {town.spawn} + +command /clearland []: + permission: obam.admin + trigger: + argument is not set: + message "Please enter a name." + stop + argument is not "confirm": + {db_name.%argument%} does not exist: + message "&cThat player does not exist or has not converted to UUID." + stop + message "&cYou have five seconds to use &7/clearland confirm &cto finish." + set {clearland.confirm} to argument + wait 5 seconds + delete {clearland.confirm} + argument is "confirm": + {clearland.confirm} is set: + set {_who} to {clearland.confirm} + send "&cPreparing to delete &e%size of {owned.chunks.%{db_name.%{_who}%}%::*}% &cchunks...." to player + wait 0.5 seconds + loop {owned.chunks.%{db_name.%{_who}%}%::*}: + set {_chunk} to {owned.chunks.%{db_name.%{_who}%}%::%loop-index-1%} + send "&cClearing chunk &e%loop-index-1%" to player + wait 0.5 seconds + clear {chunk.live.%{_chunk}%} + clear {chunk.name.%{_chunk}%} + loop {flags.%{_chunk}%::*}: + delete {flags.%{_chunk}%::loop-index-2::*} + delete {flags.%{_chunk}%::*} + send "&aChunk &e%loop-index-1% &acleared" to player + send "&cClearing Home spawn" to player + clear {home.%{db_name.%{_who}%}%.wild} + send "&cManginling variables" to player + set {claimedland.%{db_name.%{_who}%}%} to 0 + clear {owned.chunks.%{db_name.%{_who}%}%::*} + send "&aLand clear complete!" to player + stop + message "&cTo slow. Try again." + +command /travelmove: + permission: obam.free + trigger: + {chunk.live.%chunk at location of player%} is not set: + message "&cThis land has not been claimed." + stop + {chunk.live.%chunk at location of player%} is not uuid of player: + message "&cThis is not your land!" + stop + set {loc.chunks.%uuid of player%::%chunk at location of player%} to location of player + send "&aYour travel location for this area, has been moved" to player + +command /sethome: + permission: obam.free + trigger: + {chunk.live.%chunk at location of player%} is not set: + message "&cYou must do this on your land!" + stop + {chunk.live.%chunk at location of player%} is not uuid of player: + message "&cYou must do this on your land!" + stop + set {home.%uuid of player%.wild} to location of player + send "&aYour home has been set!" to player + +on command "/home": + cancel event + {chunk.live.%chunk at location of player%} is not player: + {chunk.live.%chunk at location of player%} is not "Town": + {flags.%chunk at location of player%::teleport::everyone} is not set: + set {flags.%chunk at location of player%::teleport::everyone} to false + {flags.%chunk at location of player%::teleport::%uuid of player%} is not set: + set {flags.%chunk at location of player%::teleport::%uuid of player%} to false + {flags.%chunk at location of player%::teleport::everyone} is false: + {flags.%chunk at location of player%::teleport::%uuid of player%} is false: + send "&cYou can only do this in Town, or on your own land!" to player + stop + {chunk.live.%chunk at location of player%} is not set: + message "&cYou must do this on your land!" + stop + teleport player to {home.%uuid of player%.wild} + +on command "/mv spawn": + cancel event + {chunk.live.%chunk at location of player%} is not player: + {chunk.live.%chunk at location of player%} is not "Town": + send "&cYou can only do this in Town, or on your own land!" to player + stop + {chunk.live.%chunk at location of player%} is not set: + message "&cYou must do this on your land!" + stop + teleport player to {home.%uuid of player%.wild} + +on command "/mvspawn": + cancel event + {chunk.live.%chunk at location of player%} is not player: + {chunk.live.%chunk at location of player%} is not "Town": + send "&cYou can only do this in Town, or on your own land!" to player + stop + {chunk.live.%chunk at location of player%} is not set: + message "&cYou must do this on your land!" + stop + teleport player to {home.%uuid of player%.wild} + +on bed enter: + set {bed.%uuid of event-player%.wild} to true + set {bed.owner.%event-block%} to uuid of event-player + +on break of a bed: + {bed.owner.%event-block%} is set: + clear {bed.%{bed.owner.%event-block%}%.wild} + clear {bed.owner.%event-block%} + +on respawn: + wait 1 second + execute console command "effect %event-player% clear" + {home.%uuid of player%.wild} is set: + {bed.%uuid of event-player%.wild} is set: + wait 1 second + stop + wait 0.3 seconds + teleport player to {home.%uuid of player%.wild} + +command /townclaim: + permission: obam.admin + trigger: + set {chunk.live.%chunk at location of player%} to "Town" + +command /owner : + permission: obam.admin + trigger: + {db_chunks.claim.count.%{db_name.%argument%}%} is not set: + set {db_chunks.claim.count.%{db_name.%argument%}%} to 0 + add 1 to {db_chunks.claim.count.%{db_name.%argument%}%} + set {chunk.live.%chunk at location of player%} to {db_name.%argument%} + add chunk at location of player to {owned.chunks.%{db_name.%argument%}%::*} + set {chunk.name.%chunk at location of player%} to "%{db_chunks.claim.count.%{db_name.%argument%}%}%" + set {loc.chunks.%{db_name.%argument%}%::%chunk at location of player%} to location of player + message "&6%argument% now owns this Front." + send "&cPlease remember to adjust for tickets!" + +on command "/spawn": + {chunk.live.%chunk at location of player%} is not player: + {chunk.live.%chunk at location of player%} is not "Town": + send "&cYou can only do this in Town, or on your own land!" to player + cancel event + stop + {chunk.live.%chunk at location of player%} is not set: + message "&cYou must do this on your land!" + cancel event + stop + +on bucket fill: + {chunk.live.%chunk at location of player%} is set: + {chunk.live.%chunk at location of player%} is not player: + {flags.%chunk at location of player%::bucket::everyone} is not set: + set {flags.%chunk at location of player%::bucket::everyone} to false + {flags.%chunk at location of player%::bucket::%uuid of player%} is not set: + set {flags.%chunk at location of player%::bucket::%uuid of player%} to false + {flags.%chunk at location of player%::bucket::everyone} is false: + {flags.%chunk at location of player%::bucket::%uuid of player%} is true: + stop + {flags.%chunk at location of player%::bucket::everyone} is true: + stop + targeted block is water: + {flags.%chunk at location of player%::bucketwater::everyone} is true: + stop + {flags.%chunk at location of player%::bucketwater::%uuid of player%} is true: + stop + targeted block is lava: + {flags.%chunk at location of player%::bucketlava::everyone} is true: + stop + {flags.%chunk at location of player%::bucketlava::%uuid of player%} is true: + stop + send "&cYou do not have permission to do this!" + cancel event + +on bucket empty: + {chunk.live.%chunk at location of player%} is set: + {chunk.live.%chunk at location of player%} is not player: + {chunk.live.%chunk at location of player%.%uuid of player%} is not set: + {flags.%chunk at location of player%::bucket::everyone} is not set: + set {flags.%chunk at location of player%::bucket::everyone} to false + {flags.%chunk at location of player%::bucket::%uuid of player%} is not set: + set {flags.%chunk at location of player%::bucket::%uuid of player%} to false + {flags.%chunk at location of player%::bucket::everyone} is false: + {flags.%chunk at location of player%::bucket::%uuid of player%} is true: + stop + {flags.%chunk at location of player%::bucket::everyone} is true: + stop + player's tool is water bucket: + {flags.%chunk at location of player%::bucketwater::everyone} is true: + stop + {flags.%chunk at location of player%::bucketwater::%uuid of player%} is true: + stop + player's tool is lava bucket: + {flags.%chunk at location of player%::bucketlava::everyone} is true: + stop + {flags.%chunk at location of player%::bucketlava::%uuid of player%} is true: + stop + send "&cYou do not have permission to do this!" + cancel event + +command /claimedset : + permission: obam.admin + trigger: + set {claimedland.%{db_name.%player-arg%}%} to argument 2 + send "&e%player-arg%&a claimed balance set to &e%argument 2%" + +command /frontlandadd : + permission: obam.admin + trigger: + {availibleland.%{db_name.%argument 1%}%} is not set: + set {availibleland.%{db_name.%argument 1%}%} to 1 + add argument 2 to {availibleland.%{db_name.%argument 1%}%} + log "%date%%argument 2% plots added to %argument 1%'s availible land. Their number is now %{availibleland.%{db_name.%argument 1%}%}" to "logs/fronts/LAND-ADDITIONS.log" + +on first join: + teleport player to {town.spawn} + +on spawn: + {chunk.live.%chunk at event-location%} is "Town": + cancel event diff --git a/OBAM-Survival Games/Obam-Fronts/lightbow.sk b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/lightbow.g.sk similarity index 99% rename from OBAM-Survival Games/Obam-Fronts/lightbow.sk rename to OBAM-Survival Games/Obam-Fronts/Tested and Moved/lightbow.g.sk index 331d733..ad52016 100644 --- a/OBAM-Survival Games/Obam-Fronts/lightbow.sk +++ b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/lightbow.g.sk @@ -9,7 +9,6 @@ command /lightbow: trigger: give player 1 {@lightbow} send "&aHere is your thing" - on right click with bow: name of player's tool contains "&3Bow of Light": @@ -49,4 +48,3 @@ on right click with bow: set block north of {_block} to torch remove 1 torch from player stop - diff --git a/OBAM-Survival Games/Obam-Fronts/eggification.sk b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/projeggtiles.g.sk similarity index 88% rename from OBAM-Survival Games/Obam-Fronts/eggification.sk rename to OBAM-Survival Games/Obam-Fronts/Tested and Moved/projeggtiles.g.sk index 51eeb0a..ad5903d 100644 --- a/OBAM-Survival Games/Obam-Fronts/eggification.sk +++ b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/projeggtiles.g.sk @@ -87,39 +87,32 @@ on join: clear {db_egg.%player%.zombie} on shoot: - projectile is snowball - shooter's tool is {@egg}: - set {projeggtile.%projectile%} to true - -on shoot: - projectile is snowball - shooter's tool is {@egg2}: - set {projeggtile.hostile.%projectile%} to true - set {creeper.%projectile%} to true - shooter's tool is {@egg3}: - set {projeggtile.hostile.%projectile%} to true - set {skeleton.%projectile%} to true - shooter's tool is {@egg4}: - set {projeggtile.hostile.%projectile%} to true - set {pigman.%projectile%} to true - shooter's tool is {@egg5}: - set {projeggtile.hostile.%projectile%} to true - set {zombie.%projectile%} to true - shooter's tool is {@egg6}: - set {projeggtile.hostile.%projectile%} to true - set {spider.%projectile%} to true + projectile is snowball: + shooter's tool is {@egg}: + set {projeggtile.%projectile%} to true + shooter's tool is {@egg2}: + set {projeggtile.hostile.%projectile%} to true + set {creeper.%projectile%} to true + shooter's tool is {@egg3}: + set {projeggtile.hostile.%projectile%} to true + set {skeleton.%projectile%} to true + shooter's tool is {@egg4}: + set {projeggtile.hostile.%projectile%} to true + set {pigman.%projectile%} to true + shooter's tool is {@egg5}: + set {projeggtile.hostile.%projectile%} to true + set {zombie.%projectile%} to true + shooter's tool is {@egg6}: + set {projeggtile.hostile.%projectile%} to true + set {spider.%projectile%} to true on damage of a creeper or a skeleton or a zombie or a zombie pigman or a spider: attacker is a player: {projeggtile.hostile.%projectile%} is set: - if {chunk.live.%chunk at location of victim%} is not attacker: - {chunk.live.%chunk at location of victim%.%attacker%} is not set: - send "&cYou can not steal animals! D:" to attacker - stop - {chunk.live.%chunk at location of victim%.%attacker%} is false: - send "&cYou can not steal animals! D:" to attacker - stop + {chunk.live.%chunk at location of victim%} is not attacker: + send "&cYou can not steal animals! D:" to attacker + stop set {_player} to "%attacker%" parsed as player set {_bal} to attacker's balance {_bal} is less than 150: @@ -141,10 +134,6 @@ on damage of a creeper or a skeleton or a zombie or a zombie pigman or a spider: give attacker {@egg6} stop subtract 150 from attacker's balance - - - - victim is a zombie: {zombie.%projectile%} is not set: set {_loc} to location of victim @@ -155,7 +144,6 @@ on damage of a creeper or a skeleton or a zombie or a zombie pigman or a spider: send "&cThe strength of that Projeggtile was not rated for this Mob!" to attacker add 150 to attacker's balance stop - set {_egg} to zombie spawn egg set {_mob.name} to "zombie" victim is a creeper: @@ -207,8 +195,6 @@ on damage of a creeper or a skeleton or a zombie or a zombie pigman or a spider: stop set {_egg} to spider spawn egg set {_mob.name} to "spider" - - display name of victim is not set: cancel event attacker doesn't have space for {_egg}: @@ -217,7 +203,7 @@ on damage of a creeper or a skeleton or a zombie or a zombie pigman or a spider: give attacker {_egg} delete victim set {_top} to size of {pegg.messages.capture::*} - set {_ran} to random integer between 1 and {_top} + set {_ran} to random integer between 0.5 and {_top} send "&aYou have spent &e150&a tickets on capturing a creature!" to attacker log "%attacker%^%{_bal}%^DEDUCT^150^%attacker's balance%^CREATURE CAPTURE FEE - HOSTILE" to "tickets/CREATURECAPTURE.log" loop {pegg.messages.capture::*}: @@ -232,7 +218,7 @@ on damage of a creeper or a skeleton or a zombie or a zombie pigman or a spider: cancel event set {_top} to size of {pegg.messages.capture::*} - set {_ran} to random integer between 1 and {_top} + set {_ran} to random integer between 0.5 and {_top} send "&aYou have spent &e150&a tickets on capturing a creature!" to attacker send "&aYou have &e%attacker's balance%&a remaining." to attacker log "%attacker%^%{_bal}%^DEDUCT^150^%attacker's balance%^CREATURE CAPTURE FEE - HOSTILE" to "tickets/CREATURECAPTURE.log" @@ -252,22 +238,12 @@ on damage of a creeper or a skeleton or a zombie or a zombie pigman or a spider: delete victim stop - - - - on damage of a pig or chicken or ocelot or squid or cow or bat or wolf or sheep or horse or donkey or mule or mooshroom: attacker is a player: {projeggtile.%projectile%} is set: - if {chunk.live.%chunk at location of victim%} is not attacker: - {chunk.live.%chunk at location of victim%.%attacker%} is not set: - send "&cYou can not steal animals! D:" to attacker - stop - {chunk.live.%chunk at location of victim%.%attacker%} is false: - send "&cYou can not steal animals! D:" to attacker - stop + {chunk.live.%chunk at location of victim%} is not attacker: + stop set {_player} to "%attacker%" parsed as player - set {_bal} to attacker's balance {_bal} is less than 5: send "&cYou do not have enought tickets!" to attacker @@ -278,8 +254,6 @@ on damage of a pig or chicken or ocelot or squid or cow or bat or wolf or sheep send "&aYou have spent &e5&a tickets on capturing a creature!" to attacker send "&aYou have &e%attacker's balance%&a remaining." to attacker log "%attacker%^%{_bal}%^DEDUCT^5^%{_player}'s balance%^CREATURE CAPTURE FEE" to "tickets/CREATURECAPTURE.log" - - victim is a pig: set {_egg} to pig spawn egg set {_mob.name} to "pig" @@ -293,9 +267,9 @@ on damage of a pig or chicken or ocelot or squid or cow or bat or wolf or sheep set {_egg} to squid spawn egg set {_mob.name} to "squid" victim is cow: - victim is not mooshroom - set {_egg} to cow spawn egg - set {_mob.name} to "cow" + victim is not mooshroom: + set {_egg} to cow spawn egg + set {_mob.name} to "cow" victim is bat: set {_egg} to bat spawn egg set {_mob.name} to "bat" @@ -311,9 +285,6 @@ on damage of a pig or chicken or ocelot or squid or cow or bat or wolf or sheep victim is horse or mule or donkey: set {_egg} to horse spawn egg set {_mob.name} to "horse" - - - display name of victim is not set: cancel event attacker doesn't have space for {_egg}: @@ -322,7 +293,7 @@ on damage of a pig or chicken or ocelot or squid or cow or bat or wolf or sheep give attacker {_egg} delete victim set {_top} to size of {pegg.messages.capture::*} - set {_ran} to random integer between 1 and {_top} + set {_ran} to random integer between 0.5 and {_top} loop {pegg.messages.capture::*}: {_loop.count} is not set: set {_loop.count} to 0 @@ -332,10 +303,9 @@ on damage of a pig or chicken or ocelot or squid or cow or bat or wolf or sheep replace "MOB" in {_message} with "%{_mob.name}%" send "&e%{_message}%" to attacker stop - cancel event set {_top} to size of {pegg.messages.capture::*} - set {_ran} to random integer between 1 and {_top} + set {_ran} to random integer between 0.5 and {_top} loop {pegg.messages.capture::*}: {_loop.count} is not set: set {_loop.count} to 0 @@ -352,9 +322,7 @@ on damage of a pig or chicken or ocelot or squid or cow or bat or wolf or sheep delete victim stop - on death of a creeper or a zombie or a silverfish or a witch or a spider or magma cube or wither skeleton or skeleton or enderman or cave spider or slime or ghast or zombie pigman: - chance of 20%: add {@egg} to drops clear {player.hit.%event-entity%} diff --git a/OBAM-Survival Games/Obam-Fronts/shop.sk b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/shop.fronts.sk similarity index 50% rename from OBAM-Survival Games/Obam-Fronts/shop.sk rename to OBAM-Survival Games/Obam-Fronts/Tested and Moved/shop.fronts.sk index 2f8f723..403199e 100644 --- a/OBAM-Survival Games/Obam-Fronts/shop.sk +++ b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/shop.fronts.sk @@ -1,9 +1,17 @@ #shop for Fronts on script load: + delete {db_shop.items::*} set {db_shop.items::Front Slot} to "i;grass;n;&a&b&k&a&3Front Slot;l;&6Purchase one Front Slot, which allows you the||&6ability to claim protected land.|| ||&5&oClick to purchase|| ||&3&lCost:||&e10,000 Tickets;c;sudo PLAYER shop land" - set {db_shop.items::Front Tlot} to "i;5 grass;n;&a&b&k&a&3Front Slot Bundle;l;&6Purchase five Front Slots, which allows you the||&6ability to claim protected land.|| ||&5&oClick to purchase|| ||&3&lCost:||&e45,000 Tickets;c;sudo PLAYER shop bundle" + set {db_shop.items::Front Bundle} to "i;5 grass;n;&a&b&k&a&3Front Slot Bundle;l;&6Purchase five Front Slots, which allows you the||&6ability to claim protected land.|| ||&5&oClick to purchase|| ||&3&lCost:||&e45,000 Tickets;c;sudo PLAYER shop bundle" + set {db_shop.items::Timber Axe} to "i;diamond axe;n;&a&b&k&a&3Timber Axe;l;&6This axe makes all logs within a 10 block radius||&6go timber!|| ||&2StickyItem ©|| ||&5&oClick to purchase|| ||&3&lCost:||&e5,000 Tickets;c;sudo PLAYER timberpurchase" + set {db_shop.items::HotTouch Pick} to "i;diamond pickaxe;n;&a&b&k&a&3HotTouch Pickaxe;l;&6A pickaxe forged from the heart of the Nether||&6with an intense heat to smelt ores while mining.|| ||&2StickyItem ©|| ||&5&oClick to purchase|| ||&3&lCost:||&e7,500 Tickets;c;sudo PLAYER hottouchpurchase pick" + set {db_shop.items::HotTouch Axe} to "i;diamond axe;n;&a&b&k&a&3HotTouch Axe;l;&6An axe forged from the heart of the Nether||&6with an intense heat to cook logs into charcoal||&6while chopping.|| ||&2StickyItem ©|| ||&5&oClick to purchase|| ||&3&lCost:||&e5,000 Tickets;c;sudo PLAYER hottouchpurchase axe" + set {db_shop.items::HotTouch Shovel} to "i;diamond shovel;n;&a&b&k&a&3HotTouch Shovel;l;&6A shovel forged from the heart of the Nether||&6with an intense heat to cook sand clay and||&6cactus while digging.|| ||&2StickyItem ©|| ||&5&oClick to purchase|| ||&3&lCost:||&e10,000 Tickets;c;sudo PLAYER hottouchpurchase shovel" + + + command /shop []: permission: obam.free trigger: @@ -32,7 +40,7 @@ command /shop []: send "&cYou do not have enough tickets!" to player stop subtract 10000 from player's balance - add 1 to {availableland.%player%} + add 1 to {db_availableland.%uuid of player%} send "&aYou have purchased &e1 Land Slot&a for &e10,000 Tickets" to player send "&aYou have &e%player's balance%&a remaining" to player argument is "bundle": @@ -41,27 +49,6 @@ command /shop []: send "&cYou do not have enough tickets!" to player stop subtract 45000 from player's balance - add 5 to {availableland.%player%} + add 5 to {db_availableland.%uuid of player%} send "&aYou have purchased &e5 Land Slots&a for &e45,000 Tickets" to player send "&aYou have &e%player's balance%&a remaining" to player - -command /shopfixerupper: - permission: obam.admin - trigger: - delete {db_shop.items::*} - message "Tis gone, my lord!" - -command /shoploop: - permission: obam.admin - trigger: - set {_num} to 0 - loop {db_shop.items::*}: - add 1 to {_num} - set {_what} to loop-index - message "%{_num}% %{_what}%" -command /shopdelete []: - permission: obam.admin - trigger: - set {_num} to argument 1 - delete {db_shop.items::%{_num}%} - message "%{_num}% should be gone, do /shoploop to see" \ No newline at end of file diff --git a/OBAM-Survival Games/Obam-Fronts/soulbound.sk b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/soulbound.g.sk similarity index 79% rename from OBAM-Survival Games/Obam-Fronts/soulbound.sk rename to OBAM-Survival Games/Obam-Fronts/Tested and Moved/soulbound.g.sk index baa8ff1..34b83b3 100644 --- a/OBAM-Survival Games/Obam-Fronts/soulbound.sk +++ b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/soulbound.g.sk @@ -1,29 +1,29 @@ on death of a player: loop drops: - lore of loop-item contains "&2StickyItem ©" - name of loop-item contains "&a&b&k&a" - add loop-item to {soulbound.%player%::*} - remove loop-item from drops + lore of loop-item contains "&2StickyItem ©": + name of loop-item contains "&a&b&k&a": + add loop-item to {soulbound.%uuid of player%::*} + remove loop-item from drops on respawn: wait 1 tick - {soulbound.%player%::*} is set - loop {soulbound.%player%::*}: - player has space for loop-value: - give player loop-value - clear {soulbound.%player%::%loop-index%} - {soulbound.%player%::*} exists: + {soulbound.%uuid of player%::*} is set: + loop {soulbound.%uuid of player%::*}: + player has space for loop-value: + give player loop-value + clear {soulbound.%uuid of player%::%loop-index%} + {soulbound.%uuid of player%::*} exists: set {_count} to 0 - loop {soulbound.%player%::*}: + loop {soulbound.%uuid of player%::*}: add 1 to {_count} send "&cYou have &f%{_count}% &cSticky Items that can be claimed using &f/stickyitem claim" to player send "&cPlease open up some inventory space." to player every 1 minute: loop all players: - {soulbound.%loop-player%::*} exists: + {soulbound.%uuid of loop-player%::*} exists: set {_count} to 0 - loop {soulbound.%loop-player%::*}: + loop {soulbound.%uuid of loop-player%::*}: add 1 to {_count} send "&cYou have &f%{_count}% &cSticky Items that can be claimed using &f/stickyitem claim" to loop-player send "&cPlease open up some inventory space." to loop-player @@ -39,14 +39,14 @@ command /stickyitem []: send "&a/stickyitem mod - will sticky an item without the ticket cost." argument 1 is "claim" or "c": set {_count1} to 0 - loop {soulbound.%player%::*}: + loop {soulbound.%uuid of player%::*}: player has space for loop-value: give player loop-value add 1 to {_count1} - clear {soulbound.%player%::%loop-index%} - {soulbound.%player%::*} exists: + clear {soulbound.%uuid of player%::%loop-index%} + {soulbound.%uuid of player%::*} exists: set {_count2} to 0 - loop {soulbound.%player%::*}: + loop {soulbound.%uuid of player%::*}: add 1 to {_count2} send "&cYou have claimed &f%{_count1}% &citems from your Sticky Queue. You still have &f%{_count2}% &citems in the Queue." stop @@ -56,14 +56,14 @@ command /stickyitem []: {_bal} is less than 10000: send "&cYou do not have enough tickets for this!" stop - remove 10000 from player's balance + lore of player's tool contains "&2StickyItem ©": + send "&cThis is already a &2StickyItem ©" + stop name of player's tool is set: set name of player's tool to "&a&b&k&a%name of player's tool%" name of player's tool is not set: set name of player's tool to "&a&b&k&a%type of player's tool%" - lore of player's tool contains "&2StickyItem ©": - send "&cThis is already a &2StickyItem ©" - stop + remove 10000 from player's balance set lore of player's tool to "%lore of player's tool%|| ||&2StickyItem ©" send "&aThank you for using &2StickyItem ©&a. Your item is now Stickied for a price of &e10000 Tickets&a!" send "&aYour balance is now &e%player's balance%&a." @@ -84,9 +84,8 @@ on enchant: send "&cYou can not enchant StickyItems!" cancel event stop - + on craft: lore of event-item contains "&2StickyItem ©": send "&cYou can not do that with a StickyItem!" cancel event - stop \ No newline at end of file diff --git a/OBAM-Survival Games/Obam-Fronts/Tested and Moved/timber.g.sk b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/timber.g.sk new file mode 100644 index 0000000..9ce84d3 --- /dev/null +++ b/OBAM-Survival Games/Obam-Fronts/Tested and Moved/timber.g.sk @@ -0,0 +1,54 @@ +options: + timber: diamond axe named "&a&b&k&a&3Timber Axe" with lore "&6This axe makes all logs within a 10 block radius||&6go timber!|| ||&2StickyItem ©" + +command /timberpurchase: + permission: obam.free + trigger: + set {_bal} to player's balance + {_bal} is less than 5000: + send "&cYou do not have enough tickets for this!" + stop + give player 1 {@timber} + remove 5000 from player's balance + send "&aYou have purchased a &eTimber Axe&a for &e5000 Tickets" + send "&aYour balance is now &e%player's balance%" + +command /timber: + permission: obam.smod + trigger: + give player 1 {@timber} + send "&aHere is your thing" + +on break of oak wood or birch wood or spruce wood or jungle wood or acacia wood or dark oak wood: + name of player's tool is "&a&b&k&a&3Timber Axe": + add location of event-block to {_wood.blocks::*} + loop blocks in radius 10 of event-block: + loop-block is oak wood or birch wood or spruce wood or jungle wood or acacia wood or dark oak wood: + {chunk.live.%chunk at location of loop-block%} is set: + {chunk.live.%chunk at location of loop-block%} is not player: + cancel event + send "&cYou are too close to others' land!" + stop + add location of loop-block to {_wood.blocks::*} + loop {_wood.blocks::*}: + set {_block} to block at loop-value + {_block} is oak wood: + set {_type} to oak log:0 + {_block} is birch wood: + set {_type} to birch log:2 + {_block} is spruce wood: + set {_type} to spruce log:1 + {_block} is jungle wood: + set {_type} to jungle log:3 + {_block} is acacia wood: + set {_type} to acacia log:0 + {_block} is dark oak wood: + set {_type} to dark oak log:1 + delete block at loop-value + drop 1 of {_type} at loop-value + damage player's tool by 1 + +on enchant: + name of event-item is "&a&b&k&a&3Timber Axe": + cancel event + send "&cYou can't do that dawg." \ No newline at end of file diff --git a/OBAM-Survival Games/Obam-Fronts/access.sk b/OBAM-Survival Games/Obam-Fronts/access.sk deleted file mode 100644 index 41c6839..0000000 --- a/OBAM-Survival Games/Obam-Fronts/access.sk +++ /dev/null @@ -1,122 +0,0 @@ -on right click on a chest or a door or a anvil or a lever or a button or a wood button or a furnace or a jukebox or a dropper or a hopper or a brewing stand or a dispenser or a beacon or a trapdoor or a fence gate or a trapped chest or a enchantment table or a repeater or a redstone comparator or a ender chest or a note block: - - {bypassland.%player%} is true: - stop - {chunk.live.%chunk at location of event-block%} is not event-player: - {chunk.live.%chunk at location of event-block%.%event-player%} is not set: - loop blocks in radius 2 of event-block: - loop-block is sign - chunk at location of event-block is chunk at location of loop-block - - line 1 of loop-block is "[ACCESS]": - line 2 of loop-block is "%event-player%" or "everyone": - stop - line 4 of loop-block is "%event-player%" or "everyone": - stop - line 3 of loop-block is "%event-player%" or "everyone": - stop - event-block is a chest or a furnace or a dispenser or a hopper or a brewing stand or a dropper or a trapped chest or a beacon: - {flags.%chunk at location of event-block%::container::%player%} is not set: - set {flags.%chunk at location of event-block%::container::%player%} to false - {flags.%chunk at location of event-block%::container::everyone} is not set: - set {flags.%chunk at location of event-block%::container::everyone} to false - {flags.%chunk at location of event-block%::container::everyone} is false: - {flags.%chunk at location of event-block%::container::%player%} is true: - stop - {flags.%chunk at location of event-block%::container::everyone} is true: - stop - - event-block is a door or a anvil or a note block or a lever or a button or a wood button or a jukebox or a trapdoor or a fence gate or a enchantment table or a redstone comparator or a repeater: - {flags.%chunk at location of event-block%::use::everyone} is not set: - set {flags.%chunk at location of event-block%::use::everyone} to false - {flags.%chunk at location of event-block%::use::%player%} is not set: - set {flags.%chunk at location of event-block%::use::%player%} to false - {flags.%chunk at location of event-block%::use::everyone} is false: - {flags.%chunk at location of event-block%::use::%player%} is true: - stop - {flags.%chunk at location of event-block%::use::everyone} is true: - stop - cancel event - send "&cYou do not have permission to do this." to event-player - - - - - cancel event - -on right click on a anvil: - delete event-block - set event-block to anvil - - - - -on sign change: - line 1 of block is "access" or "[access]": - set line 1 of block to "[ACCESS]" - -on bed enter: - {chunk.live.%chunk at location of event-block%} is not event-player: - {chunk.live.%chunk at location of event-player%.%event-player%} is not set: - {flags.%chunk at location of player%::use::everyone} is not set: - set {flags.%chunk at location of player%::use::everyone} to false - {flags.%chunk at location of player%::use::%player%} is not set: - set {flags.%chunk at location of player%::use::%player%} to false - {flags.%chunk at location of player%::use::everyone} is false: - {flags.%chunk at location of player%::use::%player%} is true: - stop - {flags.%chunk at location of player%::use::everyone} is true: - stop - cancel event - send "&cYou can not do that here!" to event-player - - -on right click on painting: - if {bypassland.%player%} is true: - stop - if {chunk.live.%chunk at location of block%} is set: - if {chunk.live.%chunk at location of block%.%player%} is true: - stop - message "&cThis land is owned by %{chunk.live.%chunk at location of block%}%." - cancel event - -on damage of a painting: - if {bypassland.%attacker%} is true: - stop - if {chunk.live.%chunk at location of attacker%} is not attacker: - if {chunk.live.%chunk at location of attacker%.%attacker%} is true: - stop - {flags.%chunk at location of attacker%::build::everyone} is not set: - set {flags.%chunk at location of attacker%::build::everyone} to false - {flags.%chunk at location of attacker%::build::%attacker%} is not set: - set {flags.%chunk at location of attacker%::build::%attacker%} to false - {flags.%chunk at location of attacker%::build::everyone} is false: - {flags.%chunk at location of attacker%::build::%attacker%} is true: - stop - {flags.%chunk at location of attacker%::build::everyone} is true: - stop - message "&cThis land is owned by %{chunk.live.%chunk at location of attacker%}%." - cancel event - -on right click on hopper minecart: - if {bypassland.%player%} is true: - stop - if {chunk.live.%chunk at location of block%} is set: - if {chunk.live.%chunk at location of block%.%player%} is true: - stop - message "&cThis land is owned by %{chunk.live.%chunk at location of block%}%." - cancel event -on right click on storage minecart: - if {bypassland.%player%} is true: - stop - if {chunk.live.%chunk at location of block%} is set: - if {chunk.live.%chunk at location of block%.%player%} is true: - stop - message "&cThis land is owned by %{chunk.live.%chunk at location of block%}%." - cancel event - - - - - - \ No newline at end of file diff --git a/OBAM-Survival Games/Obam-Fronts/ci.fronts.sk b/OBAM-Survival Games/Obam-Fronts/ci.fronts.sk deleted file mode 100644 index cddeac0..0000000 --- a/OBAM-Survival Games/Obam-Fronts/ci.fronts.sk +++ /dev/null @@ -1,57 +0,0 @@ -on script load: - set {db_ci.items::01.Crude Pack} to "i;ink sack;n;&a&b&k&a&3Crude Pack;l;&6The crude version of||&6the backpack;c;sudo PLAYER bp g crudepack 1" - set {db_ci.items::02.Ender Pack} to "i;ender pearl;n;&a&b&k&a&3EnderPack;l;&6Open your Ender Chest||&6anywhere!|| ||&5&oRight Click to open||&5&oYour portable Ender Chest;c;sudo PLAYER bp g enderpack 1" - set {db_ci.items::03.capture.ball} to "i;snowball;n;&3Projeggtile Capture Ball;l;&6Capture the essence of various creatures||&6by tossing your balls at them.;c;sudo PLAYER cb capture 1" - set {db_ci.items::04.creeper.ball} to "i;snowball;n;&3Projeggtile &2Creeper &3Ball;l;&6Heavily reinforced to prevent even the||&6most explosive creepers from escaping!;c;sudo PLAYER cb creeper 1" - set {db_ci.items::05.skeleton.ball} to "i;snowball;n;&3Projeggtile &7Skeleton &3Ball;l;&6An ironic prison of bones made to hold||&6a skeleton, made from its own kin!;c;sudo PLAYER cb skeleton 1" - set {db_ci.items::06.zombie.ball} to "i;snowball;n;&3Projeggtile &aZombie &3Ball;l;&6Layered in flesh to make even the||&6loneliest zombie feel at home!;c;sudo PLAYER cb zombie 1" - set {db_ci.items::07.pigman.ball} to "i;snowball;n;&3Projeggtile &aZombie &dPigman &3Ball;l;&6A containment area with a nugget inside||&6to lure and keep the pigman content!;c;sudo PLAYER cb pigman 1" - set {db_ci.items::08.spider.ball} to "i;snowball;n;&3Projeggtile &4Spider &3Ball;l;&6Tangles an eight legged bugger||&6into a silky woven sack!;c;sudo PLAYER cb spider 1" - set {db_ci.items::09.blank} to "i;air" - set {db_ci.items::10.Crude Pack} to "i;16 ink sack;n;&a&b&k&a&3Crude Pack;l;&6The crude version of||&6the backpack;c;sudo PLAYER bp g crudepack 16" - set {db_ci.items::11.Ender Pack} to "i;16 ender pearl;n;&a&b&k&a&3EnderPack;l;&6Open your Ender Chest||&6anywhere!|| ||&5&oRight Click to open||&5&oYour portable Ender Chest;c;sudo PLAYER bp g enderpack 16" - set {db_ci.items::12.capture.ball} to "i;16 snowball;n;&3Projeggtile Capture Ball;l;&6Capture the essence of various creatures||&6by tossing your balls at them.;c;sudo PLAYER cb capture 16" - set {db_ci.items::13.creeper.ball} to "i;16 snowball;n;&3Projeggtile &2Creeper &3Ball;l;&6Heavily reinforced to prevent even the||&6most explosive creepers from escaping!;c;sudo PLAYER cb creeper 16" - set {db_ci.items::14.skeleton.ball} to "i;16 snowball;n;&3Projeggtile &7Skeleton &3Ball;l;&6An ironic prison of bones made to hold||&6a skeleton, made from its own kin!;c;sudo PLAYER cb skeleton 16" - set {db_ci.items::15.zombie.ball} to "i;16 snowball;n;&3Projeggtile &aZombie &3Ball;l;&6Layered in flesh to make even the||&6loneliest zombie feel at home!;c;sudo PLAYER cb zombie 16" - set {db_ci.items::16.pigman.ball} to "i;16 snowball;n;&3Projeggtile &aZombie &dPigman &3Ball;l;&6A containment area with a nugget inside||&6to lure and keep the pigman content!;c;sudo PLAYER cb pigman 16" - set {db_ci.items::17.spider.ball} to "i;16 snowball;n;&3Projeggtile &4Spider &3Ball;l;&6Tangles an eight legged bugger||&6into a silky woven sack!;c;sudo PLAYER cb spider 16" - set {db_ci.items::18.blank} to "i;air" - set {db_ci.items::19.Crude Pack} to "i;64 ink sack;n;&a&b&k&a&3Crude Pack;l;&6The crude version of||&6the backpack;c;sudo PLAYER bp g crudepack 64" - set {db_ci.items::20.Ender Pack} to "i;64 ender pearl;n;&a&b&k&a&3EnderPack;l;&6Open your Ender Chest||&6anywhere!|| ||&5&oRight Click to open||&5&oYour portable Ender Chest;c;sudo PLAYER bp g enderpack 64" - set {db_ci.items::21.TA} to "i;diamond axe;n;&a&b&k&a&3Timber Axe;l;&6This axe makes all logs within a 10 block radius||&6go timber!;c;sudo PLAYER timber" - set {db_ci.items::22.LB} to "i;bow;n;&3Bow of Light;l;&6Light your way from afar||&6with this magical bow.|| ||&c-1 Torch Per Use;c;sudo PLAYER lightbow" - set {db_ci.items::23.HTP} to "i;diamond pickaxe;n;&a&b&k&a&3HotTouch Pickaxe;l;&6A pickaxe forged from the heart of the Nether||&6with an intense heat to smelt ores while mining.;c;sudo PLAYER ht pick" - set {db_ci.items::24.HTA} to "i;diamond axe;n;&a&b&k&a&3HotTouch Axe;l;&6An axe forged from the heart of the Nether||&6with an intense heat to cook logs into charcoal||&6while chopping.;c;sudo PLAYER ht axe" - set {db_ci.items::25.HTS} to "i;diamond shovel;n;&a&b&k&a&3HotTouch Shovel;l;&6A shovel forged from the heart of the Nether||&6with an intense heat to cook sand clay and||&6cactus while digging.;c;sudo PLAYER ht shovel" - set {db_ci.items::26.blank} to "i;air" - set {db_ci.items::27.blank} to "i;air" - -command /cleardbci: - permission: obam.admin - trigger: - delete {db_ci.items::*} - message "You have cleared all /ci flags, please reload ci.sk to fix them." - -command /ci: - permission: obam.smod - trigger: - loop {db_ci.items::*}: - {_count} is not set: - set {_count} to 0 - add 1 to {_count} - {_chest} is set: - set {_chest} to "%{_chest}%;s;%{_count}%;%loop-value%" - {_chest} is not set: - set {_chest} to "s;%{_count}%;%loop-value%" - replace "PLAYER" in {_chest} with "%player%" - {_count} is less than 10: - set {_size} to 1 - {_count} is greater than 9: - set {_size} to 2 - {_count} is greater than 18: - set {_size} to 3 - {_count} is greater than 27: - set {_size} to 4 - show {_chest} with {_size} rows named "&1Custom Items" to player - diff --git a/OBAM-Survival Games/Obam-Fronts/disenchant.sk b/OBAM-Survival Games/Obam-Fronts/disenchant.sk deleted file mode 100644 index b0a7941..0000000 --- a/OBAM-Survival Games/Obam-Fronts/disenchant.sk +++ /dev/null @@ -1,29 +0,0 @@ -command /unenchant: - executable by: players - permission: obam.free - aliases: /disenchant - trigger: - player's tool is enchanted - player's tool is not a sword or axe or pickaxe or shovel or bow or helmet or chestplate or leggings or boots: - message "&cYou may only disenchant Armour, Weapons or Tools!" to player - stop - - - set {_bal} to player's balance - {_bal} is less than 200: - send "&cYou do not have enough tickets to do this!" to player - stop - player's level is less than 15: - - send "&cYou must have at least 15 levels to do this!" to player - stop - disenchant player's tool - - reduce the player's level by 15 - - remove 200 from player's balance - send "&6&lThe Gods have taken their gifts back!" to player - send "&aYou have used &e200 Tickets&a to disenchant this tool" to player - send "&aYou have &e%player's balance%&a remaining" to player - log "%player%^%{_bal}%^DEDUCT^200^%player's balance%^DISENCHANT FEE" to "tickets/disenchant.log" - stop diff --git a/OBAM-Survival Games/Obam-Fronts/flags.sk b/OBAM-Survival Games/Obam-Fronts/flags.sk deleted file mode 100644 index 031bdbc..0000000 --- a/OBAM-Survival Games/Obam-Fronts/flags.sk +++ /dev/null @@ -1,386 +0,0 @@ -options: - build: i;diamond pickaxe;n;&7Build Flag;l;&5Click this icon to open||&5the Build flags menu. Of||&5enable/disable all flags||&5with the button bleow;c;sudo %player% flags buildmenu %{_target}% - admin: i;nether star;n;&7Admin Flag;l;&5Click this icon to open||&5the admin flags menu. Or||&5enable/disable all flags||&5With the button below;c;sudo %player% flags adminmenu %{_target}% - - - - - use: i;stone button;n;&7Use Flag;l;&5Click this icon to open||&5the Use flags menu. Or||&5enable/disable all flags||&5with the button below;c;sudo %player% flags usemenu %{_target}% - usedoor: i;wooden door;n;&7Use - Door;l;&5Click the button below||&5to enable/disable||&5the &eDoor Use&5 flag||&5on this front - useanvil: i;anvil;n;&7Use - Anvil;l;&5Click the button below||&5to enable/disable||&5the &eAnvil Use&5 flag||&5on this front - usenote: i;note block;n;&7Use - Noteblock;l;&5Click the button below||&5to enable/disable||&5the &eNoteblock Use&5flag||&5on this front - usejuke: i;jukebox;n;&7Use - Jukebox;l;&5Click the button below||&5to enable/disable||&5the &eJukebox Use&5 flag||&5on this front - uselever: i;lever;n;&7Use - Lever;l;&5Click the button below||&5to enable/disable||&5the &eLever Use&5 flag||&5on this front - usebutton: i;stone button;n;&7Use - Button;l;&5Click the button below||&5to enable/disable||&5the &eButton Use&5 flag||&5on this front - usewbutton: i;wood button;n;&7Use - Wood Button;l;&5Click the button below||&5to enable/disable||&5the &eWood Button Use&5 flag||&5on this front - usetrap: i;trapdoor;n;&7Use - Trap Door;l;&5Click the button below||&5to enable/disable||&5the &eTrap Door Use&5 flag||&5on this front - usefence: i;fence gate;n;&7Use - Fence Gate;l;&5Click the button below||&5to enable/disable||&5the &eFence Gate Use&5 flag||&5on this front - useenchant: i;enchantment table;n;&7Use - Enchantment Table;l;&5Click the button below||&5to enable/disable||&5the &eEnchant Table Use&5 flag||&5on this front - usecomparator: i;redstone comparator;n;&7Use - Comparator;l;&5Click the button below||&5to enable/disable||&5the &eComparator Use&5 flag||&5on this front - userepeater: i;repeater;n;&7Use - Repeater;l;&5Click the button below||&5to enable/disable||&5the &eRepeater Use&5 flag||&5on this front - - - - container: i;chest;n;&7Container Flag;l;&5Click this icon to open||&5the Container flags menu. Or||&5enable/disable all flags||&5with the button below;c;sudo %player% flags containermenu %{_target}% - - - bucket: i;bucket;n;&7Bucket Flag;l;&5Click this icon to open||&5the Bucket flags menu. Or||&5enable/disable all flags||&5with the button below;c;sudo %player% flags bucketmenu %{_target}% - bucketwater: i;water bucket;n;&7Bucket Flag - Water;l;&5Click the button below||&5to disable/enable||&5the &eWater Bucket&5flag||&5on this front - bucketlava: i;lava bucket;n;&7Bucket Flag - Lava;l;&5Click the button below||&5to disable/enable||&5the &eLava Bucket&5 flag||&5for this front - - - - - teleport: i;portal;n;&7Teleport Flag;l;&5Click this icon to open||&5the Teleport flags menu. Or||&5enable/disable all flags||&5with the button below;c;sudo %player% flags teleportmenu %{_target}% - entity: i;sheep spawn egg;n;&7Entity Flag;l;&5click this icon to open||&5the entity flags menu. Or||&5enable/disable all flags||&5with the button below;c;sudo %player% flags entityment %{_target}% - - - - - - all: i;lever;n;&7All Flags;l;&5Click the button below||&5to disable/enable||&5all flags. If any||&5flag is enabled, it||&5disable all flags - flow: i;water;n;&7Flow;l;&5Click the button below||&5to disable/enable||&5the &eFlow&5 flag on||&5this front - firespread: i;fire;n;&7Firespread;l;&5Click the button below||&5to disable/enable||&5the &eFirespread&5 flag on||&5this front - - - -command /flags [] [] []: - permission: obam.free - trigger: - argument 1 is not set: - execute console command "sudo %player% flags Everyone" - stop - - argument 1 is "front": - - {flags.%chunk at location of player%::flow} is not set: - set {flags.%chunk at location of player%::flow} to true - {flags.%chunk at location of player%::flow} is true: - set {_state.flow} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eFlow&5 flag for this||&5front;c;sudo %player% flags set front flow" - {flags.%chunk at location of player%::flow} is false: - set {_state.flow} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eFlow&5 flag for this||&5front;c;sudo %player% flags set front flow" - {flags.%chunk at location of player%::firespread} is not set: - set {flags.%chunk at location of player%::firespread} to true - {flags.%chunk at location of player%::firespread} is true: - set {_state.firespread} to "i;light green wool;n;&aEnabled;l;&5click to &cDisable||&5the &eFirespread&5 flag for this||&5front;c;sudo %player% flags set front firespread" - {flags.%chunk at location of player%::firespread} is false: - set {_state.firespread} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eFirespread&5 flag for this||&5front;c;sudo %player% flags set front firespread" - send "&aOpening Menu..." - wait 3 ticks - - show "s;1;{@flow};s;2;{@firespread};s;10;%{_state.flow}%;s;11;%{_state.firespread}%" with 3 rows named "&1Fronts Flags" to player - - - stop - - argument 1 is not "list" or "bucketmenu" or "adminmenu" or "usemenu" or "containermenu" or "buildmenu" or "set" or "teleportmenu": - - set {_target} to argument 1 - {flags.%chunk at location of player%::admin::%{_target}%} is not set: - set {flags.%chunk at location of player%::admin::%{_target}%} to false - {flags.%chunk at location of player%::admin::%{_target}%} is true: - set {_state.admin} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&eAdmin&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% admin" - {flags.%chunk at location of player%::admin::%{_target}%} is false: - set {_state.admin} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable&5||&eAdmin&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% admin" - - {flags.%chunk at location of player%::build::%{_target}%} is not set: - set {flags.%chunk at location of player%::build::%{_target}%} to false - {flags.%chunk at location of player%::build::%{_target}%} is true: - set {_state.build} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable&5||&eBuild&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% build" - {flags.%chunk at location of player%::build::%{_target}%} is false: - set {_state.build} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&eBuild&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% build" - - {flags.%chunk at location of player%::use::%{_target}%} is not set: - set {flags.%chunk at location of player%::use::%{_target}%} to false - {flags.%chunk at location of player%::use::%{_target}%} is true: - set {_state.use} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&eUse&5 flag for||&e%{_target}%&5;c;sudo %player% flags set %{_target}% use" - {flags.%chunk at location of player%::use::%{_target}%} is false: - set {_state.use} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable&5||&eUse&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% use" - - {flags.%chunk at location of player%::bucket::%{_target}%} is not set: - set {flags.%chunk at location of player%::bucket::%{_target}%} to false - {flags.%chunk at location of player%::bucket::%{_target}%} is true: - set {_state.bucket} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&eBucket&5 flag for||&e%{_target}%&5;c;sudo %player% flags set %{_target}% bucket" - {flags.%chunk at location of player%::bucket::%{_target}%} is false: - set {_state.bucket} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable&5||&eBucket&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% bucket" - - {flags.%chunk at location of player%::container::%{_target}%} is not set: - set {flags.%chunk at location of player%::container::%{_target}%} to false - {flags.%chunk at location of player%::container::%{_target}%} is true: - set {_state.container} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&eContainer&5 flag for||&e%{_target}%&5;c;sudo %player% flags set %{_target}% container" - {flags.%chunk at location of player%::container::%{_target}%} is false: - set {_state.container} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable&5||&eContainer&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% container" - - {flags.%chunk at location of player%::teleport::%{_target}%} is not set: - set {flags.%chunk at location of player%::teleport::%{_target}%} to false - {flags.%chunk at location of player%::teleport::%{_target}%} is true: - set {_state.teleport} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable&5||&eTeleport&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% teleport" - {flags.%chunk at location of player%::teleport::%{_target}%} is false: - set {_state.teleport} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable&5||&eTeleport&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% teleport" - - {flags.%chunk at location of player%::entity::%{_target}%} is not set: - set {flags.%chunk at location of player%::entity::%{_target}%} to false - {flags.%chunk at location of player%::entity::%{_target}%} is true: - set {_state.entity} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&eEntity&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% entity" - {flags.%chunk at location of player%::entity::%{_target}%} is false: - set {_state.entity} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&eEntity&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% entity" - - {flags.%chunk at location of player%::entity::%{_target}%} is true: - set {_state.all} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&call flags for||&e%{_target}%;c;sudo %player% flags set %{_target}% all" - {flags.%chunk at location of player%::use::%{_target}%} is true: - set {_state.all} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&call flags for||&e%{_target}%;c;sudo %player% flags set %{_target}% all" - {flags.%chunk at location of player%::container::%{_target}%} is true: - set {_state.all} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&call flags for||&e%{_target}%;c;sudo %player% flags set %{_target}% all" - {flags.%chunk at location of player%::teleport::%{_target}%} is true: - set {_state.all} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&call flags for||&e%{_target}%;c;sudo %player% flags set %{_target}% all" - {flags.%chunk at location of player%::build::%{_target}%} is true: - set {_state.all} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&call flags for||&e%{_target}%;c;sudo %player% flags set %{_target}% all" - {flags.%chunk at location of player%::admin::%{_target}%} is true: - set {_state.all} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&call flags for||&e%{_target}%;c;sudo %player% flags set %{_target}% all" - {flags.%chunk at location of player%::bucket::%{_target}%} is true: - set {_state.all} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&call flags for||&e%{_target}%;c;sudo %player% flags set %{_target}% all" - {_state.all} is not set: - set {_state.all} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&aall flags for||&e%{_target}%;c;sudo %player% flags set %{_target}% all" - - send "&aOpening Menu..." - wait 3 ticks - show "s;1;{@admin};s;2;{@build};s;3;{@use};s;4;{@container};s;5;{@bucket};s;6;{@teleport};s;7;{@entity};s;8;{@all};s;10;%{_state.admin}%;s;11;%{_state.build}%;s;12;%{_state.use}%;s;13;%{_state.container}%;s;14;%{_state.bucket}%;s;15;%{_state.teleport}%;s;16;%{_state.entity}%;s;17;%{_state.all}%" with 3 rows named "&1Flags :: %{_target}%" to player - stop - - argument 1 is "set": - {chunk.live.%chunk at location of player%} is not player: - {flags.%chunk at location of player%::admin::%player%} is not set: - set {flags.%chunk at location of player%::admin::%player%} to false - {flags.%chunk at location of player%::admin::%player%} is false: - send "&cYou do not have permission to do this!" - stop - - argument 2 is "front": - {chunk.live.%chunk at location of player%} is not set: - send "&cYou do not have permission to do this!" - stop - {chunk.live.%chunk at location of player%} is not player: - {flags.%chunk at location of player%::admin::%player%} is not set: - set {flags.%chunk at location of player%::admin::%player%} to false - {flags.%chunk at location of player%::admin::%player%} is false: - send "&cYou do not have permission to do this!" - stop - {flags.%chunk at location of player%::%argument 3%} is true: - set {flags.%chunk at location of player%::%argument 3%} to false - send "&cYou have disabled the &e%argument 3%&c flag on this &eFront" - - stop - {flags.%chunk at location of player%::%argument 3%} is false: - set {flags.%chunk at location of player%::%argument 3%} to true - send "&aYou have enabled the &e%argument 3%&a flag on this &eFront" - - stop - argument 3 is "all": - set {_target} to argument 2 - {flags.%chunk at location of player%::entity::%{_target}%} is true: - set {_clear} to true - {flags.%chunk at location of player%::use::%{_target}%} is true: - set {_clear} to true - {flags.%chunk at location of player%::container::%{_target}%} is true: - set {_clear} to true - {flags.%chunk at location of player%::teleport::%{_target}%} is true: - set {_clear} to true - {flags.%chunk at location of player%::build::%{_target}%} is true: - set {_clear} to true - {flags.%chunk at location of player%::admin::%{_target}%} is true: - set {_clear} to true - {flags.%chunk at location of player%::bucket::%{_target}%} is true: - set {_clear} to true - - {_clear} is set: - set {flags.%chunk at location of player%::entity::%{_target}%} to false - - set {flags.%chunk at location of player%::use::%{_target}%} to false - - set {flags.%chunk at location of player%::container::%{_target}%} to false - - set {flags.%chunk at location of player%::teleport::%{_target}%} to false - - set {flags.%chunk at location of player%::build::%{_target}%} to false - - set {flags.%chunk at location of player%::admin::%{_target}%} to false - - set {flags.%chunk at location of player%::bucket::%{_target}%} to false - send "&cYou have disabled &eAll&c flags for &e%{_target}%" - - stop - {_clear} is not set: - set {flags.%chunk at location of player%::entity::%{_target}%} to true - - set {flags.%chunk at location of player%::use::%{_target}%} to true - - set {flags.%chunk at location of player%::container::%{_target}%} to true - - set {flags.%chunk at location of player%::teleport::%{_target}%} to true - - set {flags.%chunk at location of player%::build::%{_target}%} to true - - set {flags.%chunk at location of player%::admin::%{_target}%} to true - - set {flags.%chunk at location of player%::bucket::%{_target}%} to true - send "&aYou have enabled &eAll&a flags for &e%{_target}%" - stop - - - - - {flags.%chunk at location of player%::%argument 3%::%argument 2%} is false: - set {flags.%chunk at location of player%::%argument 3%::%argument 2%} to true - send "&aEnabled &e%argument 3%&a flag for &e%argument 2%" - - stop - {flags.%chunk at location of player%::%argument 3%::%argument 2%} is true: - set {flags.%chunk at location of player%::%argument 3%::%argument 2%} to false - send "&cDisabled &e%argument 3%&c flag for &e%argument 2%" - - stop - - - argument 1 is "bucketmenu": - set {_target} to argument 2 - - {flags.%chunk at location of player%::bucketwater::%{_target}%} is not set: - set {flags.%chunk at location of player%::bucketwater::%{_target}%} to false - {flags.%chunk at location of player%::bucketwater::%{_target}%} is true: - set {_state.bucketwater} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eWater Bucket&5 flag for this||&5front;c;sudo %player% flags set %{_target}% bucketwater" - {flags.%chunk at location of player%::bucketwater::%{_target}%} is false: - set {_state.bucketwater} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eWater Bucket&5 flag for this||&5front;c;sudo %player% flags set %{_target}% bucketwater" - - {flags.%chunk at location of player%::bucketlava::%{_target}%} is not set: - set {flags.%chunk at location of player%::bucketlava::%{_target}%} to false - {flags.%chunk at location of player%::bucketlava::%{_target}%} is true: - set {_state.bucketlava} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eLava Bucket&5 flag for this||&5front;c;sudo %player% flags set %{_target}% bucketlava" - {flags.%chunk at location of player%::bucketlava::%{_target}%} is false: - set {_state.bucketlava} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eLava Bucket&5 flag for this||&5front;c;sudo %player% flags set %{_target}% bucketlava" - - - - send "&aOpening menu..." - wait 0.3 seconds - show "s;1;{@bucketwater};s;10;%{_state.bucketwater}%;s;2;{@bucketlava};s;11;%{_state.bucketlava}%" with 3 rows named "&1Bucket :: %{_target}%" to player - stop - - - argument 1 is "usemenu": - - set {_target} to argument 2 - - - {flags.%chunk at location of player%::usedoor::%{_target}%} is not set: - set {flags.%chunk at location of player%::usedoor::%{_target}%} to false - {flags.%chunk at location of player%::usedoor::%{_target}%} is false: - set {_state.usedoor} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eDoor Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% usedoor" - {flags.%chunk at location of player%::usedoor::%{_target}%} is true: - set {_state.usedoor} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eDoor Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% usedoor" - - {flags.%chunk at location of player%::useanvil::%{_target}%} is not set: - set {flags.%chunk at location of player%::useanvil::%{_target}%} to false - {flags.%chunk at location of player%::useanvil::%{_target}%} is false: - set {_state.useanvil} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eanvil Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useanvil" - {flags.%chunk at location of player%::useanvil::%{_target}%} is true: - set {_state.useanvil} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eanvil Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useanvil" - - {flags.%chunk at location of player%::useNoteblock::%{_target}%} is not set: - set {flags.%chunk at location of player%::useNoteblock::%{_target}%} to false - {flags.%chunk at location of player%::useNoteblock::%{_target}%} is false: - set {_state.useNoteblock} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eNoteblock Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useNoteblock" - {flags.%chunk at location of player%::useNoteblock::%{_target}%} is true: - set {_state.useNoteblock} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eNoteblock Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useNoteblock" - - {flags.%chunk at location of player%::useJukebox::%{_target}%} is not set: - set {flags.%chunk at location of player%::useJukebox::%{_target}%} to false - {flags.%chunk at location of player%::useJukebox::%{_target}%} is false: - set {_state.useJukebox} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eJukebox Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useJukebox" - {flags.%chunk at location of player%::useJukebox::%{_target}%} is true: - set {_state.useJukebox} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eJukebox Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useJukebox" - - {flags.%chunk at location of player%::useLever::%{_target}%} is not set: - set {flags.%chunk at location of player%::useLever::%{_target}%} to false - {flags.%chunk at location of player%::useLever::%{_target}%} is false: - set {_state.useLever} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eLever Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useLever" - {flags.%chunk at location of player%::useLever::%{_target}%} is true: - set {_state.useLever} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eLever Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useLever" - - {flags.%chunk at location of player%::useButton::%{_target}%} is not set: - set {flags.%chunk at location of player%::useButton::%{_target}%} to false - {flags.%chunk at location of player%::useButton::%{_target}%} is false: - set {_state.useButton} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eButton Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useButton" - {flags.%chunk at location of player%::useButton::%{_target}%} is true: - set {_state.useButton} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eButton Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useButton" - - - {flags.%chunk at location of player%::usewbutton::%{_target}%} is not set: - set {flags.%chunk at location of player%::usewbutton::%{_target}%} to false - {flags.%chunk at location of player%::usewbutton::%{_target}%} is false: - set {_state.usewbutton} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eWood Button Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% usewbutton" - {flags.%chunk at location of player%::usewbutton::%{_target}%} is true: - set {_state.usewbutton} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eWood Button Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% usewbutton" - - {flags.%chunk at location of player%::usetrap::%{_target}%} is not set: - set {flags.%chunk at location of player%::usetrap::%{_target}%} to false - {flags.%chunk at location of player%::usetrap::%{_target}%} is false: - set {_state.usetrap} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eTrap Door Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% usetrap" - {flags.%chunk at location of player%::usetrap::%{_target}%} is true: - set {_state.usetrap} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eTrap Door Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% usetrap" - - {flags.%chunk at location of player%::usefence::%{_target}%} is not set: - set {flags.%chunk at location of player%::usefence::%{_target}%} to false - {flags.%chunk at location of player%::usefence::%{_target}%} is false: - set {_state.usefence} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eFence Gate Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% usefence" - {flags.%chunk at location of player%::usefence::%{_target}%} is true: - set {_state.usefence} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eFence Gate Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% usefence" - - {flags.%chunk at location of player%::useenchant::%{_target}%} is not set: - set {flags.%chunk at location of player%::useenchant::%{_target}%} to false - {flags.%chunk at location of player%::useenchant::%{_target}%} is false: - set {_state.useenchant} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eEnchant Table Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useenchant" - {flags.%chunk at location of player%::useenchant::%{_target}%} is true: - set {_state.useenchant} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eEnchant Table Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% useenchant" - - {flags.%chunk at location of player%::usecomparator::%{_target}%} is not set: - set {flags.%chunk at location of player%::usecomparator::%{_target}%} to false - {flags.%chunk at location of player%::usecomparator::%{_target}%} is false: - set {_state.usecomparator} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eComparator Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% usecomparator" - {flags.%chunk at location of player%::usecomparator::%{_target}%} is true: - set {_state.usecomparator} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eComparator Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% usecomparator" - - {flags.%chunk at location of player%::userepeater::%{_target}%} is not set: - set {flags.%chunk at location of player%::userepeater::%{_target}%} to false - {flags.%chunk at location of player%::userepeater::%{_target}%} is false: - set {_state.userepeater} to "i;red wool;n;&cDisabled;l;&5Click to &aEnable||&5the &eDoor Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% userepeater" - {flags.%chunk at location of player%::userepeater::%{_target}%} is true: - set {_state.userepeater} to "i;light green wool;n;&aEnabled;l;&5Click to &cDisable||&5the &eDoor Use&5 flag for||&e%{_target}%;c;sudo %player% flags set %{_target}% userepeater" - - send "&aOpening Menu..." - wait 0.3 seconds - - show "s;1;{@usedoor};s;10;%{_state.usedoor}%;s;2;{@useanvil};s;11;%{_state.useanvil}%;s;3;{@usenote};s;12;%{_state.usenoteblock}%;s;4;{@usejuke};s;13;%{_state.usejukebox}%;s;5;{@uselever};s;14;%{_state.uselever}%;s;6;{@usebutton};s;15;%{_state.usebutton}%;s;7;{@usewbutton};s;16;%{_state.usewbutton}%;s;8;{@usefence};s;17;%{_state.usefence}%;s;9;{@usetrap};s;18;%{_state.usetrap}%;s;19;{@useenchant};s;28;%{_state.useenchant}%;s;20;{@usecomparator};s;29;%{_state.usecomparator}%;s;21;{@userepeater};s;30;%{_state.userepeater}%" with 5 rows named "&1Use :: %{_target}%" to player - stop - - - argument 1 is "adminmenu" or "buildmenu" or "containermenu" or "teleportmenu" or "entitymenu": - send "&c&lThis feature is being worked on and will be here soon!" - stop - - argument 1 is "list": - argument 2 is not set: - send "&cPlease specify a flag" - stop - send "&aActive users for &e%argument 2% &aflag:" - loop {flags.%chunk at location of player%::%argument 2%::*}: - loop-value is true - send "&a%loop-index%" - stop - send "&cPlease check your command and try again" - - -command /forceadmin: - permission: obam.smod - trigger: - set {flags.%chunk at location of player%::admin::%player%} to true - send "&aYou now have the admin flag for this chunk owned by &e%{chunk.live.%chunk at location of player%}%&a." \ No newline at end of file diff --git a/OBAM-Survival Games/Obam-Fronts/flow.sk b/OBAM-Survival Games/Obam-Fronts/flow.sk deleted file mode 100644 index 9444fa7..0000000 --- a/OBAM-Survival Games/Obam-Fronts/flow.sk +++ /dev/null @@ -1,21 +0,0 @@ -on flow: - {flags.%chunk at event-location%::flow} is set: - {flags.%chunk at event-location%::flow} is false: - cancel event - {flags.%chunk at event-location%::flow} is true: - stop - -on ignition: - {flags.%chunk at event-location%::firespread} is set: - {flags.%chunk at event-location%::firespread} is false: - cancel event - {flags.%chunk at event-location%::firespread} is true: - stop - -on burn: - {flags.%chunk at event-location%::firespread} is set: - - {flags.%chunk at event-location%::firespread} is false: - cancel event - {flags.%chunk at event-location%::firespread} is true: - stop \ No newline at end of file diff --git a/OBAM-Survival Games/Obam-Fronts/fortune.sk b/OBAM-Survival Games/Obam-Fronts/fortune.sk deleted file mode 100644 index 8a4b5d0..0000000 --- a/OBAM-Survival Games/Obam-Fronts/fortune.sk +++ /dev/null @@ -1,409 +0,0 @@ -#The Fortune Aura will cause minerals a chance to drop extras but at the cost of notifying everyone else to your location. - #Parts - #Toggle for alerts - #command on/off - #rising chance vs. time - -variables: - {fortune.spam.%player%} = 0 - -command /aura [] [] [text]: - permission: obam.free - description: For all Aura related commands - trigger: - {abstain.%player%} is true: - send "&cThis feature is unavailable while abstaining" - stop - {abstain.%player%} is "wait abstain": - send "&cThis feature is unavailable while abstaining" - stop - {abstain.%player%} is "wait pvp": - send "&cThis feature is unavailable while abstaining" - stop - argument 1 is not set: - {current.aura.%player%} is not set: - send "&7You do not have an active aura! Use &e/aura list&7 for a list of available auras" - stop - {current.aura.%player%} is "fortune": - send "&7You have the &eFortune Aura&7 activated" to player - send "&7You have a &6%{fortune.chance.%player%}% Percent&7 chance to find extra ingots/gems" to player - argument 1 is "help" or "h": - message "&3--[&6&lAura Help&3]--" - message "&cRequired = [] Optional = ()" - message "&a * /Aura" - message "&7 Shows you information regarding your current Aura." - message "&a * /aura [alerts] [on/off]" - message "&7 Turn on/off aura alerts from other players." - message "&a * /aura [aura-name] [on/off]" - message "&7 A mystical aura is placed on you, with a price to pay." - send "&a * /aura list" - send "&7 Lists the currently available auras." - send " " - send " " - send "&6Developed for &7OBAMCraft &eBy: &aThe OBAM Mechanics" - send "&cV 1.0" - argument 1 is "alerts": - argument 2 is not set : - send "&cYou must choose &6on&c or &6off&c." to player - argument 2 is "on": - set {aura.alert.%player%} to true - send "&aYou have activated aura alerts." to player - argument 2 is "off": - set {aura.alert.%player%} to false - send "&aYou have deactivated aura alerts." to player - argument 1 is "fortune": - argument 2 is not set: - send "&cYou must choose &6on&c or &6off&c." to player - argument 2 is "on": - {current.aura.%player%} is "fortune": - send "&cYou already have a Fortune Aura active." to player - stop - set {current.aura.%player%} to "fortune" - send "&aYou have activated the &eFortune&a Aura!" to player - set {fortune.chance.%player%} to 1 - set {for.ran.%player%} to random number between 5 and 15 - argument 2 is "off": - clear {current.aura.%player%} - send "&aYou have deactivated your Fortune Aura!" to player - set {fortune.spam.%player%} to 0 - argument 1 is "list": - message "&3--[&6&lAura List&3]--" - send "&a Fortune Aura" - send "&7 This aura gives you an increasing chance to find more gems and ingots at the cost of alerting others to your position." - argument 1 is "debug": - send "spam count: %{fortune.spam.%player%}%" - send "Fortune on: %{current.aura.%player%}%" - send "Current chance: %{fortune.chance.%player%}%" - send "Alert Status: %{aura.alert.%player%}%" - {for.ran.%player%} is not set: - send "Random Number: &cNOT SET" - {for.ran.%player%} is set: - send "Random Number: %{for.ran.%player%}%" - -every 15 minutes: - loop all players: - {fortune.spam.%loop-player%} is greater than 15: - set {fortune.spam.%loop-player%} to 0 - {current.aura.%loop-player%} is "fortune" - {abstain.%loop-player%} is true: - clear {current.aura.%loop-player%} - - loop-player does not have permission "obam.plus": - {fortune.chance.%loop-player%} is less than 5: - increase {fortune.chance.%loop-player%} by 1 - send "&7Your chances of fortune have increased!" to loop-player - loop-player does not have permission "obam.ultimate": - loop-player has permission "obam.plus": - {fortune.chance.%loop-player%} is less than 10: - increase {fortune.chance.%loop-player%} by 1 - send "&7Your chances of fortune have increased!" to loop-player - loop-player has permission "obam.ultimate": - {fortune.chance.%loop-player%} is less than 15: - increase {fortune.chance.%loop-player%} by 1 - send "&7Your chances of fortune have increased!" to loop-player - -on mine: - - -on mine of diamond ore: - {current.aura.%player%} is "fortune" - chance of {fortune.chance.%player%}%: - {chunk.live.%chunk at location of event-block%} is set: - {chunk.live.%chunk at location of event-block%} is not "%name of player%" - {chunk.live.%chunk at location of event-block%.%player%} is not set: - cancel event - stop - {fortune.spam.%player%} is greater than 16: - set {fortune.spam.%player%} to 0 - {for.ran.%player%} is not set: - set {for.ran.%player%} to random integer between 5 and 15 - {current.aura.%player%} is "fortune": - {abstain.%player%} is true: - clear {current.aura.%player%} - {abstain.%player%} is "wait abstain": - clear {current.aura.%player%} - - player's tool is a pickaxe of silk touch: - send "&cYour fortune aura has no effect with this enchantment!" to player - stop - {chunk.live.%chunk at location of event-block%} is set: - send "&cYour fortune aura has no effect in this area." - stop - {fortune.spam.%player%} is greater than {for.ran.%player%}: - loop all players: - - {aura.alert.%loop-player%} is true: - send "&3&lIt seems %player% hit the %block% jackpot at %location of player%!" to loop-player - set {fortune.spam.%player%} to 0 - set {for.ran.%player%} to random integer between 5 and 15 - send "&aFortune Favours you!" to player - drop 1 diamond - add 1 to {fortune.spam.%player%} - -on mine of emerald ore: - {current.aura.%player%} is "fortune" - chance of {fortune.chance.%player%}%: - {chunk.live.%chunk at location of event-block%} is set: - {chunk.live.%chunk at location of event-block%} is not "%name of player%" - {chunk.live.%chunk at location of event-block%.%player%} is not set: - cancel event - stop - {fortune.spam.%player%} is greater than 16: - set {fortune.spam.%player%} to 0 - {for.ran.%player%} is not set: - set {for.ran.%player%} to random integer between 5 and 15 - {current.aura.%player%} is "fortune": - {abstain.%player%} is true: - clear {current.aura.%player%} - {abstain.%player%} is "wait abstain": - clear {current.aura.%player%} - - player's tool is a pickaxe of silk touch: - send "&cYour fortune aura has no effect with this enchantment!" to player - stop - {chunk.live.%chunk at location of event-block%} is set: - send "&cYour fortune aura has no effect in this area." - stop - {fortune.spam.%player%} is greater than {for.ran.%player%}: - loop all players: - - {aura.alert.%loop-player%} is true: - send "&3&lIt seems %player% hit the %block% jackpot at %location of player%!" to loop-player - set {fortune.spam.%player%} to 0 - set {for.ran.%player%} to random integer between 5 and 15 - send "&aFortune favours you!" to player - drop 1 emerald - add 1 to {fortune.spam.%player%} - -on mine of gold ore: - {current.aura.%player%} is "fortune" - chance of {fortune.chance.%player%}%: - {chunk.live.%chunk at location of event-block%} is set: - {chunk.live.%chunk at location of event-block%} is not "%name of player%" - {chunk.live.%chunk at location of event-block%.%player%} is not set: - cancel event - stop - {fortune.spam.%player%} is greater than 16: - set {fortune.spam.%player%} to 0 - {for.ran.%player%} is not set: - set {for.ran.%player%} to random integer between 5 and 15 - {current.aura.%player%} is "fortune": - {abstain.%player%} is true: - clear {current.aura.%player%} - {abstain.%player%} is "wait abstain": - clear {current.aura.%player%} - - player's tool is a pickaxe of silk touch: - send "&cYour fortune aura has no effect with this enchantment!" to player - stop - {chunk.live.%chunk at location of event-block%} is set: - send "&cYour fortune aura has no effect in this area." - stop - {fortune.spam.%player%} is greater than {for.ran.%player%}: - loop all players: - - {aura.alert.%loop-player%} is true: - send "&3&lIt seems %player% hit the %block% jackpot at %location of player%!" to loop-player - set {fortune.spam.%player%} to 0 - set {for.ran.%player%} to random integer between 5 and 15 - cancel event - delete event-block - drop 1 gold ingot - send "&aFortune favours you!" to player - drop 1 gold ingot - add 1 to {fortune.spam.%player%} - -on mine of iron ore: - {current.aura.%player%} is "fortune" - chance of {fortune.chance.%player%}%: - {chunk.live.%chunk at location of event-block%} is set: - {chunk.live.%chunk at location of event-block%} is not "%name of player%" - {chunk.live.%chunk at location of event-block%.%player%} is not set: - cancel event - stop - {fortune.spam.%player%} is greater than 16: - set {fortune.spam.%player%} to 0 - {for.ran.%player%} is not set: - set {for.ran.%player%} to random integer between 5 and 15 - {current.aura.%player%} is "fortune": - {abstain.%player%} is true: - clear {current.aura.%player%} - {abstain.%player%} is "wait abstain": - clear {current.aura.%player%} - - player's tool is a pickaxe of silk touch: - send "&cYour fortune aura has no effect with this enchantment!" to player - stop - {chunk.live.%chunk at location of event-block%} is set: - send "&cYour fortune aura has no effect in this area." - stop - {fortune.spam.%player%} is greater than {for.ran.%player%}: - loop all players: - - {aura.alert.%loop-player%} is true: - send "&3&lIt seems %player% hit the %block% jackpot at %location of player%!" to loop-player - set {fortune.spam.%player%} to 0 - set {for.ran.%player%} to random integer between 5 and 15 - cancel event - delete event-block - drop 1 iron ingot - send "&aFortune favours you!" to player - drop 1 iron ingot - add 1 to {fortune.spam.%player%} - -on mine of lapis ore: - - {current.aura.%player%} is "fortune" - chance of {fortune.chance.%player%}%: - {chunk.live.%chunk at location of event-block%} is set: - {chunk.live.%chunk at location of event-block%} is not "%name of player%" - {chunk.live.%chunk at location of event-block%.%player%} is not set: - cancel event - stop - {fortune.spam.%player%} is greater than 16: - set {fortune.spam.%player%} to 0 - {for.ran.%player%} is not set: - set {for.ran.%player%} to random integer between 5 and 15 - {current.aura.%player%} is "fortune": - {abstain.%player%} is true: - clear {current.aura.%player%} - {abstain.%player%} is "wait abstain": - clear {current.aura.%player%} - - player's tool is a pickaxe of silk touch: - send "&cYour fortune aura has no effect with this enchantment!" to player - stop - {chunk.live.%chunk at location of event-block%} is set: - send "&cYour fortune aura has no effect in this area." - stop - {fortune.spam.%player%} is greater than {for.ran.%player%}: - loop all players: - - {aura.alert.%loop-player%} is true: - send "&3&lIt seems %player% hit the %block% jackpot at %location of player%!" to loop-player - set {fortune.spam.%player%} to 0 - set {for.ran.%player%} to random integer between 5 and 15 - send "&aFortune favours you!" to player - drop 1 lapis block - add 1 to {fortune.spam.%player%} - - -on mine of redstone ore: - {current.aura.%player%} is "fortune" - chance of {fortune.chance.%player%}%: - {chunk.live.%chunk at location of event-block%} is set: - {chunk.live.%chunk at location of event-block%} is not "%name of player%" - {chunk.live.%chunk at location of event-block%.%player%} is not set: - cancel event - stop - {fortune.spam.%player%} is greater than 16: - set {fortune.spam.%player%} to 0 - {for.ran.%player%} is not set: - set {for.ran.%player%} to random integer between 5 and 15 - {current.aura.%player%} is "fortune": - {abstain.%player%} is true: - clear {current.aura.%player%} - {abstain.%player%} is "wait abstain": - clear {current.aura.%player%} - - player's tool is a pickaxe of silk touch: - send "&cYour fortune aura has no effect with this enchantment!" to player - stop - {chunk.live.%chunk at location of event-block%} is set: - send "&cYour fortune aura has no effect in this area." - stop - {fortune.spam.%player%} is greater than {for.ran.%player%}: - loop all players: - - {aura.alert.%loop-player%} is true: - send "&3&lIt seems %player% hit the %block% jackpot at %location of player%!" to loop-player - set {fortune.spam.%player%} to 0 - set {for.ran.%player%} to random integer between 5 and 15 - send "&aFortune favours you!" to player - drop 1 redstone block - add 1 to {fortune.spam.%player%} - -on mine of coal ore: - {current.aura.%player%} is "fortune" - chance of {fortune.chance.%player%}%: - {chunk.live.%chunk at location of event-block%} is set: - {chunk.live.%chunk at location of event-block%} is not "%name of player%" - {chunk.live.%chunk at location of event-block%.%player%} is not set: - cancel event - stop - {fortune.spam.%player%} is greater than 16: - set {fortune.spam.%player%} to 0 - {for.ran.%player%} is not set: - set {for.ran.%player%} to random integer between 5 and 15 - {current.aura.%player%} is "fortune": - {abstain.%player%} is true: - clear {current.aura.%player%} - {abstain.%player%} is "wait abstain": - clear {current.aura.%player%} - - player's tool is a pickaxe of silk touch: - send "&cYour fortune aura has no effect with this enchantment!" to player - stop - {chunk.live.%chunk at location of event-block%} is set: - send "&cYour fortune aura has no effect in this area." - stop - - {fortune.spam.%player%} is greater than {for.ran.%player%}: - loop all players: - - {aura.alert.%loop-player%} is true: - send "&3&lIt seems %player% hit the %block% jackpot at %location of player%!" to loop-player - set {fortune.spam.%player%} to 0 - set {for.ran.%player%} to random integer between 5 and 15 - send "&aFortune favours you!" to player - drop 2 coal - add 1 to {fortune.spam.%player%} - -on mine of nether quartz ore: - {current.aura.%player%} is "fortune" - chance of {fortune.chance.%player%}%: - {chunk.live.%chunk at location of event-block%} is set: - {chunk.live.%chunk at location of event-block%} is not "%name of player%" - {chunk.live.%chunk at location of event-block%.%player%} is not set: - cancel event - stop - {fortune.spam.%player%} is greater than 16: - set {fortune.spam.%player%} to 0 - {for.ran.%player%} is not set: - set {for.ran.%player%} to random integer between 5 and 15 - {current.aura.%player%} is "fortune": - {abstain.%player%} is true: - clear {current.aura.%player%} - {abstain.%player%} is "wait abstain": - clear {current.aura.%player%} - - player's tool is a pickaxe of silk touch: - send "&cYour fortune aura has no effect with this enchantment!" to player - stop - {chunk.live.%chunk at location of event-block%} is set: - send "&cYour fortune aura has no effect in this area." - stop - - {fortune.spam.%player%} is greater than {for.ran.%player%}: - loop all players: - - {aura.alert.%loop-player%} is true: - send "&3&lIt seems %player% hit the %block% jackpot at %location of player%!" to loop-player - set {fortune.spam.%player%} to 0 - set {for.ran.%player%} to random integer between 5 and 15 - send "&aFortune favours you!" to player - drop 2 nether quartz - add 1 to {fortune.spam.%player%} - -command /boostshit: - permission: obam.admin - trigger: - {fortune.chance.%player%} is less than 100: - set {fortune.chance.%player%} to 100 - send "&a&lShit boosted" - stop - {fortune.chance.%player%} is greater than 15: - set {fortune.chance.%player%} to 15 - send "&a&lShit Unboosted" - stop - diff --git a/OBAM-Survival Games/Obam-Fronts/fortuneFIX.sk b/OBAM-Survival Games/Obam-Fronts/fortuneFIX.sk deleted file mode 100644 index 5ed1ecd..0000000 --- a/OBAM-Survival Games/Obam-Fronts/fortuneFIX.sk +++ /dev/null @@ -1,193 +0,0 @@ -#The Fortune Aura will cause minerals a chance to drop extras but at the cost of notifying everyone else to your location. - #Parts - #Toggle for alerts - #command on/off - #rising chance vs. time - -variables: - {fortune.spam.%player%} = 0 - -command /aura [] [] [text]: - permission: obam.free - description: For all Aura related commands - trigger: - {abstain.%player%} is true: - send "&cThis feature is unavailable while abstaining" - stop - {abstain.%player%} is "wait abstain": - send "&cThis feature is unavailable while abstaining" - stop - {abstain.%player%} is "wait pvp": - send "&cThis feature is unavailable while abstaining" - stop - argument 1 is not set: - {current.aura.%player%} is not set: - send "&7You do not have an active aura! Use &e/aura list&7 for a list of available auras" - stop - {current.aura.%player%} is "fortune": - send "&7You have the &eFortune Aura&7 activated" to player - send "&7You have a &6%{fortune.chance.%player%}% Percent&7 chance to find extra ingots/gems" to player - argument 1 is "help" or "h": - message "&3--[&6&lAura Help&3]--" - message "&cRequired = [] Optional = ()" - message "&a * /Aura" - message "&7 Shows you information regarding your current Aura." - message "&a * /aura [alerts] [on/off]" - message "&7 Turn on/off aura alerts from other players." - message "&a * /aura [aura-name] [on/off]" - message "&7 A mystical aura is placed on you, with a price to pay." - send "&a * /aura list" - send "&7 Lists the currently available auras." - send " " - send " " - send "&6Developed for &7OBAMCraft &eBy: &aThe OBAM Mechanics" - send "&cV 1.0" - argument 1 is "alerts": - argument 2 is not set : - send "&cYou must choose &6on&c or &6off&c." to player - argument 2 is "on": - set {aura.alert.%player%} to true - send "&aYou have activated aura alerts." to player - argument 2 is "off": - set {aura.alert.%player%} to false - send "&aYou have deactivated aura alerts." to player - argument 1 is "fortune": - argument 2 is not set: - send "&cYou must choose &6on&c or &6off&c." to player - argument 2 is "on": - {current.aura.%player%} is "fortune": - send "&cYou already have a Fortune Aura active." to player - stop - set {current.aura.%player%} to "fortune" - send "&aYou have activated the &eFortune&a Aura!" to player - set {fortune.chance.%player%} to 1 - set {for.ran.%player%} to random number between 5 and 15 - argument 2 is "off": - clear {current.aura.%player%} - send "&aYou have deactivated your Fortune Aura!" to player - set {fortune.spam.%player%} to 0 - argument 1 is "list": - message "&3--[&6&lAura List&3]--" - send "&a Fortune Aura" - send "&7 This aura gives you an increasing chance to find more gems and ingots at the cost of alerting others to your position." - argument 1 is "debug": - send "spam count: %{fortune.spam.%player%}%" - send "Fortune on: %{current.aura.%player%}%" - send "Current chance: %{fortune.chance.%player%}%" - send "Alert Status: %{aura.alert.%player%}%" - {for.ran.%player%} is not set: - send "Random Number: &cNOT SET" - {for.ran.%player%} is set: - send "Random Number: %{for.ran.%player%}%" - -every 15 minutes: - loop all players: - {fortune.spam.%loop-player%} is greater than 15: - set {fortune.spam.%loop-player%} to 0 - {current.aura.%loop-player%} is "fortune" - {abstain.%loop-player%} is true: - clear {current.aura.%loop-player%} - - loop-player does not have permission "obam.plus": - {fortune.chance.%loop-player%} is less than 5: - increase {fortune.chance.%loop-player%} by 1 - send "&7Your chances of fortune have increased!" to loop-player - loop-player does not have permission "obam.ultimate": - loop-player has permission "obam.plus": - {fortune.chance.%loop-player%} is less than 10: - increase {fortune.chance.%loop-player%} by 1 - send "&7Your chances of fortune have increased!" to loop-player - loop-player has permission "obam.ultimate": - {fortune.chance.%loop-player%} is less than 15: - increase {fortune.chance.%loop-player%} by 1 - send "&7Your chances of fortune have increased!" to loop-player - -on mine: - {chunk.live.%chunk at location of event-block%} is not name of player: - {chunk.live.%chunk at location of event-block%.%player%} is not set: - cancel event - stop - {fortune.spam.%player%} is greater than 16: - set {fortune.spam.%player%} to 0 - {for.ran.%player%} is not set: - set {for.ran.%player%} to random integer between 5 and 15 - {current.aura.%player%} is "fortune": - {abstain.%player%} is true: - clear {current.aura.%player%} - {abstain.%player%} is "wait abstain": - clear {current.aura.%player%} - event-block is diamond ore or emerald ore or gold ore or iron ore or lapis ore or redstone ore or coal ore or nether quartz ore: - player's tool is a pickaxe of silk touch: - send "&cYour fortune aura has no effect with this enchantment!" to player - stop - {chunk.live.%chunk at location of event-block%} is set: - send "&cYour fortune aura has no effect in this area." - stop - {chunk.live.%chunk south of event-block%} is set: - send "&cYour fortune aura has no effect in this area, go further out!" to player - stop - {chunk.live.%chunk west of event-block%} is set: - send "&cYour fortune aura has no effect in this area, go further out!" to player - stop - {chunk.live.%chunk north of event-block%} is set: - send "&cYour fortune aura has no effect in this area, go further out!" to player - stop - {chunk.live.%chunk east of event-block%} is set: - send "&cYour fortune aura has no effect in this area, go further out!" to player - stop - {fortune.spam.%player%} is greater than {for.ran.%player%}: - loop all players: - - {aura.alert.%loop-player%} is true: - send "&3&lIt seems %player% hit the %block% jackpot at %location of player%!" to loop-player - set {fortune.spam.%player%} to 0 - set {for.ran.%player%} to random integer between 5 and 15 - target block is diamond ore: - chance of {fortune.chance.%player%}%: - cancel event - delete event-block - drop 1 diamond - send "&aFortune favours you!" to player - drop 1 diamond - add 1 to {fortune.spam.%player%} - target block is emerald ore: - chance of {fortune.chance.%player%}%: - send "&aFortune favours you!" to player - drop 1 emerald - add 1 to {fortune.spam.%player%} - target block is gold ore: - chance of {fortune.chance.%player%}%: - cancel event - delete event-block - drop 1 gold ingot - send "&aFortune favours you!" to player - drop 1 gold ingot - add 1 to {fortune.spam.%player%} - target block is iron ore: - chance of {fortune.chance.%player%}%: - cancel event - delete event-block - drop 1 iron ingot - send "&aFortune favours you!" to player - drop 1 iron ingot - add 1 to {fortune.spam.%player%} - target block is lapis ore: - chance of {fortune.chance.%player%}%: - send "&aFortune favours you!" to player - drop 1 lapis - add 1 to {fortune.spam.%player%} - target block is redstone ore: - chance of {fortune.chance.%player%}%: - send "&aFortune favours you!" to player - drop 1 redstone - add 1 to {fortune.spam.%player%} - target block is coal ore: - chance of {fortune.chance.%player%}%: - send "&aFortune favours you!" to player - drop 1 coal - add 1 to {fortune.spam.%player%} - target block is nether quartz ore: - chance of {fortune.chance.%player%}%: - send "&aFortune favours you!" to player - drop 1 nether quartz - add 1 to {fortune.spam.%player%} \ No newline at end of file diff --git a/OBAM-Survival Games/Obam-Fronts/schat2.fronts.sk b/OBAM-Survival Games/Obam-Fronts/schat2.fronts.sk deleted file mode 100644 index 533f9c4..0000000 --- a/OBAM-Survival Games/Obam-Fronts/schat2.fronts.sk +++ /dev/null @@ -1,324 +0,0 @@ -options: - p: &2[F] - -on join: - {db_alerts.on.%player%} is not set: - set {db_alerts.on.%player%} to true - {db_alerts.on.%player%} is true: - send "&aYour chat alerts are &eOn&a. You can turn them off by using the command &e/chat alerts off" - {db_alerts.on.%player%} is false: - send "&aYour chat alerts are &eOff&a. You can turn them on by using the command &e/chat alert on" - {db_global.%player%} is not set: - set {db_global.%player%} to true - {db_global.%player%} is true: - set {db_channel.global::%player%} to player - set {db_channel.%player%} to "global" - player does not have permission "obam.supporter": - delete {db_channel.supporter::%player%} - player does not have permission "obam.mod": - delete {db_channel.staff::%player%} - player does not have permission "obam.mechanic": - delete {db_channel.mech::%player%} - {db_channel.mech.%player%} is not set: - player has permission "obam.mechanic": - set {db_channel.mech.%player%} to true - {db_channel.mech.%player%} is true: - set {db_channel.mech::%player%} to player - {db_channel.sup.%player%} is not set: - player has permission "obam.supporter": - set {db_channel.sup.%player%} to true - {db_channel.sup.%player%} is true: - set {db_channel.supporter::%player%} to player - {db_channel.staff.%player%} is not set: - player has permission "obam.mod": - set {db_channel.staff::%player%} to player - {db_channel.staff.%player%} is true: - set {db_channel.supporter::%player%} to player - -on chat: - cancel event - player is "IcecreamCow" or "Electric_Hamster" or "ISMOOCH" or "GloriousKoch": - set {_pre} to "{@p} &d[A] %player%" - {_pre} is not set: - player is "OrigamiJoe" or "Deathtomb8953": - set {_pre} to "{@p} &a[╪] %player%" - {_pre} is not set: - player has permission "obam.mod": - set {_pre} to "{@p} &2[M] %player%" - {_pre} is not set: - player has permission "obam.supporter": - set {_pre} to "{@p} &6[^] %player%" - {_pre} is not set: - set {_pre} to "{@p} %player%" - player is "BruSwain": - set {_pre} to "{@p} &6[^] %player%" - {db_star.%player%} is set: - set {_pre} to "%{_pre}% <%{db_star.%player%}%>✦" - {db_channel.%player%} is "private": - set {_player} to {private.%player%} parsed as a player - {_player} is online: - set {_found} to true - {_found} is set: - set {_player} to {private.%player%} parsed as a player - send "&d%player% ➽ %{_player}%&d: %message%" to {_player} - send "&d%player% ➽ %{_player}%&d: %message%" to player - {db_alerts.on.%{_player}%} is true: - play level up at location of {_player} with pitch 2 - {_found} is not set: - set {_message} to "&d%player% ➽ %{private.%player%}%&d: %message%" - send {_message} to player - execute console command "privatepush %{private.%player%}% %{_message}%" - {db_channel.%player%} is "staff": - player does not have permission "obam.mod": - set {db_channel.%player%} to "global" - delete {db_channel.staff::%player%} - {db_channel.%player%} is "staff": - loop {db_channel.staff::*}: - clear {_player} - set {_player} to loop-index parsed as player - set message to "&a%message%" - message contains "%{_player}%": - replace "%{_player}%" in message with "&c%{_player}%&a" - {db_alerts.on.%{_player}%} is true: - play level up at location of {_player} with pitch 2 - set {_message} to "%{_pre}%&a: %message%" - send "%{_message}%" to {_player} - set message to "%uncoloured message%" - execute console command "/modpush %{_pre}%&a: %message%" - {db_channel.%player%} is "mechanic": - player does not have permission "obam.mechanic": - set {db_channel.%player%} to "global" - delete {db_channel.mech::%player%} - {db_channel.%player%} is "mechanic": - loop {db_channel.mech::*}: - clear {_player} - set {_player} to loop-index parsed as player - set message to "&e%message%" - message contains "%{_player}%": - replace "%{_player}%" in message with "&c%{_player}%&e" - {db_alerts.on.%{_player}%} is true: - play level up at location of {_player} with pitch 2 - set {_message} to "%{_pre}%&e: %message%" - send "%{_message}%" to {_player} - set message to "%uncoloured message%" - execute console command "/mechpush %{_message}%" - stop - {db_channel.%player%} is "supporter": - player does not have permission "obam.supporter": - set {db_channel.%player%} to "global" - delete {db_channel.supporter::%player%} - {db_channel.%player%} is "supporter": - loop {db_channel.supporter::*}: - clear {_player} - set {_player} to loop-index parsed as player - set message to "&b%message%" - message contains "%{_player}%": - replace "%{_player}%" in message with "&c%{_player}%&b" - {db_alerts.on.%{_player}%} is true: - play level up at location of {_player} with pitch 2 - set {_message} to "%{_pre}%&b: %message%" - send "%{_message}%" to {_player} - set message to "%uncoloured message%" - execute console command "/supporterpush %{_message}%" - stop - {db_channel.%player%} is "global": - loop {db_channel.global::*}: - clear {_player} - set {_player} to loop-index parsed as player - set message to "&f%message%" - message contains "%{_player}%": - replace "%{_player}%" in message with "&c%{_player}%&f" - {db_alerts.on.%{_player}%} is true: - play level up at location of {_player} with pitch 2 - set {_message} to "%{_pre}%&f: %message%" - send "%{_message}%" to {_player} - set message to "%uncoloured message%" - execute console command "globalpush %{_pre}%&f: %message%" - stop - -command /chat [] []: - permission: obam.free - aliases: c, ch - trigger: - argument 1 is "m" or "mod": - player does not have permission "obam.mod": - send "&cYou dont have permission to do this!" - stop - set {db_channel.%player%} to "staff" - {db_channel.staff::%player%} is not set: - set {db_channel.staff::%player%} to player - send "&aYou are now chatting in the &aMod&a channel!" - stop - argument 1 is "s" or "supporter": - player does not have permission "obam.supporter": - send "&cYou dont have permission to do this!" - stop - set {db_channel.%player%} to "supporter" - {db_channel.supporter::%player%} is not set: - set {db_channel.supporter.%player%} to player - send "&aYou are now chatting in the &bSupporter&a channel!" - argument 1 is "mech" or "mechanic": - player does not have permission "obam.mechanic": - send "&cYou dont have permission to do this!" - stop - set {db_channel.%player%} to "mechanic" - {db_channel.mech::%player%} is not set: - set {db_channel.mech::%player%} to player - send "&aYou are now chatting in the &eMechanic&a Channel!" - argument 1 is "g" or "global": - set {db_channel.%player%} to "global" - send "&aYou are now chatting in the &fGlobal&a channel!" - argument 1 is "l" or "leave": - argument 2 is not set: - send "&cPlease specify a channel: &e/chat leave " - stop - argument 2 is "mod" or "m": - send "&cYou can not leave the staff chat silly" - stop - argument 2 is "mech" or "mechanic": - send "&cYou are now leaving the &eMechanic&c chat!" - delete {db_channel.mech::%player%} - stop - argument 2 is "s" or "supporter": - send "&cYou are now leaving the &bSupporter&c chat!" - delete {db_channel.supporter::%player%} - stop - argument 2 is "g" or "global": - send "&cYou are now leaving the &fGlobal&c chat!" - delete {db_channel.global::%player%} - stop - argument 1 is "j" or "join": - argument 2 is not set: - send "&cPlease specify a channel: &e/chat join " - stop - argument 2 is "mod" or "m": - player does not have permission "obam.mod": - send "&cYou do not have permission to do this!" - stop - {db_channel.staff::%player%} is set: - send "&cYou are already in this channel!" - send "&cIf you believe this is an error, please report it!" - stop - set {db_channel.staff::%player%} to player - set {db_channel.%player%} to "staff" - send "&aYou are now in the &2Mod&a channel!" - stop - argument 2 is "mechanic" or "mech": - player does not have permission "obam.mechanic": - send "&cYou do not have permission to do this!" - stop - {db_channel.mech::%player%} is set: - send "&cYou are already in this channel!" - send "&cIf you believe this is an error, please report it!" - stop - set {db_channel.mech::%player%} to player - set {db_channel.%player%} to "mechanic" - send "&aYou are now in the &eMechanic&a Channel!" - stop - argument 2 is "s" or "supporter": - player does not have permission "obam.supporter": - send "&cYou do not have permission to do this!" - stop - {db_channel.supporter::%player%} is set: - send "&cYou are already in this channel!" - send "&cIf you believe this is an error, please report it!" - stop - set {db_channel.supporter::%player%} to player - set {db_channel.%player%} to "supporter" - send "&aYou are now in the &bSupporter&a channel!" - stop - argument 2 is "g" or "global": - {db_channel.global::%player%} is set: - send "&cYou are already in this channel!" - send "&cIf you believe this is an error, please report it!" - stop - set {db_channel.global::%player%} to player - set {db_channel.%player%} to "global" - send "&aYou are now in the &fGlobal&a channel!" - argument 1 is "who": - argument 2 is not set: - loop {db_channel.%{db_channel.%player%}%::*}: - send "%loop-index%" - argument 2 is set: - {db_channel.%{db_channel.%player%}%::%argument 2%} is set: - send "%argument 2% is in this channel" - argument 1 is "alerts" or "alert" or "a": - argument 2 is not set: - {db_alerts.on.%player%} is not set: - set {db_alerts.on.%player%} to true - send "&aYour chat alerts are now &eOn&a." - stop - {db_alerts.on.%player%} is true: - set {db_alerts.on.%player%} to false - send "&aYour chat alerts are now &eOff&a." - stop - {db_alerts.on.%player%} is false: - set {db_alerts.on.%player%} to true - send "&aYour chat alerts are now &eOn&a." - stop - argument 2 is "off": - set {db_alerts.on.%player%} to false - send "&aYour chat alerts are now &eOff&a." - argument 2 is "on": - set {db_alerts.on.%player%} to true - send "&aYour chat alerts are now &eOn&a." - -command /star []: - permission: obam.admin - trigger: - argument 2 is "clear": - clear {db_star.%argument 1%} - send "&aCleared Star setting for %argument 1%" - stop - set {db_star.%argument 1%} to argument 2 - send "&aStar for %argument 1% set to <%argument 2%>%argument 2%&a." - -command /tell [] []: - permission: obam.free - trigger: - argument 1 is not set: - {db_channel.%player%} is "private": - send "&aYou have left your private conversation with %{private.%player%}%" - make player execute command "/ch g" - stop - {db_channel.%player%} is not "private": - send "&cYou are not in a conversation!" - stop - argument 2 is not set: - send "&dYou are now in a private conversation with &e%argument 1%" - set {private.%player%} to "%argument 1%" - set {db_channel.%player%} to "private" - argument 2 is set: - send "&d%player% ➽ %argument 1%: %argument 2%" to player - loop all players: - loop-player is argument 1 - set {_found} to true - {_found} is set: - send "&d%player% ➽ %argument 1%: %argument 2%" to argument 1 - {db_alerts.on.%argument 1%} is true: - play level up at location of argument 1 with pitch 2 - {_found} is not set: - set {_message} to "&d%player% ➽ %argument 1%: %argument 2%" - execute console command "privatepush %argument 1% %{_message}%" - -command /fishslap : - permission: obam.free - trigger: - {cool.fish.%player%} is not set: - set {cool.fish.%player%} to now - add 5 seconds to {cool.fish.%player%} - set {_wait} to difference between {cool.fish.%player%} and now - {_wait} is less than 4 seconds: - send "&cYou are slapping too much! Calm down D:" to player - stop - send "&aYou just slapped &e%argument%&a!" - set {cool.fish.%player%} to now - loop all players: - "%loop-player%" is argument - set {_found} to true - {db_alerts.on.%loop-player%} is true - play slime attack at location of loop-player with pitch 1 - send "&e%player% &ajust slapped you with a giant fish!" to loop-player - stop - {_found} is not set: - forward command "fishcatch %argument% %player%" to console diff --git a/OBAM-Survival Games/Obam-Fronts/starterkit.sk b/OBAM-Survival Games/Obam-Fronts/starterkit.sk deleted file mode 100644 index 2e0c114..0000000 --- a/OBAM-Survival Games/Obam-Fronts/starterkit.sk +++ /dev/null @@ -1,21 +0,0 @@ - -command /starterkit: - description: Recieve a cake, but you can only do this once per minute! - permission: obam.recentvoter - executable by: players - trigger: - set {_waited} to difference between {frontsstarterkit.%player%.lastused} and now - if {_waited} is less than a day: - message "&cYou have to wait %difference between a day and {_waited}% before you can use this command again!" - stop - - player doesn't have space for 1 leather boots, 1 leather chestplate, 1 leather helmet, 1 leather leggings and 1 wood sword: - message "&cYou do not have enough space in your inventory to hold the starter kit! Make some space, then use /starterkit!" - stop - - give 1 leather boots, 1 leather chestplate, 1 leather helmet, 1 leather leggings and 1 wood sword to the player - message "&aYou have been given a starter kit. Thanks for voting!" - - set {frontsstarterkit.%player%.lastused} to now - - \ No newline at end of file diff --git a/OBAM-Survival Games/Obam-Fronts/timber.sk b/OBAM-Survival Games/Obam-Fronts/timber.sk deleted file mode 100644 index 8aa7f32..0000000 --- a/OBAM-Survival Games/Obam-Fronts/timber.sk +++ /dev/null @@ -1,58 +0,0 @@ -options: - timber: diamond axe named "&a&b&k&a&3Timber Axe" with lore "&6This axe makes all logs within a 10 block radius||&6go timber!|| ||&2StickyItem ©" - -on script load: - set {db_shop.items::Timber Axe} to "i;diamond axe;n;&a&b&k&a&3Timber Axe;l;&6This axe makes all logs within a 10 block radius||&6go timber!|| ||&2StickyItem ©|| ||&5&oClick to purchase|| ||&3&lCost:||&e5,000 Tickets;c;sudo PLAYER timberpurchase" - -command /timberpurchase: - permission: obam.free - trigger: - set {_bal} to player's balance - {_bal} is less than 5000: - send "&cYou do not have enough tickets for this!" - stop - give player 1 {@timber} - remove 5000 from player's balance - send "&aYou have purchased a &eTimber Axe&a for &e5000 Tickets" - send "&aYour balance is now &e%player's balance%" - -command /timber: - permission: obam.smod - trigger: - give player 1 {@timber} - send "&aHere is your thing" - -on break of oak wood or birch wood or spruce wood or jungle wood or acacia wood or dark oak wood: - name of player's tool is "&a&b&k&a&3Timber Axe" - add location of event-block to {_wood.blocks::*} - loop blocks in radius 10 of event-block: - loop-block is oak wood or birch wood or spruce wood or jungle wood or acacia wood or dark oak wood - {chunk.live.%chunk at location of loop-block%} is set: - {chunk.live.%chunk at location of loop-block%} is not player: - {chunk.live.%chunk at location of loop-block%.%player%} is not set: - cancel event - send "&cYou are too close to others' land!" - stop - add location of loop-block to {_wood.blocks::*} - loop {_wood.blocks::*}: - set {_block} to block at loop-value - {_block} is oak wood: - set {_type} to oak log:0 - {_block} is birch wood: - set {_type} to birch log:2 - {_block} is spruce wood: - set {_type} to spruce log:1 - {_block} is jungle wood: - set {_type} to jungle log:3 - {_block} is acacia wood: - set {_type} to acacia log:0 - {_block} is dark oak wood: - set {_type} to dark oak log:1 - delete block at loop-value - drop 1 of {_type} at loop-value - damage player's tool by 1 - -on enchant: - name of event-item is "&a&b&k&a&3Timber Axe" - cancel event - send "&cYou can't do that dawg" \ No newline at end of file diff --git a/OBAM-Survival Games/Obam-Skyblock/skyblock.sk b/OBAM-Survival Games/Obam-Skyblock/skyblock.sk new file mode 100644 index 0000000..c73c63b --- /dev/null +++ b/OBAM-Survival Games/Obam-Skyblock/skyblock.sk @@ -0,0 +1,130 @@ + + + +command /home: + description: Go to island's home + permission: obam.free + usage: /home or /start + executable by: players + aliases: /start + trigger: + make player execute command "/is" + + +command /restartisland: + description: Restart your island + usage: /restart + executable by: players or console + permission: obam.free + aliases: /ri + trigger: + {island.reset.use.%player%} is greater than or equal to 2: + message "&cYou have used up your two resets! You will need to purchase the next one for &e2000 Tickets!&c Type &e/restartconfirm&c to continue!" to player + set {skyblock.%player%.restart} to 1 + stop + {island.reset.use.%player%} is 1: + message "&cAre you sure you want to do this? This will reset your island, You can only do this for free &e1 &ctime! Type &e/restartconfirm to do this." to player + set {skyblock.%player%.restart} to 1 + stop + message "&cAre you sure you want to do this? This will reset your island, You can only do this for free &e2 &ctimes! Type &e/restartconfirm to do this." to player + set {skyblock.%player%.restart} to 1 + +command /risrestart : + permission: obam.admin + trigger: + set {island.reset.use.%player-argument%} to 0 + +command /restartconfirm: + permission: obam.free + trigger: + world is "skyworld": + + {skyblock.%player%.restart} is 1: + {island.reset.use.%player%} is greater than or equal to 2: + set {balance.%player%} to player's balance + {balance.%player%} is less than 2000: + send "&cYou Do not have enough tickets for this!" to player + stop + remove 2000 from player's balance + send "&cYou have paid &e2000 Tickets&c for resetting your island. You now have &e%player's balance% &cremaining." to player + + message "&cYou are restarting your island!" to player + make player execute command "/is restart" + set {skyblock.%player%.restart} to 0 + {island.reset.use.%player%} is not set: + set {island.reset.use.%player%} to 0 + add 1 to {island.reset.use.%player%} + stop + else: + message "&cPlease type /restart first" + + else: + message "&cYou can not do that here!" to player + + + +command /setspawn: + description: Sets island's spawnpoint + usage: /spawnpoint while standing in location + permission: obam.free + executable by: players + aliases: /sethome + trigger: + make player execute command "/is sethome" + + +command /warp : + description: Go to a player's island + usage: /warp [player name] + executable by: players + permission: obam.free + trigger: + make player execute command "/is warp %arg 1%" + +command /setwarp: + description: Set warp location for island + permission: obam.free + usage: /setwarp + trigger: + make player execute command "/is setwarp" + + +command /togglewarp: + description: Toggle if other players can warp to your island + permission: obam.free + usage: /togglewarp + trigger: + make player execute command "/is togglewarp" + + +command /invite : + description: Invite someone to your island + permission: obam.free + usage: /invite [name] + trigger: + make player execute command "/is invite %arg 1%" + + + + +command /accept: + description: Accept party invite + usage: /accept + trigger: + make player execute command "/is accept" + + +command /reject: + description: Reject party invite + permission: obam.free + usage: /reject + trigger: + make player execute command "/is reject" + + +command /remove : + description: Remove a player from your island + permission: obam.free + usage: /remove [name] + trigger: + make player execute command "/is kick %arg 1%" \ No newline at end of file diff --git a/OBAM-Voting/SimpleVoteListener.yml b/OBAM-Voting/SimpleVoteListener.yml deleted file mode 100644 index 4b532b1..0000000 --- a/OBAM-Voting/SimpleVoteListener.yml +++ /dev/null @@ -1,16 +0,0 @@ -# Sends private message to the voting player. -private-message: '&eThanks for voting!' - - -# Commands to be performed only if the player is offline, without the slash. -offline-commands: - - 'votetoken %name% %service%' - -# Commands to be performed if the player voted offline and joins the server. -login-commands: - - 'msg %name% Thank You for Voting!' - -# Commands to be performed only if the player is online. -online-commands: - - 'votetoken %name% %service%' - diff --git a/OBAM-Voting/config.yml b/OBAM-Voting/config.yml deleted file mode 100644 index 421cede..0000000 --- a/OBAM-Voting/config.yml +++ /dev/null @@ -1,4 +0,0 @@ -host: 192.3.205.39 -port: 8210 -debug: true -listener_folder: plugins/Votifier/listeners diff --git a/OBAM-Voting/public.key b/OBAM-Voting/public.key deleted file mode 100644 index 432b963..0000000 --- a/OBAM-Voting/public.key +++ /dev/null @@ -1 +0,0 @@ -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0F/HaTbnoPPVxyhVE8u42WDUbcRkQyf0QnzIe72LYpt5C2Y69f1N8KPDQF7HKgqItzJUqBbTrP8pndo6fidZMlV1eba1Q09NYto2op7WbF1RQOQBDTpg9JXXZJkhIvSmEyNnf/kQrRS5I/ybfbQRWd7wVEuEFZU4hj77qThl3uTA+R+370OWHsqH8c9OHqDaU4NlkGdl4k0aD0qBycjx8teTJygKhu02T3clonPmElwbOei6DL4v3VX5Hq1861pxi0yVnPRDnlLjlv4UkOzkiVA7RHIBcklWC3wtHpuayIcuoMdKpvA8AUhmeiEyBN/VieALKubgokOvdFBrJKvDDQIDAQAB \ No newline at end of file diff --git a/OBAM-Voting/rmperm.txt b/OBAM-Voting/rmperm.txt deleted file mode 100644 index ccea208..0000000 --- a/OBAM-Voting/rmperm.txt +++ /dev/null @@ -1,3 +0,0 @@ - -command("perm player %target% unset vote.check") -command("tokenadmin %target% end") \ No newline at end of file diff --git a/OBAM-Voting/vote-script.txt b/OBAM-Voting/vote-script.txt deleted file mode 100644 index f7cc737..0000000 --- a/OBAM-Voting/vote-script.txt +++ /dev/null @@ -1,5 +0,0 @@ -broadcast("Thanks for voting on %service%, %target%!") -command("perm player %target% set vote.check") -command("tokenadmin %target% execute") -clearScripts(target) -runLaterTarget("rmperm.txt", "5m", target) \ No newline at end of file diff --git a/Obam-Global/aliases-english.sk b/Obam-Administration/Finished and Placed/aliases-english.sk similarity index 100% rename from Obam-Global/aliases-english.sk rename to Obam-Administration/Finished and Placed/aliases-english.sk diff --git a/Obam-Global/Global-Testing/blocksave.sk b/Obam-Administration/Finished and Placed/blocksave.g.sk similarity index 96% rename from Obam-Global/Global-Testing/blocksave.sk rename to Obam-Administration/Finished and Placed/blocksave.g.sk index 20f9de7..4ce44e3 100644 --- a/Obam-Global/Global-Testing/blocksave.sk +++ b/Obam-Administration/Finished and Placed/blocksave.g.sk @@ -18,7 +18,7 @@ on break: {information.%block%.1} is set: cancel event {debug.%player%} is true: - send "DEBUG I ama message" + send "DEBUG I am a message" set {_message} to "%{information.%block%.1}%;%{information.%block%.3}%;%{information.%block%.2}%" send "DEBUG %{_message}%" delete block diff --git a/Obam-Administration/Finished and Placed/hubconfig.sk b/Obam-Administration/Finished and Placed/hubconfig.sk new file mode 100644 index 0000000..1573d81 --- /dev/null +++ b/Obam-Administration/Finished and Placed/hubconfig.sk @@ -0,0 +1,131 @@ +options: + help: book named "&6&lOBAM&fCraft &3Guide" with lore "&7Right click with this book to learn the ins||&7and out of OBAM" + worlds: ender pearl named "&3Game Worlds" with lore "&7Right click with this to check the current Game Worlds!" + fly: feather named "&3Fly!" with lore "&7Right click with this feather to fly in the hub!" + +on script load: + delete {db_hub::*} + set {db_hub::01.skyblock} to "grass;&3Skyblock;&6Try our Skyblock world with custom ||&6challenges and villager trading!;sudo PLAYER worlds skyblock" + set {db_hub::02.fronts} to "cobblestone;&3Fronts;&6French vanilla Survival with land claiming!||PVP and PVE choices available.;sudo PLAYER fronts" + set {db_hub::03.wtfronts} to "magma cream;&3WTFronts;&6Extreme Survival with extreme payoffs!||&6PVE 2.0 with land claiming.;sudo PLAYER wtf" + set {db_hub::04.kitpvp} to "blaze rod;&3Kit PVP;&7Play OBAM's KitPvP with new original kits!;sudo PLAYER kit" + set {db_hub::05.tacocart} to "glistening melon;&3Taco Cart;&7A fast pace crafting game for 1 or 2 players!;sudo PLAYER tacocart;&7A fast pace crafting game for 1 or 2 players!||&cBETA TESTING supporters only.;sudo PLAYER worlds tacocart" + set {db_hub::06.event} to "nether star;&3Event Server;&7Special place for Staff ran events!;sudo PLAYER event;&7Special place for Staff ran events!||&cThe event server is currently closed.;sudo PLAYER worlds event" + +on join: + execute console command "/mv tp %player% Death-hub" + clear player's inventory + format slot 0 of player with {@help} to be unstealable + format slot 1 of player with {@worlds}to be unstealable + format slot 2 of player with {@fly} to be unstealable + +on shoot: + world is "Death-hub" + shooter's tool is ender pearl + cancel event + +on right click: + player's tool is {@help}: + make player execute command "/help" + player's tool is {@worlds}: + cancel event + make player execute command "/worlds" + player's tool is {@fly}: + {fly.hub.%player%} is not set: + set {fly.hub.%player%} to true + set fly state of player to true + send "&aYou can fly!" + stop + {fly.hub.%player%} is true: + set {fly.hub.%player%} to false + set fly state of player to false + send "&cYou can no longer fly!" + stop + {fly.hub.%player%} is false: + set {fly.hub.%player%} to true + set fly state of player to true + send "&aYou can fly!" + stop + +on drop: + world is "Death-hub": + cancel event + +command /worlds []: + permission: obam.free + trigger: + world is "Death-hub": + argument is not set: + send "&aBringing up menu..." + loop {db_hub::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lCurrent Worlds" to player + wait 1 tick + set {_count} to 0 + loop {db_hub::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "05.tacocart": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.mod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "06.event": + {db_event.status} is "closed": + set {_lore} to {_what::5} + set {_command} to {_what::6} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + argument is "skyblock": + message "&cSkyblock is being remodelled. Please be patient." + stop + argument is "tacocart": + message "&cI'm sorry but Taco Cart is currently in Beta Testing and only available to supporters." + argument is "event": + message "&cI'm sorry but the Event Server is currently closed." + + +command /eventstatus []: + permission: obam.smod + trigger: + argument 1 is "open" or "o": + set {db_event.status} to "open" + message "&2You have set the Event Server to Open." + stop + argument 1 is "closed" or "c": + set {db_event.status} to "closed" + message "&2You have set the Event Server to Closed." + stop + message "&cPlease type Open of Closed." + +every second: + loop all players: + {fly.hub.%loop-player%} is true: + loop-player's world is not "Death-hub": + set fly state of loop-player to false + set {fly.hub.%loop-player%} to false + loop-player's world is "Death-hub": + set fly state of loop-player to true + +command /transfer []: + trigger: + world is "Death-hub" + connect player to "%argument%" \ No newline at end of file diff --git a/Obam-Administration/Finished and Placed/itemcheck.g.sk b/Obam-Administration/Finished and Placed/itemcheck.g.sk new file mode 100644 index 0000000..715c060 --- /dev/null +++ b/Obam-Administration/Finished and Placed/itemcheck.g.sk @@ -0,0 +1,22 @@ +#itemid check +command /itemid []: + executable by: players + permission: obam.free + trigger: + argument is set: + set {_this.block} to argument + message "&e%{_this.block}%" to player + argument is not set: + set {_this.block} to player's tool + {_this.block} is not set: + message "&cYou Must be holding a block!" to player + stop + message "&e%{_this.block}% : %id of {_this.block}% : %data value of {_this.block}%" to player + + +command /itemcheck: + executable by: players + permission: obam.free + trigger: + set {_this.block} to targeted block + message "&e%{_this.block}% : %id of {_this.block}% : %data value of {_this.block}%" to player \ No newline at end of file diff --git a/Obam-Global/liv.sk b/Obam-Administration/Finished and Placed/liv.g.sk similarity index 100% rename from Obam-Global/liv.sk rename to Obam-Administration/Finished and Placed/liv.g.sk diff --git a/Obam-Moderation/spawnmob.sk b/Obam-Administration/Finished and Placed/moderate.g.sk similarity index 84% rename from Obam-Moderation/spawnmob.sk rename to Obam-Administration/Finished and Placed/moderate.g.sk index 0c13bdc..0451d7f 100644 --- a/Obam-Moderation/spawnmob.sk +++ b/Obam-Administration/Finished and Placed/moderate.g.sk @@ -1,3 +1,105 @@ +command /g [] [] []: + description: Teleports to a Player + permission: obam.mod + trigger: + {monitor.%player%} is not set: + set {monitor.%player%} to false + player does not have permission "obam.admin": + {monitor.%player%} is false: + send "&cYou must be in monitor mode to do this!" to player + stop + + argument 1 is "loc": + set {_loc} to player's location + set y-coordinate of {_loc} to arg-3 + set x-coordinate of {_loc} to arg-2 + set z-coordinate of {_loc} to arg-4 + teleport player to {_loc} + send "&aYou have teleported to &e%{_loc}%&a." + stop + set {_player} to argument 1 parsed as player + teleport player to {_player} + send "&aYou have teleported to %{_player}%." to player + log "%player%^GO ACTION^%{_player}%^%location of {_player}%" to "admin/actions.log" + + +command /grab : + permission: obam.mod + trigger: + player-argument is player: + send "&cYou should not grab yourself in public!" to player + stop + set {_loc} to location of player-argument + teleport player-argument to player + + send "&aYou have snatched %player-argument%." to player + send "&aYou have been snatched by %player%!" to player-argument + log "%player%^%location of player%^GRAB ACTION^%player-argument%^%{_loc}%" to "admin/actions.log" + +command /monitor: + permission: obam.mod + trigger: + + {monitor.%player%} is true: + set {monitor.%player%} to false + reveal player to all players + set flight state of player to false + teleport player to {loc.mon.%player%} + set {tim.mon.%player%} to difference between {tim.mon.%player%} and now + send "&aYou are no longer in monitor mode! You have been returned to your position!" + log "%player%^MONITOR DISABLE ACTION^%{loc.mon.%player%}%^%{tim.mon.%player%}%" to "admin/actions.log" + stop + {monitor.%player%} is not set: + set {monitor.%player%} to false + {monitor.%player%} is false: + set {loc.mon.%player%} to location of player + set {monitor.%player%} to true + set {tim.mon.%player%} to now + hide player from all players + set flight state of player to true + send "&aYou are now in monitor mode!" to player + log "%player%^MONITOR ENABLE ACTION^%{loc.mon.%player%}%" to "admin/actions.log" + + +every 1 second: + loop all players: + {monitor.%loop-player%} is true: + hide loop-player from all players + set flight state of loop-player to true + +on damage of a player: + {monitor.%victim%} is true: + cancel event + +on target: + target is a player: + set {_player} to target + {monitor.%{_player}%} is true: + cancel event + +on pick up: + {monitor.%player%} is true: + cancel event + +on right click: + {monitor.%player%} is true: + cancel event + +on left click: + {monitor.%player%} is true: + cancel event + +on drop: + {monitor.%player%} is true: + cancel event + +on command /ascend or /descend: + player has permission "obam.smod" + stop + {monitor.%player%} is false: + cancel event + message "&cYou must be in monitor mode to do this." + command /spawnmob [] [] []: permission: obam.admin permission message: "&cOnly Admins Can Perform This Command - Sorry." @@ -441,4 +543,14 @@ command /spawnmob [] [] []: loop argument 2 times: spawn zombie at block above targeted block set name of spawned entity to argument 3 - stop \ No newline at end of file + stop + + +command /m: + trigger: + if player's gamemode is survival: + make player execute command "/gamemode creative" + stop + if player's gamemode is creative: + make player execute command "/gamemode survival" + stop diff --git a/Obam-Moderation/Moderation-Testing/op.sk b/Obam-Administration/Finished and Placed/op.g.sk similarity index 60% rename from Obam-Moderation/Moderation-Testing/op.sk rename to Obam-Administration/Finished and Placed/op.g.sk index b710072..66d43db 100644 --- a/Obam-Moderation/Moderation-Testing/op.sk +++ b/Obam-Administration/Finished and Placed/op.g.sk @@ -4,20 +4,24 @@ command /opme: player is op: execute console command "deop %player%" stop - {opable::%player%} is true: + {db_opable::%player%} is true: execute console command "op %player%" stop message "You are now OP, type Alt+f4 to access world edit commands." -command /opable [] []: +command /opable [] []: permission: obam.admin trigger: argument 1 is not set: message "Usage is /opable add/remove name" argument 1 is "list" or "l": - loop {opable::*}: + loop {db_opable::*}: message "%loop-index%" argument 1 is "add" or "a": - set {opable::%argument 2%} to true + set {_who} to argument 2 + set {db_opable::%{_who}%} to true + message "&2Added %{_who}% to the opable list." argument 1 is "remove" or "r": - delete {opable::%argument 2%} \ No newline at end of file + set {_who} to argument 2 + delete {db_opable::%{_who}%} + message "&2Removed %{_who}% from the opable list." \ No newline at end of file diff --git a/OBAM-Hub/pinfo.hub.sk b/Obam-Administration/Finished and Placed/pinfo.g.sk similarity index 91% rename from OBAM-Hub/pinfo.hub.sk rename to Obam-Administration/Finished and Placed/pinfo.g.sk index 5c658e0..2e0ca46 100644 --- a/OBAM-Hub/pinfo.hub.sk +++ b/Obam-Administration/Finished and Placed/pinfo.g.sk @@ -1,17 +1,15 @@ - on join: {db_count.start.%player%.2} is not set: set {db_count.start.%player%.2} to {db_dayset.2} - set {db_current.server.%player%} to "&eHub" - - + set {db_current.server.%player%} to {pinfo.server} + every 24 hours: set {db_dayset.2} to {db_dayset.2} + 1 - + on disconnect: clear {db_current.server.%player%} - set {db_lastseen.%player%} to "%now% on &eHub" + set {db_lastseen.%player%} to "%now% on %{pinfo.server}%" clear {db_color.%player%} player has permission "obam.admin": set {db_color.%player%} to "&d%player%" @@ -24,8 +22,14 @@ on disconnect: {db_color.%player%} is not set: set {db_color.%player%} to "&f%player%" - - +command /pinfoworldset : + aliases: pws + permission: obam.admin + trigger: + + set {pinfo.server} to "%colored argument%" + send "&aCurrent Server for /pinfo set to: %colored argument%&a!" + command /playerinfo []: description: Find out information about you aliases: /p, /info, /player, /pinfo @@ -93,13 +97,14 @@ command /playerinfo []: message "%{_name}% &ais &e1&a day old" stop message "&aThey are &e%{_days}% &adays old." + command /daycheck: permission: obam.admin trigger: send "%{db_dayset.2}%" to player send "%{db_count.start.%player%.2}%" send "%{db_dayset.2} - {db_count.start.%player%.2}%" - + command /daypush : permission: obam.admin trigger: diff --git a/Obam-Global/tempclose.sk b/Obam-Administration/Finished and Placed/tempclose.g.sk similarity index 100% rename from Obam-Global/tempclose.sk rename to Obam-Administration/Finished and Placed/tempclose.g.sk diff --git a/Obam-Administration/Finished and Placed/uuid.sk b/Obam-Administration/Finished and Placed/uuid.sk new file mode 100644 index 0000000..c9062ac --- /dev/null +++ b/Obam-Administration/Finished and Placed/uuid.sk @@ -0,0 +1,16 @@ +on join: + set {_name} to player + set {_uuid} to UUID of player + {db_master.uuid::%{_uuid}%} exists: + {db_master.uuid::%{_uuid}%} is {_name}: + stop + set {_old.name} to {db_master.uuid::%{_uuid}%} + set {db_master.uuid::%{_uuid}%} to {_name} + set {db_name.%{_name}%} to {_uuid} + delete {db_name.%{_old.name}%} + log "%date%,%{_uuid}%,%{_old.name}%,%{_name}%" to "logs/Name-Changes.log" + broadcast "&cAttention: &7{_old.name} &chas changed their name to &7{_name}&c." + stop + set {db_master.uuid::%{_uuid}%} to {_name} + set {db_name.%{_name}%} to {_uuid} + diff --git a/Obam-Administration/Finished and Placed/yoyo.g.sk b/Obam-Administration/Finished and Placed/yoyo.g.sk new file mode 100644 index 0000000..6f6c5fb --- /dev/null +++ b/Obam-Administration/Finished and Placed/yoyo.g.sk @@ -0,0 +1,34 @@ +command /yoyo []: + permission: obam.admin + permission message: "&cThis command is only available for Admins." + trigger: + argument 1 is "clear" or "c": + delete {yoyo.victims::*} + message "&2All players cleared." + stop + argument 1 is "start": + set {yoyo.master} to player + message "&2You have started the Human YoYo." + stop + argument 1 is "stop": + delete {yoyo.master} + message "&2You have stopped the Human YoYo." + stop + argument 1 is not set: + message "Clear, start, stop or player name" + add argument 1 to {yoyo.victims::*} + message "&2Added &7%argument 1% &2to list." + message "&2Current list is:" + message "%{yoyo.victims::*}%" + + +every 3 seconds: + {yoyo.master} is set: + loop {yoyo.victims::*}: + set {_who} to loop-value parsed as a player + teleport {_who} to {yoyo.master} + send "&2Boingy" to {_who} + +on quit: + {yoyo.master} is player: + delete {yoyo.master} \ No newline at end of file diff --git a/Obam-Administration/purchase.sk b/Obam-Administration/purchase.sk deleted file mode 100644 index 9d5ebce..0000000 --- a/Obam-Administration/purchase.sk +++ /dev/null @@ -1,5 +0,0 @@ -command /buycraftpurchase : - permission: obam.admin - trigger: - set {db_purchase.%argument 1%.%argument 2%} to true - send "%Argument 2% has purchased %Argument 1%" to console \ No newline at end of file diff --git a/Obam-Communication/Finished and Placed/connect.g.sk b/Obam-Communication/Finished and Placed/connect.g.sk new file mode 100644 index 0000000..d0a5ad0 --- /dev/null +++ b/Obam-Communication/Finished and Placed/connect.g.sk @@ -0,0 +1,38 @@ + + +command /fronts: + permission: obam.free + trigger: + connect player to "fronts" + +command /kit: + permission: obam.free + trigger: + connect player to "kit" + +command /tacocart: + permission: obam.free + trigger: + connect player to "tacocart" + +command /event: + permission: obam.free + trigger: + {db_event.status} is "open": + connect player to "event" + {db_event.status} is "closed": + message "&cThe event server is currently closed." + stop + +command /wtf: + permission: obam.free + trigger: + connect player to "wtf" + +command /hub: + permission: obam.free + trigger: + player's world is "skyworld": + make player execute command "mvtp Death-hub" + stop + connect player to "hub" \ No newline at end of file diff --git a/Obam-Communication/Finished and Placed/firstjoin.sk b/Obam-Communication/Finished and Placed/firstjoin.sk new file mode 100644 index 0000000..589b1ab --- /dev/null +++ b/Obam-Communication/Finished and Placed/firstjoin.sk @@ -0,0 +1,16 @@ +on first join: + execute console command "/new %player%" + + +command /new : + permission: obam.admin + trigger: + + + broadcast " " + broadcast "&3-----------------------------------------------------" + broadcast "&fEveryone give an &6&lOBAM&fCraft welcome to, &6%argument%&f!" + broadcast "&3-----------------------------------------------------" + broadcast " " + forward command "new %argument%" to console + diff --git a/Obam-Communication/motd.sk b/Obam-Communication/Finished and Placed/motd.sk similarity index 51% rename from Obam-Communication/motd.sk rename to Obam-Communication/Finished and Placed/motd.sk index 3b9ca2d..f8d4b12 100644 --- a/Obam-Communication/motd.sk +++ b/Obam-Communication/Finished and Placed/motd.sk @@ -1,22 +1,13 @@ on login: - send "&r" to the player - send "&r" to the player - send "&r" to the player - send "&r" to the player - send "&r" to the player - send "&r" to the player - send "&r" to the player send "&r" to the player send "&9--------------&3[ &bWelcome to OBAM Craft&3 ]&9--------------" to the player send "&3Hey, &r%name of player%&3! Welcome to OBAMCraft!" to the player - send "&3There are currently &b%number of all players%&3 players online." to the player - send "&3Need help? Use &b/help&3, or check out the boards at &b/spawn&3." to the player + send "&3To see the current players online, use &b/who&3." to the player + send "&3Need help? Use &b/help&3, or check out the boards at &b/hub&3." to the player send "&r" to the player - send "&3Website: &bhttp://OBAMGaming.com" to the player + send "&3Website: &bhttp://OBAMCraft.com" to the player send "&3YouTube: &bhttp://YouTube.com/OBAMGaming" to the player on join: set the join message to "&7%name of player% connected" on quit: set the quit message to "&7%name of player% disconnected" -on first join: - set the join message to "&7%name of player% connected for the first time!" diff --git a/Obam-Communication/Finished and Placed/schat2.g.sk b/Obam-Communication/Finished and Placed/schat2.g.sk new file mode 100644 index 0000000..53a7300 --- /dev/null +++ b/Obam-Communication/Finished and Placed/schat2.g.sk @@ -0,0 +1,376 @@ +#smooChat2.3 + +on join: + {db_star.%player%} is set: + set {db_star.%uuid of player%} to {db_star.%player%} + delete {db_star.%player%} + {db_star.%uuid of player%} + {db_alerts.on.%uuid of player%} is not set: + set {db_alerts.on.%uuid of player%} to true + {db_alerts.on.%uuid of player%} is true: + send "&aYour chat alerts are &eOn&a. You can turn them off by using the command &e/chat alerts off" + {db_alerts.on.%uuid of player%} is false: + send "&aYour chat alerts are &eOff&a. You can turn them on by using the command &e/chat alert on" + player does not have permission "obam.supporter": + delete {db_channel.supporter::%uuid of player%} + delete {db_channel.supporter.%uuid of player%} + player does not have permission "obam.mod": + delete {db_channel.staff::%uuid of player%} + delete {db_channel.staff.%uuid of player%} + player does not have permission "obam.mechanic": + delete {db_channel.mech::%uuid of player%} + delete {db_channel.mech.%uuid of player%} + {db_channel.mech.%uuid of player%} is not set: + player has permission "obam.mechanic": + set {db_channel.mech.%uuid of player%} to true + {db_channel.mech.%uuid of player%} is true: + set {db_channel.mech::%uuid of player%} to player + {db_channel.sup.%uuid of player%} is not set: + player has permission "obam.supporter": + set {db_channel.sup.%uuid of player%} to true + {db_channel.sup.%uuid of player%} is true: + set {db_channel.sup::%uuid of player%} to player + {db_channel.staff.%uuid of player%} is not set: + player has permission "obam.mod": + set {db_channel.staff.%uuid of player%} to true + {db_channel.staff.%uuid of player%} is true: + set {db_channel.staff::%uuid of player%} to player + set {db_channel.global::%uuid of player%} to player + set {db_chat.time.%uuid of player%} to now + {db_channel.%uuid of player%} is not set: + set {db_channel.%uuid of player%} to "global" + +on disconnect: + wait 15 seconds + set {_new} to difference between {db_chat.time.%uuid of player%} and now + {_now} is more than 16 seconds: + delete {db_channel.staff::%uuid of player%} + delete {db_channel.supporter::%uuid of player%} + delete {db_channel.mech::%uuid of player%} + +command /chatgroup [] [] []: + permission: obam.admin + trigger: + argument 1 is not set: + send "&aUsage: &e/chatgroup [add|delete] [groupname] [playername]" + stop + argument 1 is "add": + argument 2 is not "admin" or "smod": + send "&cYou must choose &Eadmin &cor &esmod&c!" + stop + set {db_list.chat.%argument 2%::%argument 3%} to argument 3 + send "&aAdded &E%argument 3% &a to chat group &e%argument 2%" + stop + argument 1 is "delete": + argument 2 is not "admin" or "smod": + send "&cYou must choose &eadmin &cor &esmod&c!" + stop + {db_list.chat.%argument 2%::%argument 3%} is not set: + send "&e%argument 3%&c is not in chat group &e%argument 2%&c!" + stop + delete {db_list.chat.%argument 2%::%argument 3%} + send "&aDeleted &e%argument 3% &afrom chat group &e%argument 2%&a!" + stop + argument 1 is "list": + argument 2 is not "admin" or "smod": + send "&cYou must choose &eadmin &cor &esmod&c!" + stop + send "&aPlayers in Chat Group &e%argument 2%&A:" + loop {db_list.chat.%argument 2%::*}: + send "&e%loop-value%" to player + +command /serverprefixset : + aliases: spf + permission: obam.admin + trigger: + set {prefix.server} to "%colored argument%" + send "&aCurrent Server prefix set to: %colored argument%&a!" + +on chat: + cancel event + {db_list.chat.admin::%player%} is set: + set {_pre} to "%{prefix.server}% &d[A] %player%" + {_pre} is not set: + {db_list.chat.smod::%player%} is set: + set {_pre} to "%{prefix.server}% &a[╪] %player%" + {_pre} is not set: + player has permission "obam.mod": + set {_pre} to "%{prefix.server}% &2[M] %player%" + {_pre} is not set: + player has permission "obam.supporter": + set {_pre} to "%{prefix.server}% &6[^] %player%" + {_pre} is not set: + set {_pre} to "%{prefix.server}% %player%" + player is "BruSwain": + set {_pre} to "%{prefix.server}% &6[^] %player%" + {db_star.%uuid of player%} is set: + set {_pre} to "%{_pre}% <%{db_star.%uuid of player%}%>✦ + {db_channel.%uuid of player%} is "private": + set {_player} to {private.%player%} parsed as a player + {_player} is online: + set {_found} to true + {_found} is set: + set {_player} to {private.%player%} parsed as a player + send "&d%player% ➽ %{_player}%&d: %message%" to {_player} + send "&d%player% ➽ %{_player}%&d: %message%" to player + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_found} is not set: + set {_message} to "&d%player% ➽ %{private.%player%}%&d: %message%" + send {_message} to player + execute console command "privatepush %{private.%player%}% %{_message}%" + {db_channel.%uuid of player%} is "staff": + player does not have permission "obam.mod": + set {db_channel.%uuid of player%} to "global" + delete {db_channel.staff::%uuid of player%} + {db_channel.%uuid of player%} is "mechanic": + player does not have permission "obam.mechanic": + set {db_channel.%uuid of player%} to "global" + delete {db_channel.mech::%uuid of player%} + {db_channel.%uuid of player%} is "supporter": + player does not have permission "obam.supporter": + set {db_channel.%uuid of player%} to "global" + delete {db_channel.supporter::%uuid of player%} + {db_channel.%uuid of player%} is "staff": + loop {db_channel.staff::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&a%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&a" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&a: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/modpush %{_pre}%&a: %message%" + {db_channel.%uuid of player%} is "mechanic": + loop {db_channel.mech::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&e%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&e" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&e: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/mechpush %{_message}%" + {db_channel.%uuid of player%} is "supporter": + loop {db_channel.supporter::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&b%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&b" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&b: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/supporterpush %{_message}%" + {db_channel.%uuid of player%} is "global": + loop {db_channel.global::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&f%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&f" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&f: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "globalpush %{_pre}%&f: %message%" + +command /chat [] []: + permission: obam.free + aliases: c, ch + trigger: + argument 1 is "m" or "mod": + player does not have permission "obam.mod": + send "&cYou don't have permission to do this!" + stop + set {db_channel.%uuid of player%} to "staff" + {db_channel.staff::%uuid of player%} is not set: + set {db_channel.staff::%uuid of player%} to player + send "&aYou are now chatting in the &aMod&a channel!" + argument 1 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou don't have permission to do this!" + stop + set {db_channel.%uuid of player%} to "supporter" + {db_channel.supporter::%uuid of player%} is not set: + set {db_channel.supporter::%uuid of player%} to player + send "&aYou are now chatting in the &bSupporter&a channel!" + argument 1 is "mech" or "mechanic": + player does not have permission "obam.mechanic": + send "&cYou don't have permission to do this!" + stop + set {db_channel.%uuid of player%} to "mechanic" + {db_channel.mech::%uuid of player%} is not set: + set {db_channel.mech::%uuid of player%} to player + send "&aYou are now chatting in the &eMechanic&a Channel!" + argument 1 is "g" or "global": + set {db_channel.%uuid of player%} to "global" + send "&aYou are now chatting in the &fGlobal&a channel!" + argument 1 is "l" or "leave": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat leave " + argument 2 is "mod" or "m": + send "&cYou can not leave the staff chat silly." + argument 2 is "mech" or "mechanic": + send "&cYou are now leaving the &eMechanic&c chat!" + delete {db_channel.mech::%uuid of player%} + argument 2 is "s" or "supporter": + send "&cYou are now leaving the &bSupporter&c chat!" + delete {db_channel.supporter::%uuid of player%} + argument 2 is "g" or "global": + send "&cYou are now leaving the &fGlobal&c chat!" + delete {db_channel.global::%uuid of player% + argument 1 is "j" or "join": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat join " + argument 2 is "mod" or "m": + player does not have permission "obam.mod": + send "&cYou do not have permission to do this!" + stop + {db_channel.staff::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.staff::%uuid of player%} to player + set {db_channel.%uuid of player%} to "staff" + send "&aYou are now in the &2Mod&a channel!" + argument 2 is "mechanic" or "mech": + player does not have permission "obam.mechanic": + send "&cYou do not have permission to do this!" + stop + {db_channel.mech::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.mech::%uuid of player%} to player + set {db_channel.%uuid of player%} to "mechanic" + send "&aYou are now in the &eMechanic&a Channel!" + argument 2 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou do not have permission to do this!" + stop + {db_channel.supporter::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.supporter::%uuid of player%} to player + set {db_channel.%uuid of player%} to "supporter" + send "&aYou are now in the &bSupporter&a channel!" + argument 2 is "g" or "global": + {db_channel.global::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.global::%uuid of player%} to player + set {db_channel.%uuid of player%} to "global" + send "&aYou are now in the &fGlobal&a channel!" + argument 1 is "who": + argument 2 is not set: + loop {db_channel.%{db_channel.%uuid of player%}%::*}: + send "%loop-value%" + argument 2 is set: + set {_player} to argument 2 parsed as offline player + message "&7%{_player}% &ais talking in &7%{db_channel.%uuid of {_player}%}%&a chat." + {db_channel.global::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Global channel." + {db_channel.supporter::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Supporter channel." + {db_channel.mech::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Mechanic channel." + {db_channel.staff::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Mod channel." + argument 1 is "alerts" or "alert" or "a": + argument 2 is not set: + {db_alerts.on.%uuid of player%} is not set: + set {db_alerts.on.%uuid of player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + {db_alerts.on.%uuid of player%} is true: + set {db_alerts.on.%uuid of player%} to false + send "&aYour chat alerts are now &eOff&a." + stop + {db_alerts.on.%uuid of player%} is false: + set {db_alerts.on.%uuid of player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + argument 2 is "off": + set {db_alerts.on.%uuid of player%} to false + send "&aYour chat alerts are now &eOff&a." + argument 2 is "on": + set {db_alerts.on.%uuid of player%} to true + send "&aYour chat alerts are now &eOn&a." + +command /star []: + permission: obam.admin + trigger: + set {_player} to argument 1 parsed as offline player + argument 2 is "clear": + clear {db_star.%uuid of {_player}%} + send "&aCleared Star setting for %argument 1%" + stop + set {db_star.%uuid of {_player}%} to argument 2 + send "&aStar for %argument 1% set to <%argument 2%>%argument 2%&a." + +command /tell [] []: + permission: obam.free + trigger: + argument 1 is not set: + {db_channel.%uuid of player%} is "private": + send "&aYou have left your private conversation with %{private.%player%}%" + make player execute command "/ch g" + stop + {db_channel.%uuid of player%} is not "private": + send "&cYou are not in a private conversation!" + stop + argument 2 is not set: + send "&dYou are now in a private conversation with &e%argument 1%" + set {private.%player%} to "%argument 1%" + set {db_channel.%uuid of player%} to "private" + argument 2 is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to player + loop all players: + loop-player is argument 1: + set {_found} to true + {_found} is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to argument 1 + set {_player} to argument 1 parsed as offline player + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of argument 1 with pitch 2 + {_found} is not set: + set {_message} to "&d%player% ➽ %argument 1%: %argument 2%" + execute console command "privatepush %argument 1% %{_message}%" + +command /fishslap : + permission: obam.free + trigger: + {cool.fish.%player%} is not set: + set {cool.fish.%player%} to now + add 5 seconds to {cool.fish.%player%} + set {_wait} to difference between {cool.fish.%player%} and now + {_wait} is less than 4 seconds: + send "&cYou are slapping too much! Calm down D:" to player + stop + send "&aYou just slapped &e%argument%&a!" + set {cool.fish.%player%} to now + loop all players: + "%loop-player%" is argument + set {_found} to true + {db_alerts.on.%uuid of loop-player%} is true + play slime attack at location of loop-player with pitch 1 + send "&e%player% &ajust slapped you with a giant fish!" to loop-player + stop + {_found} is not set: + forward command "fishcatch %argument% %player%" to console \ No newline at end of file diff --git a/Obam-Communication/schatbridge.sk b/Obam-Communication/Finished and Placed/schatbridge.g.sk similarity index 65% rename from Obam-Communication/schatbridge.sk rename to Obam-Communication/Finished and Placed/schatbridge.g.sk index 2085768..6a8ee08 100644 --- a/Obam-Communication/schatbridge.sk +++ b/Obam-Communication/Finished and Placed/schatbridge.g.sk @@ -1,118 +1,100 @@ - - - - command /globalpush : permission: obam.admin trigger: forward command "globalcatch %argument%" to console + command /globalcatch : permission: obam.admin trigger: - loop {db_channel.global::*}: clear {_player} - set {_player} to loop-index parsed as player + set {_player} to loop-value parsed as player set {_message} to "&f%argument%" {_message} contains "%{_player}%": replace "%{_player}%" in {_message} with "&c%{_player}%&f" - {db_alerts.on.%{_player}%} is true: + {db_alerts.on.%uuid of {_player}%} is true: play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} - - - send "%{_message}%" to {_player} - - stop - command /modpush : permission: obam.admin trigger: forward command "modcatch %argument%" to console - + command /modcatch : permission: obam.admin trigger: - loop {db_channel.staff::*}: clear {_player} - set {_player} to loop-index parsed as player + set {_player} to loop-value parsed as player set {_message} to "&a%argument%" {_message} contains "%{_player}%": replace "%{_player}%" in {_message} with "&c%{_player}%&a" - {db_alerts.on.%{_player}%} is true: + {db_alerts.on.%uuid of {_player}%} is true: play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} - - - send "%{_message}%" to {_player} - - stop - command /supporterpush : permission: obam.admin trigger: forward command "supportercatch %argument%" to console - + command /supportercatch : permission: obam.admin trigger: loop {db_channel.supporter::*}: clear {_player} - set {_player} to loop-index parsed as player + set {_player} to loop-value parsed as player set {_message} to "&b%argument%" {_message} contains "%{_player}%": replace "%{_player}%" in {_message} with "&c%{_player}%&b" - {db_alerts.on.%{_player}%} is true: + {db_alerts.on.%uuid of {_player}%} is true: play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} - - - send "%{_message}%" to {_player} - command /mechpush : permission: obam.admin trigger: forward command "mechcatch %argument%" to console - + command /mechcatch : permission: obam.admin trigger: loop {db_channel.mech::*}: clear {_player} - set {_player} to loop-index parsed as player + set {_player} to loop-value parsed as player set {_message} to "&e%argument%" {_message} contains "%{_player}%": replace "%{_player}%" in {_message} with "&c%{_player}%&e" - {db_alerts.on.%{_player}%} is true: + {db_alerts.on.%uuid of {_player}%} is true: play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} - - - send "%{_message}%" to {_player} - command /privatepush : permission: obam.admin trigger: forward command "privatecatch %argument 1% %argument 2%" to console - command /privatecatch : permission: obam.admin trigger: loop all players: - "%loop-player%" is argument 1 - send argument 2 to loop-player - {db_alerts.on.%loop-player%} is true: - play level up at location of loop-player with pitch 2 - stop - + "%loop-player%" is argument 1: + send argument 2 to loop-player + {db_alerts.on.%uuid of loop-player%} is true: + play level up at location of loop-player with pitch 2 + stop + command /fishcatch : permission: obam.admin trigger: loop all players: - "%loop-player%" is argument 1 - {db_alerts.on.%loop-player%} is true - play slime attack at location of loop-player with pitch 1 - send "&e%argument 2% &ajust slapped you with a giant fish!" to loop-player - stop \ No newline at end of file + "%loop-player%" is argument 1: + {db_alerts.on.%uuid of loop-player%} is true: + play slime attack at location of loop-player with pitch 1 + send "&e%argument 2% &ajust slapped you with a giant fish!" to loop-player + stop diff --git a/Obam-Communication/Finished and Placed/xbroad.g.sk b/Obam-Communication/Finished and Placed/xbroad.g.sk new file mode 100644 index 0000000..142e6e2 --- /dev/null +++ b/Obam-Communication/Finished and Placed/xbroad.g.sk @@ -0,0 +1,18 @@ +command /crossmessage : + permission: obam.admin + trigger: + + forward command "crossbroad %argument%" to console + +command /xb : + permission: obam.admin + trigger: + + broadcast "&3[&6STAFF&3] &f%colored argument%" + forward command "crossbroad &3[&6STAFF&3] &f%argument%" to console + +command /crossbroad : + permission: obam.admin + trigger: + + broadcast "%colored argument%" \ No newline at end of file diff --git a/Obam-Communication/firstjoin.sk b/Obam-Communication/firstjoin.sk deleted file mode 100644 index 84832a6..0000000 --- a/Obam-Communication/firstjoin.sk +++ /dev/null @@ -1,13 +0,0 @@ -on first join: - execute console command "/new %player%" - - -command /new : - permission: obam.admin - trigger: - broadcast " " - broadcast "&3-----------------------------------------------------" - broadcast "&fEveryone give an &6&lOBAM&fCraft welcome to, &6%argument%&f!" - broadcast "&3-----------------------------------------------------" - broadcast " " - forward command "new %argument%" to console \ No newline at end of file diff --git a/Obam-Global/itemcheck.sk b/Obam-Global/itemcheck.sk deleted file mode 100644 index c2fe40f..0000000 --- a/Obam-Global/itemcheck.sk +++ /dev/null @@ -1,22 +0,0 @@ -#itemid check -command /itemid []: - executable by: players - permission: obam.free - trigger: - argument is set: - set {this.block} to argument - message "&e%{this.block}%" to player - argument is not set: - set {this.block} to player's tool - {this.block} is not set: - message "&cYou Must be holding a block!" to player - stop - message "&e%{this.block}% : %id of {this.block}% : %data value of {this.block}%" to player - - -command /itemcheck: - executable by: players - permission: obam.free - trigger: - set {this.block} to targeted block - message "&e%{this.block}% : %id of {this.block}% : %data value of {this.block}%" to player \ No newline at end of file diff --git a/Obam-Mini Games/Obam-CreatureCapture/CreatureCapture.sk b/Obam-Mini Games/Obam-CreatureCapture/CreatureCapture.sk index 39ff139..82ef2ca 100644 --- a/Obam-Mini Games/Obam-CreatureCapture/CreatureCapture.sk +++ b/Obam-Mini Games/Obam-CreatureCapture/CreatureCapture.sk @@ -19,6 +19,17 @@ on rightclick on sign: give player {@rod} stop + + +command /ccclear: + permission: obam.admin + permission message: "&cThis command is only available for Admins." + trigger: + world is "CreatureCapture": + loop all players in world "CreatureCapture": + clear inventory of loop-player + send "&2Poof! Your stuff is gone!" to loop-player + command /ccsign: permission: obam.admin permission message: "&cThis command is only available for Admins." @@ -151,3 +162,100 @@ on drop: on pickup: world is "CreatureCapture" cancel event + +command /endgame: + permission: obam.admin + permission message: "&cThis command is only available for Admins." + trigger: + world is "CreatureCapture": + loop all players in world: + add loop-player to {_players::*} + loop {ccchests::*}: + block at location of loop-value is a chest: + set {_chest} to location of loop-value + set {_sign} to block 2 meters above location of {_chest} + set {_team} to line 2 of {_sign} + set {_score} to 0 + loop items in inventory of block at location of {_chest}: + set {_hold} to "%loop-item%" + set {_split::*} to {_hold} split at " " + set {_number} to {_split::1} parsed as number + {_number} is not set: + set {_number} to 1 + loop {_number} times: + loop-item is a sheep spawn egg: + add 100 to {_score} + loop-item is a cow spawn egg: + add 100 to {_score} + loop-item is a ocelot spawn egg: + add 500 to {_score} + loop-item is a bat spawn egg: + add 500 to {_score} + loop-item is a chicken spawn egg: + add 400 to {_score} + loop-item is a horse spawn egg: + add 300 to {_score} + loop-item is a mooshroom spawn egg: + add 200 to {_score} + loop-item is a pig spawn egg: + add 100 to {_score} + loop-item is a squid spawn egg: + add 1000 to {_score} + loop-item is a villager spawn egg: + add 400 to {_score} + loop-item is a wolf spawn egg: + add 300 to {_score} + loop-item is a zombie spawn egg: + add 400 to {_score} + loop-item is a zombie pigman spawn egg: + add 200 to {_score} + loop-item is a blaze spawn egg: + add 500 to {_score} + loop-item is a cave spider spawn egg: + add 200 to {_score} + loop-item is a creeper spawn egg: + add 300 to {_score} + loop-item is a enderman spawn egg: + add 500 to {_score} + loop-item is a ghast spawn egg: + add 500 to {_score} + loop-item is a magma cube spawn egg: + add 100 to {_score} + loop-item is a silverfish spawn egg: + add 200 to {_score} + loop-item is a skeleton spawn egg: + add 100 to {_score} + loop-item is a slime spawn egg: + add 300 to {_score} + loop-item is a spider spawn egg: + add 200 to {_score} + loop-item is a witch spawn egg: + add 400 to {_score} + send "&2The &7%{_team}% &2Team has a score of &7%{_score}%" to {_players::*} + clear inventory of block at location of {_chest} + set {_score::%{_team}%} to {_score} + loop {_score::*}: + set {_%loop-index%} to loop-value + {_Green} is greater than {_Blue}: + {_Green} is greater than {_Red}: + {_Green} is greater than {_Purple}: + send "&2The &7Green &2Team had won the match" to {_players::*} + {_Blue} is greater than {_Green}: + {_Blue} is greater than {_Red}: + {_Blue} is greater than {_Purple}: + send "&2The &7Blue &2Team had won the match" to {_players::*} + {_Red} is greater than {_Green}: + {_Red} is greater than {_Blue}: + {_Red} is greater than {_Purple}: + send "&2The &7Red &2Team had won the match" to {_players::*} + {_Purple} is greater than {_Green}: + {_Purple} is greater than {_Red}: + {_Purple} is greater than {_Blue}: + send "&2The &7Purple &2Team had won the match" to {_players::*} + +command /setendchest: + permission: obam.admin + trigger: + targeted block is a chest + add targeted block to {ccchests::*} + send "&aChest added" diff --git a/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/KitDamageSubSystem b/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/KitDamageSubSystem deleted file mode 100644 index 8f801f7..0000000 --- a/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/KitDamageSubSystem +++ /dev/null @@ -1,102 +0,0 @@ -#actual damage subsystem - -on damage: - victim is a player - attacker is a player - set damage to 0 - - - damage cause is not potion: - damage cause is not projectile: - {kdss.cat.1::%attacker's weapon%} is set: - set {_dmg} to 0.75 - - {kdss.cat.2::%attacker's weapon%} is set: - set {_dmg} to 1.0 - - {kdss.cat.3::%attacker's weapon%} is set: - set {_dmg} to 1.5 - - {kdss.cat.4::%attacker's weapon%} is set: - set {_dmg} to 2.0 - - {kdss.cat.5::%attacker's weapon%} is set: - set {_dmg} to 2.5 - - {kdss.cat.6::%attacker's weapon%} is set: - set {_dmg} to 3.0 - - damage cause is projectile: - - set {_dmg} to 0.75 - - damage cause is potion: - - damage cause is potion of harming 1: - - set {_dmg} to 1.0 - - damage cause is potion of harming 2: - - set {_dmg} to 2.0 - - damage cause is poison or wither: - - set {_dmg} to 0.25 - - - damage cause is fire or burning: - - set {_dmg} to 0.5 - - damage cause is lava: - - set {_dmg} to 0.75 - - - -#commands to set up category hooks - - -command /kdss [text] [integer] [item]: - description: adds items to to different subsystem categories - permission: obam.admin - usage: /kdss [add/delete] [(category) 1 , 2 , 3 , 4....] [item name] - trigger: - - -#add to category protocol - argument 1 is "add": - - #sets the current item to a local variable for easy coding identification - set {_item} to item-arugment - - #for ease of use in the "add" protocol, setting local variable for amount of categories - set {_count} to size of {kdss.category.counts::*} - - #looping a check protocol for items existence before adding - loop {_count} times: - {_loop.count} is not set: - set {_loop.count} to 0 - add 1 to {_loop.count} - - #checking for existence of item - {kdss.cat.%{_loop.count}%::%{_item}%} is set: - - #error kickout for item detection - set {_kdss.error} to "&cThis item is already assigned in &eCategory %{_loop.count}%&c. Please delete before preseding." - send "%{_kdss.error}%" to player - stop - - argument 2 is not set: - - send "&cPlease input a category! (Must be a number!)" to player - stop - - {kdss.category.counts::%argument 2%} is not set: - - send "&cThat category is not set! Please set that category first!" to player - stop - - #activates item in specfied category - set {kdss.cat.%argument 2%::%{_item}%} to true diff --git a/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/fisherman.txt b/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/fisherman.txt deleted file mode 100644 index 8784b69..0000000 --- a/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/fisherman.txt +++ /dev/null @@ -1,11 +0,0 @@ -on teleport: - world is "vacant" - {kit.%player%} is "fisherman": - equip player with all leather armor of unbreaking 10 named "&fFishing Gear" - dye player's helmet (97, 158, 174) - dye player's chestplate (97, 158, 174) - dye player's leggings (97, 158, 174) - dye player's boots (97, 158, 174) - give player fishing rod of unbreaking 10 named "&fOld Faithful" - give player fish named "&fBig Fish" - give player 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" \ No newline at end of file diff --git a/Obam-Mini Games/Obam-KitPvp/aliases-english.sk b/Obam-Mini Games/Obam-KitPvp/aliases-english.sk deleted file mode 100644 index 50565f5..0000000 --- a/Obam-Mini Games/Obam-KitPvp/aliases-english.sk +++ /dev/null @@ -1,1689 +0,0 @@ - -# ====== Aliases ====== -# In this file you can create aliases. An alias is a name for a block or an item, or a collection of such. -# There are hundreds of predefined aliases, so you don't usually need to care about this file. -# -# An alias is nothing more than a mapping from a name to one or more item/block types. -# e.g: 'torch = 50' creates the alias 'torch' and maps it to 50, the ID of a torch. -# So now every time you need a torch you can write torch instead of 50, which is much more intuitive. -# You can make an alias match multiple types by separating them with a comma, e.g. 'water = 8, 9'. -# You can also include data values, e.g. 'orange wool = 35:1'. Data Values can be a range, -# e.g. 'wet farmland = 60:1-8' (60:0 is dry farmland) -# -# == Advanced == -# As different languages have different ways of forming plurals of words you have to define the plurals of all aliases yourself. -# This is done by adding the plural ending after a ¦ character, e.g. 'log¦s = 17'. -# If the singular and plural have different endings each, use two ¦ characters, e.g. 'bookshel¦f¦ves = 47'. -# If you want to pluralize a word within the alias, use another ¦ character, e.g.. 'bucket¦¦s¦ of water' ('¦¦s¦' means: no singular ending, plural ending 's'). -# These plurals are both used by Skript when displaying items, e.g. 2 logs will be displayed as '2 logs', -# while 1 log will be displayed as '1 log', but are also used when parsing, i.e. you can write '1 log' or '2 logs' and both is understood. -# Aliases should also have a gender, which can be defined by adding '@' after the alias, e.g. 'emerald¦s @an' ('@a' can be omitted as it's the default). -# - English genders are 'a' and 'an', and German genders are 'n', 'm', and 'f' (these are all defined in the respectile language file). -# All languages can use the special genders 'x' and '-' for plural and no gender respectively, e.g. 'leaves @x' or 'air @-'. -# -# Sometimes you want to make a part of an alias optional, e.g. in 'wooden door', -# which is also sometimes called 'wood door', the 'en' can be made optional. -# This can be done by putting the optional part into square brackets ([]): -# wood[en] door = 64 # creates 2 aliases: 'wood door = 64' and 'wooden door = 64' -# -# Some blocks/items have different names, like the slab which is also called step. -# In this case you can simple write something like this: -# (step|slab) = 44 # creates two aliases, 'slab' and 'step', of which both are mapped to '44' -# stone (step|slab) = 44:0 # creates 'stone slab' and 'stone step' mapped to '44:0' -# wood[en] (step|slab) = 44:2 # creates four aliases -# -# Some blocks and items share some different appearances, e.g. wood, saplings and leaves all differ only in their tree type. -# Usually you would have to create the aliases 'birch wood', 'birch sapling', 'redwood wood', 'redwood sapling' etc. -# But this can be shortened by using variations: -# {tree type}: # name of the variation -# regular = :0 # list values here. these have the same syntax as aliases, i.e. they can have ids and data/data ranges, -# redwood = :1 # but you usally only need the data, which is done by typing a colon with no id in front of it. -# birch = :2 -# {tree type} wood = 17 # this is resolved to: wood = 17, regular wood = 17:0, redwood wood = 17:1 and birch wood = 17:2 -# sapling of {tree type} tree = 6 # you can put a variation anywhere in an alias, it doesn't need to be at the beginning. -# {tree type} leaves = 18 -# -# please note that 'wood = 17' is also resolved for '{tree type} wood = 17'. This is usually what you want. -# This does not work with variations where ids are varied and not only data values. There you -# have to add a '{default}' to the variation, which is treated like all other values in the variation -# but without adding it's name to the alias. For examples see 'huge mushrooms' or 'doors'. -# -# If an item has a block with a different ID you should add another two aliases called 'x item' and 'x block', e.g. -# cauldron block = 118 -# cauldron item = 380 -# cauldron = 118, 380 -# This way if you 'give a cauldron to the player' the player will not actually be given the items of the 'cauldron' alias, -# but the items of the 'cauldron item' alias, causing the player to always recieve the correct cauldron item. -# The same applies to setting blocks, though it usually doesn't matter as items are ignored when setting blocks. -# It does matter for e.g. water though: -# water = 8, 9 -# water block = 9 -# The 'water block' alias only lists the water source block, while the 'water' alias also lists the flowing water block. -# Setting a block to 'water' will thus always place a water source, while checking 'block is water' will work for both -# stationary and flowing water blocks. -# -# If you want to use something else than 'item' and 'block', simply modify the options below: -# - -# optional suffixes that can be appended to an alias's name and Skript will still understand it, -# e.g. if you only define an alias 'cake', this will allow users to use 'cake block' and 'cake item' as well. -# These are also used to determine the block and item variants of an alias (see above) And should include singular and plural. -item = item¦s -block = block¦s - - - - -# List of alias groups. Only groups listed here are allowed below, -# but you can easily define your own by adding it to this list. -# The groups will be loaded in this order, -# e.g. if 'custom aliases' is loaded after 'default aliases' you can use all default aliases to define your own aliases. -aliases = default aliases, collections, custom aliases - - - - - -custom aliases: - # === Custom Aliases === - # I recommend putting your own aliases here. - # You do not have to create an alias if you intend to use it in only one script, - # but you can put it at the beginning of the script like this: - # aliases: - # admin blocks = bedrock, TNT, 52, 56 - # wand = blaze rod - # This also has the advantage that your script can be used by other people without having to add the aliases to their config. - # - # - # If you want to edit a default alias, you should copy & paste it here to edit it. - # This will make it easier for you if you choose to update Minecraft and more blocks & items are added, in which case - # you can then simply download the updated config and copy & paste this section into it. - # - # The default aliases are loaded before these, so you can use them here. - # You can also override them by creating an alias with the same name. - - #example: shorten names - # ss = sandstone - # llb = lapis lazuli block - # ms = monster spawner - #etc. - -collections: - # === Collections === - - # all ores - ore¦s = coal ore, iron ore, gold ore, diamond ore, lapis ore, any redstone ore - # fuels, i.e. items which can be burned in the furnace - fuel¦s = lava bucket, blaze rod, any coal, planks, log, huge mushroom, workbench, fence, wooden stairs, trapdoor, sapling, stick, chest, locked chest, jukebox, note block - # note: the above aliases are used in 'furnace automatisation.cfg' - - # all food which can be eaten by rightclicking, i.e. doesn't include cake. - food¦s = any apple, mushroom soup, bread, any porkchop, any fish, cookie, melon slice, any beef, any chicken, rotten flesh, any carrot, any potato, pumpkin pie - # the same list but without raw food & rotten flesh - healthy food¦s = any apple, mushroom soup, bread, cooked porkchop, cooked fish, cookie, melon slice, steak, cooked chicken, any carrot, potato, baked potato, pumpkin pie - - # all vehicles, i.e. all minecarts and the boat - vehicle¦s = any minecart, boat - - # all plants. By default this does not include pumpkins and melons, but their stems. - plant¦s = leaves, any tall grass, dead bush, any flower, any mushroom, lily pad, vines, melon stem, pumpkin stem, nether wart - - -default aliases: - # === Default Aliases === - - # -- special -- - anything @- = : # ':' matches any ID. You should only use this together with a {variation} that includes a {default} value. - # (':' means ':') - something @- = : - everything @- = * # '*' is actually the same as 'every :', but 'every' can't be used in aliases. Thus I made this small hack - # to allow the definition of an 'everything' alias, but please note that '*' cannot be used anywhere else. - - - # ====== Blocks ====== - - # -- air -- - air @- = 0 - nothing @- = 0 - none @- = 0 - empty @- = 0 - [empty] (hand|fist)¦s = 0 - bare (hand|fist)¦s = 0 - - - # -- stone -- - stone¦s = 1 - smooth stone = 1 - - - # -- grass -- - grass = 2 - grass block = 2 - - - # -- dirt -- - dirt = 3 - - - # -- cobblestone -- - cobble[stone] = 4 - mossy cobble[stone] = 48 - - - # -- planks & saplings: see wood - - - # -- bedrock -- - bedrock = 7 - - - # -- water & lava -- - water = 8, 9 - water (item|block)¦s = 9 - stationary water = 9 - water source = 9 - flowing water = 8 # change to '8:0-7' if you want to exclude falling water - falling water = 8:8 - moving water = 8 - - lava = 10, 11 - lava (item|block)¦s = 11 - stationary lava = 11 - lava source = 11 - flowing lava = 10 # change to '10:0-7' if you want to exclude falling lava - falling lava = 10:8 - moving lava = 10 - - - # -- sand & gravel-- - sand = 12 - gravel = 13 - - - # -- ores & precious blocks -- - gold ore¦s = 14 - gold block¦s = 41 - block¦¦s¦ of gold = 41 - - iron ore¦s @an = 15 - iron block¦s @an = 42 - block¦¦s¦ of iron = 42 - - coal ore¦s = 16 - - lapis [lazuli] ore¦s = 21 - lapis [lazuli] block¦s = 22 - - # redstone ore: see redstone - - diamond ore¦s = 56 - diamond block¦s = 57 - block¦¦s¦ of diamond = 57 - - emerald ore¦s @an = 129 - emerald block¦s @an = 133 - block¦¦s¦ of emerald = 133 - - - # -- wood, leaves, saplings & planks -- - {tree type}: # also used for wooden slabs - {default} = :0-15 - (normal|regular|oak) = :0, :4, :8, :12 - (pine|redwood|fir|spruce) = :1, :5, :9, :13 - birch = :2, :6, :10, :14 - jungle = :3, :7, :11, :15 - - {log direction}: - {default} = :0-3 - vertical = :0-3 - east-west = :4-7 - west-east = :4-7 - south-north = :8-11 - north-south = :8-11 - horizontal = :4-11 - rotated = :4-11 - full[[ ]block] = :12-15 - any = :0-15 - {log direction no default}: - vertical = :0-3 - east-west = :4-7 - west-east = :4-7 - south-north = :8-11 - north-south = :8-11 - horizontal = :4-11 - rotated = :4-11 - full[[ ]block] = :12-15 - any = :0-15 - - {log direction no default} {tree type} (log¦s|wood) = 17 - {log direction} {tree type} (log|wood) (item¦s|block¦s) = 17 - {tree type} leaves = 18 - {tree type} permanent leaves = 18:4-7, 18:12-15 - {tree type} sapling¦s = 6:0-3 - {tree type} plank¦s = 5:0-3 - {tree type} wood[en] plank¦s = 5:0-3 - - - # -- sponge -- - sponge¦s = 19 - - - # -- glass -- - glass = 20 - glass pane¦s = 102 - thin glass = 102 - window¦s = 102 - window glass = 102 - - - # -- lapis lazuli -- - # lapis ore & block: see ores & blocks - # lapis lazuli: see dyes - - - # -- dispenser -- - dispenser¦s = 23 - - - # -- sandstone -- - sand[ ]stone¦s = 24 - - - # -- note block -- - note block¦s = 25 - - - # -- bed -- - {bed occupied}: - occupied = :4-7, :12-15 - (free|empty) = :0-3, :8-11 - {bed part}: - (head|top) = :8-15 - (foot|bottom) = :0-7 - {bed occupied} bed [block] {bed part} = 26 - bed¦s = 26, 355 - bed block¦s = 26 - bed item¦s = 355 - - - # -- minecart rails -- - {minerail}: - straight = :0-5 - straight flat = :0-1 - flat straight = :0-1 - curved = :6-9 - flat = :0-1, :6-9 - inclined = :2-5 - {minerail straight}: - flat = :0-1, :8-9 - inclined = :2-5, :10-13 - # normal rail - [any] {minerail} [minecart] (rail|track)[s] = 27, 28, 66 - {minerail} [minecart] (rail|track)[s] (item|block) = 66 - # powered rail - {minerail straight} powered [minecart] (rail|track) = 27 - {minerail straight} [minecart] booster¦s = 27 - {minerail straight} [minecart] booster (rail|track)¦s = 27 - {minerail straight} powered [minecart] (rail|track)¦ on¦s on = powered rail:8-15 - {minerail straight} powered [minecart] (rail|track)¦ off¦s off = powered rail:0-7 - {minerail straight} active powered [minecart] (rail|track)¦s = powered rail:8-15 - {minerail straight} inactive powered [minecart] (rail|track)¦s = powered rail:0-7 - {minerail straight} [minecart] booster¦ on¦s on = powered rail:8-15 - {minerail straight} [minecart] booster¦ off¦s off = powered rail:0-7 - {minerail straight} [minecart] booster (rail|track)¦ on¦s on = powered rail:8-15 - {minerail straight} [minecart] booster (rail|track)¦ off¦s off = powered rail:0-7 - {minerail straight} (active|powered) [minecart] booster¦s = powered rail:8-15 - {minerail straight} (inactive|unpowered) [minecart] booster¦s = powered rail:0-7 - {minerail straight} (active|powered) [minecart] booster (rail|track)¦s = powered rail:8-15 - {minerail straight} (inactive|unpowered) [minecart] booster (rail|track)¦s = powered rail:0-7 - # detector rail - {minerail straight} detector [minecart] (rail|track)¦s = 28 - {minerail straight} detector [minecart] (rail|track)¦ on¦s on = detector rail:8-15 - {minerail straight} detector [minecart] (rail|track)¦ off¦s off = detector rail:0-7 - {minerail straight} active detector [minecart] (rail|track)¦s = detector rail:8-15 - {minerail straight} inactive detector [minecart] (rail|track)¦s = detector rail:0-7 - # activator rail - {minerail straight} activator [minecart] (rail|track)¦s = 157 - - - # -- sticky piston: see redstone - - - # -- cobweb -- - cobweb¦s = 30 - - - # -- vegetation -- - - # saplings & leaves: see wood - - any tall grass = 31:1-2 - dead grass = 31:0 - tall grass = 31:1 - long grass = 31:1 - fern¦s = 31:2 - - dead shrub¦s = 32 - dead bush¦es = 32 - - dandelion¦s = 37 - yellow flower¦s = 37 - rose¦s = 38 - red rose¦s = 38 - red flower¦s = 38 - flower¦s = 37, 38 - - mushroom¦s = 39, 40 - brown mushroom¦s = 39 - red mushroom¦s = 40 - - {huge mushroom type}: - {default} = 99, 100 - brown = 99 - red = 100 - huge {huge mushroom type} mushroom¦s = : - huge {huge mushroom type} mushroom stem¦s = :10 - huge {huge mushroom type} mushroom cap¦s = :1-9 #0 is not a real cap piece - - pumpkin¦s = 86 - jack-o-lantern¦s = 91 - glowing pumpkin¦s = 91 - pumpkin stem¦s = 104 - pumpkin seeds = 361 - pumpkin pie¦s = 400 - - melon¦s = 103 - melon block¦s = 103 - melon slice¦s = 360 - melon stem¦s = 105 - melon seeds = 362 - - vines = 106 - # the amount of vines here refers to the number of vines on the sides of the vine block. - # the top vine is always present if there's a solid block above the vines or the data is 0. - no vine[s] = 106:0 - single vine = 106:1, 106:2, 106:4, 106:8 - double vine[s] = 106:3, 106:5, 106:9, 106:6, 106:10, 106:12 - triple vine[s] = 106:7, 106:11, 106:13, 106:14 - quadruple vine[s] = 106:15 - - lily pad¦s = 111 - - nether wart¦s = 115, 372 - nether wart block¦s = 115 - nether wart item¦s = 372 - ripe nether wart¦s = 115:3 - freshly planted nether wart¦s = 115:0 - - cocoa = 127 - cocoa plant¦s = 127 - (freshly planted|small) cocoa [plant¦s] = 127:0-3 - medium cocoa [plant¦s] = 127:4-7 - (ripe|big|large) cocoa [plant¦s] = 127:8-11 - - {flower pot}: - (empty|nothing) = :0 - (rose|red flower) = :1 - (dandelion|yellow flower) = :2 - flower = :1-2 - (normal|regular|oak) sapling = :3 - (pine|redwood|fir|spruce) sapling = :4 - birch sapling = :5 - jungle [tree] sapling = :6 - sapling = :3-6 - red mushroom = :7 - brown mushroom = :8 - mushroom = :7-8 - cactus = :9 - dead bush = :10 - fern = :11 - {flower pot} flower pot¦s = 140 - {flower pot} flower pot block¦s = 140 - flower pot (holding|containing|with) [a[n]] {flower pot} = 140 - flower pot item¦s = 390 - flower pot¦s = 140, 390 - - carrot plant¦s = 141 - carrot[s] block¦s = 141 - carrot[s] [item¦s] = 391 - golden carrot¦s = 396 - any carrot[s] [item¦s] = 391, 396 - carrot¦ on a stick¦s on sticks = 398 - - potato plant¦s = 142 - potato[es] block¦s = 142 - potato¦es = 392 - potato[es] item¦s = 392 - baked potato¦es = 393 - poisonous potato¦es = 394 - any potato¦es = 392, 393, 394 - - - # -- pistons: see redstone - - - # -- wool, carpets and dyes -- - # note: it's not possible to make a {colour} variation, as dye and wool colour data values are different. - {wool}: # also used for stained clay - any = :0-15 - white = :0 - orange = :1 - magenta = :2 - light blue = :3 - yellow = :4 - light green = :5 - pink = :6 - gray = :7 - light gray = :8 - cyan = :9 - purple = :10 - blue = :11 - brown = :12 - [dark] green = :13 - red = :14 - black = :15 - {wool} wool = 35:0-15 - {wool} (carpet|rug)¦s = 171:0-15 - - dye¦s = 351:0-15 - white dye¦s = 351:15 - bone[ ]meal¦s = 351:15 - orange dye¦s = 351:14 - magenta dye¦s = 351:13 - light blue dye¦s = 351:12 - yellow dye¦s = 351:11 - dandelion yellow [dye¦s] = 351:11 - light green dye¦s = 351:10 - pink dye¦s = 351:9 - gray dye¦s = 351:8 - light gray dye¦s = 351:7 - cyan dye¦s = 351:6 - purple dye¦s = 351:5 - blue dye¦s = 351:4 - lapis [lazuli¦s] = 351:4 - cocoa beans = 351:3 - brown dye¦s = 351:3 - [dark] green dye¦s = 351:2 - cactus green [dye¦s] = 351:2 - red dye¦s = 351:1 - rose red = 351:1 - black dye¦s = 351:0 - ink sack¦s = 351:0 - - - # -- block 36 -- - block 36 = 36 - block moved by piston = 36 - moving block¦s = 36 - - - # -- flowers & mushrooms: see vegetation - - - # -- iron & gold block: see ores & blocks - - - # -- single & double steps / slabs -- - {any slab}: - {default} = 44, 126 - single = 44, 126 - double = 43, 125 - {stone slab}: - {default} = 44 - single = 44 - double = 43 - {wooden slab}: - {default} = 126 - single = 126 - double = 125 - - {slab facing}: - {default} = :0-7 - regular = :0-7 - default = :0-7 - upside-down = :8-15 - any = :0-15 - {slab facing no default}: - regular = :0-7 - default = :0-7 - upside-down = :8-15 - any = :0-15 - - {stone slab type}: - {default} = :0-1, :3-5, :8-9, :11-13 - any = :0-1, :3-5, :8-9, :11-13 - stone = :0, :8 - sandstone = :1, :9 - cobble[stone] = :3, :11 - brick = :4, :12 - stone brick[s]) = :5, :13 - {stone slab type no default}: - any = :0-1, :3-5, :8-9, :11-13 - stone = :0, :8 - sandstone = :1, :9 - cobble[stone] = :3, :11 - brick = :4, :12 - stone brick[s]) = :5, :13 - - # variation {tree type}: see wood - {slab facing no default} {stone slab} {stone slab type no default} (step|slab)¦s = : - {slab facing} {stone slab} {stone slab type} (step|slab) (block|item)¦s = : - {slab facing no default} {wooden slab} {tree type} [wood[en]] (step|slab)¦s = :0-3, :8-11 - {slab facing} {wooden slab} {tree type} (step|slab) (block|item)¦s = : - {slab facing no default} {any slab} (step|slab)¦s = : - {slab facing} {any slab} (step|slab) (block|item)¦s = : - - - # -- bricks & clay -- - [clay] brick¦s = 45, 336 - [clay] brick[s] = 45 - [clay] brick[s] = 336 - - {wool} [stained] [hard[ened]] clay = 159 - - clay = 82, 337 - clay = 82 - clay = 337 - clay ball¦s = 337 - - hard[ened] clay = 172 - - - # -- TNT -- - TNT¦s = 46 - dynamite = 46 - - - # -- bookshelf -- - bookshel¦f¦ves = 47 - - - # -- mossy cobblestone: see cobblestone - - - # -- obsidian -- - obsidian = 49 - - - # -- torch -- - {torch}: #also used for redstone torches - ground = :5 - floor = :5 - wall = :1-4 - {torch} torch¦es = 50 - - - # -- fire -- - fire¦s = 51 - (eternal|infinite) fire¦s = 51:15 #never tested this myself - finite fire¦s = 51:0-14 - (new|fresh) fire¦s = 51:0 - - - # -- monster spawner -- - monster spawner¦s = 52 - mob spawner¦s = 52 - - - # -- stairs -- - {stairs}: - {default} = 53, 134, 135, 136, 67, 108, 109, 114, 128, 156 - (oak|regular|normal) [wood] = 53 - (spruce|fir|redwood|pine) [wood] = 134 - birch [wood] = 135 - jungle [wood] = 136 - [any] wood[en] = 53, 134, 135, 136 - cobble[stone] = 67 - [clay] brick[s] = 108 - stone brick[s] = 109 - nether [brick[s]] = 114 - sand[ ]stone = 128 - [nether] quarz = 156 - {stairs direction}: - {default} = :0-3 - any = :0-7 - upside-down = :4-7 - {stairs direction no default}: - any = :0-7 - upside-down = :4-7 - - {stairs direction no default} {stairs} stair[s] = : - {stairs direction} {stairs} stair[s] (block|item)¦s = : - - - # -- chest -- - chest¦s = 54 - ender chest¦s = 130 - trapped chest¦s = 146 - - - # -- redstone wire: see redstone - - - # -- diamond ore & block: see ores & blocks - - - # -- crafting table -- - crafting table¦s = 58 - workbench¦es = 58 - - - # -- crops / wheat -- - crops = 59 - wheat block¦s = 59 - wheat item¦s = 296 - wheat = 59, 296 - [wheat] seeds = 295 - freshly planted (crops|wheat) = 59:0 - ripe (crops|wheat) = 59:7 - - - # -- farmland/soil -- - (farmland|soil) = 60 - dry (farmland|soil) = 60:0 - wet (farmland|soil) = 60:1-8 - - - # -- furnace -- - furnace¦s = 61, 62 - (burning|lighted|lit) furnace¦s = 62 - furnace¦ on¦s on = 62 - (non-burning|unlighted|unlit|extinguished) furnace¦s = 61 - furnace¦ off¦s off = 61 - - - # -- signs -- - sign post¦s = 63 - wall sign¦s = 68 - sign block¦s = 63, 68 - sign item¦s = 323 - sign¦s = 63, 68, 323 - - - # -- doors, trapdoors and fence gates -- - # I currently discourage from creating aliases like 'open door' or doors with specific facings - # as any 'block is ' condition will fail if you click the wrong part of the door. - # 'set to door:1' will correctly place an open door though. - {doortype}: - {default} = 64, 71 - wood[en] = 64 - iron = 71 - {doorhalf}: - top¦s = :8-9 - bottom¦s = :0-7 - {doortype} door [block] {doorhalf} = : - {doortype} door block¦s = : - wood[en] door item¦s = 324 - wood[en] door¦s = 324, 64 - iron door item¦s = 330 - iron door¦s = 330, 71 - door item¦s = 330, 324 - door¦s = 330, 71, 324, 64 - - trapdoor¦s = 96 - open[ed] trapdoor¦s = 96:4-7 - closed trapdoor¦s = 96:0-3 - - fence gate¦s = 107 - open[ed] fence gate¦s = 107:4-7 - closed fence gate¦s = 107:0-3 - - - # -- ladder -- - ladder¦s = 65 - - - # -- rails: see minecart rails - - - # -- coblestone stairs: see stairs - - - # -- redstone -- - [redstone] wire¦s = 55 - [redstone] wire¦ on¦s on = 55:1-15 - [redstone] wire¦ off¦s off = 55:0 - powered [redstone] wire¦s = redstone wire on - unpowered [redstone] wire¦s = redstone wire off - active [redstone] wire¦s = redstone wire on - inactive [redstone] wire¦s = redstone wire off - - redstone ore¦s = 73, 74 - (active|glowing) redstone ore¦s = 74 - (inactive|non-glowing) redstone ore¦s = 73 - redstone ore¦ on¦s on = 74 - redstone ore¦ off¦s off = 73 - - # variation {torch}: see torch - {torch} redstone torch¦es = 75, 76 - {torch} redstone torch¦ on¦es on = 76 - active {torch} redstone torch¦es = 76 - {torch} redstone torch¦ off¦es off = 75 - inactive {torch} redstone torch¦es = 75 - - {diodedelay}: - 1-tick[-delay] = :0-3 - 2-tick[-delay] = :4-7 - 3-tick[-delay] = :8-11 - 4-tick[-delay] = :12-15 - {diodedelay} [redstone] (repeater|diode)[ block]¦s = 93, 94 - [redstone] (repeater|diode) item¦s = 356 - [redstone] (repeater|diode)¦s = 356, 93, 94 - {diodedelay} [redstone] (repeater|diode)[ block]¦ on¦s on = 94 - {diodedelay} [redstone] (repeater|diode)[ block]¦ off¦s off = 93 - (active|powered) {diodedelay} [redstone] (repeater|diode)[ block]¦s = 94 - (inactive|unpowered) {diodedelay} [redstone] (repeater|diode)[ block]¦s = 93 - - {lever position}: - wall = :1-4, :9-12 - ground = :5-6, :13-14 - floor = :5-6, :13-14 - {lever position} lever¦s = 69 - {lever position} lever¦ on¦s on = 69:8-15 - (pulled|thrown|active) {lever position} lever¦s = 69:8-15 - {lever position} lever¦ off¦s off = 69:0-7 - (unpulled|unthrown|inactive) {lever position} lever¦s = 69:0-7 - - {button}: - {default} = 77, 143 - stone = 77 - wood[en] = 143 - {button} button¦s = : - {button} button¦ on¦s on = :8-15 - pressed {button} button¦s = :8-15 - active {button} button¦s = :8-15 - {button} button¦ off¦s off = :0-7 - unpressed {button} button¦s = :0-7 - inactive {button} button¦s = :0-7 - - {pressure plate}: - {default} = 70, 72, 147, 148 - wood[en] = 72 - stone = 70 - gold[en] = 147 - iron = 148 - {pressure plate} [pressure] plate¦s = : - (pressed|active) {pressure plate} [pressure] plate¦s = :1 - (unpressed|inactive) {pressure plate} [pressure] plate¦s = :0 - {weighted pressure plate}: - {default} = 147, 148 - gold[en] = 147 - light = 147 - iron = 148 - heavy = 148 - {weighted pressure plate} weighted [pressure] plate¦s = : - (pressed|active) {weighted pressure plate} weighted [pressure] plate¦s = :1 - (unpressed|inactive) {weighted pressure plate} weighted [pressure] plate¦s = :0 - - piston base¦s = 33 - sticky piston base¦s = 29 - any piston base¦s = 33, 29 - # - piston extension¦s = 34:0-5 - sticky piston extension¦s = 34:8-13 - any piston extension¦s = 34 - # - piston¦s = piston base, piston extension - piston (item|block)¦s = piston base - sticky piston¦s = sticky piston base, sticky piston extension - sticky piston (item|block)¦s = sticky piston base - any piston¦s = 29, 33, 34 - # - extended piston base¦s = 33:8-13 - extended sticky piston base¦s = 29:8-13 - any extended piston base¦s = extended piston base, extended sticky piston base - # - extended piston¦s = extended piston base, piston extension - extended sticky piston¦s = extended sticky piston base, sticky piston extension - any extended piston¦s = any extended piston base, any piston extension - # - retracted piston¦s = 33:0-5 - retracted sticky piston¦s = 29:0-5 - any retracted piston¦s = retracted piston, retracted sticky piston - - redstone lamp¦s = 123, 124 - (inactive|unpowered|unlit) restone lamp¦s = 123 - restone lamp¦ off¦s off = 123 - (active|glowing|powered|lit) redstone lamp¦s = 124 - redstone lamp¦ on¦s on = 124 - - redstone comparator¦s = 149, 150 - redstone comparator block¦s = 149 - redstone comparator item¦s = 404 - (inactive|unpowered) redstone comparator¦s = 149 - (active|powered) redstone comparator¦s = 150 - - daylight sensor¦s = 151 - - redstone block¦s = 152 - block¦¦s¦ of redstone = 152 - - hopper¦s = 154 - - dropper¦s = 158 - - - # -- snow & ice -- - snow layer¦s = 78 - ice [block¦s] @an = 79 - snow [block¦s] = 80 - - - # -- cactus -- - cact¦us¦i = 81 - cactuses = 81 - - - # -- clay block: see bricks -- - - - # -- sugar cane -- - [sugar] cane¦s = 83, 338 - [sugar] cane block¦s = 83 - [sugar] cane item¦s = 338 - - - # -- jukebox -- - jukebox¦es = 84 - - - # -- fence -- - fence¦s = 85 - - - # -- pumpkin & lack-o-lantern: see vegetation - - - # -- nether stuff -- - netherrack¦s = 87 - soul[ ]sand¦s = 88 - glowstone¦s = 89 - [nether] portal¦s = 90 - - - # -- cake -- - cake¦s = 92, 354 - cake block¦s = 92 - cake item¦s = 354 - - - # -- redstone repeater: see redstone - - - # -- locked chest -- - locked chest¦s = 95 - - - # -- trapdoor: see doors - - - # -- hidden silverfish -- - silverfish block¦s = 97:0-2 - hidden silverfish¦es = 97:0-2 - [hidden] [smooth] stone silverfish¦es = 97:0 - [hidden] cobble[stone] silverfish¦es = 97:1 - [hidden] stone brick[s] silverfish¦es = 97:2 - - - # -- stone bricks -- - stone brick¦s = 98:0-3 - stone brick¦s = 98:0-3 - stone brick[s] (item|block)¦s = 98:0 - smooth [stone] brick¦s = 98:0 - mossy [stone] brick¦s = 98:1 - cracked [stone] brick¦s = 98:2 - (circle|fancy|decorated) [stone] brick¦s = 98:3 - - - # -- huge mushrooms: see vegetation - - - # -- iron bars -- - [iron] bars @x = 101 - - - # -- glass pane: see glass - - - # -- melon, stems & vines: see vegetation - - - # -- fence gate: see doors - - - # -- brick & stone brick stairs: see stairs - - - # -- mycelium -- - mycelium = 110 - mushroom (floor|ground|grass) = 110 - - - # -- lily pad: see vegetation - - - # -- nether brick stuff -- - nether brick¦s = 112, 405 - nether brick block¦s = 112 - nether brick item¦s = 405 - nether [brick[s]] fence¦s = 113 - # nether brick stairs: see stairs - - - # -- nether wart: see vegetation - - - # -- enchantment table -- - enchantment table¦s = 116 - - - # -- brewing stand -- - brewing stand¦s = 117, 379 - brewing stand block¦s = 117 - brewing stand item¦s = 379 - empty brewing stand¦s @an = 117:0 - full brewing stand¦s = 117:7 - - - # -- cauldron -- - cauldron¦s = 118, 380 - cauldron block¦s = 118 - cauldron item¦s = 380 - empty cauldron¦s @an = 118:0 - full cauldron¦s = 118:3 - - - # -- End stuff -- - end[er] portal¦s @an = 119 - - end[er] portal frame¦s @an = 120 - empty end[er] portal frame¦s @an = 120:0-3 - filled end[er] portal frame¦s = 120:4-7 - end[er] stone¦s @an = 121 - - dragon egg¦s = 122 - ender[ ]dragon egg¦s @an = 122 - - - # -- redstone lamp: see redstone - - - # -- emerald ore/block: see ores - - - # -- ender chest: see chest - - - # -- tripwire & hook - tripwire¦s = 132 - [tripwire] hook¦s = 131 - - - # -- wooden stairs: see stairs - - - # -- command block -- - command block¦s = 137 - - - # -- beacon -- - beacon¦s = 138 - - - # -- cobblestone walls -- - cobble[stone] wall¦s = 139:0-1 - cobble[stone] wall (item|block)¦s = 139:0 - (normal|regular) cobble[stone] wall¦s = 139:0 - moss[y] cobble[stone] wall¦s = 139:1 - - - # -- flower pot, carrots, potatoes: see vegetation -- - - - # -- wooden button: see redstone -- - - - # -- mob head -- - {mob head direction}: - floor = :1 - wall = :2-5 - {mob head type}: - skeleton = :0 - wither skeleton = :1 - zombie = :2 - (human|player) = :3 - creeper = :4 - {mob head type} [mob] head[ item]¦s = 397 - {mob head direction} [mob] head[ block]¦s = 144 - [mob] head¦s = 144, 397 - - - # -- anvil -- - {anvil}: - (regular|complete) @a = :0-1 - undamaged @an = :0-1 - [slightly] damaged @a = :4-5 - (very|heavily|severely) damaged @a = :8-9 - {anvil} anvil¦s @an = 145 - - - # -- trapped chest: see chest - - - # -- weighted pressure plates, redstone comparator, daylight sensor, redstone block: see redstone - - - # -- nether quarz ore, quarz block -- - [nether] quartz ore = 153 - {quartz block}: - (normal|regular) = :0 - chiseled = :1 - pillar = :2-3 - vertical pillar = :2 - horizontal pillar = :3-4 - ns pillas = :3 - ew pillar = :4 - {quartz block} [nether] quartz = 155 - {quartz block} [nether] quartz block¦s = 155 - pillar [nether] quartz (block|item) = 155:2 - [nether] quartz = 155, 406 - [nether] quartz item¦s = 406 - # quarz stairs: see stairs - - - # -- hopper: see redstone - - - # -- activator rail: see rails - - - # -- dropper: see redstone - - - # -- stained clay: see clay - - - # -- hay block -- - (hay|wheat) block¦s = 170 - block¦¦s¦ of (hay|wheat) = 170 - - - # -- carpet: see wool - - - # -- hardened clay: see clay - - - # -- block of coal: see coal - - - - - - - - # ====== Items ====== - - # -- flint and steel -- - flint and steel¦s = 259 - flint'n'steel¦s = 259 - - - # -- apples -- - apple¦s = 260, 322:0-1 - apple¦s @an = 260 - red apple¦s = 260 - golden apple¦s = 322:0-1 - golden apple item¦s = 322:0 - enchanted golden apple¦s @an = 322:1 - - - # -- bow & arrow -- - bow¦s = 261 - arrow¦s = 262 - - - # -- coal -- - coal = 263:0-1 - charcoal = 263:1 - coal = 263:0, 173 - coal = 263:0 - coal = 173 - block¦¦s¦ of coal = 173 - - - # -- diamond & ingots -- - diamond¦s = 264 - iron (ingot|bar)¦s @an = 265 - gold[en] (ingot|bar)¦s = 266 - ingot¦s @an = 265, 266 - - - # -- tools -- - sword¦s = 267, 268, 272, 276, 283 - pick[axe]¦s = 270, 274, 257, 278, 285 - axe¦s @an = 271, 275, 258, 279, 286 - shovel¦s = 269, 273, 256, 277, 284 - spade¦s = shovel - hoe¦s = 290, 291, 292, 293, 294 - - wood[en] tool¦s = 268, 269, 270, 271, 290 - stone tool¦s = 272, 273, 274, 275, 291 - iron tool¦s @an = 256, 257, 258, 267, 292 - diamond tool¦s = 276, 277, 278, 279, 293 - gold[en] tool¦s = 283, 284, 285, 286, 294 - - wood[en] sword¦s = 268 - wood[en] (shovel|spade)¦s = 269 - wood[en] pick[axe]¦s = 270 - wood[en] axe¦s = 271 - wood[en] hoe¦s = 290 - - stone sword¦s = 272 - stone (shovel|spade)¦s = 273 - stone pick[axe]¦s = 274 - stone axe¦s = 275 - stone hoe¦s = 291 - - iron sword¦s @an = 267 - iron (shovel|spade)¦s @an = 256 - iron pick[axe]¦s @an = 257 - iron axe¦s @an = 258 - iron hoe¦s @an = 292 - - diamond sword¦s = 276 - diamond (shovel|spade)¦s = 277 - diamond pick[axe]¦s = 278 - diamond axe¦s = 279 - diamond hoe¦s = 293 - - gold[en] sword¦s = 283 - gold[en] (shovel|spade)¦s = 284 - gold[en] pick[axe]¦s = 285 - gold[en] axe¦s = 286 - gold[en] hoe¦s = 294 - - - # -- stick -- - stick¦s = 280 - - - # -- bowl & stew -- - bowl¦s = 281 - empty bowl¦s @an = 281 - [mushroom] (stew|soup)¦s = 282 - - - # -- string -- - string¦s = 287 - - - # -- feather -- - feather¦s = 288 - - - # -- gunpowder -- - gunpowder = 289 - sulphur = 289 - - - # -- wheat & seeds: see crops / wheat - bread¦s = 297 - - - # -- armour -- - helmet¦s = 298, 302, 306, 310, 314 - chestplate¦s = 299, 303, 307, 311, 315 - leg[ging]s @x = 300, 304, 308, 312, 316 - boots @x = 301, 305, 309, 313, 317 - - leather armo[u]r¦s = 298, 299, 300, 301 - chain[mail] armo[u]r¦s = 302, 303, 304, 305 - iron armo[u]r¦s = 306, 307, 308, 309 - diamond armo[u]r¦s = 310, 311, 312, 313 - gold armo[u]r¦s = 314, 315, 316, 317 - - leather (cap|helmet)¦s = 298 - leather (tunic|chest[plate])¦s = 299 - leather (pants|leg[ging]s) @x = 300 - leather boots @x = 301 - - chain[mail] helmet¦s = 302 - chain[mail] chestplate¦s = 303 - chain[mail] leggings @x = 304 - chain[mail] boots @x = 305 - - iron helmet¦s @an = 306 - iron chest[plate]¦s @an = 307 - iron leg[ging]s @x = 308 - iron boots @x = 309 - - diamond helmet¦s = 310 - diamond chest[plate]¦s = 311 - diamond leg[ging]s @x = 312 - diamond boots @x = 313 - - gold[en] helmet¦s = 314 - gold[en] chest[plate]¦s = 315 - gold[en] leg[ging]s @x = 316 - gold[en] boots @x = 317 - - - # -- flint -- - flint¦s = 318 - - - # -- porkchop -- - [] pork[chop]¦s = 319, 320 - pork[chop] item¦s = 319 - raw pork[chop]¦s = 319 - (cooked|grilled) pork[chop]¦s = 320 - - - # -- painting -- - painting¦s = 321 - painting item¦s = 321 - - - # -- golden apple: see apples - - - # sign: see signs - - - # wooden door: see doors - - - # -- buckets -- - [empty] bucket¦s = 325 - water bucket¦s = 326 - bucket¦¦s¦ of water = 326 - lava bucket¦s = 327 - bucket¦¦s¦ of lava = 327 - milk [bucket¦s] = 335 - bucket¦¦s¦ of milk = 335 - - - # -- minecarts -- - [] minecart¦s = 328, 342, 343 - minecart item¦s = 328 - storage minecart¦s = 342 - minecart¦¦s¦ with chest = 342 - powered minecart¦s = 343 - minecart¦¦s¦ with furnace = 343 - minecart¦¦s¦ with TNT = 407 - minecart¦¦s¦ with hopper = 408 - - - # -- saddle -- - saddle¦s = 329 - - - # -- iron door: see doors - - - # -- redstone dust -- - redstone = 331 - redstone dust = 331 - - - # -- snowball -- - snowball¦s = 332 - - - # -- boat -- - boat¦s = 333 - - - # -- leather -- - leather = 334 - - - # -- milk: see buckets - - - # -- clay & clay brick: see bricks -- - - - # -- sugar cane: see sugar cane block - - - # -- paper & books -- - paper = 339 - book¦s = 340 - book¦¦s¦ (and|with) quill = 386 - written book¦s = 387 - - - # -- slimeball -- - slime[ball¦s] = 341 - - - # minecart with chest/furnace: see minecarts - - - # -- [chicken] egg -- - egg¦s @an = 344 - chicken egg¦s = 344 - - - # -- compass -- - compass¦es = 345 - - - # -- fishing rod -- - fishing rod¦s = 346 - - - # -- clock -- - clock¦s = 347 - - - # -- glowstone dust -- - glowstone dust = 348 - - - # -- fish -- - [] fish¦es = 349, 350 - fish item¦s = 349 - raw fish¦es = 349 - cooked fish¦es = 350 - - - # -- dyes: see wool & dyes - - - # -- bone -- - bone¦s = 352 - - - # -- sugar -- - sugar = 353 - - - # -- cake: see cake block - - - # -- bed: see bed block - - - # -- redstone repeater: see redstone - - - # -- cookie -- - cookie¦s = 357 - - - # -- map -- - map¦s = 358 - map¦s = 358:0-32767 - empty map¦s @an = 395 - # You can get a specific map with map:#, e.g. map:0 for map_0 (the first map crafted) - # (The maximum map number is 65536, but Skript currently only supports numbers up to 32767) - - - # -- shears -- - shears = 359 - - - # -- melon slice, pumpkin seeds & melon seeds: see vegetation - - - # -- beef -- - [] beef = 363, 364 - beef item¦s = 363, 364 - [raw] beef = 363 - steak¦s = 364 - cooked beef = 364 - - - # -- chicken -- - [] chicken¦s = 365, 366 - chicken item¦s = 365 - raw chicken¦s = 365 - cooked chicken¦s = 366 - - - # -- rotten flesh -- - rotten flesh = 367 - - - # -- ender pearl -- - ender pearl¦s @an = 368 - - - # -- blaze rod -- - blaze rod¦s = 369 - - - # -- ghast tear -- - ghast tear¦s = 370 - - - # -- gold nugget -- - gold nugget¦s = 371 - - - # -- nether wart: see vegetation - - - # -- potions & bottles -- - [glass] bottle¦s = 374 - vial¦s = 374 - water bottle¦s = 373:0 - bottle¦¦s¦ of water = 373:0 - - awkward potion¦s @an = 373:16 - - {splash potion}: - {default} = :0-16383 - non-splash = :0-16383 - splash = :16384-32767 - {splash potion no default}: - non-splash = :0-16383 - splash = :16384-32767 - - {extended potion}: - {default} = :0-63, :16384-16447 - unextended @an = :0-63, :16384-16447 - non-extended = :0-63, :16384-16447 - extended @an = :64-127, :16448-16511 - {extended potion no default}: - unextended @an = :0-63, :16384-16447 - non-extended = :0-63, :16384-16447 - extended @an = :64-127, :16448-16511 - - {potion tier}: - {default} = :0-31, :64-95, :16384-16415, :16448-16479 - (1|I) = :0-31, :64-95, :16384-16415, :16448-16479 - (2|II) = :32-63, :96-127, :16416-16447, :16480-16511 - {potion tier no default}: - (1|I) = :0-31, :64-95, :16384-16415, :16448-16479 - (2|II) = :32-63, :96-127, :16416-16447, :16480-16511 - - {potion effect}: - Regeneration = :1, :33, :65, :97, :16385, :16417, :16449, :16481 - (Swiftness|Speed) = :2, :34, :66, :98, :16386, :16418, :16450, :16482 - Fire Resistance = :3, :35, :67, :99, :16387, :16419, :16451, :16483 - Poison = :4, :36, :68, :100, :16388, :16420, :16452, :16484 - (Healing|[Instant] Health) = :5, :53, :69, :101, :16389, :16421, :16453, :16485 - Night Vision = :6, :38, :70, :102, :16390, :16422, :16454, :16486 - Weakness = :8, :40, :72, :104, :16392, :16424, :16456, :16488 - Strength = :9, :41, :73, :105, :16393, :16425, :16457, :16489 - Slowness = :10, :42, :74, :106, :16394, :16426, :16458, :16490 - (Harming|[Instant] Damage) = :12, :44, :76, :108, :16396, :16428, :16460, :16492 - Invisibility = :14, :46, :78, :110, :16398, :16430, :16462, :16494 - - {extended potion no default} {splash potion no default} potion¦¦s¦ [of {potion effect} {potion tier no default}] = 373 - {extended potion} {splash potion} potion¦¦s¦ [of {potion effect} {potion tier}] item = 373 - {extended potion no default} {splash potion no default} {potion effect} potion¦¦s¦ {potion tier no default} = 373 - {extended potion} {splash potion} {potion effect} potion {potion tier} item¦s = 373 - - - # -- spider eye & fermented spider eye -- - spider eye¦s = 375 - fermented spider eye¦s = 376 - - - # -- blaze powder -- - blaze powder = 377 - - - # -- magma cream -- - magma cream¦s = 378 - - - # -- eye of ender -- - eye¦¦s¦ of ender @an = 381 - - - # -- glistering melon -- - glistering melon¦s = 382 - - - # -- spawn egg -- - {entity type}: - experience orb @an = :2 - xp orb = :2 - TNT = :20 - minecart = :40 # < MC 1.5 - boat = :41 - minecart = :42 - minecart with chest = :43 - minecart with furnace = :44 - minecart with TNT = :45 - minecart with hopper = :46 - minecart with spawner = :47 - creeper = :50 - skeleton = :51 - spider = :52 - giant = :53 - zombie = :54 - slime = :55 - ghast = :56 - zombie pigman = :57 - pig[ ]zombie = :57 - enderman @an = :58 - cave spider = :59 - silverfish = :60 - blaze = :61 - magma cube = :62 - ender dragon @an = :63 - wither = :64 - witch = :66 - bat = :65 - pig = :90 - sheep = :91 - cow = :92 - chicken = :93 - squid = :94 - wolf = :95 - mooshroom = :96 - snow golem = :97 - ocelot @an = :98 - iron golem @an = :99 - horse = :100 - villager = :120 - ender crystal = :200 - - {entity type} spawn egg¦s = 383 - random spawn egg¦s = 383:50-52, 383:54-62, 383:65-66, 383:90-96, 383:98, 383:100, 383:120 # only working eggs - - - # -- bottle o' enchanting -- - bottle¦¦s¦ (o'|of) enchanting = 384 - (xp|exp[erience]) bottle¦s @an = 384 - - - # -- fire charge -- - fire charge¦s = 385 - - - # -- book and quill, written book: see book - - - # -- emerald -- - emerald¦s = 388 - - - # -- item frame -- - item frame¦s = 389 - - - # -- flower pot: see vegetation -- - - - # -- carrot, potatoes: see vegetation -- - - - # -- empty map: see map -- - - - # -- golden carrot: see vegetation -- - - - # -- mob head: see mob head block -- - - - # -- carrot on a stick: see vegetation -- - - - # -- nether star -- - nether star¦s = 399 - - - # -- pumpkin pie: see vegetation -- - - - # -- Fireworks -- - firework rocket¦s = 401 - firework star¦s = 402 - - - # -- Enchanted Book -- - enchanted book¦s @an = 403 - - - # -- redstone comparator: see redstone - - - # -- nether brick item: see nether brick stuff - - - # -- nether quarz: see nether quarz block - - - # -- minecart with TNT/hopper: see minecarts - - - # -- horse armour -- - iron horse armo[u]r¦s = 417 - gold horse armo[u]r¦s = 418 - diamond horse armo[u]r¦s = 419 - - - # -- lead -- - lead¦s = 420 - - - # -- name tag -- - name tag¦s = 421 - - - # -- music discs -- - music disc¦s = 2256, 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267 - record¦s = music disc - gold [music] disc¦s = 2256 - 13-disc¦s = 2256 - green [music] disc¦s = 2257 - cat [music] disc¦s = 2257 - blocks [music] disc¦s = 2258 - chirp [music] disc¦s = 2259 - far [music] disc¦s = 2260 - mall [music] disc¦s = 2261 - mellohi [music] disc¦s = 2262 - stal [music] disc¦s = 2263 - strad [music] disc¦s = 2264 - ward [music] disc¦s = 2265 - 11-disc¦s = 2266 - wait [music] disc¦s = 2267 diff --git a/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/archer.sk b/Obam-Mini Games/Obam-KitPvp/archer.sk similarity index 100% rename from Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/archer.sk rename to Obam-Mini Games/Obam-KitPvp/archer.sk diff --git a/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/firemage.sk b/Obam-Mini Games/Obam-KitPvp/firemage.sk similarity index 100% rename from Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/firemage.sk rename to Obam-Mini Games/Obam-KitPvp/firemage.sk diff --git a/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/fisherman.sk b/Obam-Mini Games/Obam-KitPvp/fisherman.sk similarity index 100% rename from Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/fisherman.sk rename to Obam-Mini Games/Obam-KitPvp/fisherman.sk diff --git a/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/kdss.sk b/Obam-Mini Games/Obam-KitPvp/kdss.sk similarity index 100% rename from Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/kdss.sk rename to Obam-Mini Games/Obam-KitPvp/kdss.sk diff --git a/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/kitpvp.sk b/Obam-Mini Games/Obam-KitPvp/kitpvp.sk similarity index 100% rename from Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/kitpvp.sk rename to Obam-Mini Games/Obam-KitPvp/kitpvp.sk diff --git a/Obam-Mini Games/Obam-KitPvp/kitstuff.sk b/Obam-Mini Games/Obam-KitPvp/kitstuff.sk deleted file mode 100644 index 1850122..0000000 --- a/Obam-Mini Games/Obam-KitPvp/kitstuff.sk +++ /dev/null @@ -1,1620 +0,0 @@ -options: - #startfold @class-chest-stuff - ninjakit: i;leather cap;n;&9&lNinja;l;&7Click to pick the||&eNinja&7 Class|| ||%{dis.%player%.1}%;c;sudo %player% kit ninja - archerkit: i;bow;n;&9&lArcher;l;&7Click to pick the||&eArcher&7 Class|| ||;c;sudo %player% kit archer - meleekit: i;iron helmet;n;&9Melee;l;&7Click to pick the||&eMelee&7 Class|| ||;c;sudo %player% kit melee - firemagekit: i;fire charge;n;&9Fire Mage;n;&9&lFire Mage;l;&7Click to pick the||&eFire Mage&7 Class|| ||%{dis.%player%.1}%;c;sudo %player% kit firemage - lightningmagekit: i;nether star;n;&9&lLightning Mage;n;&9&lLightning Mage;l;&7Click to pick the||&eLightning Mage&7 class|| ||;c;sudo %player% kit lightningmage - tankkit: i;gold chestplate;n;&9&lTank;l;&7Click to pick the||&eTank&7 class|| ||;c;sudo %player% kit tank - necrokit: i;bone;n;&9&lNecromancer;l;&7Click to pick the ||&eNecromancer&7 class|| ||%{dis.%player%.1}%;c;sudo %player% kit necromancer - fishermankit: i;fish;n;&9&lFisherman;l;&7Click to pick the||&eFisherman&7 class|| ||;c;sudo %player% kit fisherman - something: i;wood hoe;n;&9&lSomething;c;sudo %player% kit something - skelemancerkit: i;wither skeleton head;n;&9&lSkele-Mancer;l;&7Click to pick the||&eSkele-Mancer&7 class;c;sudo %player% kit skelemancer - supporterstuff: i;diamond block;n;&9&lMore Kits for Supporters!;l;&7Purchase a Supporter membership||&7To get even more fun||&7kits from &9OBAM&7! - #endfold - #startfold @arena-chest-stuff - killingfieldarena: i;long grass;n;&9&lKilling Fields;l;&7Click to join the||&eKilling Fields&7 arena;c;spawnplayer %player% killingfields - vacantarena: i;glass bottle;n;&9&lVacant;l;&7Click to join||&eVacant&7 arena;c;spawnplayer %player% vacant - showdownarena: i;dead shrub;n;&9&lShowdown;l;&7Click to join||&eShowdown&7 arena;c;spawnplayer %player% showdown - #endfold -#kits - - -variables: - {safety.%player%} = 0 - - -command /arena: - permission: obam.free - trigger: - world is "kitpvpkillingfields": - - {active.kit.%player%} is not set: - send "&cPlease choose a kit first!" to player - stop - {active.kit.%player%} is false: - send "&cPlease choose a kit first!" to player - stop - show "s;2;{@killingfieldarena};s;3;{@vacantarena};s;4;{@showdownarena}" with 1 row named "&9&lOBAM &9 :: Arenas" to player -command /kit []: - #startfold @kits - permission: obam.free - executable by: players and console - trigger: - world is "kitpvpkillingfields" - argument is not set: - player has permission "obam.supporter": - set {dis.%player%.1} to " " - show "s;11;{@ninjakit};s;12;{@archerkit};s;13;{@meleekit};s;14;{@firemagekit};s;15;{@lightningmagekit};s;16;{@tankkit};s;17;{@necrokit};s;23;{@fishermankit};s;24;{@skelemancerkit}" with 4 rows named "&9&lOBAM &9:: Kits" to player - stop - - set {dis.%player%.1} to "&eUse this kit for one time for &a25&e Tickets" - show "s;11;{@ninjakit};s;12;{@archerkit};s;13;{@meleekit};s;14;{@firemagekit};s;15;{@lightningmagekit};s;16;{@tankkit};s;17;{@necrokit};s;23;{@fishermankit};s;24;{@skelemancerkit}" with 4 rows named "&9&lOBAM &9:: Kits" to player - {kitpvp.dead.%player%} is true: - send "&cYou can not pick a kit while dead >.>" to player - stop - #subfold @archer - {active.kit.%player%} is false: - set {_arena.run} to true - argument is "archer": - - {active.kit.%player%} is true: - send "&cYou already have a kit D:" to player - stop - clear player's inventory - apply speed 1 to player for 999 days - equip player with all iron armor of protection 2 and unbreaking 2 - give player bow of infinity 1 and power 1 named "&fBow of Truth" - give 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" to player - give player 2 egg named "&fStun Bomb" - apply absorption 3 to player for 999 days - give player arrow - add 10 to player's health - set {kit.archer.%player%} to true - set {egg.archer.%player%} to true - set {active.kit.%player%} to true - set {active.game.kit.%player%} to true - - #subfold @ninja - argument is "ninja": - player does not have permission "obam.supporter": - set {_player.bal} to player's balance - {_player.bal} is less than 25: - send "&cYou do not have enough tickets for that kit!" - stop - - subtract 25 from player's balance - send "&aYou have purchased &eNinja Kit&a for one time use for &e25 Tickets&a. You now have &e%player's balance%&a." - log "KITPVPTICKET TRANSACTION^%player%^-25^%{_player.bal}%^%player's balance%^PURCHASE 1 TIME NINJA" to "tickets/KIT-PVPTRANS.log" - - {active.kit.%player%} is true: - send "&cYou already have a kit D:" to player - stop - clear player's inventory - apply speed 3 to player for 999 days - equip player with all leather armor of protection 1 named "&fNinja Cloaks" - dye player's helmet black - dye player's chestplate black - dye player's leggings black - dye player's boots black - apply jump 2 to player for 999 days - apply absorption 3 to player for 999 days - give iron sword of sharpness 2 named "&fSamurai Blade &b[Sharpness II]" to player - give 3 snowball named "&fBlindness Balls" to player - give 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" to player - give potion of poison named "&fJump Potion" to player - add 10 to player's health - set {snowball.ninja.%player%} to true - set {kit.ninja.%player%} to true - set {active.kit.%player%} to true - set {ninja.poof.%player%} to true - set {active.game.kit.%player%} to true - #subfold @melee - argument is "melee": - - {active.kit.%player%} is true: - send "&cYou already have a kit D:" to player - stop - clear player's inventory - equip player with all iron armor of protection 3 and projectile protection 1 named "&fArmor of Light" - give player iron sword of sharpness 1 named "&fBlade of Justice &b[Sharpness I]" - give 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" to player - give 2 snowball named "&fPoison Pills" to player - set {snowball.melee.%player%} to true - set {kit.melee.%player%} to true - set {active.kit.%player%} to true - set {active.game.kit.%player%} to true - #subfold @firemage - argument is "firemage": - player does not have permission "obam.supporter": - set {_player.bal} to player's balance - {_player.bal} is less than 25: - send "&cYou do not have enough tickets for that kit!" - stop - - subtract 25 from player's balance - send "&aYou have purchased &eFiremage Kit&a for one time use for &e25 Tickets&a. You now have &e%player's balance%&a." - log "KITPVPTICKET TRANSACTION^%player%^-25^%{_player.bal}%^%player's balance%^PURCHASE 1 TIME FIREMAGE" to "tickets/KIT-PVPTRANS.log" - clear player's inventory - equip player with all leather armor of blast protection 3 and unbreaking 2 and protection 4 and fire protection 3 and unbreaking 2 named "&fFireMage's Robes" - dye player's helmet red - dye player's chestplate red - dye player's leggings red - dye player's boots red - give player stick of knockback 1 named "&fFire Wand" with lore "&fPowers:|| ||&bConfuse: &3Left click to shoot a confusion||&3egg at a player!||&b&lCOST:&b 5 Mana|| ||&bFireball: &3Right click to shoot a fireball||&b&lCOST:&b 10 Mana" - give player 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" - give player 3 splash potions of harming 2 named "&fPain Juice" - apply speed 1 to player for 999 days - {active.kit.%player%} is false: - set player's level progress to 0.99 - {active.kit.%player%} is not set: - set player's level progress to 0.99 - add 10 to player's health - set {kit.firemage.%player%} to true - set {active.kit.%player%} to true - set {active.game.kit.%player%} to true - #subfold @tank - argument is "tank": - - {active.kit.%player%} is true: - send "&cYou already have a kit D:" to player - stop - clear player's inventory - equip player with all gold armor of protection 5 and unbreaking 10 named "&fArmor of Density" - give player wood shovel of sharpness 1 and unbreaking 10 named "&fTank's Paddle" - give player 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" - apply slowness 1 to player for 999 days - apply health boost 3 to player for 999 days - give player 5 snowballs named "&fDisabling Bombs" - heal player by 10 hearts - add 20 to player's health - set {kit.tank.%player%} to true - set {active.kit.%player%} to true - set {active.game.kit.%player%} to true - - #subfold @lightningmage - argument is "lightningmage": - - {active.kit.%player%} is true: - send "&cYou already have a kit D:" to player - stop - clear player's inventory - equip player with all leather armor of unbreaking 3 and protection 4 named "&fLightning Mage's Robes" - dye player's helmet blue - dye player's chestplate blue - dye player's leggings blue - dye player's boots blue - give player stick of knockback 1 named "&fLightning Wand" with lore "&fPowers:|| ||&bTeleport: &3Left click to teleport to the block||&3you're looking at!||&b&lCOST:&b 50 Mana|| ||&bLightning: &3Right click to shoot lighting||&b&lCOST:&b 10 Mana" - give player 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" - give player 3 splash potions of harming 2 named "&fPain Juice" - apply jump 1 to player for 999 days - {active.kit.%player%} is false: - set player's level progress to 0.99 - {active.kit.%player%} is not set: - set player's level progress to 0.99 - add 10 to player's health - set {kit.lightningmage.%player%} to true - set {active.kit.%player%} to true - set {active.game.kit.%player%} to true - #subfold @necromancer - argument is "necromancer": - player does not have permission "obam.supporter": - set {_player.bal} to player's balance - {_player.bal} is less than 25: - send "&cYou do not have enough tickets for that kit!" - stop - - subtract 25 from player's balance - send "&aYou have purchased &eNecromancer Kit&a for one time use for &e25 Tickets&a. You now have &e%player's balance%&a." - log "KITPVPTICKET TRANSACTION^%player%^-25^%{_player.bal}%^%player's balance%^PURCHASE 1 TIME NECRO" to "tickets/KIT-PVPTRANS.log" - clear player's inventory - equip player with all leather armor of protection 5 and unbreaking 3 and fire protection 2 named "&fNecromancer's Robes" - dye player's helmet yellow - dye player's chestplate yellow - dye player's leggings yellow - dye player's boots yellow - give player Blaze Rod named "&fSummoning Rod" with lore "&fPowers:|| ||&bSummon: &3Right Click to summon the undead to serve you!||&b&lCOST:&b 30 Mana|| ||&bCall of the dead: &3Left click to call your minions back!||&b&lCOST:&b 10 Mana" - give player stone sword of knockback 1 and sharpness 2 named "&fSummoner's Trust" - give player 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" - apply speed 1 to player for 999 days - {active.kit.%player%} is false: - set player's level progress to 0.99 - {active.kit.%player%} is not set: - set player's level progress to 0.99 - add 10 to player's health - set {kit.necromancer.%player%} to true - set {active.kit.%player%} to true - set {active.game.kit.%player%} to true - - #subfold @fisherman - argument is "fisherman": - - {active.kit.%player%} is true: - send "&cYou already have a kit D:" to player - stop - clear player's inventory - equip player with all leather armor of protection 5 and unbreaking 3 and projectile protection 2 named "&fFishing Gear" - give player fishing rod of unbreaking 10 named "&fOld Faithful" - give player fish of sharpness 3 named "&fBig Fish" - give player 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" - add 10 to player's health - set {kit.fisherman.%player%} to true - set {active.kit.%player%} to true - set {active.game.kit.%player%} to true - - - - #subfold @something - #argument is "something": - - #{active.kit.%player%} is true: - #send "&cYou already have a kit D:" to player - #stop - #clear player's inventory - #equip player with all iron armor of protection 2 and blast protection 2 named "&fSomethings Armor" - #give player wood hoe of sharpness 1 and knockback 1 named "&fHerding Thing" - #apply speed 2 to player for 999 days - #give player 3 snowballs named "&fGrenades" - #give player 3 eggs named "&fFlashBang" - add 10 to player's health - #set {kit.something.%player%} to true - #set {active.kit.%player%} to true - - - #subfold @skelemancer - argument is "skelemancer": - {active.kit.%player%} is true: - send "&cYou already have a kit D:" to player - stop - clear player's inventory - equip player with all leather armor of protection 5 and unbreaking 3 and fire protection 2 named "&fSkelemancer's Robes" - dye player's helmet white - dye player's chestplate white - dye player's leggings white - dye player's boots white - give player bone of knockback 1 and sharpness 1 named "&fSummoning Bone" - give player bow of infinity 1 and punch 1 and power 1 named "&fSummoner's Sidekick" - give player 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" - give player 1 arrow - apply speed 1 to player for 999 days - {active.kit.%player%} is false: - set player's level progress to 0.99 - {active.kit.%player%} is not set: - set player's level progress to 0.99 - add 10 to player's health - set {kit.skelemancer.%player%} to true - set {active.kit.%player%} to true - set {active.game.kit.%player%} to true - - {_arena.run} is true: - send "&aOpening Arena Menu...." to player - wait 1 second - make player execute command "/arena" - - #subfold @earthmage - - - - - -#endfold - - - -on damage: - - #startfold @damage-kits - world is "kitpvpkillingfields": - attacker is player: - victim is player: - {active.kit.%attacker%} is false: - cancel event - stop - {active.kit.%victim%} is false: - cancel event - stop - {active.kit.%attacker%} is true - {active.kit.%victim%} is true - chance of 1%: - send "&aYou have received experience in battle!" to attacker - send "&aYou have received experience in battle!" to victim - add 10 to {level.%attacker%} - add 10 to {level.%victim%} - chance of 15%: - send "&aYou have received a &e5 ticket &areward for battle!" to attacker - add 5 to attacker's balance - #subfold @kitdetection - {kitpvp.dead.%victim%} is true: - cancel event - stop - {kitpvp.dead.%attacker%} is true: - cancel event - stop - {active.kit.%attacker%} is not set: - cancel event - send "&cYou do not have a kit yet! Do not be crazy!" to attacker - - {active.kit.%attacker%} is false: - cancel event - send "&cYou do not have a kit yet! Do not be crazy!" to attacker - {active.kit.%victim%} is not set: - cancel event - send "&cThis player has not chosen a kit! Please play fair :(" to attacker - {active.kit.%victim%} is false: - cancel event - send "&cThis player has not chosen a kit! Please play fair :(" to attacker - - #subfold @falldamage-cancellation - damage cause is fall: - cancel event - damage cause is block explosion: - cancel event - #subfold @archer-headshot - projectile is arrow: - {kit.archer.%attacker%} or {kit.skelemancer.%attacker%} is true: - distance between the attacker and the victim is bigger than 20: - victim is a player: - chance of 30%: - add 3 to damage - send "&a&lBoom! &aHeadshot!" to attacker - play level up at location of attacker with pitch 1 - send "&cHeadshot!" to victim - play anvil land at location of victim with pitch 2 - {kit.archer.%attacker%} is true: - {kit.tank.%victim%} is true: - send "&cYou can not slow the tank!" to attacker - stop - victim has slowness: - victim has blindness: - apply wither to victim for 2 seconds - - apply blindness to victim for 2 seconds - - apply slowness 2 to victim for 4 seconds - chance of 10%: - apply poison to victim for 8 seconds - send "&aYour enemy bleeds..." to attacker - send "&cYour wounds are too deep" to victim - - - #subfold @snowball-alteration - - projectile is snowball: - #subfold @ninja-snowball - {snowball.ninja.%attacker%} is true: - apply blindness to victim for 3 seconds - message "&cYou have been blinded by &e%attacker%&c!" to victim - message "&aYou have blinded &e%victim%&a!" to attacker - #subfold @melee-snowball - {snowball.melee.%attacker%} is true: - apply poison to victim for 3 seconds - apply speed 1 to victim for 2 seconds - #subfold @tank-snowball - {kit.tank.%attacker%} is true: - teleport victim to attacker - apply slowness 8 to victim for 4 seconds - apply blindness to victim for 2 seconds - {kit.tank.%victim%} is true: - remove slowness from victim - apply slowness 2 to victim - send "&cYou can not slow the tank." to attacker - #subfold @egg-alteration - projectile is egg: - #subfold @archer-egg - {egg.archer.%attacker%} is true: - - apply slowness 8 to victim for 2 seconds - message "&cYou have been stunned by &e%attacker%&c!" to victim - message "&aYou have stunned &e%victim%&a!" to attacker - {kit.tank.%victim%} is true: - remove slowness from victim - apply slowness 2 to victim for 999 days - send "&cYou can not slow the tank." to attacker - - #subfold @firemage-egg - {kit.firemage.%attacker%} is true: - {kit.tank.%victim%} is true: - send "&cYou can not slow the tank!" to attacker - stop - apply slowness 3 to victim for 2 seconds - apply nausea to victim for 3 seconds - message "&cYou have been confused by &e%attacker%&c!" to victim - message "&aYou have confused &e%victim%&a!" to attacker - #subfold @something-class - - #subfold @fire/lava-damage-event - damage cause is lava or burning or drowning or wither or poison: - victim is a player: - if damage is greater than or equal to victim's health: - cancel event - clear victim's inventory - extinguish victim - teleport victim to {kit.pvp.spawn} - execute console command "effect %victim% clear" - clear {active.game.kit.%victim%} - set victim's health to 10 - {last.attacker.%victim%} is not set: - message "&cThe environment got the best of &e%victim%" to all players in victim's world - {last.attacker.%victim%} is set: - set {_size} to size of {deathmessages.kitpvp::*} - set {_temp} to random integer between 1 and {_size} - message "&e%{last.attacker.%victim%}% &chas %{deathmessages.kitpvp::%{_temp}%}% &e%victim% &cwith &b%uncoloured name of {last.attacker.%victim%}'s tool%" to all players in {last.attacker.%victim%}'s world - {last.attacker.%victim%} is not victim: - send "&aYou claim a bounty of &e%{value.%victim%.kit.live}% tickets &afrom &e%victim%" to {last.attacker.%victim%} - add {value.%victim%.kit.live} to {last.attacker.%victim%}'s balance - set {_size2} to size of {assists.%victim%::*} - {_size2} is greater than 1: - loop {assists.%victim%::*}: - {assists.%victim%::%loop-index%} is not {last.attacker.%victim%}: - set {_player} to {assists.%victim%::%loop-index%} - send "&aYou assisted in the death of &e%victim%" to {_player} - send "&aYou split the bounty &e%{_size2}% &aways with others. Your cut is &e%rounded {value.%victim%.kit.live} / {_size2}% &etickets" to {_player} - {assist.%{_player}%.kp} is not set: - set {assist.%{_player}%.kp} to 0 - add 1 to {assist.%{_player}%.kp} - set {_cut} to {value.%victim%.kit.live} / {_size2} - add rounded {_cut} to {_player}'s balance - - clear {active.game.kit.%victim%} - clear {last.attacker.%victim%} - {kit.ninja.%victim%} is true: - remove jump from victim - remove speed from victim - set {kit.ninja.%victim%} to false - remove absorption from victim - set {snowball.ninja.%victim%} to false - set {active.kit.%victim%} to false - set {ninja.poof.%victim%} to false - {kit.archer.%victim%} is true: - remove speed from victim - remove absorption from victim - set {kit.archer.%victim%} to false - set {egg.archer.%victim%} to false - set {active.kit.%victim%} to false - {kit.melee.%victim%} is true: - set {snowball.melee.%victim%} to false - set {active.kit.%victim%} to false - set {kit.melee.%victim%} to false - {kit.firemage.%victim%} is true: - set {kit.mage.%victim%} to false - set {active.kit.%victim%} to false - remove speed from victim - {kit.tank.%victim%} is true: - set {kit.tank.%victim%} to false - remove slowness from victim - remove health boost from victim - set {active.kit.%victim%} to false - {kit.lightningmage.%victim%} is true: - set {kit.lightningmage.%victim%} to false - remove jump from victim - set {active.kit.%victim%} to false - {kit.necromancer.%victim%} is true: - set {kit.necromancer.%victim%} to false - remove speed from victim - set {active.kit.%victim%} to false - {kit.something.%victim%} is true: - remove speed from victim - set {kit.something.%victim%} to false - set {active.kit.%victim%} to false - {kit.skelemancer.%victim%} is true: - set {kit.skelemancer.%victim%} to false - set {active.kit.%victim%} to false - clear {killstreak.%victim%} - {kit.fisherman.%victim%} is true: - set {kit.fisherman.%victim%} to false - - #subfold @death-event - attacker is a player: - victim is a player: - loop {assists.%victim%::*}: - {assists.%victim%::%loop-index%} is attacker: - set {_assists.check} to 1 - - {_assists.check} is not set: - victim is not attacker: - add attacker to {assists.%victim%::*} - - clear {_assists.check} - set {last.attacker.%victim%} to attacker - - set {_health.%victim%} to victim's health - set {_health.%victim%} to {_health.%victim%} + 1 - damage is greater than victim's health: - cancel event - - #subfold @ninja-special - chance of 80%: - {ninja.poof.%victim%} is true: - hide victim from all players - set victim's health to 10 - apply speed 5 to victim for 3 seconds - send "&aYour ninja instincts have saved you this time! They are now used up!" to victim - set {ninja.poof.%victim%} to false - wait 0.5 seconds - spawn 1 of smoke data 1 offset with 1, 1, 1 at location of victim - wait 0.5 seconds - spawn 1 of smoke data 1 offset with 1, 1, 1 at location of victim - wait 0.5 seconds - spawn 1 of smoke data 1 offset with 1, 1, 1 at location of victim - wait 0.5 seconds - spawn 1 of smoke data 1 offset with 1, 1, 1 at location of victim - wait 0.5 seconds - spawn 1 of smoke data 1 offset with 1, 1, 1 at location of victim - wait 0.5 seconds - spawn 1 of smoke data 1 offset with 1, 1, 1 at location of victim - reveal victim to all players - remove speed from victim - apply speed 2 to victim for 999 days - stop - set {active.kit.%victim%} to false - set {kitpvp.dead.%victim%} to true - - #subfold @rampage - {killstreak.%attacker%} is not set: - set {killstreak.%attacker%} to 0 - add 1 to {killstreak.%attacker%} - {killstreak.%attacker%} is 5: - send "&e%attacker% &c&lis on a Rampage!" to all players in attacker's world - set {rampage.%attacker%} to true - {killstreak.%attacker%} is 10: - send "&e%attacker% &c&lis Dominating!" to all players in attacker's world - {killstreak.%attacker%} is 15: - send "&e%attacker% &c&lhas a 15 kill streak!" to all players in attacker's world - {killstreak.%attacker%} is 20: - send "&e%attacker% &c&lis Unstoppable!" to all players in attacker's world - {rampage.%victim%} is true: - send "&e%attacker% &a and has ended &e%victim%&a's rampage!" to all players in attacker's world - set {rampage.%victim%} to false - set {killstreak.%victim%} to 0 - set {killstreak.%victim%} to 0 - #subfold @death-event-main - set victim's health to 10 - set {_size} to size of {deathmessages.kitpvp::*} - set {_temp} to random integer between 1 and {_size} - message "&e%attacker% &chas %{deathmessages.kitpvp::%{_temp}%}% &e%victim% &cwith &b%uncoloured name of attacker's tool%" to all players in attacker's world - attacker is not victim: - send "&aYou claim a bounty of &e%{value.%victim%.kit.live}% tickets &afrom &e%victim%" to attacker - add {value.%victim%.kit.live} to attacker's balance - set {_size2} to size of {assists.%victim%::*} - {_size2} is greater than 1: - loop {assists.%victim%::*}: - {assists.%victim%::%loop-index%} is not attacker: - set {_player} to {assists.%victim%::%loop-index%} - send "&aYou assisted in the death of &e%victim%" to {_player} - send "&aYou split the bounty &e%{_size2}% &aways with others. Your cut is &e%rounded {value.%victim%.kit.live} / {_size2}% &etickets" to {_player} - {assist.%{_player}%.kp} is not set: - set {assist.%{_player}%.kp} to 0 - add 1 to {assist.%{_player}%.kp} - set {_cut} to {value.%victim%.kit.live} / {_size2} - add rounded {_cut} to {_player}'s balance - - clear {assists.%victim%::*} - {kills.%attacker%.kit} is not set: - set {kills.%attacker%.kit} to 0 - add 1 to {kills.%attacker%.kit} - {deaths.%victim%.kit} is not set: - set {deaths.%victim%.kit} to 0 - add 1 to {deaths.%victim%.kit} - clear {assists.%victim%::*} - clear victim's inventory - clear {active.game.kit.%victim%} - execute console command "effect %victim% clear" - hide victim from all players - set fly state of victim to true - send "&cYou have been killed by &e%attacker%&c!" to victim - send "&7You will respawn in &e15 &7seconds." to victim - wait 5 seconds - send "&7You will respawn in &e10&7 seconds." to victim - wait 5 seconds - send "&7You will respawn in &e5&7 seconds." to victim - wait 1 second - send "&7You will respawn in &e4&7 seconds." to victim - wait 1 second - send "&7You will respawn in &e3&7 seconds." to victim - wait 1 second - send "&7You will respawn in &e2&7 seconds." to victim - wait 1 second - send "&7You will respawn in &e1&7 second." to victim - set fly state of victim to false - teleport victim to {kit.pvp.spawn} - reveal victim to all players - execute console command "effect %victim% clear" - set {kitpvp.dead.%victim%} to false - - #subfold @ninja-clear - {kit.ninja.%victim%} is true: - remove jump from victim - remove speed from victim - set {kit.ninja.%victim%} to false - remove absorption from victim - set {snowball.ninja.%victim%} to false - set {active.kit.%victim%} to false - set {ninja.poof.%victim%} to false - - #subfold @archer-clear - {kit.archer.%victim%} is true: - remove speed from victim - remove absorption from victim - set {kit.archer.%victim%} to false - set {egg.archer.%victim%} to false - set {active.kit.%victim%} to false - set {kitpvp.dead.%victim%} to false - #subfold @melee-clear - {kit.melee.%victim%} is true: - set {snowball.melee.%victim%} to false - set {active.kit.%victim%} to false - - #subfold @firemage-clear - {kit.firemage.%victim%} is true: - set {kit.firemage.%victim%} to false - set {active.kit.%victim%} to false - remove speed from victim - #subfold @tank-clear - {kit.tank.%victim%} is true: - set {kit.tank.%victim%} to false - remove slowness from victim - remove health boost from victim - #subfold @lightningmage-clear - {kit.lightningmage.%victim%} is true: - set {kit.lightningmage.%victim%} to false - remove jump from victim - #subfold @necromancer-clear - {kit.necromancer.%victim%} is true: - set {kit.necromancer.%victim%} to false - loop all zombies in world "kitpvpkillingfields": - {owner.zombie.%loop-entity%} is victim - delete loop-entity - clear {zombie.%victim%.active} - remove speed from victim - #subfold @fishermanclear - {kit.fisherman.%victim%} is true: - set {kit.fisherman.%victim%} to false - {kit.something.%victim%} is true: - remove speed from victim - set {kit.something.%victim%} to false - #subfold @skelemancerclear - {kit.skelemancer.%victim%} is true: - set {kit.skelemancer.%victim%} to false - loop all wither skeletons in world "kitpvpkillingfields": - {owner.skeleton.%loop-entity%} is victim - delete loop-entity - clear {skeleton.%victim%.active} - - -#endfold - - - - -on consume: - item is potion of poison named "&fJump Potion": - cancel event - remove potion of poison from player - give glass bottle named "&fEmpty Jump Potion Bottle" to player - remove jump from player - apply jump 5 to player for 10 seconds - wait 10 seconds - remove jump from player - apply jump 2 to player for 999 days - - -#startfold @fisherman -on right click with fishing rod: - world is "kitpvpkillingfields" - {kit.fisherman.%player%} is true: - player's y coordinate is greater than {kitpvp.area}'s y coordinate: - send "&cYou can not do that here. Please select an Arena!" to player - stop - set {_loc} to location of player - push targeted entity in the direction of player with speed -4 - make player damage targeted entity by 4 - chance of 20%: - send "&aIts a big one!" to player - loop players in radius 5 of targeted entity: - push loop-player in the direction of player with speed -4 - make player damage loop-player by 4 - -on damage of a player: - world is "kitpvpkillingfields" - attacker's tool is fish: - {kit.fisherman.%attacker%} is true: - attacker's y coordinate is greater than {kitpvp.area}'s y coordinate: - send "&cYou can not do that here. Please select an Arena!" to attacker - stop - apply nausea to victim for 1 second - add 2 to damage - send "&cFish Slapped!" to victim - play slime attack at location of victim with pitch 1 - stop -#endfold - - -on right click with mushroom soup: - #startfold @mushroom-soup-stuff - world is "kitpvpkillingfields" - cancel event - player's health is 10: - send "&aYou already have full health!" to player - clear {assits.%player%::*} - stop - remove mushroom soup from player - give player bowl - - add 5 to player's health - - #endfold - -on right click with stick: - #startfold @firemage-wand-fire - world is "kitpvpkillingfields" - cancel event - {kit.firemage.%player%} is true: - name of player's tool is "&fFire Wand" - player's y coordinate is greater than {kitpvp.area}'s y coordinate: - send "&cYou can not do that here. Please select an arena!" to player - stop - level progress of player is greater than or equal to 0.1: - shoot a fireball from the player - create safe explosion with force 5 at targeted block - loop entities in radius 5 of targeted block: - loop-entity is not a player: - make player damage loop-entity by 5 - {active.kit.%loop-entity%} is true: - make player damage loop-entity by 5 - ignite loop-entity - loop-entity is "%player%": - push loop-entity up with force 2 - chance of 15%: - make player damage loop-entity by 3 - send "&aCritical hit!" to player - send "&cCritical hit!" to loop-entity - reduce the player's level progress by 0.1 - {kit.lightningmage.%player%} is true: - - name of player's tool is "&fLightning Wand" - player's y coordinate is greater than {kitpvp.area}'s y coordinate: - send "&cYou can not do that here. Please select an arena!" to player - stop - level progress of player is greater than or equal to 0.1: - strike lightning effect at targeted block - reduce the player's level progress by 0.1 - loop entities in radius 5 of targeted block: - loop-entity is not a player: - make player damage loop-entity by 6 - {active.kit.%loop-entity%} is true: - create safe explosion of force 2 at location of loop-entity - push loop-entity up with force 1 - make player damage loop-entity by 6 - apply wither to loop-entity for 3 seconds - -on explode: - world is "kitpvpkillingfields": - cancel event - -on left click with stick: - #subfold @mage-wand-slowness - world is "kitpvpkillingfields" - cancel event - {kit.firemage.%player%} is true: - name of player's tool is "&fFire Wand" - player's y coordinate is greater than {kitpvp.area}'s y coordinate: - send "&cYou can not do that here. Please select an Arena!" to player - stop - level progress of player is greater than or equal to 0.05: - shoot a egg from the player - reduce the player's level progress by 0.05 - {kit.lightningmage.%player%} is true: - name of player's tool is "&fLightning Wand" - player's y coordinate is greater than {kitpvp.area}'s y coordinate: - send "&cYou can not do that here. Please select an Arena!" to player - stop - level progress of player is greater than or equal to 0.5: - targeted block is air or glass: - send "&cYou can not go there!" to player - stop - the distance between targeted block and player is less than or equal to 30: - teleport player to block above targeted block - - reduce the player's level progress by 0.5 - stop - send "&cThat is too far!" to player - - - -#endfold - -#startfold @necromancer - - -on right click with blaze rod: - world is "kitpvpkillingfields" - {kit.necromancer.%player%} is true: - player's y coordinate is greater than {kitpvp.area}'s y coordinate: - send "&cYou can not do that here. Please select an arena!" to player - stop - level progress of player is greater than or equal to 0.3: - {zombie.%player%.active} is greater than or equal to 5: - send "&cYou have too many zombies!" to player - stop - spawn a zombie at block above targeted block - set {_zombie.%player%} to spawned zombie - equip {_zombie.%player%} with leather helmet - set name of spawned zombie to "&cNecroSpawn" - set {_loc} to block 20 meters above player - spawn 1 of large explode data 1 offset with 1, 1, 1 at {_loc} - make player damage player by 2 - - apply speed 3 to spawned zombie for 999 days - send "&aYou Summon the dead!" to player - set {owner.zombie.%spawned zombie%} to player - {zombie.%player%.active} is not set: - set {zombie.%player%.active} to 0 - add 1 to {zombie.%player%.active} - reduce player's level progress by 0.3 - -on left click with blaze rod: - world is "kitpvpkillingfields" - - {kit.necromancer.%player%} is true: - player's y coordinate is greater than {kitpvp.area}'s y coordinate: - send "&cYou can not do that here. Please select an arena!" to player - stop - {zombie.%player%.active} is not set: - send "&cYou have no zombies out!" to player - stop - {zombie.%player%.active} is 0: - send "&cYou have no zombies out!" to player - stop - level progress of player is greater than or equal to {zombie.%player%.active} / 10: - loop all zombies in world "kitpvpkillingfields": - {owner.zombie.%loop-entity%} is player: - delete loop-entity - make player damage player by {zombie.%player%.active} - reduce player's level progress by {zombie.%player%.active} / 10 - clear {zombie.%player%.active} - send "&aYou call back the dead!" to player - - - -on damage of a player: - world is "kitpvpkillingfields" - attacker is a zombie: - cancel event - set {_player} to {owner.zombie.%attacker%} - {active.kit.%victim%} is false: - stop - {active.kit.%victim%} is not set: - stop - {active.kit.%{_player}%} is false: - stop - {active.kit.%{_player}%} is not set: - stop - make {_player} damage victim by 4 - -on death of a zombie: - world is "kitpvpkillingfields" - clear drops - - -#endfold - - - -#startfold @skelemancer - - -on right click with bone: - world is "kitpvpkillingfields" - {kit.skelemancer.%player%} is true: - player's y coordinate is greater than {kitpvp.area}'s y coordinate: - send "&cYou can not do that here. Please select an arena!" to player - stop - level progress of player is greater than or equal to 0.3: - {skeleton.%player%.active} is greater than or equal to 5: - send "&cYou have too many Skeletons!" to player - stop - spawn a wither skeleton at block above targeted block - set {_skeleton.%player%} to spawned wither skeleton - equip {_skeleton.%player%} with leather helmet - set {_skeleton.%player%}'s tool to stone sword - set name of spawned wither skeleton to "&cNecroSpawn" - set {_loc} to block 20 meters above player - spawn 1 of large explode data 1 offset with 1, 1, 1 at {_loc} - make player damage player by 2 - - apply speed 3 to spawned wither skeleton for 999 days - send "&aYou Summon the dead!" to player - set {owner.skeleton.%spawned wither skeleton%} to player - {skeleton.%player%.active} is not set: - set {skeleton.%player%.active} to 0 - add 1 to {skeleton.%player%.active} - reduce player's level progress by 0.3 - -on left click with bone: - world is "kitpvpkillingfields" - - {kit.skelemancer.%player%} is true: - player's y coordinate is greater than {kitpvp.area}'s y coordinate: - send "&cYou can not do that here. Please select an arena!" to player - stop - {skeleton.%player%.active} is not set: - send "&cYou have no Skeletons out!" to player - stop - {skeleton.%player%.active} is 0: - send "&cYou have no Skeletons out!" to player - stop - level progress of player is greater than or equal to {skeleton.%player%.active} / 10: - loop all wither skeletons in world "kitpvpkillingfields": - {owner.skeleton.%loop-entity%} is player: - delete loop-entity - make player damage player by {skeleton.%player%.active} - reduce player's level progress by {skeleton.%player%.active} / 10 - clear {skeleton.%player%.active} - send "&aYou call back the dead!" to player - - - -on damage of a player: - world is "kitpvpkillingfields" - attacker is a wither skeleton: - cancel event - set {_player} to {owner.skeleton.%attacker%} - {active.kit.%victim%} is false: - stop - {active.kit.%victim%} is not set: - stop - {active.kit.%{_player}%} is false: - stop - {active.kit.%{_player}%} is not set: - stop - make {_player} damage victim by 4 - -on death of a wither skeleton: - world is "kitpvpkillingfields" - clear drops - - -on damage of a wither skeleton: - world is "kitpvpkillingfields" - {active.kit.%attacker%} is not set: - send "&cYou can not do that!" to attacker - cancel event - stop - {active.kit.%attacker%} is false: - send "&cYou can not do that!" to attacker - cancel event - stop - damage is greater than victim's health - set {_player} to {owner.skeleton.%victim%} - make {_player} damage {_player} by 2 - send "&c%attacker% has slain your spawn!" to {_player} - subtract 1 from {skeleton.%{_player}%.active} - send "&a%{_player}%'s spawn has died to your hand." to attacker - delete victim - -#endfold - - -#startfold @hunter -on damage of a player: - world is "kitpvpkillingfields" - projectile is arrow: - {kit.hunter.%attacker%} is true - {wolf.%attacker%} is set: - send "&cYou can only have 1 wolf at a time!" to attacker - stop - spawn wolf at victim - set {wolf.%attacker%} to spawned wolf - add {wolf.%attacker%} to {hunters.wolves::*} - set {owner.wolf.%spawned wolf%} to attacker - attacker is wolf: - loop {hunters.wolves::*}: - loop-value is attacker - set {_player} to {owner.wolf.%attacker%} - cancel event - make {owner.wolf.%{_player}%} damage victim by 8 - - - -on damage of a wolf: - - loop {hunters.wolves::*}: - loop-value is victim: - delete {hunters.wolves::%loop-index%} - set {_player} to {owner.wolf.%victim%} - - clear {wolf.%{_player}%} - {_player} is attacker: - send "&cWhy?!?!?!?" to {_player} - stop - send "&c&e%attacker%&c has killed your wolf :(" to {_player} - - -command /clearwolf : - trigger: - clear {wolf.%player-argument%} -#endfold - -#startfold @something-class -on right click with wood hoe: - world is "kitpvpkillingfields" - {kit.something.%player%} is true: - level progress of player is greater than or equal to 0.3 - - set {loc.sheep.%player%} to location of targeted block - spawn 1 sheep above targeted block - set {sheep.%player%} to spawned sheep - reduce the player's level progress by 0.3 - set the color of spawned sheep to green - wait 1 second - set the color of spawned sheep to yellow - wait 1 second - set the color of spawned sheep to red - wait 1 second - kill spawned sheep - loop players in radius 6 of target block: - ignite loop-player - push loop-player up with force 2 - push loop-player south with force 1 - make player damage loop-player by 3 - create safe explosion of force 5 at {loc.sheep.%player%} - wait 1 second - create safe explosion of force 5 at block 6 meters west of {loc.sheep.%player%} - wait 1 second - create safe explosion of force 5 at block 6 meters east of {loc.sheep.%player%} - wait 1 second - create safe explosion of force 5 at block 6 meters north of {loc.sheep.%player%} - wait 1 second - create safe explosion of force 5 at block 6 meters south of {loc.sheep.%player%} - - - - -on death of red sheep: - world is "kitpvpkillingfields": - loop players in radius 10 of event-location: - damage loop-player by 5 hearts - send "&cYeah.. a Sheep bomb" to loop-player - clear drops -#endfold - - -#startfold @earthmage-casting - -on xp spawn: - world is "kitpvpkillingfields" - cancel event - - -on damage of a player: - damage cause is suffocation: - world is "kitpvpkillingfields" - cancel event - - -on damage of a zombie: - world is "kitpvpkillingfields" - {active.kit.%attacker%} is not set: - send "&cYou can not do that!" to attacker - cancel event - stop - {active.kit.%attacker%} is false: - send "&cYou can not do that!" to attacker - cancel event - stop - damage is greater than victim's health - set {_player} to {owner.zombie.%victim%} - make {_player} damage {_player} by 2 - send "&c%attacker% has slain your spawn!" to {_player} - send "&a%{_player}%'s spawn has died to your hand." to attacker - subtract 1 from {zombie.%{_player}%.active} - delete victim - -on shoot: - world is "kitpvpkillingfields" - shooter's Y coordinate is greater than {kitpvp.area}'s Y coordinate - cancel event - send "&cYou can not do that here. Please select an Arena!" to shooter -every 2 seconds: - #startfold @mana - loop all players in world "kitpvpkillingfields": - {kit.firemage.%loop-player%} or {kit.lightningmage.%loop-player%} or {kit.necromancer.%loop-player%} or {kit.something.%loop-player%} or {kit.skelemancer.%loop-player%} is true: - level progress of loop-player is less than 0.9: - increase loop-player's level progress by 0.05 - else: - set loop-player's level progress to 0.99 - -#endfold - -on death of a player: - world is "kitpvpkillingfields" - victim is a player: - teleport victim to {kit.pvp.spawn} - execute console command "effect %victim% clear" - {last.attacker.%victim%} is not set: - message "&cThe environment got the best of &e%victim%" to all players in victim's world - {last.attacker.%victim%} is set: - set {_size} to size of {deathmessages.kitpvp::*} - set {_temp} to random integer between 1 and {_size} - message "&e%{last.attacker.%victim%}% &chas %{deathmessages.kitpvp::%{_temp}%}% &e%victim% &cwith &b%uncoloured name of {last.attacker.%victim%}'s tool%" to all players in {last.attacker.%victim%}'s world - {last.attacker.%victim%} is not victim: - send "&aYou claim a bounty of &e%{value.%victim%.kit.live}% tickets &afrom &e%victim%" to {last.attacker.%victim%} - add {value.%victim%.kit.live} to {last.attacker.%victim%}'s balance - set {_size2} to size of {assists.%victim%::*} - {_size2} is greater than 1: - loop {assists.%victim%::*}: - {assists.%victim%::%loop-index%} is not {last.attacker.%victim%}: - set {_player} to {assists.%victim%::%loop-index%} - send "&aYou assisted in the death of &e%victim%" to {_player} - send "&aYou split the bounty &e%{_size2}% &aways with others. Your cut is &e%rounded {value.%victim%.kit.live} / {_size2}% &etickets" to {_player} - {assist.%{_player}%.kp} is not set: - set {assist.%{_player}%.kp} to 0 - add 1 to {assist.%{_player}%.kp} - set {_cut} to {value.%victim%.kit.live} / {_size2} - add rounded {_cut} to {_player}'s balance - - - clear {last.attacker.%victim%} - {kit.ninja.%victim%} is true: - remove jump from victim - remove speed from victim - set {kit.ninja.%victim%} to false - remove absorption from victim - set {snowball.ninja.%victim%} to false - set {active.kit.%victim%} to false - set {ninja.poof.%victim%} to false - clear {active.game.kit.%player%} - {kit.archer.%victim%} is true: - remove speed from victim - remove absorption from victim - set {kit.archer.%victim%} to false - set {egg.archer.%victim%} to false - set {active.kit.%victim%} to false - clear {active.game.kit.%player%} - {kit.melee.%victim%} is true: - set {snowball.melee.%victim%} to false - set {active.kit.%victim%} to false - set {kit.melee.%victim%} to false - clear {active.game.kit.%player%} - {kit.firemage.%victim%} is true: - set {kit.mage.%victim%} to false - set {active.kit.%victim%} to false - remove speed from victim - clear {active.game.kit.%player%} - {kit.tank.%victim%} is true: - set {kit.tank.%victim%} to false - remove slowness from victim - remove health boost from victim - set {active.kit.%victim%} to false - clear {active.game.kit.%player%} - {kit.lightningmage.%victim%} is true: - set {kit.lightningmage.%victim%} to false - remove jump from victim - set {active.kit.%victim%} to false - clear {active.game.kit.%player%} - {kit.necromancer.%victim%} is true: - set {kit.necromancer.%victim%} to false - remove speed from victim - set {active.kit.%victim%} to false - clear {active.game.kit.%player%} - {kit.something.%victim%} is true: - remove speed from victim - set {kit.something.%victim%} to false - set {active.kit.%victim%} to false - clear {active.game.kit.%player%} - {kit.skelemancer.%victim%} is true: - set {kit.skelemancer.%victim%} to false - set {active.kit.%victim%} to false - clear {active.game.kit.%player%} - clear {killstreak.%victim%} - {kit.fisherman.%victim%} is true: - set {kit.fisherman.%victim%} to false - clear {active.game.kit.%player%} - - clear drops - set {kitpvp.dead.%player%} to false -#endfold - - - -every 1 second: - #startfold @hunger-level - loop all players: - loop-player is in world "kitpvpkillingfields": - set loop-player's hunger level to 10 -#endfold - - -on drop: - #startfold @drop-event-cancel - world is "kitpvpkillingfields": - cancel event - #endfold - - - -command /dm []: - #startfold @deathmessage-addition-command - permission: obam.admin - trigger: - argument 1 is "list": - send "--DM--" to player - loop {deathmessages.kitpvp::*}: - {_count} is not set: - set {_count} to 0 - add 1 to {_count} - send "%{_count}%.....%loop-value%" - stop - - argument 1 is "delete": - delete {deathmessages.kitpvp::%argument 2%} - stop - add argument 1 to {deathmessages.kitpvp::*} -#endfold - -#startfold @commands -command /sound []: - permission: obam.admin - trigger: - play argument 1 at location of player with pitch argument 2 - -command /headset: - permission: obam.admin - trigger: - set {kitpvp.area} to location of player - -command /clearkit : - executable by: console - trigger: - set {active.kit.%player-argument%} to false - #subfold @ninja-clear - {kit.ninja.%player-argument%} is true: - remove jump from player-argument - remove speed from player-argument - set {kit.ninja.%player-argument%} to false - remove absorption from player-argument - set {snowball.ninja.%player-argument%} to false - set {active.kit.%player-argument%} to false - set {ninja.poof.%player-argument%} to false - clear {active.game.kit.%player%} - - #subfold @archer-clear - {kit.archer.%player-argument%} is true: - remove speed from player-argument - remove absorption from player-argument - set {kit.archer.%player-argument%} to false - set {egg.archer.%player-argument%} to false - set {active.kit.%player-argument%} to false - set {kitpvp.dead.%player-argument%} to false - clear {active.game.kit.%player%} - #subfold @melee-clear - {kit.melee.%player-argument%} is true: - set {snowball.melee.%player-argument%} to false - set {active.kit.%player-argument%} to false - clear {active.game.kit.%player%} - - #subfold @firemage-clear - {kit.firemage.%player-argument%} is true: - set {kit.firemage.%player-argument%} to false - set {active.kit.%player-argument%} to false - remove speed from player-argument - clear {active.game.kit.%player%} - #subfold @tank-clear - {kit.tank.%player-argument%} is true: - set {kit.tank.%player-argument%} to false - remove slowness from player-argument - remove health boost from player-argument - clear {active.game.kit.%player%} - #subfold @lightningmage-clear - {kit.lightningmage.%player-argument%} is true: - set {kit.lightningmage.%player-argument%} to false - remove jump from player-argument - clear {active.game.kit.%player%} - #subfold @necromancer-clear - {kit.necromancer.%player-argument%} is true: - set {kit.necromancer.%player-argument%} to false - loop all zombies in world "kitpvpkillingfields": - {owner.zombie.%loop-entity%} is player-argument - delete loop-entity - clear {zombie.%player-argument%.active} - remove speed from player-argument - clear {active.game.kit.%player%} - #subfold @fishermanclear - {kit.fisherman.%player-argument%} is true: - set {kit.fisherman.%player-argument%} to false - clear {active.game.kit.%player%} - {kit.something.%player-argument%} is true: - remove speed from player-argument - set {kit.something.%player-argument%} to false - clear {active.game.kit.%player%} - #subfold @skelemancerclear - {kit.skelemancer.%player-argument%} is true: - set {kit.skelemancer.%player-argument%} to false - loop all wither skeletons in world "kitpvpkillingfields": - {owner.skeleton.%loop-entity%} is player-argument - delete loop-entity - clear {skeleton.%player-argument%.active} - clear {active.game.kit.%player%} - execute console command "effect %player-argument% clear" - clear player-argument's inventory - -command /revive : - executable by: console or players - permission: obam.admin.kp - trigger: - set {kitpvp.dead.%player-argument%} to false - -command /mapset : - permission: obam.admin.kp - trigger: - send "&aYou have added a spawn point for '&e%argument%&a'" to player - add location of player to {map.%argument%.spawns::*} - - - -command /spawnplayer : - executable by: console - trigger: - set {_size} to size of {map.%argument 2%.spawns::*} - set {_tmp} to random integer between 1 and {_size} - teleport player-argument to {map.%argument 2%.spawns::%{_tmp}%} - player-argument's health is less than 10 - {active.game.kit.%player-argument%} is true: - set {_player.bal} to player-argument's balance - subtract 25 tickets from player-argument's balance - send "&cYou have been fined &e25 Tickets&c for leaving in the heat of battle!" to player-argument - log "KITPVPTICKET TRANSACTION^%player%^-25^%{_player.bal}%^%player-argument's balance%^RETREAT FEE - /home" to "tickets/kit-pvptrans.log" - send "&e%player-argument% &aran from the intensity of the battle." to all players in player-argument's world - clear {active.game.kit.%player-argument%} - - -command /clearspawn : - permission: obam.admin.kp - trigger: - clear {map.%argument%.spawns::*} - -command /kitpvp: - executable by: players - aliases: /kp - trigger: - execute console command "/mvtp %player% kitpvpkillingfields" -#endfold - -#startfold @valueexpression - -every 1 second: - loop all players in world "kitpvpkillingfields": - set {value.%loop-player%.kit} to {kills.%loop-player%.kit} * {killstreak.%loop-player%} - set {value.%loop-player%.kit} to {value.%loop-player%.kit} / {deaths.%loop-player%.kit} - set {value.%loop-player%.kit} to {value.%loop-player%.kit} + 10 - {value.%loop-player%.kit} is greater than 100: - set {value.%loop-player%.kit} to 100 - set {value.%loop-player%.kit.live} to rounded {value.%loop-player%.kit} - - -command /tixset : - permission: obam.admin - trigger: - set player-argument's balance to argument 2 - -command /motors: - trigger: - send "&6&l[&a❖&6&l] &eInsert self advertisement for &6_Motors_ &ehere!" to player - #Hi, Smooch :D - -on command "/spawn": - world is "kitpvpkillingfields" - player's health is less than 10 - {active.game.kit.%player%} is true: - set {_player.bal} to player's balance - subtract 25 tickets from player's balance - send "&cYou have been fined &e25 Tickets&c for leaving in the heat of battle!" - log "KITPVPTICKET TRANSACTION^%player%^-25^%{_player.bal}%^%player's balance%^RETREAT FEE - /spawn" to "tickets/kit-pvptrans.log" - send "&e%player% &aran from the intensity of the battle." to all players in player's world - clear {active.game.kit.%player%} - - -on command "/kp": - world is "kitpvpkillingfields" - player's health is less than 10 - {active.game.kit.%player%} is true: - set {_player.bal} to player's balance - subtract 25 tickets from player's balance - send "&cYou have been fined &e25 Tickets&c for leaving in the heat of battle!" - log "KITPVPTICKET TRANSACTION^%player%^-25^%{_player.bal}%^%player's balance%^RETREAT FEE - /kp" to "tickets/kit-pvptrans.log" - send "&e%player% &aran from the intensity of the battle." to all players in player's world - clear {active.game.kit.%player%} - - - - -on command "/skyblock": - world is "kitpvpkillingfields" - player's health is less than 10 - {active.game.kit.%player%} is true: - set {_player.bal} to player's balance - subtract 25 tickets from player's balance - send "&cYou have been fined &e25 Tickets&c for leaving in the heat of battle!" - log "KITPVPTICKET TRANSACTION^%player%^-25^%{_player.bal}%^%player's balance%^RETREAT FEE - /skyblock" to "tickets/kit-pvptrans.log" - send "&e%player% &aran from the intensity of the battle." to all players in player's world - clear {active.game.kit.%player%} - - - - -on command "/sb": - world is "kitpvpkillingfields" - player's health is less than 10 - {active.game.kit.%player%} is true: - set {_player.bal} to player's balance - subtract 25 tickets from player's balance - send "&cYou have been fined &e25 Tickets&c for leaving in the heat of battle!" - log "KITPVPTICKET TRANSACTION^%player%^-25^%{_player.bal}%^%player's balance%^RETREAT FEE - /sb" to "tickets/kit-pvptrans.log" - send "&e%player% &aran from the intensity of the battle." to all players in player's world - clear {active.game.kit.%player%} - - -on command "/mv spawn": - world is "kitpvpkillingfields" - player's health is less than 10 - {active.game.kit.%player%} is true: - set {_player.bal} to player's balance - subtract 25 tickets from player's balance - send "&cYou have been fined &e25 Tickets&c for leaving in the heat of battle!" - log "KITPVPTICKET TRANSACTION^%player%^-25^%{_player.bal}%^%player's balance%^RETREAT FEE - /mv spawn" to "tickets/kit-pvptrans.log" - send "&e%player% &aran from the intensity of the battle." to all players in player's world - clear {active.game.kit.%player%} - -on command "/warp": - world is "kitpvpkillingfields" - cancel event - make player execute command "/sb" - player's health is less than 10 - {active.game.kit.%player%} is true: - set {_player.bal} to player's balance - subtract 25 tickets from player's balance - send "&cYou have been fined &e25 Tickets&c for leaving in the heat of battle!" - log "KITPVPTICKET TRANSACTION^%player%^-25^%{_player.bal}%^%player's balance%^RETREAT FEE - /warp" to "tickets/kit-pvptrans.log" - send "&e%player% &aran from the intensity of the battle." to all players in player's world - clear {active.game.kit.%player%} - - - -on command "/island": - world is "kitpvpkillingfields" - player's health is less than 10 - {active.game.kit.%player%} is true: - set {_player.bal} to player's balance - subtract 25 tickets from player's balance - send "&cYou have been fined &e25 Tickets&c for leaving in the heat of battle!" - log "KITPVPTICKET TRANSACTION^%player%^-25^%{_player.bal}%^%player's balance%^RETREAT FEE - /island" to "tickets/kit-pvptrans.log" - send "&e%player% &aran from the intensity of the battle." to all players in player's world - clear {active.game.kit.%player%} - - - -on command "/is": - world is "kitpvpkillingfields" - player's health is less than 10 - {active.game.kit.%player%} is true: - set {_player.bal} to player's balance - subtract 25 tickets from player's balance - send "&cYou have been fined &e25 Tickets&c for leaving in the heat of battle!" - log "KITPVPTICKET TRANSACTION^%player%^-25^%{_player.bal}%^%player's balance%^RETREAT FEE - /is" to "tickets/kit-pvptrans.log" - send "&e%player% &aran from the intensity of the battle." to all players in player's world - clear {active.game.kit.%player%} - - - -on command "/hub": - world is "kitpvpkillingfields" - player's health is less than 10 - {active.game.kit.%player%} is true: - set {_player.bal} to player's balance - subtract 25 tickets from player's balance - send "&cYou have been fined &e25 Tickets&c for leaving in the heat of battle!" - log "KITPVPTICKET TRANSACTION^%player%^-25^%{_player.bal}%^%player's balance%^RETREAT FEE - /hub" to "tickets/kit-pvptrans.log" - send "&e%player% &aran from the intensity of the battle." to all players in player's world - clear {active.game.kit.%player%} - - - - -on command "/parkour": - world is "kitpvpkillingfields" - player's health is less than 10 - {active.game.kit.%player%} is true: - set {_player.bal} to player's balance - subtract 25 tickets from player's balance - send "&cYou have been fined &e25 Tickets&c for leaving in the heat of battle!" - log "KITPVPTICKET TRANSACTION^%player%^-25^%{_player.bal}%^%player's balance%^RETREAT FEE - /parkour" to "tickets/kit-pvptrans.log" - send "&e%player% &aran from the intensity of the battle." to all players in player's world - clear {active.game.kit.%player%} - - - - -on command "/pk": - world is "kitpvpkillingfields" - player's health is less than 10 - {active.game.kit.%player%} is true: - set {_player.bal} to player's balance - subtract 25 tickets from player's balance - send "&cYou have been fined &e25 Tickets&c for leaving in the heat of battle!" - log "KITPVPTICKET TRANSACTION^%player%^-25^%{_player.bal}%^%player's balance%^RETREAT FEE - /pk" to "tickets/kit-pvptrans.log" - send "&e%player% &aran from the intensity of the battle." to all players in player's world - clear {active.game.kit.%player%} - - - - -on command "/kitpvp": - world is "kitpvpkillingfields" - player's health is less than 10 - {active.game.kit.%player%} is true: - set {_player.bal} to player's balance - subtract 25 tickets from player's balance - send "&cYou have been fined &e25 Tickets&c for leaving in the heat of battle!" - log "KITPVPTICKET TRANSACTION^%player%^-25^%{_player.bal}%^%player's balance%^RETREAT FEE - /kitpvp" to "tickets/kit-pvptrans.log" - send "&e%player% &aran from the intensity of the battle." to all players in player's world - clear {active.game.kit.%player%} - - - -on command "/hotpotato": - world is "kitpvpkillingfields" - player's health is less than 10 - {active.game.kit.%player%} is true: - set {_player.bal} to player's balance - subtract 25 tickets from player's balance - send "&cYou have been fined &e25 Tickets&c for leaving in the heat of battle!" - log "KITPVPTICKET TRANSACTION^%player%^-25^%{_player.bal}%^%player's balance%^RETREAT FEE - /hotpotato" to "tickets/kit-pvptrans.log" - send "&e%player% &aran from the intensity of the battle." to all players in player's world - clear {active.game.kit.%player%} - - - -on command "/hp": - world is "kitpvpkillingfields" - player's health is less than 10 - {active.game.kit.%player%} is true: - set {_player.bal} to player's balance - subtract 25 tickets from player's balance - send "&cYou have been fined &e25 Tickets&c for leaving in the heat of battle!" - log "KITPVPTICKET TRANSACTION^%player%^-25^%{_player.bal}%^%player's balance%^RETREAT FEE - /hp" to "tickets/kit-pvptrans.log" - send "&e%player% &aran from the intensity of the battle." to all players in player's world - clear {active.game.kit.%player%} - - -on command "/home": - world is "kitpvpkillingfields" - player's health is less than 10 - {active.game.kit.%player%} is true: - set {_player.bal} to player's balance - subtract 25 tickets from player's balance - send "&cYou have been fined &e25 Tickets&c for leaving in the heat of battle!" - log "KITPVPTICKET TRANSACTION^%player%^-25^%{_player.bal}%^%player's balance%^RETREAT FEE - /home" to "tickets/kit-pvptrans.log" - send "&e%player% &aran from the intensity of the battle." to all players in player's world - clear {active.game.kit.%player%} - - -on quit: - world is "kitpvpkillingfields" - make player execute command "/spawn" - player's health is less than 10 - {active.game.kit.%player%} is true: - set {_player.bal} to player's balance - subtract 25 tickets from player's balance - send "&cYou have been fined &e25 Tickets&c for leaving in the heat of battle!" - log "KITPVPTICKET TRANSACTION^%player%^-25^%{_player.bal}%^%player's balance%^RETREAT FEE - DISCONNECT" to "tickets/kit-pvptrans.log" - send "&e%player% &aran from the intensity of the battle." to all players in player's world - clear {active.game.kit.%player%} - - - -every 10 minutes: - loop projectiles in world "kitpvpkillingfields": - delete loop-projectile - loop all players: - loop-player has permission "obam.admin": - send "&6&l[&a❖&6&l] &eAll projectiles have been removed from KitPvP!" to loop-player diff --git a/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/lightningmage.sk b/Obam-Mini Games/Obam-KitPvp/lightningmage.sk similarity index 100% rename from Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/lightningmage.sk rename to Obam-Mini Games/Obam-KitPvp/lightningmage.sk diff --git a/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/melee.sk b/Obam-Mini Games/Obam-KitPvp/melee.sk similarity index 100% rename from Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/melee.sk rename to Obam-Mini Games/Obam-KitPvp/melee.sk diff --git a/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/necromancer.sk b/Obam-Mini Games/Obam-KitPvp/necromancer.sk similarity index 100% rename from Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/necromancer.sk rename to Obam-Mini Games/Obam-KitPvp/necromancer.sk diff --git a/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/ninja.sk b/Obam-Mini Games/Obam-KitPvp/ninja.sk similarity index 100% rename from Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/ninja.sk rename to Obam-Mini Games/Obam-KitPvp/ninja.sk diff --git a/Obam-Mini Games/Obam-KitPvp/pinfo.kit.sk b/Obam-Mini Games/Obam-KitPvp/pinfo.kit.sk deleted file mode 100644 index 24a8796..0000000 --- a/Obam-Mini Games/Obam-KitPvp/pinfo.kit.sk +++ /dev/null @@ -1,103 +0,0 @@ - - -on join: - set {db_current.server.%player%} to "&eKitPVP" - - - - -on disconnect: - clear {db_current.server.%player%} - set {db_lastseen.%player%} to "%now% on &eKitPVP" - clear {db_color.%player%} - player has permission "obam.admin": - set {db_color.%player%} to "&d%player%" - {db_color.%player%} is not set: - player has permission "obam.mod": - set {db_color.%player%} to "&2%player%" - {db_color.%player%} is not set: - player has permission "obam.supporter": - set {db_color.%player%} to "&6%player%" - {db_color.%player%} is not set: - set {db_color.%player%} to "&f%player%" - - - -command /playerinfo []: - description: Find out information about you - aliases: /p, /info, /player, /pinfo - executable by: players - trigger: - - argument is not set: - player has permission "obam.admin": - set {_name} to "&d%player%" - {_name} is not set: - player has permission "obam.mod": - set {_name} to "&2%player%" - {_name} is not set: - player has permission "obam.supporter": - set {_name} to "&6%player%" - {_name} is not set: - set {_name} to "&f%player%" - message "&aPlayer: %{_name}%" - set {_days} to {db_dayset.2} - {db_count.start.%player%.2} - {_days} is less than 2: - {_days} is 1: - message "&aYou are &e%{_days}% &aday old." - stop - {_days} is less than 1: - message "&aThis is your first day." - stop - message "&aYou are &e%{_days}% &adays old." - argument is set: - argument has not played before: - message "&e%argument% &chas not played on this server before." - stop - - argument has permission "obam.admin": - set {_name} to "&d%argument%" - {_name} is not set: - argument has permission "obam.mod": - set {_name} to "&2%argument%" - {_name} is not set: - argument has permission "obam.supporter": - set {_name} to "&6%argument%" - {_name} is not set: - set {_name} to "&f%argument%" - argument is not online: - {db_current.server.%argument%} is not set: - set {_name} to "&7%argument% &7&o(Offline)" - {db_color.%argument%} is set: - set {_name} to {db_color.%argument%} - set {_lastseen} to "&aLast seen:&e%{db_lastseen.%argument%}%" - {db_current.server.%argument%} is set: - {db_color.%argument%} is set: - set {_name} to {db_color.%argument%} - set {_current.connect} to "&aCurrently connected to %{db_current.server.%argument%}%" - - message "&aPlayer: %{_name}%" - {_lastseen} is set: - send {_lastseen} - {_current.connect} is set: - send {_current.connect} - set {_days} to {db_dayset.2} - {db_count.start.%argument%.2} - {_days} is less than 2: - {_days} is 1: - message "&aThey are &e%{_days}% &aday old." - stop - {_days} is less than 1: - message "%{_name}% &ais &e1&a day old" - stop - message "&aThey are &e%{_days}% &adays old." -command /daycheck: - permission: obam.admin - trigger: - send "%{db_dayset.2}%" to player - send "%{db_count.start.%player%.2}%" - send "%{db_dayset.2} - {db_count.start.%player%.2}%" - -command /daypush : - permission: obam.admin - trigger: - set {db_dayset.2} to {db_dayset.2} + argument \ No newline at end of file diff --git a/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/skelemancer.sk b/Obam-Mini Games/Obam-KitPvp/skelemancer.sk similarity index 100% rename from Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/skelemancer.sk rename to Obam-Mini Games/Obam-KitPvp/skelemancer.sk diff --git a/Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/tank.sk b/Obam-Mini Games/Obam-KitPvp/tank.sk similarity index 100% rename from Obam-Mini Games/Obam-KitPvp/KitPVP-Testing/tank.sk rename to Obam-Mini Games/Obam-KitPvp/tank.sk diff --git a/Obam-Mini Games/Obam-Taco/Taco-Testing/taco.sk b/Obam-Mini Games/Obam-Taco/Taco-Testing/taco.sk deleted file mode 100644 index 984ebd3..0000000 --- a/Obam-Mini Games/Obam-Taco/Taco-Testing/taco.sk +++ /dev/null @@ -1,2283 +0,0 @@ -#Kell's Taco Cart Mini Game - -# To Do: -# legendary quest line -# Hub signs -# top players -# single player -# zombie taco - - -#startfold info - -#Variables: -# {taco.variables::*} = controls all item and villager timers -# {taco.timers.%player%::*} = controls food timers -# {taco.player.%world%::*} = stores current players 1 & 2 -# {keystone.%world%} = World Keystone -# {taco.waypoint.%world%::*} = waypoints -# {taco.p1.spawns.%world%::*} = stores Player 1 customer spawns -# {taco.p2.spawns.%world%::*} = stores Player 1 customer spawns -# {taco.villager.name::*} = stores villager names as value, index is random number -# {taco.receipt1::*} = stores ingredients per type -# {taco.p1.customer.%world%::*} = stores Player 1 customer names -# {taco.p2.customer.%world%::*} = stores Player 1 customer names -# {taco.p1.order.%world%::*} = stores Player 1 customer orders -# {taco.p2.order.%world%::*} = stores Player 1 customer orders -# {taco.p1.signs.%world%::*} = stores Player 1 sign locations -# {taco.p2.signs.%world%::*} = stores Player 2 sign locations -# {taco.start.%world%::*} = stores Start Sign locations -# {taco.1.gate1.%world%::*} = stores Player 1 Gate 1 locations -# {taco.2.gate1.%world%::*} = stores Player 2 Gate 1 locations -# {taco.1.gate2.%world%::*} = stores Player 1 Gate 2 locations -# {taco.2.gate2.%world%::*} = stores Player 2 Gate 2 locations -# farmer = 120 -# priest = 105 -# butcher = 90 -# blacksmith = 75 -# librarian = 60 -# {taco.%player%.score.%world%} = Stores Player score -# {taco.level::*} = stores dissipating spawn time variables based on player level -# {taco.timeout::*} = stores customer angry leave messages -# {taco.correct::*} = stores customer correct turn in messages -# {taco.incorrect::*} = stores customer incorrect turn in messages -# {taco.pinky::*} = stores Pinky messages from Cletus -# {taco.horsey::*} = stores Horse click messages from Cletus - -#Related Files: -# boards.sk = for scoreboard functions -# keystone.sk = for keystone command -# legend-sky = legendary quest skript for sky block -# legend-front = legendary quest skript for Fronts - -#endfold - -#startfold setup - -aliases: - grain = 296 - soft shell = 148 - hard shell = 147 - whole tomato = 260 - diced tomato = 372 - block of cheese = 19 - shredded cheese = 171:4 - raw onion = 332 - diced onion = 361 - head of lettuce = 351:2 - shredded lettuce = 295 - rancid meat = 367 - -options: - receipt1: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Lettuce||&6+ Onion" - receipt2: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Lettuce||&6+ Tomato" - receipt3: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Onion||&6+ Tomato" - receipt4: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Chicken||&6+ Lettuce||&6+ Onion||&6+ Tomato" - receipt5: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Lettuce||&6+ Onion" - receipt6: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Lettuce||&6+ Tomato" - receipt7: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Onion||&6+ Tomato" - receipt8: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Beef||&6+ Lettuce||&6+ Onion||&6+ Tomato" - receipt9: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Lettuce||&6+ Onion" - receipt10: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Lettuce||&6+ Tomato" - receipt11: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Onion||&6+ Tomato" - receipt12: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Fish||&6+ Lettuce||&6+ Onion||&6+ Tomato" - receipt13: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Lettuce||&6+ Onion" - receipt14: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Lettuce||&6+ Tomato" - receipt15: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Onion||&6+ Tomato" - receipt16: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Chicken||&6+ Lettuce||&6+ Onion||&6+ Tomato" - receipt17: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Lettuce||&6+ Onion" - receipt18: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Lettuce||&6+ Tomato" - receipt19: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Onion||&6+ Tomato" - receipt20: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Beef||&6+ Lettuce||&6+ Onion||&6+ Tomato" - receipt21: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Lettuce||&6+ Onion" - receipt22: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Lettuce||&6+ Tomato" - receipt23: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Onion||&6+ Tomato" - receipt24: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Fish||&6+ Lettuce||&6+ Onion||&6+ Tomato" - #clue1: give player book from "&9&lSkyblock General Info;&eOBAM Minigames;&fThis book contains Information about||&fSkyblock General Info on OBAM!;§cWhat Is Skyblock?§r §0Skyblock is a survival experience that is based on completing challenges and building a base. You begin on a small floating island in the sky with a chest that contains only the bare minimum to get started.§r||§cGetting Started §r §0Using the two blocks of ice, you'll want to create an infinite water source. Then, using water and your one lava bucket, create a cobblestone generator and start expanding from there!§r||§cBe Careful! §r §0Falling off or dying early on with your starter items could result in their loss and require an island reset. You get 2 free resets. After that, it is §r§22,000 Tickets§r §0per reset.§r" - #clue2: liabrary book in its place, give book about Kells and the almight taco god - #clue3 sign engraved on back with "Please watch over Cletus" from Kells - clue4: pink wool named "&a&b&k&a&3Silk Lining" with lore "&6This looks like it could be from the||&3fabled &a&b&k&a&3Sombrero of Plenty&3.||&3You should find a black market shop." - -#endfold - -#startfold recipes - -on script load: - register new shaped recipe for {@receipt1} using shredded cheese, shredded lettuce, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt1} using shredded cheese, diced onion, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt1} using diced onion, shredded cheese, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt1} using diced onion, shredded lettuce, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt1} using shredded lettuce, diced onion, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt1} using shredded lettuce, shredded cheese, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt2} using shredded cheese, shredded lettuce, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt2} using shredded cheese, diced tomato, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt2} using diced tomato, shredded cheese, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt2} using diced tomato, shredded lettuce, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt2} using shredded lettuce, diced tomato, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt2} using shredded lettuce, shredded cheese, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt3} using shredded cheese, diced onion, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt3} using shredded cheese, diced tomato, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt3} using diced tomato, shredded cheese, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt3} using diced tomato, diced onion, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt3} using diced onion, diced tomato, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt3} using diced onion, shredded cheese, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt4} using shredded lettuce, diced onion, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt4} using shredded lettuce, diced tomato, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt4} using diced tomato, shredded lettuce, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt4} using diced tomato, diced onion, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt4} using diced onion, diced tomato, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt4} using diced onion, shredded lettuce, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt5} using shredded cheese, shredded lettuce, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt5} using shredded cheese, diced onion, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt5} using diced onion, shredded cheese, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt5} using diced onion, shredded lettuce, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt5} using shredded lettuce, diced onion, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt5} using shredded lettuce, shredded cheese, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt6} using shredded cheese, shredded lettuce, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt6} using shredded cheese, diced tomato, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt6} using diced tomato, shredded cheese, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt6} using diced tomato, shredded lettuce, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt6} using shredded lettuce, diced tomato, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt6} using shredded lettuce, shredded cheese, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt7} using shredded cheese, diced onion, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt7} using shredded cheese, diced tomato, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt7} using diced tomato, shredded cheese, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt7} using diced tomato, diced onion, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt7} using diced onion, diced tomato, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt7} using diced onion, shredded cheese, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt8} using shredded lettuce, diced onion, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt8} using shredded lettuce, diced tomato, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt8} using diced tomato, shredded lettuce, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt8} using diced tomato, diced onion, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt8} using diced onion, diced tomato, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt8} using diced onion, shredded lettuce, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt9} using shredded cheese, shredded lettuce, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt9} using shredded cheese, diced onion, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt9} using diced onion, shredded cheese, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt9} using diced onion, shredded lettuce, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt9} using shredded lettuce, diced onion, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt9} using shredded lettuce, shredded cheese, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt10} using shredded cheese, shredded lettuce, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt10} using shredded cheese, diced tomato, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt10} using diced tomato, shredded cheese, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt10} using diced tomato, shredded lettuce, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt10} using shredded lettuce, diced tomato, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt10} using shredded lettuce, shredded cheese, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt11} using shredded cheese, diced onion, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt11} using shredded cheese, diced tomato, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt11} using diced tomato, shredded cheese, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt11} using diced tomato, diced onion, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt11} using diced onion, diced tomato, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt11} using diced onion, shredded cheese, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt12} using shredded lettuce, diced onion, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt12} using shredded lettuce, diced tomato, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt12} using diced tomato, shredded lettuce, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt12} using diced tomato, diced onion, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt12} using diced onion, diced tomato, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt12} using diced onion, shredded lettuce, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell - register new shaped recipe for {@receipt13} using shredded cheese, shredded lettuce, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt13} using shredded cheese, diced onion, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt13} using diced onion, shredded cheese, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt13} using diced onion, shredded lettuce, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt13} using shredded lettuce, diced onion, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt13} using shredded lettuce, shredded cheese, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt14} using shredded cheese, shredded lettuce, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt14} using shredded cheese, diced tomato, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt14} using diced tomato, shredded cheese, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt14} using diced tomato, shredded lettuce, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt14} using shredded lettuce, diced tomato, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt14} using shredded lettuce, shredded cheese, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt15} using shredded cheese, diced onion, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt15} using shredded cheese, diced tomato, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt15} using diced tomato, shredded cheese, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt15} using diced tomato, diced onion, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt15} using diced onion, diced tomato, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt15} using diced onion, shredded cheese, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt16} using shredded lettuce, diced onion, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt16} using shredded lettuce, diced tomato, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt16} using diced tomato, shredded lettuce, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt16} using diced tomato, diced onion, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt16} using diced onion, diced tomato, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt16} using diced onion, shredded lettuce, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt17} using shredded cheese, shredded lettuce, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt17} using shredded cheese, diced onion, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt17} using diced onion, shredded cheese, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt17} using diced onion, shredded lettuce, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt17} using shredded lettuce, diced onion, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt17} using shredded lettuce, shredded cheese, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt18} using shredded cheese, shredded lettuce, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt18} using shredded cheese, diced tomato, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt18} using diced tomato, shredded cheese, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt18} using diced tomato, shredded lettuce, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt18} using shredded lettuce, diced tomato, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt18} using shredded lettuce, shredded cheese, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt19} using shredded cheese, diced onion, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt19} using shredded cheese, diced tomato, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt19} using diced tomato, shredded cheese, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt19} using diced tomato, diced onion, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt19} using diced onion, diced tomato, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt19} using diced onion, shredded cheese, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt20} using shredded lettuce, diced onion, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt20} using shredded lettuce, diced tomato, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt20} using diced tomato, shredded lettuce, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt20} using diced tomato, diced onion, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt20} using diced onion, diced tomato, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt20} using diced onion, shredded lettuce, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt21} using shredded cheese, shredded lettuce, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt21} using shredded cheese, diced onion, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt21} using diced onion, shredded cheese, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt21} using diced onion, shredded lettuce, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt21} using shredded lettuce, diced onion, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt21} using shredded lettuce, shredded cheese, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt22} using shredded cheese, shredded lettuce, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt22} using shredded cheese, diced tomato, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt22} using diced tomato, shredded cheese, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt22} using diced tomato, shredded lettuce, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt22} using shredded lettuce, diced tomato, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt22} using shredded lettuce, shredded cheese, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt23} using shredded cheese, diced onion, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt23} using shredded cheese, diced tomato, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt23} using diced tomato, shredded cheese, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt23} using diced tomato, diced onion, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt23} using diced onion, diced tomato, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt23} using diced onion, shredded cheese, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt24} using shredded lettuce, diced onion, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt24} using shredded lettuce, diced tomato, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt24} using diced tomato, shredded lettuce, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt24} using diced tomato, diced onion, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt24} using diced onion, diced tomato, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - register new shaped recipe for {@receipt24} using diced onion, shredded lettuce, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell - -#endfold - -#startfold on events - -on join: - "%player's world%" contains "Taco": - set player's level to 0 - set player's level progress to 0 - add 20 to player's hunger - -on hunger meter change: - "%player's world%" contains "Taco": - cancel event - -on damage of a player: - "%attacker's world%" contains "Taco": - attacker is a witch: - cancel event - projectile is a raw onion: - cancel event - send "Nice shot!" to attacker - victim's tool is air: - set {_vtime} to "%{taco.variables::slow.time}% seconds" parsed as timespan - apply slowness 8 to victim for {_vtime} - apply nausea to victim for 999 seconds - send "&cYou just got knocked out by %attacker%!" to victim - stop - delete victim's tool - apply nausea to victim for 999 seconds - send "&c%attacker% just knocked the stuff out of your hands!" to victim - stop - cancel event - -on rightclick on villager: - "%player's world%" contains "Taco": - cancel event - player's tool is paper: - set {_receipt} to player's tool - {_receipt} is set: - loop {taco.player.%world%::*}: - player is loop-value: - set {_p.num} to loop-index - exit loop - {_p.num} is set: - set {_loc} to location of block below villager - loop {taco.p%{_p.num}%.spawns.%world%::*}: - {_loc} is loop-value: - set {_c.num} to loop-index - exit loop - {_c.num} is set: - set {_match} to false - {_receipt} is {taco.%{taco.p%{_p.num}%.order.%world%::%{_c.num}%}%::6}: - set {_match} to true - increase the level progress of player by 0.05 - add 1 to {taco.%{taco.player.%world%::%{_p.num}%}%.score.%world%} - set {_ran} to random integer between 1 and 5 - send "&9%{taco.p%{_p.num}%.customer.%world%::%{_c.num}%}%:&f %{taco.correct::%{_ran}%}%" to {taco.player.%world%::%{_p.num}%} - clear {taco.p1.order.%world%::%{_slot}%} - remove player's tool from player - delete villager - {_match} is false: - set {_ran} to random integer between 1 and 6 - send "&9%{taco.p%{_p.num}%.customer.%world%::%{_c.num}%}%:&f %{taco.correct::%{_ran}%}%" to {taco.player.%world%::%{_p.num}%} - remove player's tool from player - delete villager - -on damage of villager: - "%attacker's world%" contains "Taco": - cancel event - projectile is a raw onion: - send "Nailed them!" to attacker - set {_loc} to location of block below villager - loop {taco.p1.spawns.%world%::*}: - {_loc} is loop-value: - set {_p.num} to 1 - set {_c.num} to loop-index - exit loop - loop {taco.p2.spawns.%world%::*}: - {_loc} is loop-value: - set {_p.num} to 2 - set {_c.num} to loop-index - exit loop - {_p.num} is set: - {_c.num} is set: - set {_vtime} to "%{taco.variables::villager_hit.time}% seconds" parsed as timespan - subtract {_vtime} from {taco.p%{_p.num}%.customer.timer.%world%::%{_c.num}%} - set {_ran} to random integer between 1 and 5 - send "&9%{taco.p%{_p.num}%.customer.%world%::%{_c.num}%}%:&f %{taco.villager_hit::%{_ran}%}%" to {taco.player.%world%::*} - -on damage of sheep: - "%attacker's world%" contains "Taco": - cancel event - -on sheep eat: - world is "tacohub" or "TacoCart" or "tacocart1" or "tacocart2" or "tacocart3" or "tacocart4" or "tacocart5" or "tacocart6" or "tacocart7" or "tacocart8" or "tacocart9" or "tacocart10": - cancel event - -on dye of sheep: - "%player's world%" contains "Taco": - cancel event - message "Nope 1" - -on sheep dye: - "%player's world%" contains "Taco": - cancel event - message "Nope 2" - -on vehicle enter: - "%player's world%" contains "Taco": - cancel event - -on right click on horse: - "%player's world%" contains "Taco": - cancel event - set {_ran} to random integer between 1 and 5 - message "&9Cletus:&f %{taco.horsey::%{_ran}%}%" - -on right click on donkey: - "%player's world%" contains "Taco": - cancel event - message "&9Cletus:&f That'll do Donkey, that'll do." - -#on place: -# "%player's world%" contains "Taco": -# cancel event - -#on break: -# "%player's world%" contains "Taco": -# cancel event - -on pickup: - "%player's world%" contains "Taco": - item is rancid meat: - cancel event - -on xp spawn: - world is "tacohub" or "TacoCart" or "tacocart1" or "tacocart2" or "tacocart3" or "tacocart4" or "tacocart5" or "tacocart6" or "tacocart7" or "tacocart8" or "tacocart9" or "tacocart10": - cancel event - -on drop: - "%player's world%" contains "Taco": - item is not rancid meat: - cancel event - -#on rightclick on item frame: -# "%player's world%" contains "Taco": -# cancel event - -#on damage of item frame: -# "%attacker's world%" contains "Taco": -# cancel event - -on damage of a silverfish: - "%attacker's world%" contains "Taco": - kill victim - -on target: - world is "TacoCart" or "tacocart1" or "tacocart2" or "tacocart3" or "tacocart4" or "tacocart5" or "tacocart6" or "tacocart7" or "tacocart8" or "tacocart9" or "tacocart10": - creature is a witch: - target is a player: - cancel event - -on rightclick on a stone button: - "%player's world%" contains "Taco": - cancel event - player has grain: - set {_dc} to now - {_dc} is greater than or equal to {taco.timers.%player%::soft_shell}: - remove 1 grain from player - give player {taco.variables::soft_shell.amount} of soft shell named "Soft Taco Shell" - set {taco.timers.%player%::soft_shell} to now - set {_vtime} to "%{taco.variables::soft_shell.time}% seconds" parsed as timespan - add {_vtime} to {taco.timers.%player%::soft_shell} - stop - message "&cYou must wait a little longer to use the &6Soft Shell Press&c!" - stop - message "&cYou need some &6Grain&c to use this equipment!" - -on rightclick on a hopper: - "%player's world%" contains "Taco": - cancel event - set {_dc} to now - {_dc} is greater than or equal to {taco.timers.%player%::grain}: - give player {taco.variables::grain.amount} of grain named "Grain" - set {taco.timers.%player%::grain} to now - set {_vtime} to "%{taco.variables::grain.time}% seconds" parsed as timespan - add {_vtime} to {taco.timers.%player%::grain} - stop - message "&cYou must wait a little longer to use the &6Grain Dispenser&c!" - -on rightclick on a wooden button: - "%player's world%" contains "Taco": - cancel event - player has grain: - set {_dc} to now - {_dc} is greater than or equal to {taco.timers.%player%::hard_shell}: - remove 1 grain from player - give player {taco.variables::hard_shell.amount} of hard shell named "Hard Taco Shell" - set {taco.timers.%player%::hard_shell} to now - set {_vtime} to "%{taco.variables::hard_shell.time}% seconds" parsed as timespan - add {_vtime} to {taco.timers.%player%::hard_shell} - stop - message "&cYou must wait a little longer to use the &6Hard Shell Press&c!" - stop - message "&cYou need some &6Grain&c to use this equipment!" - -on rightclick on daylight sensor: - "%player's world%" contains "Taco": - player has whole tomato: - set {_dc} to now - {_dc} is greater than or equal to {taco.timers.%player%::diced_tomato}: - remove 1 whole tomato from player - give player {taco.variables::diced_tomato.amount} of diced tomato named "Diced Tomato" - set {taco.timers.%player%::diced_tomato} to now - set {_vtime} to "%{taco.variables::diced_tomato.time}% seconds" parsed as timespan - add {_vtime} to {taco.timers.%player%::diced_tomato} - stop - message "&cYou must wait a little longer to use the &6Tomato Dicer&c!" - stop - message "&cYou need a &6Whole Tomato&c to use this equipment!" - -on rightclick on a chest: - "%player's world%" contains "Taco": - cancel event - "%player's world%" is "tacohub": - stop - set {_dc} to now - {_dc} is greater than or equal to {taco.timers.%player%::block_of_cheese}: - give player {taco.variables::block_of_cheese.amount} of block of cheese named "Block of Cheese" - set {taco.timers.%player%::block_of_cheese} to now - set {_vtime} to "%{taco.variables::block_of_cheese.time}% seconds" parsed as timespan - add {_vtime} to {taco.timers.%player%::block_of_cheese} - stop - message "&cYou must wait a little longer to open the &6Cheese Cooler&c!" - -on rightclick on an oxeye daisy: - "%player's world%" contains "Taco": - cancel event - "%player's world%" is "tacohub": - {taco.timers.%player%::raw_onion} is not set: - set {taco.timers.%player%::raw_onion} to now - set {_dc} to now - {_dc} is greater than or equal to {taco.timers.%player%::raw_onion}: - give player {taco.variables::raw_onion.amount} of raw onion named "Raw Onion" - set {taco.timers.%player%::raw_onion} to now - set {_vtime} to "%{taco.variables::raw_onion.time}% seconds" parsed as timespan - add {_vtime} to {taco.timers.%player%::raw_onion} - stop - message "&cYou must wait a little longer to harvest from the &6Onion Garden&c!" - -on rightclick on a dispenser: - "%player's world%" contains "Taco": - cancel event - player has raw beef: - set {_dc} to now - {_dc} is greater than or equal to {taco.timers.%player%::steak}: - remove 1 raw beef from player - give player {taco.variables::steak.amount} of steak named "Spicy Beef" - set {taco.timers.%player%::steak} to now - set {_vtime} to "%{taco.variables::steak.time}% seconds" parsed as timespan - add {_vtime} to {taco.timers.%player%::steak} - clear {taco.timers.%player%::rancid_meat} - stop - message "&cYou must wait a little longer to use the &6Steak-a-nator 5000&c!" - stop - message "&cYou need some &6Raw Beef&c to use this equipment!" - -on rightclick on a furnace: - "%player's world%" contains "Taco": - cancel event - player has raw fish: - set {_dc} to now - {_dc} is greater than or equal to {taco.timers.%player%::cooked_fish}: - remove 1 raw fish from player - give player {taco.variables::cooked_fish.amount} of cooked fish named "Fish Sticks" - set {taco.timers.%player%::cooked_fish} to now - set {_vtime} to "%{taco.variables::cooked_fish.time}% seconds" parsed as timespan - add {_vtime} to {taco.timers.%player%::cooked_fish} - clear {taco.timers.%player%::rancid_fish} - stop - message "&cYou must wait a little longer to use the &6Fish-O-Matic&c!" - stop - message "&cYou need some &6Raw Fish&c to use this equipment!" - -on rightclick on a dropper: - "%player's world%" contains "Taco": - cancel event - player has raw chicken: - set {_dc} to now - {_dc} is greater than or equal to {taco.timers.%player%::cooked_chicken}: - remove 1 raw chicken from player - give player {taco.variables::cooked_chicken.amount} of cooked chicken named "Spicy Chicken" - set {taco.timers.%player%::cooked_chicken} to now - set {_vtime} to "%{taco.variables::cooked_chicken.time}% seconds" parsed as timespan - add {_vtime} to {taco.timers.%player%::cooked_chicken} - clear {taco.timers.%player%::rancid_chicken} - stop - message "&cYou must wait a little longer to use the &6Clucker-Cooker&c!" - stop - message "&cYou need some &6Raw Chicken&c to use this equipment!" - -on rightclick on a lever: - "%player's world%" contains "Taco": - cancel event - player has head of lettuce: - set {_dc} to now - {_dc} is greater than or equal to {taco.timers.%player%::shredded_lettuce}: - remove 1 head of lettuce from player - give player {taco.variables::shredded_lettuce.amount} of shredded lettuce named "Shredded Lettuce" - set {taco.timers.%player%::shredded lettuce} to now - set {_vtime} to "%{taco.variables::shredded_lettuce.time}% seconds" parsed as timespan - add {_vtime} to {taco.timers.%player%::shredded_lettuce} - stop - message "&cYou must wait a little longer to use the &6Lettuce Shredder&c!" - stop - message "&cYou need a &6Head of Lettuce&c to use this equipment!" - -on rightclick on a tripwire hook: - "%player's world%" contains "Taco": - cancel event - player has raw onion: - set {_dc} to now - {_dc} is greater than or equal to {taco.timers.%player%::diced_onion}: - remove 1 raw onion from player - give player {taco.variables::diced_onion.amount} of diced onion named "Diced Onion" - set {taco.timers.%player%::diced_onion} to now - set {_vtime} to "%{taco.variables::diced_onion.time}% seconds" parsed as timespan - add {_vtime} to {taco.timers.%player%::diced_onion} - stop - message "&cYou must wait a little longer to use the &6Onion Chopper&c!" - stop - message "&cYou need a &6Raw Onion&c to use this equipment!" - -on rightclick on an iron door: - "%player's world%" contains "Taco": - cancel event - "%player's world%" is "tacohub": - stop - set {_dc} to now - {_dc} is greater than or equal to {taco.timers.%player%::raw_chicken}: - give player {taco.variables::raw_chicken.amount} of raw chicken named "Raw Chicken" - set {taco.timers.%player%::raw_chicken} to now - set {_vtime} to "%{taco.variables::raw_chicken.time}% seconds" parsed as timespan - add {_vtime} to {taco.timers.%player%::raw_chicken} - set {taco.timers.%player%::rancid_chicken} to now - stop - message "&cYou must wait a little longer to open the &6Chicken Freezer&c!" - -on rightclick on a wooden door: - "%player's world%" contains "Taco": - cancel event - "%player's world%" is "tacohub": - stop - set {_dc} to now - {_dc} is greater than or equal to {taco.timers.%player%::raw_beef}: - give player {taco.variables::raw_beef.amount} of raw beef named "Raw Beef" - set {taco.timers.%player%::raw_beef} to now - set {_vtime} to "%{taco.variables::raw_beef.time}% seconds" parsed as timespan - add {_vtime} to {taco.timers.%player%::raw_beef} - set {taco.timers.%player%::rancid_meat} to now - stop - message "&cYou must wait a little longer to open the &6Beef Freezer&c!" - -on rightclick on ice: - "%player's world%" contains "Taco": - cancel event - set {_dc} to now - {_dc} is greater than or equal to {taco.timers.%player%::raw_fish}: - give player {taco.variables::raw_fish.amount} of raw fish named "Raw Fish" - set {taco.timers.%player%::raw_fish} to now - set {_vtime} to "%{taco.variables::raw_fish.time}% seconds" parsed as timespan - add {_vtime} to {taco.timers.%player%::raw_fish} - set {taco.timers.%player%::rancid_fish} to now - stop - message "&cYou must wait a little longer to get in the &6Fish Freezer&c!" - -on rightclick on a creeper head: - "%player's world%" contains "Taco": - cancel event - set {_dc} to now - {_dc} is greater than or equal to {taco.timers.%player%::head_of_lettuce}: - give player {taco.variables::head_of_lettuce.amount} of head of lettuce named "Head of Lettuce" - set {taco.timers.%player%::head_of_lettuce} to now - set {_vtime} to "%{taco.variables::head_of_lettuce.time}% seconds" parsed as timespan - add {_vtime} to {taco.timers.%player%::head_of_lettuce} - stop - message "&cYou must wait a little longer to pick from the &6Lettuce Garden&c!" - -on rightclick on a jukebox: - "%player's world%" contains "Taco": - cancel event - player has block of cheese: - set {_dc} to now - {_dc} is greater than or equal to {taco.timers.%player%::shredded_cheese}: - remove 1 block of cheese from player - give player {taco.variables::shredded_cheese.amount} of shredded cheese named "Shredded Cheese" - set {taco.timers.%player%::shredded_cheese} to now - set {_vtime} to "%{taco.variables::shredded_cheese.time}% seconds" parsed as timespan - add {_vtime} to {taco.timers.%player%::shredded_cheese} - stop - message "&cYou must wait a little longer to use the &6Cheese Shredder&c!" - stop - message "&cYou need a &6Block of Cheese&c to use this equipment!" - -on rightclick on an ender chest: - "%player's world%" contains "Taco": - cancel event - set {_dc} to now - {_dc} is greater than or equal to {taco.timers.%player%::whole_tomato}: - give player {taco.variables::whole_tomato.amount} of whole tomato named "Whole Tomato" - set {taco.timers.%player%::whole_tomato} to now - set {_vtime} to "%{taco.variables::whole_tomato.time}% seconds" parsed as timespan - add {_vtime} to {taco.timers.%player%::whole_tomato} - stop - message "&cYou must wait a little longer to get in the &6Tomato Bin&c!" - -on rightclick on a sheep: - "%player's world%" contains "Taco": - cancel event - set {_dc} to now - {_dc} is greater than or equal to {taco.timers.%player%::sheep}: - chance of 2%: - {legendary.progress.%player%::3} is true: - message "&6Hmmmm, could this be?" - give player {@clue4} - set {legendary.progress.%player%::4} to true - set {taco.timers.%player%::sheep} to now - set {_vtime} to "%{taco.variables::sheep.time}% seconds" parsed as timespan - add {_vtime} to {taco.timers.%player%::sheep} - stop - -on rightclick on a cauldron: - "%player's world%" contains "Taco": -# cancel event - player has nausea: - remove nausea from player - remove slowness from player - message "You are healed child!" - -on right click on sign: - line 1 of block is "Click here": - set {_count} to 0 - loop entities in radius 3 of block: - loop-entity is a player: - add loop-entity to {_who::*} - add 1 to {_count} - {_count} is greater than 1: - send "Only one player per side." to {_who::*} - stop - {_count} is 1: - set {_loc} to location of block - loop {taco.start.%world%::*}: - loop-value is {_loc}: - set {_slot} to loop-index - set {taco.readycheck.%world%::%{_slot}%} to player - set line 1 of block to "Now waiting on" - set line 2 of block to "your opponent" - set line 3 of block to "to click their" - set line 4 of block to "Ready Sign" - loop {taco.%{_slot}%.gate2.%world%::*}: - set {_change} to loop-value-2 - {_slot} is "1": - set block 2 meters above {_change} to nether fence - {_slot} is "2": - set block 2 meters above {_change} to fence - stop - line 1 of block is "Now waiting on": - set {_loc} to location of block - loop {taco.start.%world%::*}: - loop-value is {_loc}: - set {_slot} to loop-index - clear {taco.readycheck.%world%::%{_slot}%} - set line 1 of block to "Click here" - set line 2 of block to "to claim the" - {_slot} is "1": - set line 3 of block to "Nether" - {_slot} is "2": - set line 3 of block to "Wooden" - set line 4 of block to "Taco Shack" - loop {taco.%{_slot}%.gate2.%world%::*}: - set {_change} to loop-value-2 - set block 2 meters above {_change} to air - - -#endfold - -#startfold periodic - -#WORLD SPECIFIC -every 60 seconds: - loop all entities in world "tacohub": - set {_ran} to random integer between 1 and 5 - loop-entity is a villager: - loop players in radius 25 of loop-entity: - send "&9Cletus:&f %{taco.pinky::%{_ran}%}%" to loop-player - -#subfold TacoCart - -every 1 second: - loop all players in world "TacoCart": - {taco.game.status.%loop-player's world%} is true: - loop {taco.player.%loop-player's world%::*}: - set {_p.num} to loop-index - loop {taco.p%{_p.num}%.signs.%loop-player's world%::*}: - set {_next} to false - set {_sign} to block at location of loop-value - set {_slot} to loop-index - set {_timecheck} to now - set {_ttm} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} - subtract 20 seconds from {_ttm} - set {_ing1} to {taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::1} - set {_ing2} to {taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::2} - set {_ing3} to {taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::3} - set {_ing4} to {taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::4} - set {_ing5} to {taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::5} - {_timecheck} is greater than {_ttm}: - set line 1 of {_sign} to "&4%{_ing1}% %{_ing2}%" - set line 2 of {_sign} to "&4%{_ing3}%" - set line 3 of {_sign} to "&4%{_ing4}%" - set line 4 of {_sign} to "&4%{_ing5}%" - set {_next} to true - {_timecheck} is greater than {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%}: - set line 1 of {_sign} to "&4----------" - set line 2 of {_sign} to "&4----------" - set line 3 of {_sign} to "&4----------" - set line 4 of {_sign} to "&4----------" - set {_next} to true - {_next} is false: - set line 1 of {_sign} to "%{_ing1}% %{_ing2}%" - set line 2 of {_sign} to "%{_ing3}%" - set line 3 of {_sign} to "%{_ing4}%" - set line 4 of {_sign} to "%{_ing5}%" - stop - -every 1 second: - loop all players in world "TacoCart": - {taco.game.status.%loop-player's world%} is true: - loop {taco.player.%loop-player's world%::*}: - set {_p.num} to loop-index - loop {taco.p%{_p.num}%.customer.timer.%loop-player's world%::*}: - set {_ran} to random integer between 1 and 10 - set {_slot} to loop-index - set {_timecheck} to now - {_timecheck} is greater than {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%}: - loop entities in radius 2 around block at {taco.p%{_p.num}%.spawns.%loop-player's world%::%{_slot}%}: - loop-entity is a villager: - send "&9%{taco.p%{_p.num}%.customer.%loop-player's world%::%{_slot}%}%:&f %{taco.timeout::%{_ran}%}%" to {taco.player.%loop-player's world%::%{_p.num}%} - delete loop-entity - stop - -every 1 second: - loop all players in world "TacoCart": - {taco.game.status.%loop-player's world%} is true: - {toggle.sb.%loop-player%} is not set: - set {toggle.sb.%loop-player%} to true - {toggle.sb.%loop-player%} is false: - set {toggle.sb.%loop-player%} to true - {toggle.sb.%loop-player%} is true: - {board.up.%loop-player%.tc} is not set: - set {board.up.%loop-player%.tc} to false - {board.up.%loop-player%.tc} is true: - {taco.player.%loop-player's world%::1} is "%loop-player%": - make score "&aYou:" in board of loop-player to {taco.%loop-player%.score.%loop-player's world%} - make score "&cThem:" in board of loop-player to {taco.%{taco.player.%loop-player's world%::2}%.score.%loop-player's world%} - {taco.player.%loop-player's world%::2} is "%loop-player%": - make score "&aYou:" in board of loop-player to {taco.%loop-player%.score.%loop-player's world%} - make score "&cThem:" in board of loop-player to {taco.%{taco.player.%loop-player's world%::1}%.score.%loop-player's world%} - {board.up.%loop-player%.tc} is false: - {taco.player.%loop-player's world%::1} is "%loop-player%": - display board named "&9&lTaco Cart" to loop-player - make score "&aYou:" in board of loop-player to {taco.%loop-player%.score.%loop-player's world%} - make score "&cThem:" in board of loop-player to {taco.%{taco.player.%loop-player's world%::2}%.score.%loop-player's world%} - move display of loop-player to sidebar - {taco.player.%loop-player's world%::2} is "%loop-player%": - display board named "&9&lTaco Cart" to loop-player - make score "&aYou:" in board of loop-player to {taco.%loop-player%.score.%loop-player's world%} - make score "&cThem:" in board of loop-player to {taco.%{taco.player.%loop-player's world%::1}%.score.%loop-player's world%} - move display of loop-player to sidebar - {taco.game.status.%loop-player's world%} is false: - display board named "" to loop-player - move display of loop-player to sidebar - -every 1 second: - loop all players in world "TacoCart": - set {_tc} to now - {taco.game.status.%loop-player's world%} is true: - {_tc} is greater than {taco.game.timer.%loop-player's world%}: - set {taco.game.status.%loop-player's world%} to false - send "Times up!" to {taco.player.%loop-player's world%::*} - set {_p1} to {taco.player.%loop-player's world%::1} parsed as a player - set {_p2} to {taco.player.%loop-player's world%::2} parsed as a player - set {_p1score} to {taco.%{_p1}%.score.%loop-player's world%} - set {_p2score} to {taco.%{_p2}%.score.%loop-player's world%} - {_p1score} is greater than {_p2score}: - set {_winner} to 3 * {_p1score} - add {_winner} to {_p1}'s balance - send "&aYou have won &e%{_winner}% Tickets&a!" to {_p1} - send "&aYou now have &e%{_p1}'s balance%" to {_p1} - log "%{_p1}%^ADD^%{_winner}%^%{_p1}'s balance%^Winner Prize" to "tickets/tacocart.log" - add {_p2score} to {_p2}'s balance - send "&aYou have won &e%{_p2score}% Tickets&a!" to {_p2} - send "&aYou now have &e%{_p2}'s balance%" to {_p2} - log "%{_p2}%^ADD^%{_p2score}%^%{_p2}'s balance%^Loser Prize" to "tickets/tacocart.log" - {_p2score} is greater than {_p1score}: - set {_winner} to 3 * {_p2score} - add {_winner} to {_p2}'s balance - send "&aYou have won &e%{_winner}% Tickets&a!" to {_p2} - send "&aYou now have &e%{_p2}'s balance%" to {_p2} - log "%{_p2}%^ADD^%{_winner}%^%{_p2}'s balance%^Winner Prize" to "tickets/tacocart.log" - add {_p1score} to {_p1}'s balance - send "&aYou have won &e%{_p1score}% Tickets&a!" to {_p1} - send "&aYou now have &e%{_p1}'s balance%" to {_p1} - log "%{_p1}%^ADD^%{_p1score}%^%{_p1}'s balance%^Loser Prize" to "tickets/tacocart.log" - {_p1score} is equal to {_p2score}: - set {_winner} to 2 * {_p1score} - add {_winner} to {_p1}'s balance - send "&aYou have won &e%{_winner}% Tickets&a!" to {_p1} - send "&aYou now have &e%{_p1}'s balance%" to {_p1} - log "%{_p1}%^ADD^%{_winner}%^%{_p1}'s balance%^Tie Prize" to "tickets/tacocart.log" - set {_winner} to 2 * {_p2score} - add {_winner} to {_p2}'s balance - send "&aYou have won &e%{_winner}% Tickets&a!" to {_p2} - send "&aYou now have &e%{_p2}'s balance%" to {_p2} - log "%{_p2}%^ADD^%{_winner}%^%{_p2}'s balance%^Tie Prize" to "tickets/tacocart.log" - loop {taco.1.gate1.%loop-player's world%::*}: - set {_change} to loop-value - set block 2 meters above {_change} to nether fence - loop {taco.2.gate1.%loop-player's world%::*}: - set {_change} to loop-value - set block 2 meters above {_change} to fence - loop {taco.player.%loop-player's world%::*}: - set {board.up.%loop-value%.tc} to false - clear {taco.p1.customer.timer.%loop-player's world%::*} - clear {taco.p2.customer.timer.%loop-player's world%::*} - clear {taco.p1.customer.%loop-player's world%::*} - clear {taco.p2.customer.%loop-player's world%::*} - set {taco.%{taco.player.%loop-player's world%::1}%.score.%loop-player's world%} to 0 - set {taco.%{taco.player.%loop-player's world%::2}%.score.%loop-player's world%} to 0 - clear {taco.player.%loop-player's world%::*} - loop all entities in loop-player's world: - loop-entity-2 is a dropped item: - delete loop-entity-2 - loop-entity-2 is a villager: - delete loop-entity-2 - loop-entity-2 is a sheep: - delete loop-entity-2 - stop - -every 5 seconds: - loop all players in world "TacoCart": - {taco.game.status.%loop-player's world%} is true: - loop {taco.player.%loop-player's world%::*}: - set {_p.num} to loop-index - loop all entities in radius 10 around block at {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: - loop-entity is a silverfish: - add 1 to {_silver} - loop-entity is player: - add loop-entity to {_players::*} - {_silver} is greater than 20: - loop all entities in radius 10 around block at {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: - loop-entity is a silverfish: - delete loop-entity - loop-entity is rancid meat: - delete loop-entity - spawn witch 2 meters above location of {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen} - set name of spawned witch to "&cBoard of Health" - set the walk speed of the spawned witch to 0.1 - message "&cBoard of Health:&f Health inspection, mind if I have a look around?" to {_players::*} - loop all blocks in radius 10 of {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: - loop-block is daylight sensor: - set {_go} to location 1 meter above loop-block - make spawned witch home towards {_go} - exit loop - wait 2 seconds - message "&cBoard of Health:&f Hmmm, what's this? A dirty tomato dicer?" to {_players::*} - wait 2 seconds - loop all blocks in radius 10 of {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: - loop-block is cauldron: - set {_go} to location 1 meter above loop-block - make spawned witch home towards {_go} - exit loop - wait 2 seconds - message "&cBoard of Health:&f Oh my, when was the last time this sink has been cleaned?" to {_players::*} - wait 2 seconds - loop all blocks in radius 10 of {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: - loop-block is jukebox: - set {_go} to location 1 meter above loop-block - make spawned witch home towards {_go} - exit loop - wait 2 seconds - message "&cBoard of Health:&f Are these mice droppings behind your cheese shredder?" to {_players::*} - wait 2 seconds - set {_go} to location 2 meter above location at {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen} - make spawned witch home towards {_go} - wait 2 seconds - message "&cBoard of Health:&f This is just deplorable. I'm going to have to cite you!" to {_players::*} - wait 2 seconds - message "&cBoard of Health:&f I'll take these with me!" to {_players::*} - clear inventory of {taco.player.%loop-player's world%::%{_p.num}%} - loop all entities in radius 15 around block at {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: - loop-entity is a villager: - delete loop-entity - loop-entity is a dropped item: - delete loop-entity - loop-entity is a witch: - delete loop-entity - stop - -every 5 seconds: - loop all players in world "TacoCart": - {taco.game.status.%loop-player's world%} is true: - {taco.timers.%loop-player%::rancid_meat} is set: - set {_rancid.drop} to difference between {taco.timers.%loop-player%::rancid_meat} and now - {_rancid.drop} is greater than 30 seconds: - remove 1 raw beef from loop-player - drop 1 rancid meat named "Rancid Meat" at location of loop-player - send "Ohhh, what stinks in here?" to loop-player - clear {taco.timers.%loop-player%::rancid_meat} - {taco.timers.%loop-player%::rancid_chicken} is set: - set {_rancid.drop} to difference between {taco.timers.%loop-player%::rancid_chicken} and now - {_rancid.drop} is greater than 30 seconds: - remove 1 raw chicken from loop-player - drop 1 rancid meat named "Rancid Meat" at location of loop-player - send "Ohhh, what stinks in here?" to loop-player - clear {taco.timers.%loop-player%::rancid_chicken} - {taco.timers.%loop-player%::rancid_fish} is set: - set {_rancid.drop} to difference between {taco.timers.%loop-player%::rancid_fish} and now - {_rancid.drop} is greater than 30 seconds: - remove 1 raw fish from loop-player - drop 1 rancid meat named "Rancid Meat" at location of loop-player - send "Ohhh, what stinks in here?" to loop-player - clear {taco.timers.%loop-player%::rancid_fish} - -every 12 seconds: - loop all players in world "TacoCart": - {taco.game.status.%loop-player's world%} is false: - loop {taco.readycheck.%world%::*}: - set {_slot} to loop-index - {_slot} is set: - add 1 to {_count} - {_count} is greater than 1: - set {_start} to true - {_start} is true: - loop {taco.readycheck.%world%::*}: - set {_slot} to loop-index - set {taco.player.%world%::%{_slot}%} to loop-value - send "Game starts in 10 seconds." to {taco.player.%world%::*} - wait 5 seconds - send "Game starts in 5 seconds." to {taco.player.%world%::*} - wait 1 second - send "4" to {taco.player.%world%::*} - wait 1 second - send "3" to {taco.player.%world%::*} - wait 1 second - send "2" to {taco.player.%world%::*} - wait 1 second - send "1" to {taco.player.%world%::*} - wait 1 second - send "It has begun!" to {taco.player.%world%::*} - set {taco.game.status.%world%} to true - set {taco.game.timer.%world%} to now - set {_vtime} to "%{taco.variables::game_minutes.time}% minutes" parsed as timespan - add {_vtime} to {taco.game.timer.%world%} - loop {taco.player.%world%::*}: - clear inventory of loop-value - clear {taco.timers.%loop-value%::*} - set {taco.%loop-value%.score.%world%} to 0 - set {taco.timers.%loop-value%::grain} to now - set {taco.timers.%loop-value%::soft_shell} to now - set {taco.timers.%loop-value%::hard_shell} to now - set {taco.timers.%loop-value%::whole_tomato} to now - set {taco.timers.%loop-value%::diced_tomato} to now - set {taco.timers.%loop-value%::block_of_cheese} to now - set {taco.timers.%loop-value%::shredded_cheese} to now - set {taco.timers.%loop-value%::raw_onion} to now - set {taco.timers.%loop-value%::diced_onion} to now - set {taco.timers.%loop-value%::head_of_lettuce} to now - set {taco.timers.%loop-value%::shredded_lettuce} to now - set {taco.timers.%loop-value%::raw_fish} to now - set {taco.timers.%loop-value%::cooked_fish} to now - set {taco.timers.%loop-value%::raw_chicken} to now - set {taco.timers.%loop-value%::cooked_chicken} to now - set {taco.timers.%loop-value%::raw_beef} to now - set {taco.timers.%loop-value%::steak} to now - set {taco.timers.%loop-value%::sheep} to now - loop {taco.1.gate1.%world%::*}: - set {_change} to loop-value - set block 2 meters above {_change} to air - loop {taco.2.gate1.%world%::*}: - set {_change} to loop-value - set block 2 meters above {_change} to air - spawn sheep 1 meter above {keystone.%world%} - set name of spawned sheep to "&dPinky" - stop - -every 10 seconds: - loop all players in world "TacoCart": - {taco.game.status.%loop-player's world%} is true: - loop {taco.player.%loop-player's world%::*}: - set {_p.num} to loop-index - set {_level} to level of {taco.player.%loop-player's world%::%{_p.num}%} - loop {taco.p%{_p.num}%.spawns.%loop-player's world%::*}: - set {_villager.check} to false - set {_place} to loop-value - set {_slot} to loop-index - loop entities in radius 2 around block at loop-value: - loop-entity is a villager: - set {_villager.check} to true - {_villager.check} is false: - set {_ran} to random integer between 1 and 30 - spawn villager 1 meter above {_place} - set {_name} to {taco.villager.name::%{_ran}%} - set name of spawned villager to "%{_name}%" - set {taco.p%{_p.num}%.customer.%loop-player's world%::%{_slot}%} to "%{_name}%" - set {_order} to random integer between 1 and 24 - set {_order2} to "receipt%{_order}%" - set {taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%} to "%{_order2}%" - send "&9%{_name}%:&f Hey buddy, can I get a %{taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::1}% %{taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::2}% taco with %{taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::3}%, %{taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::4}% & %{taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::5}% please." to {taco.player.%loop-player's world%::%{_p.num}%} - spawned villager is of type farmer: - set {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} to now - set {_mult} to {taco.variables::farmer.time} * {taco.level::%{_level}%} - set {_timeset} to "%{_mult}% seconds" parsed as timespan - add {_timeset} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} - spawned villager is of type priest: - set {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} to now - set {_mult} to {taco.variables::priest.time} * {taco.level::%{_level}%} - set {_timeset} to "%{_mult}% seconds" parsed as timespan - add {_timeset} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} - spawned villager is of type butcher: - set {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} to now - set {_mult} to {taco.variables::butcher.time} * {taco.level::%{_level}%} - set {_timeset} to "%{_mult}% seconds" parsed as timespan - add {_timeset} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} - spawned villager is of type blacksmith: - set {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} to now - set {_mult} to {taco.variables::blacksmith.time} * {taco.level::%{_level}%} - set {_timeset} to "%{_mult}% seconds" parsed as timespan - add {_timeset} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} - spawned villager is of type librarian: - set {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} to now - set {_mult} to {taco.variables::librarian.time} * {taco.level::%{_level}%} - set {_timeset} to "%{_mult}% seconds" parsed as timespan - add {_timeset} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} - stop - -every 30 seconds: - loop all players in world "TacoCart": - {taco.game.status.%loop-player's world%} is true: - loop {taco.player.%loop-player's world%::*}: - set {_p.num} to loop-index - loop all entities in radius 10 around block at {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: - loop-entity is a dropped item: - add 1 to {_rancid} - add {_rancid} to {_roach.spawn::*} - add 1 to {_meat.count} - set {_meat.spawn::%{_meat.count}%} to location of loop-entity - delete loop-entity - loop-entity is player: - add loop-entity to {_players::*} - loop {_roach.spawn::*}: - spawn silverfish 2 meters above location of {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen} - set name of spawned silverfish to "Roach" - {_rancid} is 1: - send "Oh nooooo, a roach!" to {_players::*} - {_rancid} is greater than 1: - send "Oh nooooo, %{_rancid}% roaches!" to {_players::*} - clear {_players::*} - clear {_roach.spawn::*} - set {_rancid} to 0 - stop - -#subfold tacocart1 - -every 1 second: - loop all players in world "tacocart1": - {taco.game.status.%loop-player's world%} is true: - loop {taco.player.%loop-player's world%::*}: - set {_p.num} to loop-index - loop {taco.p%{_p.num}%.signs.%loop-player's world%::*}: - set {_next} to false - set {_sign} to block at location of loop-value - set {_slot} to loop-index - set {_timecheck} to now - set {_ttm} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} - subtract 20 seconds from {_ttm} - set {_ing1} to {taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::1} - set {_ing2} to {taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::2} - set {_ing3} to {taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::3} - set {_ing4} to {taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::4} - set {_ing5} to {taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::5} - {_timecheck} is greater than {_ttm}: - set line 1 of {_sign} to "&4%{_ing1}% %{_ing2}%" - set line 2 of {_sign} to "&4%{_ing3}%" - set line 3 of {_sign} to "&4%{_ing4}%" - set line 4 of {_sign} to "&4%{_ing5}%" - set {_next} to true - {_timecheck} is greater than {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%}: - set line 1 of {_sign} to "&4----------" - set line 2 of {_sign} to "&4----------" - set line 3 of {_sign} to "&4----------" - set line 4 of {_sign} to "&4----------" - set {_next} to true - {_next} is false: - set line 1 of {_sign} to "%{_ing1}% %{_ing2}%" - set line 2 of {_sign} to "%{_ing3}%" - set line 3 of {_sign} to "%{_ing4}%" - set line 4 of {_sign} to "%{_ing5}%" - stop - -every 1 second: - loop all players in world "tacocart1": - {taco.game.status.%loop-player's world%} is true: - loop {taco.player.%loop-player's world%::*}: - set {_p.num} to loop-index - loop {taco.p%{_p.num}%.customer.timer.%loop-player's world%::*}: - set {_ran} to random integer between 1 and 10 - set {_slot} to loop-index - set {_timecheck} to now - {_timecheck} is greater than {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%}: - loop entities in radius 2 around block at {taco.p%{_p.num}%.spawns.%loop-player's world%::%{_slot}%}: - loop-entity is a villager: - send "&9%{taco.p%{_p.num}%.customer.%loop-player's world%::%{_slot}%}%:&f %{taco.timeout::%{_ran}%}%" to {taco.player.%loop-player's world%::%{_p.num}%} - delete loop-entity - stop - -every 1 second: - loop all players in world "tacocart1": - {taco.game.status.%loop-player's world%} is true: - {toggle.sb.%loop-player%} is not set: - set {toggle.sb.%loop-player%} to true - {toggle.sb.%loop-player%} is false: - set {toggle.sb.%loop-player%} to true - {toggle.sb.%loop-player%} is true: - {board.up.%loop-player%.tc} is not set: - set {board.up.%loop-player%.tc} to false - {board.up.%loop-player%.tc} is true: - {taco.player.%loop-player's world%::1} is "%loop-player%": - make score "&aYou:" in board of loop-player to {taco.%loop-player%.score.%loop-player's world%} - make score "&cThem:" in board of loop-player to {taco.%{taco.player.%loop-player's world%::2}%.score.%loop-player's world%} - {taco.player.%loop-player's world%::2} is "%loop-player%": - make score "&aYou:" in board of loop-player to {taco.%loop-player%.score.%loop-player's world%} - make score "&cThem:" in board of loop-player to {taco.%{taco.player.%loop-player's world%::1}%.score.%loop-player's world%} - {board.up.%loop-player%.tc} is false: - {taco.player.%loop-player's world%::1} is "%loop-player%": - display board named "&9&lTaco Cart" to loop-player - make score "&aYou:" in board of loop-player to {taco.%loop-player%.score.%loop-player's world%} - make score "&cThem:" in board of loop-player to {taco.%{taco.player.%loop-player's world%::2}%.score.%loop-player's world%} - move display of loop-player to sidebar - {taco.player.%loop-player's world%::2} is "%loop-player%": - display board named "&9&lTaco Cart" to loop-player - make score "&aYou:" in board of loop-player to {taco.%loop-player%.score.%loop-player's world%} - make score "&cThem:" in board of loop-player to {taco.%{taco.player.%loop-player's world%::1}%.score.%loop-player's world%} - move display of loop-player to sidebar - {taco.game.status.%loop-player's world%} is false: - display board named "" to loop-player - move display of loop-player to sidebar - -every 1 second: - loop all players in world "tacocart1": - set {_tc} to now - {taco.game.status.%loop-player's world%} is true: - {_tc} is greater than {taco.game.timer.%loop-player's world%}: - set {taco.game.status.%loop-player's world%} to false - send "Times up!" to {taco.player.%loop-player's world%::*} - set {_p1} to {taco.player.%loop-player's world%::1} parsed as a player - set {_p2} to {taco.player.%loop-player's world%::2} parsed as a player - set {_p1score} to {taco.%{_p1}%.score.%loop-player's world%} - set {_p2score} to {taco.%{_p2}%.score.%loop-player's world%} - {_p1score} is greater than {_p2score}: - set {_winner} to 3 * {_p1score} - add {_winner} to {_p1}'s balance - send "&aYou have won &e%{_winner}% Tickets&a!" to {_p1} - send "&aYou now have &e%{_p1}'s balance%" to {_p1} - log "%{_p1}%^ADD^%{_winner}%^%{_p1}'s balance%^Winner Prize" to "tickets/tacocart.log" - add {_p2score} to {_p2}'s balance - send "&aYou have won &e%{_p2score}% Tickets&a!" to {_p2} - send "&aYou now have &e%{_p2}'s balance%" to {_p2} - log "%{_p2}%^ADD^%{_p2score}%^%{_p2}'s balance%^Loser Prize" to "tickets/tacocart.log" - {_p2score} is greater than {_p1score}: - set {_winner} to 3 * {_p2score} - add {_winner} to {_p2}'s balance - send "&aYou have won &e%{_winner}% Tickets&a!" to {_p2} - send "&aYou now have &e%{_p2}'s balance%" to {_p2} - log "%{_p2}%^ADD^%{_winner}%^%{_p2}'s balance%^Winner Prize" to "tickets/tacocart.log" - add {_p1score} to {_p1}'s balance - send "&aYou have won &e%{_p1score}% Tickets&a!" to {_p1} - send "&aYou now have &e%{_p1}'s balance%" to {_p1} - log "%{_p1}%^ADD^%{_p1score}%^%{_p1}'s balance%^Loser Prize" to "tickets/tacocart.log" - {_p1score} is equal to {_p2score}: - set {_winner} to 2 * {_p1score} - add {_winner} to {_p1}'s balance - send "&aYou have won &e%{_winner}% Tickets&a!" to {_p1} - send "&aYou now have &e%{_p1}'s balance%" to {_p1} - log "%{_p1}%^ADD^%{_winner}%^%{_p1}'s balance%^Tie Prize" to "tickets/tacocart.log" - set {_winner} to 2 * {_p2score} - add {_winner} to {_p2}'s balance - send "&aYou have won &e%{_winner}% Tickets&a!" to {_p2} - send "&aYou now have &e%{_p2}'s balance%" to {_p2} - log "%{_p2}%^ADD^%{_winner}%^%{_p2}'s balance%^Tie Prize" to "tickets/tacocart.log" - loop {taco.1.gate1.%loop-player's world%::*}: - set {_change} to loop-value - set block 2 meters above {_change} to nether fence - loop {taco.2.gate1.%loop-player's world%::*}: - set {_change} to loop-value - set block 2 meters above {_change} to fence - loop {taco.player.%loop-player's world%::*}: - set {board.up.%loop-value%.tc} to false - clear {taco.p1.customer.timer.%loop-player's world%::*} - clear {taco.p2.customer.timer.%loop-player's world%::*} - clear {taco.p1.customer.%loop-player's world%::*} - clear {taco.p2.customer.%loop-player's world%::*} - set {taco.%{taco.player.%loop-player's world%::1}%.score.%loop-player's world%} to 0 - set {taco.%{taco.player.%loop-player's world%::2}%.score.%loop-player's world%} to 0 - clear {taco.player.%loop-player's world%::*} - loop all entities in loop-player's world: - loop-entity-2 is a dropped item: - delete loop-entity-2 - loop-entity-2 is a villager: - delete loop-entity-2 - loop-entity-2 is a sheep: - delete loop-entity-2 - stop - -every 5 seconds: - loop all players in world "tacocart1": - {taco.game.status.%loop-player's world%} is true: - loop {taco.player.%loop-player's world%::*}: - set {_p.num} to loop-index - loop all entities in radius 10 around block at {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: - loop-entity is a silverfish: - add 1 to {_silver} - loop-entity is player: - add loop-entity to {_players::*} - {_silver} is greater than 20: - loop all entities in radius 10 around block at {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: - loop-entity is a silverfish: - delete loop-entity - loop-entity is rancid meat: - delete loop-entity - spawn witch 2 meters above location of {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen} - set name of spawned witch to "&cBoard of Health" - set the walk speed of the spawned witch to 0.1 - message "&cBoard of Health:&f Health inspection, mind if I have a look around?" to {_players::*} - loop all blocks in radius 10 of {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: - loop-block is daylight sensor: - set {_go} to location 1 meter above loop-block - make spawned witch home towards {_go} - exit loop - wait 2 seconds - message "&cBoard of Health:&f Hmmm, what's this? A dirty tomato dicer?" to {_players::*} - wait 2 seconds - loop all blocks in radius 10 of {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: - loop-block is cauldron: - set {_go} to location 1 meter above loop-block - make spawned witch home towards {_go} - exit loop - wait 2 seconds - message "&cBoard of Health:&f Oh my, when was the last time this sink has been cleaned?" to {_players::*} - wait 2 seconds - loop all blocks in radius 10 of {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: - loop-block is jukebox: - set {_go} to location 1 meter above loop-block - make spawned witch home towards {_go} - exit loop - wait 2 seconds - message "&cBoard of Health:&f Are these mice droppings behind your cheese shredder?" to {_players::*} - wait 2 seconds - set {_go} to location 2 meter above location at {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen} - make spawned witch home towards {_go} - wait 2 seconds - message "&cBoard of Health:&f This is just deplorable. I'm going to have to cite you!" to {_players::*} - wait 2 seconds - message "&cBoard of Health:&f I'll take these with me!" to {_players::*} - clear inventory of {taco.player.%loop-player's world%::%{_p.num}%} - loop all entities in radius 15 around block at {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: - loop-entity is a villager: - delete loop-entity - loop-entity is a dropped item: - delete loop-entity - loop-entity is a witch: - delete loop-entity - stop - -every 5 seconds: - loop all players in world "tacocart1": - {taco.game.status.%loop-player's world%} is true: - {taco.timers.%loop-player%::rancid_meat} is set: - set {_rancid.drop} to difference between {taco.timers.%loop-player%::rancid_meat} and now - {_rancid.drop} is greater than 30 seconds: - remove 1 raw beef from loop-player - drop 1 rancid meat named "Rancid Meat" at location of loop-player - send "Ohhh, what stinks in here?" to loop-player - clear {taco.timers.%loop-player%::rancid_meat} - {taco.timers.%loop-player%::rancid_chicken} is set: - set {_rancid.drop} to difference between {taco.timers.%loop-player%::rancid_chicken} and now - {_rancid.drop} is greater than 30 seconds: - remove 1 raw chicken from loop-player - drop 1 rancid meat named "Rancid Meat" at location of loop-player - send "Ohhh, what stinks in here?" to loop-player - clear {taco.timers.%loop-player%::rancid_chicken} - {taco.timers.%loop-player%::rancid_fish} is set: - set {_rancid.drop} to difference between {taco.timers.%loop-player%::rancid_fish} and now - {_rancid.drop} is greater than 30 seconds: - remove 1 raw fish from loop-player - drop 1 rancid meat named "Rancid Meat" at location of loop-player - send "Ohhh, what stinks in here?" to loop-player - clear {taco.timers.%loop-player%::rancid_fish} - -every 12 seconds: - loop all players in world "tacocart1": - {taco.game.status.%loop-player's world%} is false: - loop {taco.readycheck.%world%::*}: - set {_slot} to loop-index - {_slot} is set: - add 1 to {_count} - {_count} is greater than 1: - set {_start} to true - {_start} is true: - loop {taco.readycheck.%world%::*}: - set {_slot} to loop-index - set {taco.player.%world%::%{_slot}%} to loop-value - send "Game starts in 10 seconds." to {taco.player.%world%::*} - wait 5 seconds - send "Game starts in 5 seconds." to {taco.player.%world%::*} - wait 1 second - send "4" to {taco.player.%world%::*} - wait 1 second - send "3" to {taco.player.%world%::*} - wait 1 second - send "2" to {taco.player.%world%::*} - wait 1 second - send "1" to {taco.player.%world%::*} - wait 1 second - send "It has begun!" to {taco.player.%world%::*} - set {taco.game.status.%world%} to true - set {taco.game.timer.%world%} to now - set {_vtime} to "%{taco.variables::game_minutes.time}% minutes" parsed as timespan - add {_vtime} to {taco.game.timer.%world%} - loop {taco.player.%world%::*}: - clear inventory of loop-value - clear {taco.timers.%loop-value%::*} - set {taco.%loop-value%.score.%world%} to 0 - set {taco.timers.%loop-value%::grain} to now - set {taco.timers.%loop-value%::soft_shell} to now - set {taco.timers.%loop-value%::hard_shell} to now - set {taco.timers.%loop-value%::whole_tomato} to now - set {taco.timers.%loop-value%::diced_tomato} to now - set {taco.timers.%loop-value%::block_of_cheese} to now - set {taco.timers.%loop-value%::shredded_cheese} to now - set {taco.timers.%loop-value%::raw_onion} to now - set {taco.timers.%loop-value%::diced_onion} to now - set {taco.timers.%loop-value%::head_of_lettuce} to now - set {taco.timers.%loop-value%::shredded_lettuce} to now - set {taco.timers.%loop-value%::raw_fish} to now - set {taco.timers.%loop-value%::cooked_fish} to now - set {taco.timers.%loop-value%::raw_chicken} to now - set {taco.timers.%loop-value%::cooked_chicken} to now - set {taco.timers.%loop-value%::raw_beef} to now - set {taco.timers.%loop-value%::steak} to now - set {taco.timers.%loop-value%::sheep} to now - loop {taco.1.gate1.%world%::*}: - set {_change} to loop-value - set block 2 meters above {_change} to air - loop {taco.2.gate1.%world%::*}: - set {_change} to loop-value - set block 2 meters above {_change} to air - spawn sheep 1 meter above {keystone.%world%} - set name of spawned sheep to "&dPinky" - stop - -every 10 seconds: - loop all players in world "tacocart1": - {taco.game.status.%loop-player's world%} is true: - loop {taco.player.%loop-player's world%::*}: - set {_p.num} to loop-index - set {_level} to level of {taco.player.%loop-player's world%::%{_p.num}%} - loop {taco.p%{_p.num}%.spawns.%loop-player's world%::*}: - set {_villager.check} to false - set {_place} to loop-value - set {_slot} to loop-index - loop entities in radius 2 around block at loop-value: - loop-entity is a villager: - set {_villager.check} to true - {_villager.check} is false: - set {_ran} to random integer between 1 and 30 - spawn villager 1 meter above {_place} - set {_name} to {taco.villager.name::%{_ran}%} - set name of spawned villager to "%{_name}%" - set {taco.p%{_p.num}%.customer.%loop-player's world%::%{_slot}%} to "%{_name}%" - set {_order} to random integer between 1 and 24 - set {_order2} to "receipt%{_order}%" - set {taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%} to "%{_order2}%" - send "&9%{_name}%:&f Hey buddy, can I get a %{taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::1}% %{taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::2}% taco with %{taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::3}%, %{taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::4}% & %{taco.%{taco.p%{_p.num}%.order.%loop-player's world%::%{_slot}%}%::5}% please." to {taco.player.%loop-player's world%::%{_p.num}%} - spawned villager is of type farmer: - set {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} to now - set {_mult} to {taco.variables::farmer.time} * {taco.level::%{_level}%} - set {_timeset} to "%{_mult}% seconds" parsed as timespan - add {_timeset} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} - spawned villager is of type priest: - set {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} to now - set {_mult} to {taco.variables::priest.time} * {taco.level::%{_level}%} - set {_timeset} to "%{_mult}% seconds" parsed as timespan - add {_timeset} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} - spawned villager is of type butcher: - set {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} to now - set {_mult} to {taco.variables::butcher.time} * {taco.level::%{_level}%} - set {_timeset} to "%{_mult}% seconds" parsed as timespan - add {_timeset} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} - spawned villager is of type blacksmith: - set {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} to now - set {_mult} to {taco.variables::blacksmith.time} * {taco.level::%{_level}%} - set {_timeset} to "%{_mult}% seconds" parsed as timespan - add {_timeset} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} - spawned villager is of type librarian: - set {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} to now - set {_mult} to {taco.variables::librarian.time} * {taco.level::%{_level}%} - set {_timeset} to "%{_mult}% seconds" parsed as timespan - add {_timeset} to {taco.p%{_p.num}%.customer.timer.%loop-player's world%::%{_slot}%} - stop - -every 30 seconds: - loop all players in world "tacocart1": - {taco.game.status.%loop-player's world%} is true: - loop {taco.player.%loop-player's world%::*}: - set {_p.num} to loop-index - loop all entities in radius 10 around block at {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen}: - loop-entity is a dropped item: - add 1 to {_rancid} - add {_rancid} to {_roach.spawn::*} - add 1 to {_meat.count} - set {_meat.spawn::%{_meat.count}%} to location of loop-entity - delete loop-entity - loop-entity is player: - add loop-entity to {_players::*} - loop {_roach.spawn::*}: - spawn silverfish 2 meters above location of {taco.waypoint.%loop-player's world%::p%{_p.num}%kitchen} - set name of spawned silverfish to "Roach" - {_rancid} is 1: - send "Oh nooooo, a roach!" to {_players::*} - {_rancid} is greater than 1: - send "Oh nooooo, %{_rancid}% roaches!" to {_players::*} - clear {_players::*} - clear {_roach.spawn::*} - set {_rancid} to 0 - stop - -#subfold tacocart2 - - -#subfold tacocart3 - - -#subfold tacocart4 - - -#subfold tacocart5 - - -#subfold tacocart6 - - -#subfold tacocart7 - - -#subfold tacocart8 - - -#subfold tacocart9 - - -#subfold tacocart10 - - -#endfold periodic - -#startfold commands - -command /tacohubsign [] [] []: - aliases: ths - permission: obam.admin - trigger: - player's world is "tacohub": - argument 1 is not set: - message "&3Current Settings" - message "&3Record = &f%{taco.sign.record}%" - message "&3World = &f%{taco.set.group}%" - argument 1 is "record" or "r": - argument 2 is not set: - message "&3Record is &f%{taco.sign.record}%" - argument 2 is "on": - set {taco.sign.record} to true - argument 2 is "off": - set {taco.sign.record} to false - argument 1 is "world" or "w": - argument 2 is not set: - message "&3Current world is &f%{taco.set.group}%" - set {taco.set.group} to argument 3 - message "&3Current world is &f%{taco.set.group}%" - message "&cThis command is used in the Taco Hub." - -on right click of a sign: - player's world is "tacohub": - player has permission obam.admin: - player's tool is stick: - {taco.sign.record} is true: - set location of sign to {_loc} - set {_new} to true - loop {taco.group.sign::%{taco.set.group}%::*}: - set {_index} to loop-index - {_loc} is loop-value: - set {_new} to false - set {_sign} to block at location of {_loc} - message "&3Teleport Sign &f%loop-index% &3of tacocart&f%{taco.set.group}% &3has been deleted." - delete {taco.group.sign::%{taco.set.group}%::%{_index}%} - set line 1 of {_sign} to "------------" - set line 2 of {_sign} to "------------" - set line 3 of {_sign} to "------------" - set line 4 of {_sign} to "------------" - {_new} is true: - set {taco.group.sign::%{taco.set.group}%::*} to {_loc} - loop {tacogroup.sign::%{taco.set.group}%::*}: - {_loc} is loop-value: - set {_sign} to block at location of {_loc} - message "&3Teleport Sign &f%loop-index% &3of tacocart&f%{taco.set.group}% &3set to &f%loop-value%&3." - set line 1 of {_sign} to "Taco Cart %{taco.set.group}%" - set line 2 of {_sign} to "------------" - set line 3 of {_sign} to "-- vs. --" - set line 4 of {_sign} to "------------" - stop - set location of sign to {_loc} - line 1 of sign is " - set { - set {_group} to - set {_world} to - loop {taco.group.sign::*}: - set {_world} to loop-index - loop {taco.group.sign::%{_world}%}: - {_loc} is loop-value-2: - set {_sign} to block at location of {_loc} - set {_path} to false - {taco.who.%{_world}%::1} is set: - {taco.who.%{_world}%::2} is set: - stop - set {_path} to true - set {taco.who.%{_world}%::2} to player - set line 4 of {_sign} to "%player%" - {_path} is false: - set {taco.who.%{_world}%::1} to player - set line 2 of {_sign} to "%player%" - -every 1 second: - loop {taco.group.list::*} - set {_group} to loop-index - set {_status.group} to loop-value - {_status.group} is available: - set {_found} to false - set {taco.group.list::%{_group}%} to used - set {_count} to 0 - loop {taco.world.list::*}: - add 1 to {_count} - set {_world} to loop-index-2 - set {_status.world} to loop-value-2 - {_status.world} is available: - set {_found} to true - set {taco.world.list::%{_world}%} to used - loop {taco.group.sign::%{_group}%}: - set {_sign} to block at location of loop-value-3 - set line 1 of {_sign} to "------------" - set line 2 of {_sign} to "-- vs. --" - set line 3 of {_sign} to "------------" - set line 4 of {_sign} to "[ %{_group}% - %{_world}% ]" - execute console command "mv clone tacocart tacocart%{_world}%" - execute console command "mvm set monsters false" - execute console command "mvm set weather false" - execute console command "mvm set animals false" - {_found} is false: - add 1 to {_count} - set {taco.world.list::%{_count}%} to used - loop {taco.group.sign::%{_group}%}: - set {_sign} to block at location of loop-value-4 - set line 1 of {_sign} to "------------" - set line 2 of {_sign} to "-- vs. --" - set line 3 of {_sign} to "------------" - set line 4 of {_sign} to "[ %{_group}% - %{_count}% ]" - execute console command "mv clone tacocart tacocart%{_count}%" - execute console command "mv monsters false" - execute console command "mv weather false" - execute console command "mv animals false" - - - - execute console command "mv tp %player% tacocart%{_world}%" - message "&3Sending you to your Taco Cart." - {taco.who.%{_world}%.1} is set: - set {taco.who.%{_world}%.2} to player - - stop -# teleport loop-player to {hptp.{@coursename.%script%}} - -command /tacovariables [] [] []: - aliases: tv - permission: obam.admin - trigger: - argument 1 is not set: - message "&cOptions are: list, add, change, delete" - stop - argument 1 is "help" or "h": - message "&cOptions are: list, add, change, delete" - stop - argument 1 is "list" or "l": - set {_index.count} to 0 - set {_count} to 0 - loop {taco.variables::*}: - add 1 to {_index.count} - set {_tpages} to round ({_index.count} / 10) - argument 2 is not set: - set {_page} to 1 - {_page} is not set: - set {_page} to argument 2 parsed as number - {_page} is greater than {_tpages}: - message "&cNot a valid page. There are currently &f%{_tpages}%&c available." - stop - set {_stop} to {_page} * 10 - set {_start} to {_stop} - 9 - message "&3Current Taco Timers &fPage %{_page}% / %{_tpages}%" - loop {taco.variables::*}: - add 1 to {_count} - {_count} is {_start}: - set {_report} to true - {_report} is true: - message "&f%{_count}% - &6%loop-index% &f- &6%loop-value%" - {_count} is {_index.count}: - message "&3End of List" - stop - {_count} is {_stop}: - stop - argument 1 is "add" or "a": - argument 2 is not set: - message "&cAdd what?" - stop - {taco.variables::%argument 2%} is set: - message "&6%argument 2%&c is already set to &6%{taco.variables::%argument 2%}%&c. Try changing it." - stop - argument 3 is not set: - message "&cAnd what is &6%argument 2%&c supposed to be set to?" - stop - set {taco.variables::%argument 2%} to argument 3 - message "&cYou have set &6%argument 2%&c to be set to&6%argument 3%&c?" - stop - argument 1 is "change" or "c": - argument 2 is not set: - message "&cChange what?" - stop - {taco.variables::%argument 2%} is not set: - message "&6%argument 2%&c does not have a timer yet. Please set one first." - stop - argument 3 is not set: - message "&cYou are changing &6%argument 2%&c from &6%{taco.variables::%argument 2%}%&c to what?" - stop - set {_old} to {taco.variables::%argument 2%} - set {taco.variables::%argument 2%} to argument 3 - message "&cYou have changed &6%argument 2%&c from &6%{_old}%&c to &6%{taco.variables::%argument 2%}%&c." - stop - argument 1 is "delete" or "d": - argument 2 is not set: - message "&cDelete what?" - {taco.variables::%argument 2%} is not set: - message "&6%argument 2%&c does not exist. Please check your spelling and retry." - stop - delete {taco.variables::%argument 2%} - message "&cYou have deleted &6%argument 2%&c." - -#subfold Tacoset - -command /tacoset: - permission: obam.admin - trigger: - world is "TacoCart": - set {taco.villager.name::1} to "Bob" - set {taco.villager.name::2} to "Shawna" - set {taco.villager.name::3} to "Anakin" - set {taco.villager.name::4} to "Aralynn" - set {taco.villager.name::5} to "Dalton" - set {taco.villager.name::6} to "Jeremy" - set {taco.villager.name::7} to "Jack" - set {taco.villager.name::8} to "Troy" - set {taco.villager.name::9} to "Joe" - set {taco.villager.name::10} to "Justin" - set {taco.villager.name::11} to "Jim" - set {taco.villager.name::12} to "Kelly" - set {taco.villager.name::13} to "Katherine" - set {taco.villager.name::14} to "Stevo" - set {taco.villager.name::15} to "Cornelius" - set {taco.villager.name::16} to "Patrick" - set {taco.villager.name::17} to "Ian" - set {taco.villager.name::18} to "Olivia" - set {taco.villager.name::19} to "Donna" - set {taco.villager.name::20} to "Jarod" - set {taco.villager.name::21} to "Sue" - set {taco.villager.name::22} to "Nick" - set {taco.villager.name::23} to "Bill" - set {taco.villager.name::24} to "Connie" - set {taco.villager.name::25} to "Irene" - set {taco.villager.name::26} to "Scott" - set {taco.villager.name::27} to "Earl" - set {taco.villager.name::28} to "Roy" - set {taco.villager.name::29} to "Precious" - set {taco.villager.name::30} to "Jenkins" - set {taco.receipt1::1} to "Soft" - set {taco.receipt1::2} to "Chicken" - set {taco.receipt1::3} to "Cheese" - set {taco.receipt1::4} to "Lettuce" - set {taco.receipt1::5} to "Onion" - set {taco.receipt1::6} to {@receipt1} - set {taco.receipt2::1} to "Soft" - set {taco.receipt2::2} to "Chicken" - set {taco.receipt2::3} to "Cheese" - set {taco.receipt2::4} to "Lettuce" - set {taco.receipt2::5} to "Tomato" - set {taco.receipt2::6} to {@receipt2} - set {taco.receipt3::1} to "Soft" - set {taco.receipt3::2} to "Chicken" - set {taco.receipt3::3} to "Cheese" - set {taco.receipt3::4} to "Onion" - set {taco.receipt3::5} to "Tomato" - set {taco.receipt3::6} to {@receipt3} - set {taco.receipt4::1} to "Soft" - set {taco.receipt4::2} to "Chicken" - set {taco.receipt4::3} to "Lettuce" - set {taco.receipt4::4} to "Onion" - set {taco.receipt4::5} to "Tomato" - set {taco.receipt4::6} to {@receipt4} - set {taco.receipt5::1} to "Soft" - set {taco.receipt5::2} to "Beef" - set {taco.receipt5::3} to "Cheese" - set {taco.receipt5::4} to "Lettuce" - set {taco.receipt5::5} to "Onion" - set {taco.receipt5::6} to {@receipt5} - set {taco.receipt6::1} to "Soft" - set {taco.receipt6::2} to "Beef" - set {taco.receipt6::3} to "Cheese" - set {taco.receipt6::4} to "Lettuce" - set {taco.receipt6::5} to "Tomato" - set {taco.receipt6::6} to {@receipt6} - set {taco.receipt7::1} to "Soft" - set {taco.receipt7::2} to "Beef" - set {taco.receipt7::3} to "Cheese" - set {taco.receipt7::4} to "Onion" - set {taco.receipt7::5} to "Tomato" - set {taco.receipt7::6} to {@receipt7} - set {taco.receipt8::1} to "Soft" - set {taco.receipt8::2} to "Beef" - set {taco.receipt8::3} to "Lettuce" - set {taco.receipt8::4} to "Onion" - set {taco.receipt8::5} to "Tomato" - set {taco.receipt8::6} to {@receipt8} - set {taco.receipt9::1} to "Soft" - set {taco.receipt9::2} to "Fish" - set {taco.receipt9::3} to "Cheese" - set {taco.receipt9::4} to "Lettuce" - set {taco.receipt9::5} to "Onion" - set {taco.receipt9::6} to {@receipt9} - set {taco.receipt10::1} to "Soft" - set {taco.receipt10::2} to "Fish" - set {taco.receipt10::3} to "Cheese" - set {taco.receipt10::4} to "Lettuce" - set {taco.receipt10::5} to "Tomato" - set {taco.receipt10::6} to {@receipt10} - set {taco.receipt11::1} to "Soft" - set {taco.receipt11::2} to "Fish" - set {taco.receipt11::3} to "Cheese" - set {taco.receipt11::4} to "Onion" - set {taco.receipt11::5} to "Tomato" - set {taco.receipt11::6} to {@receipt11} - set {taco.receipt12::1} to "Soft" - set {taco.receipt12::2} to "Fish" - set {taco.receipt12::3} to "Lettuce" - set {taco.receipt12::4} to "Onion" - set {taco.receipt12::5} to "Tomato" - set {taco.receipt12::6} to {@receipt12} - set {taco.receipt13::1} to "Hard" - set {taco.receipt13::2} to "Chicken" - set {taco.receipt13::3} to "Cheese" - set {taco.receipt13::4} to "Lettuce" - set {taco.receipt13::5} to "Onion" - set {taco.receipt13::6} to {@receipt13} - set {taco.receipt14::1} to "Hard" - set {taco.receipt14::2} to "Chicken" - set {taco.receipt14::3} to "Cheese" - set {taco.receipt14::4} to "Lettuce" - set {taco.receipt14::5} to "Tomato" - set {taco.receipt14::6} to {@receipt14} - set {taco.receipt15::1} to "Hard" - set {taco.receipt15::2} to "Chicken" - set {taco.receipt15::3} to "Cheese" - set {taco.receipt15::4} to "Onion" - set {taco.receipt15::5} to "Tomato" - set {taco.receipt15::6} to {@receipt15} - set {taco.receipt16::1} to "Hard" - set {taco.receipt16::2} to "Chicken" - set {taco.receipt16::3} to "Lettuce" - set {taco.receipt16::4} to "Onion" - set {taco.receipt16::5} to "Tomato" - set {taco.receipt16::6} to {@receipt16} - set {taco.receipt17::1} to "Hard" - set {taco.receipt17::2} to "Beef" - set {taco.receipt17::3} to "Cheese" - set {taco.receipt17::4} to "Lettuce" - set {taco.receipt17::5} to "Onion" - set {taco.receipt17::6} to {@receipt17} - set {taco.receipt18::1} to "Hard" - set {taco.receipt18::2} to "Beef" - set {taco.receipt18::3} to "Cheese" - set {taco.receipt18::4} to "Lettuce" - set {taco.receipt18::5} to "Tomato" - set {taco.receipt18::6} to {@receipt18} - set {taco.receipt19::1} to "Hard" - set {taco.receipt19::2} to "Beef" - set {taco.receipt19::3} to "Cheese" - set {taco.receipt19::4} to "Onion" - set {taco.receipt19::5} to "Tomato" - set {taco.receipt19::6} to {@receipt19} - set {taco.receipt20::1} to "Hard" - set {taco.receipt20::2} to "Beef" - set {taco.receipt20::3} to "Lettuce" - set {taco.receipt20::4} to "Onion" - set {taco.receipt20::5} to "Tomato" - set {taco.receipt20::6} to {@receipt20} - set {taco.receipt21::1} to "Hard" - set {taco.receipt21::2} to "Fish" - set {taco.receipt21::3} to "Cheese" - set {taco.receipt21::4} to "Lettuce" - set {taco.receipt21::5} to "Onion" - set {taco.receipt21::6} to {@receipt21} - set {taco.receipt22::1} to "Hard" - set {taco.receipt22::2} to "Fish" - set {taco.receipt22::3} to "Cheese" - set {taco.receipt22::4} to "Lettuce" - set {taco.receipt22::5} to "Tomato" - set {taco.receipt22::6} to {@receipt22} - set {taco.receipt23::1} to "Hard" - set {taco.receipt23::2} to "Fish" - set {taco.receipt23::3} to "Cheese" - set {taco.receipt23::4} to "Onion" - set {taco.receipt23::5} to "Tomato" - set {taco.receipt23::6} to {@receipt23} - set {taco.receipt24::1} to "Hard" - set {taco.receipt24::2} to "Fish" - set {taco.receipt24::3} to "Lettuce" - set {taco.receipt24::4} to "Onion" - set {taco.receipt24::5} to "Tomato" - set {taco.receipt24::6} to {@receipt24} - set {taco.level::0} to 1 - set {taco.level::1} to 0.95 - set {taco.level::2} to 0.9 - set {taco.level::3} to 0.85 - set {taco.level::4} to 0.8 - set {taco.level::5} to 0.75 - set {taco.level::6} to 0.7 - set {taco.level::7} to 0.65 - set {taco.level::8} to 0.6 - set {taco.level::9} to 0.55 - set {taco.level::10} to 0.5 - set {taco.level::11} to 0.45 - set {taco.level::12} to 0.4 - set {taco.level::13} to 0.35 - set {taco.level::14} to 0.30 - set {taco.level::15} to 0.25 - set {taco.level::16} to 0.2 - set {taco.level::17} to 0.15 - set {taco.level::18} to 0.1 - set {taco.level::19} to 0.05 - set {taco.timeout::1} to "This is taking way to long. I'm out!" - set {taco.timeout::2} to "I should have went to Taco Smell. Later!" - set {taco.timeout::3} to "I've seen slimes move faster than that. Peace!" - set {taco.timeout::4} to "What has two thumbs and is sick of waiting? This guy." - set {taco.timeout::5} to "Oh, I guess I'm not as important as that guy. I'm not sticking around any longer." - set {taco.timeout::6} to "What is this, Snail Cart?" - set {taco.timeout::7} to "Roaches are one thing, but waiting this long? No thanks!" - set {taco.timeout::8} to "God, it's worse than waiting for Half-Life 3! I'm outta here!" - set {taco.timeout::9} to "Ummm, my work just called. Yeah that's it, work. Gotta run." - set {taco.timeout::10} to "I guess the rumours were right. I'm not waiting this long again." - set {taco.pinky::1} to "Where has that sheep ran off to this time?" - set {taco.pinky::2} to "Pinky, oh Pinky! Dinner time." - set {taco.pinky::3} to "Excuse me, have you seen my sheep around?" - set {taco.pinky::4} to "When I find that sheep......" - set {taco.pinky::5} to "Oh where is it? Pinky must have taken off with it again." - set {taco.horsey::1} to "Dang kids, get off my horse!" - set {taco.horsey::2} to "Mess with the horse and get the hoof, son!" - set {taco.horsey::3} to "No" - set {taco.horsey::4} to "Why don't you go fondle someone else's critters." - set {taco.horsey::5} to "If you're gonna just stand around, might as well pick up a shovel. This ain't no pettin zoo." - set {taco.correct::1} to "Wow, that tastes amazing!" - set {taco.correct::2} to "Thanks buddy, that hit the spot!" - set {taco.correct::3} to "Nom Nom Nom... Ohhhh God, that's good!" - set {taco.correct::4} to "Yummy, I could eat three more of those!" - set {taco.correct::5} to "Definitely liking this place on Fadbook!" - set {taco.incorrect::1} to "That is not what I ordered. I am leaving!" - set {taco.incorrect::2} to "Seriously, how hard is it to make a taco!" - set {taco.incorrect::3} to "My blind Grandma makes me what I want, why can't you?" - set {taco.incorrect::4} to "But... Wha...It's...I give up." - set {taco.incorrect::5} to "Is this cat food or something?" - set {taco.incorrect::6} to "Remember that time you got my order right? That was awesome!" - set {taco.villager_hit::1} to "Hey, who threw that?" - set {taco.villager_hit::2} to "Watch it, buddy!" - set {taco.villager_hit::3} to "Really, are we in kindergarten?" - set {taco.villager_hit::4} to "Stop it, that really hurts!" - set {taco.villager_hit::5} to "Umphhh! Whaa, why is dog and bugs now then Frank?" - message "All set" - -#subfold Keystone - -command /keystone []: - permission: obam.admin - trigger: - argument 1 is not set: - message "Current Keystone World Types" - message "Type : Command" - message "----------------------" - message "TacoCart : taco" - argument 1 is "taco": - "%player's world%" contains "Taco": - delete {keystone.%world%} - delete {taco.waypoint.%world%::*} - delete {taco.p1.spawns.%world%::*} - delete {taco.p1.spawns.%world%::*} - delete {taco.p1.signs.%world%::*} - delete {taco.p2.signs.%world%::*} - loop blocks in radius 10 of player: - loop-block is obsidian: - set {keystone.%world%} to location of loop-block - set {_loop1} to 1 - message "Keystone has been set to %{keystone.%world%}%" - exit loop - {_loop1} is not set: - message "No Keystone was found" - stop - loop blocks in radius 10 of {keystone.%world%}: - loop-block is cyan wool: - set {taco.waypoint.%world%::p1c1} to location of loop-block - set {taco.p1.spawns.%world%::1} to location of loop-block - set {_loop2} to 1 - message "Player 1 Customer 1 set" - exit loop - {_loop2} is not set: - message "Could not locate Player 1 Customer 1" - stop - loop blocks in radius 10 of {taco.waypoint.%world%::p1c1}: - loop-block is white wool: - set {taco.waypoint.%world%::p1c2} to location of loop-block - set {taco.p1.spawns.%world%::2} to location of loop-block - set {_loop3} to 1 - message "Player 1 Customer 2 set" - exit loop - {_loop3} is not set: - message "Could not locate Player 1 Customer 2" - stop - loop blocks in radius 10 of {taco.waypoint.%world%::p1c2}: - loop-block is red wool: - set {taco.waypoint.%world%::p1c3} to location of loop-block - set {taco.p1.spawns.%world%::3} to location of loop-block - set {_loop4} to 1 - message "Player 1 Customer 3 set" - exit loop - {_loop4} is not set: - message "Could not locate Player 1 Customer 3" - stop - loop blocks in radius 10 of {taco.waypoint.%world%::p1c2}: - loop-block is quartz ore: - set {taco.waypoint.%world%::p1kitchen} to location of loop-block - set {_loop5} to 1 - message "Player 1 Kitchen set" - exit loop - {_loop5} is not set: - message "Could not locate Player 1 Kitchen" - stop - loop blocks in radius 5 of {taco.waypoint.%world%::p1kitchen}: - loop-block is workbench: - set {taco.waypoint.%world%::p1bench} to location of loop-block - set {_loop20} to 1 - message "Player 1 Bench set" - exit loop - {_loop20} is not set: - message "Could not locate Player 1 Bench" - stop - loop blocks in radius 10 of {keystone.%world%}: - loop-block is light green wool: - set {taco.waypoint.%world%::p2c1} to location of loop-block - set {taco.p2.spawns.%world%::1} to location of loop-block - set {_loop6} to 1 - message "Player 2 Customer 1 set" - exit loop - {_loop6} is not set: - message "Could not locate Player 2 Customer 1" - stop - loop blocks in radius 10 of {taco.waypoint.%world%::p2c1}: - loop-block is black wool: - set {taco.waypoint.%world%::p2c2} to location of loop-block - set {taco.p2.spawns.%world%::2} to location of loop-block - set {_loop7} to 1 - message "Player 2 Customer 2 set" - exit loop - {_loop7} is not set: - message "Could not locate Player 2 Customer 2" - stop - loop blocks in radius 10 of {taco.waypoint.%world%::p2c2}: - loop-block is orange wool: - set {taco.waypoint.%world%::p2c3} to location of loop-block - set {taco.p2.spawns.%world%::3} to location of loop-block - set {_loop8} to 1 - message "Player 2 Customer 3 set" - exit loop - {_loop8} is not set: - message "Could not locate Player 2 Customer 3" - stop - loop blocks in radius 10 of {taco.waypoint.%world%::p2c2}: - loop-block is quartz ore: - set {taco.waypoint.%world%::p2kitchen} to location of loop-block - set {_loop9} to 1 - message "Player 2 Kitchen set" - exit loop - {_loop9} is not set: - message "Could not locate Player 2 Kitchen" - stop - loop blocks in radius 5 of {taco.waypoint.%world%::p2kitchen}: - loop-block is workbench: - set {taco.waypoint.%world%::p2bench} to location of loop-block - set {_loop21} to 1 - message "Player 2 Bench set" - exit loop - {_loop21} is not set: - message "Could not locate Player 2 Bench" - stop - loop blocks in radius 5 of {taco.waypoint.%world%::p1bench}: - loop-block is sign: - set {taco.p1.signs.%world%::3} to location of loop-block - message "%{taco.p1.signs.%world%::3}%" - set {taco.p1.signs.%world%::2} to the location 2 meters south of loop-block - message "%{taco.p1.signs.%world%::2}%" - set {taco.p1.signs.%world%::1} to the location 4 meters south of loop-block - message "%{taco.p1.signs.%world%::1}%" - set {_loop10} to 1 - message "Player 1 Signs set" - exit loop - {_loop10} is not set: - message "Could not locate Player 1 Signs" - stop - loop blocks in radius 7 of {taco.waypoint.%world%::p2bench}: - loop-block is sign: - set {taco.p2.signs.%world%::1} to location of loop-block - message "%{taco.p2.signs.%world%::1}%" - set {taco.p2.signs.%world%::2} to the location 2 meters south of loop-block - message "%{taco.p2.signs.%world%::2}%" - set {taco.p2.signs.%world%::3} to the location 4 meters south of loop-block - message "%{taco.p2.signs.%world%::3}%" - set {_loop11} to 1 - message "Player 2 Signs set" - exit loop - {_loop11} is not set: - message "Could not locate Player 2 Signs" - stop - loop blocks in radius 10 of {keystone.%world%}: - loop-block is melon: - set {taco.waypoint.%world%::p1j1} to location of loop-block - set {_loop12} to 1 - message "Player 1 Jumper 1 set" - exit loop - {_loop12} is not set: - message "Could not locate Player 1 Jumper 1" - stop - loop blocks in radius 8 of {taco.waypoint.%world%::p1j1}: - loop-block is sign: - set {taco.start.%world%::1} to location of loop-block - set {_loop13} to 1 - message "%{taco.start.%world%::1}%" - message "Player 1 Start Sign set" - exit loop - {_loop13} is not set: - message "Could not locate Player 1 Start Sign" - stop - set {_count} to 0 - loop blocks in radius 8 of {taco.waypoint.%world%::p1j1}: - loop-block is emerald block: - set {taco.1.gate1.%world%::%{_count}%} to location of loop-block - add 1 to {_count} - message "Player 1 Gate 1 Block %{_count}% set" - {_count} is 3: - set {_loop14} to 1 - exit loop - {_loop14} is not set: - message "Could not locate Player 1 Gate 1" - stop - set {_count} to 0 - loop blocks in radius 8 of {taco.waypoint.%world%::p1j1}: - loop-block is emerald ore: - set {taco.1.gate2.%world%::%{_count}%} to location of loop-block - add 1 to {_count} - message "Player 1 Gate 2 Block %{_count}% set" - {_count} is 3: - set {_loop15} to 1 - exit loop - {_loop15} is not set: - message "Could not locate Player 1 Gate 2" - stop - loop blocks in radius 10 of {keystone.%world%}: - loop-block is pumpkin: - set {taco.waypoint.%world%::p2j1} to location of loop-block - set {_loop16} to 1 - message "Player 2 Jumper 1 set" - exit loop - {_loop16} is not set: - message "Could not locate Player 2 Jumper 1" - stop - loop blocks in radius 8 of {taco.waypoint.%world%::p2j1}: - loop-block is sign: - set {taco.start.%world%::2} to location of loop-block - set {_loop16} to 1 - message "%{taco.start.%world%::2}%" - message "Player 2 Start Sign set" - exit loop - {_loop16} is not set: - message "Could not locate Player 2 Start Sign" - stop - set {_count} to 0 - loop blocks in radius 8 of {taco.waypoint.%world%::p2j1}: - loop-block is diamond block: - set {taco.2.gate1.%world%::%{_count}%} to location of loop-block - add 1 to {_count} - message "Player 2 Gate 1 Block %{_count}% set" - {_count} is 3: - set {_loop17} to 1 - exit loop - {_loop17} is not set: - message "Could not locate Player 2 Gate 1" - stop - set {_count} to 0 - loop blocks in radius 8 of {taco.waypoint.%world%::p2j1}: - loop-block is diamond ore: - set {taco.2.gate2.%world%::%{_count}%} to location of loop-block - add 1 to {_count} - message "Player 2 Gate 2 Block %{_count}% set" - {_count} is 3: - set {_loop18} to 1 - exit loop - {_loop18} is not set: - message "Could not locate Player 2 Gate 2" - stop - {_loop18} is set: - message "&3All Good!" - stop - message "You are not in the correct world for this Keystone command." - -#endfold - -#startfold testing - - -#Remove when live -command /killvill: - trigger: - "%player's world%" contains "Taco": - loop villagers in radius 3 of player: - delete loop-villager - loop entities in radius 10 of player: - loop-entity is a witch: - delete loop-entity -#Remove when live -command /looptest: - trigger: - loop blocks in radius 2 of {taco.waypoint.%world%::p1kitchen}: - message " Var Block %loop-block%" - loop dropped items in radius 4 of player: - message "Item %loop-dropped item%" - loop entities in radius 4 of player: - message "Entity %loop-entity%" - loop dropped items in radius 4 of {taco.waypoint.%world%::p1kitchen}: - message "Var Item %loop-dropped item%" - loop entities in radius 4 of {taco.waypoint.%world%::p1kitchen}: - message "Var Entity %loop-entity%" - loop dropped items in radius 4 around block at {taco.waypoint.%world%::p1kitchen}: - message "Fix Item %loop-dropped item%" - loop entities in radius 4 around block at {taco.waypoint.%world%::p1kitchen}: - message "Fix Entity %loop-entity%" - message "%{taco.waypoint.%world%::p1kitchen}%" -#Remove when live -command /flesh: - trigger: - "%player's world%" contains "Taco": - loop all dropped items in world: - delete loop-dropped item -command /players: - trigger: - "%player's world%" contains "Taco": - clear {taco.player.%world%::*} - set {_players} to 1 - loop all players in player's world: - {_players} is 3: - exit loop - add {_players} to {taco.player.%world%::*} - add loop-player to {taco.player.%world%::*} - set {taco.player.%world%::%{_players}%} to loop-player - message "You are Player %{_players}%" to loop-player - add 1 to {_players} - -command /scoreadd: - trigger: - add 1 to {taco.%player%.score.%world%} - message "%{taco.%player%.score.%world%}%" - -command /scoreclear: - trigger: - set {taco.%player%.score.%world%} to 0 - message "%{taco.%player%.score.%world%}%" - -command /boardbegone: - trigger: - display board named "" to player - -command /endgame: - trigger: - "%player's world%" contains "Taco": - subtract 10 minutes from {taco.game.timer.%world%} - message "Game time altered." - -command /gameinfo: - trigger: - message "Players are %{taco.player.%world%::*}%" - message "Time is %{taco.game.timer.%world%}%" - message "Status is %{taco.game.status.%world%}%" - - - -#endfold diff --git a/Obam-Mini Games/Obam-Taco/taco.sk b/Obam-Mini Games/Obam-Taco/taco.sk new file mode 100644 index 0000000..0af5ee1 --- /dev/null +++ b/Obam-Mini Games/Obam-Taco/taco.sk @@ -0,0 +1,1879 @@ +#Kell's Taco Cart Mini Game + +# To Do: +# legendary quest line +# Hub signs +# top players +# single player +# zombie taco + +#startfold info + +#Variables: +# {taco.variables::*} = controls all item and villager timers +# {taco.timers.%player%::*} = controls food timers +# {taco.player.%world%::*} = stores current players 1 & 2 +# {keystone.%world%} = World Keystone +# {taco.waypoint.%world%::*} = waypoints +# {taco.p1.spawns.%world%::*} = stores Player 1 customer spawns +# {taco.p2.spawns.%world%::*} = stores Player 1 customer spawns +# {taco.villager.name::*} = stores villager names as value, index is random number +# {taco.receipt1::*} = stores ingredients per type +# {taco.p1.customer.%world%::*} = stores Player 1 customer names +# {taco.p2.customer.%world%::*} = stores Player 1 customer names +# {taco.p1.order.%world%::*} = stores Player 1 customer orders +# {taco.p2.order.%world%::*} = stores Player 1 customer orders +# {taco.p1.signs.%world%::*} = stores Player 1 sign locations +# {taco.p2.signs.%world%::*} = stores Player 2 sign locations +# {taco.start.%world%::*} = stores Start Sign locations +# {taco.1.gate1.%world%::*} = stores Player 1 Gate 1 locations +# {taco.2.gate1.%world%::*} = stores Player 2 Gate 1 locations +# {taco.1.gate2.%world%::*} = stores Player 1 Gate 2 locations +# {taco.2.gate2.%world%::*} = stores Player 2 Gate 2 locations +# farmer = 120 +# priest = 105 +# butcher = 90 +# blacksmith = 75 +# librarian = 60 +# {taco.%player%.score.%world%} = Stores Player score +# {taco.level::*} = stores dissipating spawn time variables based on player level +# {taco.timeout::*} = stores customer angry leave messages +# {taco.correct::*} = stores customer correct turn in messages +# {taco.incorrect::*} = stores customer incorrect turn in messages +# {taco.pinky::*} = stores Pinky messages from Cletus +# {taco.horsey::*} = stores Horse click messages from Cletus + +#Related Files: +# boards.sk = for scoreboard functions +# keystone.sk = for keystone command +# legend-sky = legendary quest skript for sky block +# legend-front = legendary quest skript for Fronts + +#endfold + +#startfold setup + +aliases: + grain = 296 + soft shell = 148 + hard shell = 147 + whole tomato = 260 + diced tomato = 372 + block of cheese = 19 + shredded cheese = 351:14 + raw onion = 332 + diced onion = 361 + head of lettuce = 351:2 + shredded lettuce = 295 + rancid meat = 367 + +options: + receipt1: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Lettuce||&6+ Onion" + receipt2: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Lettuce||&6+ Tomato" + receipt3: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Onion||&6+ Tomato" + receipt4: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Chicken||&6+ Lettuce||&6+ Onion||&6+ Tomato" + receipt5: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Lettuce||&6+ Onion" + receipt6: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Lettuce||&6+ Tomato" + receipt7: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Onion||&6+ Tomato" + receipt8: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Beef||&6+ Lettuce||&6+ Onion||&6+ Tomato" + receipt9: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Lettuce||&6+ Onion" + receipt10: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Lettuce||&6+ Tomato" + receipt11: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Onion||&6+ Tomato" + receipt12: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Fish||&6+ Lettuce||&6+ Onion||&6+ Tomato" + receipt13: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Lettuce||&6+ Onion" + receipt14: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Lettuce||&6+ Tomato" + receipt15: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Onion||&6+ Tomato" + receipt16: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Chicken||&6+ Lettuce||&6+ Onion||&6+ Tomato" + receipt17: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Lettuce||&6+ Onion" + receipt18: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Lettuce||&6+ Tomato" + receipt19: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Onion||&6+ Tomato" + receipt20: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Beef||&6+ Lettuce||&6+ Onion||&6+ Tomato" + receipt21: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Lettuce||&6+ Onion" + receipt22: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Lettuce||&6+ Tomato" + receipt23: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Onion||&6+ Tomato" + receipt24: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Fish||&6+ Lettuce||&6+ Onion||&6+ Tomato" + #clue1: give player book from "&9&lSkyblock General Info;&eOBAM Minigames;&fThis book contains Information about||&fSkyblock General Info on OBAM!;§cWhat Is Skyblock?§r §0Skyblock is a survival experience that is based on completing challenges and building a base. You begin on a small floating island in the sky with a chest that contains only the bare minimum to get started.§r||§cGetting Started §r §0Using the two blocks of ice, you'll want to create an infinite water source. Then, using water and your one lava bucket, create a cobblestone generator and start expanding from there!§r||§cBe Careful! §r §0Falling off or dying early on with your starter items could result in their loss and require an island reset. You get 2 free resets. After that, it is §r§22,000 Tickets§r §0per reset.§r" + #clue2: liabrary book in its place, give book about Kells and the almight taco god + #clue3 sign engraved on back with "Please watch over Cletus" from Kells + clue4: pink wool named "&a&b&k&a&3Silk Lining" with lore "&6This looks like it could be from the||&3fabled &a&b&k&a&3Sombrero of Plenty&3.||&3You should find a black market shop." + +#endfold + +#startfold recipes + +on script load: + register new shaped recipe for {@receipt1} using shredded cheese, shredded lettuce, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt1} using shredded cheese, diced onion, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt1} using diced onion, shredded cheese, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt1} using diced onion, shredded lettuce, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt1} using shredded lettuce, diced onion, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt1} using shredded lettuce, shredded cheese, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt2} using shredded cheese, shredded lettuce, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt2} using shredded cheese, diced tomato, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt2} using diced tomato, shredded cheese, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt2} using diced tomato, shredded lettuce, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt2} using shredded lettuce, diced tomato, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt2} using shredded lettuce, shredded cheese, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt3} using shredded cheese, diced onion, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt3} using shredded cheese, diced tomato, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt3} using diced tomato, shredded cheese, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt3} using diced tomato, diced onion, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt3} using diced onion, diced tomato, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt3} using diced onion, shredded cheese, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt4} using shredded lettuce, diced onion, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt4} using shredded lettuce, diced tomato, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt4} using diced tomato, shredded lettuce, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt4} using diced tomato, diced onion, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt4} using diced onion, diced tomato, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt4} using diced onion, shredded lettuce, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt5} using shredded cheese, shredded lettuce, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt5} using shredded cheese, diced onion, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt5} using diced onion, shredded cheese, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt5} using diced onion, shredded lettuce, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt5} using shredded lettuce, diced onion, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt5} using shredded lettuce, shredded cheese, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt6} using shredded cheese, shredded lettuce, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt6} using shredded cheese, diced tomato, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt6} using diced tomato, shredded cheese, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt6} using diced tomato, shredded lettuce, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt6} using shredded lettuce, diced tomato, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt6} using shredded lettuce, shredded cheese, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt7} using shredded cheese, diced onion, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt7} using shredded cheese, diced tomato, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt7} using diced tomato, shredded cheese, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt7} using diced tomato, diced onion, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt7} using diced onion, diced tomato, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt7} using diced onion, shredded cheese, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt8} using shredded lettuce, diced onion, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt8} using shredded lettuce, diced tomato, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt8} using diced tomato, shredded lettuce, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt8} using diced tomato, diced onion, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt8} using diced onion, diced tomato, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt8} using diced onion, shredded lettuce, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt9} using shredded cheese, shredded lettuce, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt9} using shredded cheese, diced onion, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt9} using diced onion, shredded cheese, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt9} using diced onion, shredded lettuce, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt9} using shredded lettuce, diced onion, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt9} using shredded lettuce, shredded cheese, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt10} using shredded cheese, shredded lettuce, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt10} using shredded cheese, diced tomato, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt10} using diced tomato, shredded cheese, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt10} using diced tomato, shredded lettuce, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt10} using shredded lettuce, diced tomato, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt10} using shredded lettuce, shredded cheese, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt11} using shredded cheese, diced onion, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt11} using shredded cheese, diced tomato, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt11} using diced tomato, shredded cheese, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt11} using diced tomato, diced onion, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt11} using diced onion, diced tomato, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt11} using diced onion, shredded cheese, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt12} using shredded lettuce, diced onion, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt12} using shredded lettuce, diced tomato, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt12} using diced tomato, shredded lettuce, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt12} using diced tomato, diced onion, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt12} using diced onion, diced tomato, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt12} using diced onion, shredded lettuce, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt13} using shredded cheese, shredded lettuce, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt13} using shredded cheese, diced onion, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt13} using diced onion, shredded cheese, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt13} using diced onion, shredded lettuce, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt13} using shredded lettuce, diced onion, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt13} using shredded lettuce, shredded cheese, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt14} using shredded cheese, shredded lettuce, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt14} using shredded cheese, diced tomato, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt14} using diced tomato, shredded cheese, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt14} using diced tomato, shredded lettuce, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt14} using shredded lettuce, diced tomato, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt14} using shredded lettuce, shredded cheese, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt15} using shredded cheese, diced onion, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt15} using shredded cheese, diced tomato, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt15} using diced tomato, shredded cheese, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt15} using diced tomato, diced onion, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt15} using diced onion, diced tomato, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt15} using diced onion, shredded cheese, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt16} using shredded lettuce, diced onion, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt16} using shredded lettuce, diced tomato, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt16} using diced tomato, shredded lettuce, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt16} using diced tomato, diced onion, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt16} using diced onion, diced tomato, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt16} using diced onion, shredded lettuce, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt17} using shredded cheese, shredded lettuce, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt17} using shredded cheese, diced onion, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt17} using diced onion, shredded cheese, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt17} using diced onion, shredded lettuce, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt17} using shredded lettuce, diced onion, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt17} using shredded lettuce, shredded cheese, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt18} using shredded cheese, shredded lettuce, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt18} using shredded cheese, diced tomato, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt18} using diced tomato, shredded cheese, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt18} using diced tomato, shredded lettuce, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt18} using shredded lettuce, diced tomato, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt18} using shredded lettuce, shredded cheese, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt19} using shredded cheese, diced onion, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt19} using shredded cheese, diced tomato, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt19} using diced tomato, shredded cheese, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt19} using diced tomato, diced onion, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt19} using diced onion, diced tomato, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt19} using diced onion, shredded cheese, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt20} using shredded lettuce, diced onion, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt20} using shredded lettuce, diced tomato, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt20} using diced tomato, shredded lettuce, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt20} using diced tomato, diced onion, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt20} using diced onion, diced tomato, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt20} using diced onion, shredded lettuce, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt21} using shredded cheese, shredded lettuce, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt21} using shredded cheese, diced onion, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt21} using diced onion, shredded cheese, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt21} using diced onion, shredded lettuce, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt21} using shredded lettuce, diced onion, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt21} using shredded lettuce, shredded cheese, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt22} using shredded cheese, shredded lettuce, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt22} using shredded cheese, diced tomato, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt22} using diced tomato, shredded cheese, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt22} using diced tomato, shredded lettuce, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt22} using shredded lettuce, diced tomato, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt22} using shredded lettuce, shredded cheese, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt23} using shredded cheese, diced onion, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt23} using shredded cheese, diced tomato, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt23} using diced tomato, shredded cheese, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt23} using diced tomato, diced onion, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt23} using diced onion, diced tomato, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt23} using diced onion, shredded cheese, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt24} using shredded lettuce, diced onion, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt24} using shredded lettuce, diced tomato, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt24} using diced tomato, shredded lettuce, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt24} using diced tomato, diced onion, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt24} using diced onion, diced tomato, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt24} using diced onion, shredded lettuce, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + +#endfold + +#startfold on events + +on join: + set player's level to 0 + set player's level progress to 0 + add 20 to player's hunger + +on hunger meter change: + cancel event + +on damage of a player: + attacker is a witch: + cancel event + projectile is a raw onion: + cancel event + send "Nice shot!" to attacker + victim's tool is air: + set {_vtime} to "%{taco.variables::slow.time}% seconds" parsed as timespan + apply slowness 8 to victim for {_vtime} + apply nausea to victim for 999 seconds + send "&cYou just got knocked out by %attacker%!" to victim + stop + delete victim's tool + apply nausea to victim for 999 seconds + send "&c%attacker% just knocked the stuff out of your hands!" to victim + stop + cancel event + +on rightclick on villager: + cancel event + player's tool is paper: + set {_receipt} to player's tool + {_receipt} is set: + loop {taco.player.%world%::*}: + player is loop-value: + set {_p.num} to loop-index + exit loop + {_p.num} is set: + set {_loc} to location of block below villager + loop {taco.p%{_p.num}%.spawns.%world%::*}: + {_loc} is loop-value: + set {_c.num} to loop-index + exit loop + {_c.num} is set: + set {_match} to false + {_receipt} is {taco.%{taco.p%{_p.num}%.order.%world%::%{_c.num}%}%::6}: + set {_match} to true + increase the level progress of player by 0.05 + add 1 to {taco.%{taco.player.%world%::%{_p.num}%}%.score.%world%} + set {_ran} to random integer between 1 and 5 + send "&9%{taco.p%{_p.num}%.customer.%world%::%{_c.num}%}%:&f %{taco.correct::%{_ran}%}%" to {taco.player.%world%::%{_p.num}%} + clear {taco.p1.order.%world%::%{_slot}%} + remove player's tool from player + delete villager + {_match} is false: + set {_ran} to random integer between 1 and 6 + send "&9%{taco.p%{_p.num}%.customer.%world%::%{_c.num}%}%:&f %{taco.correct::%{_ran}%}%" to {taco.player.%world%::%{_p.num}%} + remove player's tool from player + delete villager + +on damage of villager: + cancel event + projectile is a raw onion: + send "Nailed them!" to attacker + set {_loc} to location of block below victim + loop {taco.p1.spawns.%world%::*}: + {_loc} is loop-value: + set {_p.num} to 1 + set {_c.num} to loop-index + exit loop + loop {taco.p2.spawns.%world%::*}: + {_loc} is loop-value: + set {_p.num} to 2 + set {_c.num} to loop-index + exit loop + {_p.num} is set: + {_c.num} is set: + set {_vtime} to "%{taco.variables::villager_hit.time}% seconds" parsed as timespan + subtract {_vtime} from {taco.p%{_p.num}%.customer.timer.%world%::%{_c.num}%} + set {_ran} to random integer between 1 and 5 + send "&9%{taco.p%{_p.num}%.customer.%world%::%{_c.num}%}%:&f %{taco.villager_hit::%{_ran}%}%" to {taco.player.%world%::*} + +on damage of sheep: + cancel event + +on sheep eat: + cancel event + +on sheep dye: + cancel event + message "Nope 2" + +on vehicle enter: + cancel event + +on right click on horse: + cancel event + set {_ran} to random integer between 1 and 5 + message "&9Cletus:&f %{taco.horsey::%{_ran}%}%" + +on right click on donkey: + cancel event + message "&9Cletus:&f That'll do Donkey, that'll do." + +on place: + player is not op + cancel event + +on break: + player is not op + cancel event + +on pickup: + item is rancid meat: + cancel event + +on xp spawn: + cancel event + +on drop: + item is not rancid meat: + cancel event + +on rightclick on item frame: + cancel event + +on damage of item frame: + cancel event + +on damage of a silverfish: + kill victim + +on target: + creature is a witch: + target is a player: + cancel event + +on rightclick on a stone button: + cancel event + player has grain: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::soft_shell}: + remove 1 grain from player + give player {taco.variables::soft_shell.amount} of soft shell named "Soft Taco Shell" + set {taco.timers.%player%::soft_shell} to now + set {_vtime} to "%{taco.variables::soft_shell.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::soft_shell} + stop + message "&cYou must wait a little longer to use the &6Soft Shell Press&c!" + stop + message "&cYou need some &6Grain&c to use this equipment!" + +on rightclick on a hopper: + cancel event + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::grain}: + give player {taco.variables::grain.amount} of grain named "Grain" + set {taco.timers.%player%::grain} to now + set {_vtime} to "%{taco.variables::grain.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::grain} + stop + message "&cYou must wait a little longer to use the &6Grain Dispenser&c!" + +on rightclick on a wooden button: + cancel event + player has grain: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::hard_shell}: + remove 1 grain from player + give player {taco.variables::hard_shell.amount} of hard shell named "Hard Taco Shell" + set {taco.timers.%player%::hard_shell} to now + set {_vtime} to "%{taco.variables::hard_shell.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::hard_shell} + stop + message "&cYou must wait a little longer to use the &6Hard Shell Press&c!" + stop + message "&cYou need some &6Grain&c to use this equipment!" + +on rightclick on daylight sensor: + player has whole tomato: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::diced_tomato}: + remove 1 whole tomato from player + give player {taco.variables::diced_tomato.amount} of diced tomato named "Diced Tomato" + set {taco.timers.%player%::diced_tomato} to now + set {_vtime} to "%{taco.variables::diced_tomato.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::diced_tomato} + stop + message "&cYou must wait a little longer to use the &6Tomato Dicer&c!" + stop + message "&cYou need a &6Whole Tomato&c to use this equipment!" + +on rightclick on a chest: + cancel event + "%player's world%" is "tacohub": + stop + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::block_of_cheese}: + give player {taco.variables::block_of_cheese.amount} of block of cheese named "Block of Cheese" + set {taco.timers.%player%::block_of_cheese} to now + set {_vtime} to "%{taco.variables::block_of_cheese.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::block_of_cheese} + stop + message "&cYou must wait a little longer to open the &6Cheese Cooler&c!" + +on rightclick on an oxeye daisy: + cancel event + "%player's world%" is "tacohub": + {taco.timers.%player%::raw_onion} is not set: + set {taco.timers.%player%::raw_onion} to now + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::raw_onion}: + give player {taco.variables::raw_onion.amount} of raw onion named "Raw Onion" + set {taco.timers.%player%::raw_onion} to now + set {_vtime} to "%{taco.variables::raw_onion.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::raw_onion} + stop + message "&cYou must wait a little longer to harvest from the &6Onion Garden&c!" + +on rightclick on a dispenser: + cancel event + player has raw beef: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::steak}: + remove 1 raw beef from player + give player {taco.variables::steak.amount} of steak named "Spicy Beef" + set {taco.timers.%player%::steak} to now + set {_vtime} to "%{taco.variables::steak.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::steak} + clear {taco.timers.%player%::rancid_meat} + stop + message "&cYou must wait a little longer to use the &6Steak-a-nator 5000&c!" + stop + message "&cYou need some &6Raw Beef&c to use this equipment!" + +on rightclick on a furnace: + cancel event + player has raw fish: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::cooked_fish}: + remove 1 raw fish from player + give player {taco.variables::cooked_fish.amount} of cooked fish named "Fish Sticks" + set {taco.timers.%player%::cooked_fish} to now + set {_vtime} to "%{taco.variables::cooked_fish.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::cooked_fish} + clear {taco.timers.%player%::rancid_fish} + stop + message "&cYou must wait a little longer to use the &6Fish-O-Matic&c!" + stop + message "&cYou need some &6Raw Fish&c to use this equipment!" + +on rightclick on a dropper: + cancel event + player has raw chicken: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::cooked_chicken}: + remove 1 raw chicken from player + give player {taco.variables::cooked_chicken.amount} of cooked chicken named "Spicy Chicken" + set {taco.timers.%player%::cooked_chicken} to now + set {_vtime} to "%{taco.variables::cooked_chicken.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::cooked_chicken} + clear {taco.timers.%player%::rancid_chicken} + stop + message "&cYou must wait a little longer to use the &6Clucker-Cooker&c!" + stop + message "&cYou need some &6Raw Chicken&c to use this equipment!" + +on rightclick on a lever: + cancel event + player has head of lettuce: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::shredded_lettuce}: + remove 1 head of lettuce from player + give player {taco.variables::shredded_lettuce.amount} of shredded lettuce named "Shredded Lettuce" + set {taco.timers.%player%::shredded lettuce} to now + set {_vtime} to "%{taco.variables::shredded_lettuce.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::shredded_lettuce} + stop + message "&cYou must wait a little longer to use the &6Lettuce Shredder&c!" + stop + message "&cYou need a &6Head of Lettuce&c to use this equipment!" + +on rightclick on a tripwire hook: + cancel event + player has raw onion: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::diced_onion}: + remove 1 raw onion from player + give player {taco.variables::diced_onion.amount} of diced onion named "Diced Onion" + set {taco.timers.%player%::diced_onion} to now + set {_vtime} to "%{taco.variables::diced_onion.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::diced_onion} + stop + message "&cYou must wait a little longer to use the &6Onion Chopper&c!" + stop + message "&cYou need a &6Raw Onion&c to use this equipment!" + +on rightclick on an iron door: + cancel event + "%player's world%" is "tacohub": + stop + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::raw_chicken}: + give player {taco.variables::raw_chicken.amount} of raw chicken named "Raw Chicken" + set {taco.timers.%player%::raw_chicken} to now + set {_vtime} to "%{taco.variables::raw_chicken.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::raw_chicken} + set {taco.timers.%player%::rancid_chicken} to now + stop + message "&cYou must wait a little longer to open the &6Chicken Freezer&c!" + +on rightclick on a wooden door: + cancel event + "%player's world%" is "tacohub": + stop + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::raw_beef}: + give player {taco.variables::raw_beef.amount} of raw beef named "Raw Beef" + set {taco.timers.%player%::raw_beef} to now + set {_vtime} to "%{taco.variables::raw_beef.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::raw_beef} + set {taco.timers.%player%::rancid_meat} to now + stop + message "&cYou must wait a little longer to open the &6Beef Freezer&c!" + +on rightclick on ice: + cancel event + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::raw_fish}: + give player {taco.variables::raw_fish.amount} of raw fish named "Raw Fish" + set {taco.timers.%player%::raw_fish} to now + set {_vtime} to "%{taco.variables::raw_fish.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::raw_fish} + set {taco.timers.%player%::rancid_fish} to now + stop + message "&cYou must wait a little longer to get in the &6Fish Freezer&c!" + +on rightclick on mob head block:1: + cancel event + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::head_of_lettuce}: + give player {taco.variables::head_of_lettuce.amount} of head of lettuce named "Head of Lettuce" + set {taco.timers.%player%::head_of_lettuce} to now + set {_vtime} to "%{taco.variables::head_of_lettuce.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::head_of_lettuce} + stop + message "&cYou must wait a little longer to pick from the &6Lettuce Garden&c!" + +on rightclick on a jukebox: + cancel event + player has block of cheese: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::shredded_cheese}: + remove 1 block of cheese from player + give player {taco.variables::shredded_cheese.amount} of shredded cheese named "Shredded Cheese" + set {taco.timers.%player%::shredded_cheese} to now + set {_vtime} to "%{taco.variables::shredded_cheese.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::shredded_cheese} + stop + message "&cYou must wait a little longer to use the &6Cheese Shredder&c!" + stop + message "&cYou need a &6Block of Cheese&c to use this equipment!" + +on rightclick on an ender chest: + cancel event + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::whole_tomato}: + give player {taco.variables::whole_tomato.amount} of whole tomato named "Whole Tomato" + set {taco.timers.%player%::whole_tomato} to now + set {_vtime} to "%{taco.variables::whole_tomato.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::whole_tomato} + stop + message "&cYou must wait a little longer to get in the &6Tomato Bin&c!" + +on rightclick on a sheep: + cancel event + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::sheep}: + chance of 2%: + {legendary.progress.%player%::3} is true: + message "&6Hmmmm, could this be?" + give player {@clue4} + set {legendary.progress.%player%::4} to true + set {taco.timers.%player%::sheep} to now + set {_vtime} to "%{taco.variables::sheep.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::sheep} + stop + +on rightclick on a cauldron: + cancel event + player has nausea: + remove nausea from player + remove slowness from player + message "You are healed child!" + +on right click on sign: + line 1 of block is "Click here": + set {_count} to 0 + loop entities in radius 3 of block: + loop-entity is a player: + add loop-entity to {_who::*} + add 1 to {_count} + {_count} is greater than 1: + send "Only one player per side." to {_who::*} + stop + {_count} is 1: + set {_loc} to location of block + loop {taco.start.%world%::*}: + loop-value is {_loc}: + set {_slot} to loop-index + set {taco.readycheck.%world%::%{_slot}%} to player + set line 1 of block to "Now waiting on" + set line 2 of block to "your opponent" + set line 3 of block to "to click their" + set line 4 of block to "Ready Sign" + loop {taco.%{_slot}%.gate2.%world%::*}: + set {_change} to loop-value-2 + {_slot} is "1": + set block 2 meters above {_change} to nether fence + {_slot} is "2": + set block 2 meters above {_change} to fence + stop + line 1 of block is "Now waiting on": + set {_loc} to location of block + loop {taco.start.%world%::*}: + loop-value is {_loc}: + set {_slot} to loop-index + clear {taco.readycheck.%world%::%{_slot}%} + set line 1 of block to "Click here" + set line 2 of block to "to claim the" + {_slot} is "1": + set line 3 of block to "Nether" + {_slot} is "2": + set line 3 of block to "Wooden" + set line 4 of block to "Taco Shack" + loop {taco.%{_slot}%.gate2.%world%::*}: + set {_change} to loop-value-2 + set block 2 meters above {_change} to air + + +#endfold + +#startfold periodic + +#WORLD SPECIFIC +every 60 seconds: + loop all entities in world "tacohub": + set {_ran} to random integer between 1 and 5 + loop-entity is a villager: + loop players in radius 25 of loop-entity: + send "&9Cletus:&f %{taco.pinky::%{_ran}%}%" to loop-player + +#Order Signs +every 1 second: + loop {taco.list.worlds::*}: + set {_world} to loop-index-1 + {taco.game.status.%{_world}%} is true: + loop {taco.player.%{_world}%::*}: + set {_p.num} to loop-index-2 + loop {taco.p%{_p.num}%.signs.%{_world}%::*}: + set {_next} to false + set {_sign} to block at location of loop-value-3 + set {_slot} to loop-index-3 + set {_timecheck} to now + set {_ttm} to {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%} + subtract 20 seconds from {_ttm} + set {_ing1} to {taco.%{taco.p%{_p.num}%.order.%{_world}%::%{_slot}%}%::1} + set {_ing2} to {taco.%{taco.p%{_p.num}%.order.%{_world}%::%{_slot}%}%::2} + set {_ing3} to {taco.%{taco.p%{_p.num}%.order.%{_world}%::%{_slot}%}%::3} + set {_ing4} to {taco.%{taco.p%{_p.num}%.order.%{_world}%::%{_slot}%}%::4} + set {_ing5} to {taco.%{taco.p%{_p.num}%.order.%{_world}%::%{_slot}%}%::5} + {_timecheck} is greater than {_ttm}: + set line 1 of {_sign} to "&4%{_ing1}% %{_ing2}%" + set line 2 of {_sign} to "&4%{_ing3}%" + set line 3 of {_sign} to "&4%{_ing4}%" + set line 4 of {_sign} to "&4%{_ing5}%" + set {_next} to true + {_timecheck} is greater than {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%}: + set line 1 of {_sign} to "&4----------" + set line 2 of {_sign} to "&4----------" + set line 3 of {_sign} to "&4----------" + set line 4 of {_sign} to "&4----------" + set {_next} to true + {_next} is false: + set line 1 of {_sign} to "%{_ing1}% %{_ing2}%" + set line 2 of {_sign} to "%{_ing3}%" + set line 3 of {_sign} to "%{_ing4}%" + set line 4 of {_sign} to "%{_ing5}%" + +#Customer Despawn +every 1 second: + loop {taco.list.worlds::*}: + set {_world} to loop-index-1 + {taco.game.status.%{_world}%} is true: + loop {taco.player.%{_world}%::*}: + set {_p.num} to loop-index-2 + loop {taco.p%{_p.num}%.customer.timer.%{_world}%::*}: + set {_ran} to random integer between 1 and 10 + set {_slot} to loop-index-3 + set {_timecheck} to now + {_timecheck} is greater than {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%}: + loop entities in radius 2 around block at {taco.p%{_p.num}%.spawns.%{_world}%::%{_slot}%}: + loop-entity is a villager: + send "&9%{taco.p%{_p.num}%.customer.%{_world}%::%{_slot}%}%:&f %{taco.timeout::%{_ran}%}%" to {taco.player.%{_world}%::%{_p.num}%} + delete loop-entity + +#Scoreboards +every 1 second: + loop {taco.list.worlds::*}: + set {_world} to loop-index-1 + loop {taco.player.%{_world}%::*}: + set {_player} to loop-value-2 + {taco.game.status.%{_world}%} is true: + {toggle.sb.%{_player}%} is not set: + set {toggle.sb.%{_player}%} to true + {toggle.sb.%{_player}%} is false: + set {toggle.sb.%{_player}%} to true + {toggle.sb.%{_player}%} is true: + {board.up.%{_player}%.tc} is not set: + set {board.up.%{_player}%.tc} to false + {board.up.%{_player}%.tc} is true: + {taco.player.%{_world}%::1} is "%{_player}%": + make score "&aYou:" in board of {_player} to {taco.%{_player}%.score.%{_world}%} + make score "&cThem:" in board of {_player} to {taco.%{taco.player.%{_world}%::2}%.score.%{_world}%} + {taco.player.%{_world}%::2} is "%{_player}%": + make score "&aYou:" in board of {_player} to {taco.%{_player}%.score.%{_world}%} + make score "&cThem:" in board of {_player} to {taco.%{taco.player.%{_world}%::1}%.score.%{_world}%} + {board.up.%{_player}%.tc} is false: + {taco.player.%{_world}%::1} is "%{_player}%": + display board named "&9&lTaco Cart" to {_player} + make score "&aYou:" in board of {_player} to {taco.%{_player}%.score.%{_world}%} + make score "&cThem:" in board of {_player} to {taco.%{taco.player.%{_world}%::2}%.score.%{_world}%} + move display of {_player} to sidebar + {taco.player.%{_world}%::2} is "%{_player}%": + display board named "&9&lTaco Cart" to {_player} + make score "&aYou:" in board of {_player} to {taco.%{_player}%.score.%{_world}%} + make score "&cThem:" in board of {_player} to {taco.%{taco.player.%{_world}%::1}%.score.%{_world}%} + move display of {_player} to sidebar + {taco.game.status.%{_world}%} is false: + display board named "" to {_player} + move display of {_player} to sidebar + +#End Game +every 1 second: + loop {taco.list.worlds::*}: + set {_world} to loop-index-1 + set {_tc} to now + {taco.game.status.%{_world}%} is true: + {_tc} is greater than {taco.game.timer.%{_world}%}: + clear {_p1} + clear {_p2} + set {taco.game.status.%{_world}%} to false + send "Times up!" to {taco.player.%{_world}%::*} + set {_p1} to {taco.player.%{_world}%::1} + set {_p2} to {taco.player.%{_world}%::2} + set {_p1score} to {taco.%{_p1}%.score.%{_world}%} + set {_p2score} to {taco.%{_p2}%.score.%{_world}%} + {_p1score} is greater than {_p2score}: + set {_winner} to 3 * {_p1score} + add {_winner} to {_p1}'s balance + send "&aYou have won &e%{_winner}% Tickets&a!" to {_p1} + send "&aYou now have &e%{_p1}'s balance%" to {_p1} + log "%{_p1}%^ADD^%{_winner}%^%{_p1}'s balance%^Winner Prize" to "tickets/tacocart.log" + add {_p2score} to {_p2}'s balance + send "&aYou have won &e%{_p2score}% Tickets&a!" to {_p2} + send "&aYou now have &e%{_p2}'s balance%" to {_p2} + log "%{_p2}%^ADD^%{_p2score}%^%{_p2}'s balance%^Loser Prize" to "tickets/tacocart.log" + {_p2score} is greater than {_p1score}: + set {_winner} to 3 * {_p2score} + add {_winner} to {_p2}'s balance + send "&aYou have won &e%{_winner}% Tickets&a!" to {_p2} + send "&aYou now have &e%{_p2}'s balance%" to {_p2} + log "%{_p2}%^ADD^%{_winner}%^%{_p2}'s balance%^Winner Prize" to "tickets/tacocart.log" + add {_p1score} to {_p1}'s balance + send "&aYou have won &e%{_p1score}% Tickets&a!" to {_p1} + send "&aYou now have &e%{_p1}'s balance%" to {_p1} + log "%{_p1}%^ADD^%{_p1score}%^%{_p1}'s balance%^Loser Prize" to "tickets/tacocart.log" + {_p1score} is equal to {_p2score}: + set {_winner} to 2 * {_p1score} + add {_winner} to {_p1}'s balance + send "&aYou have won &e%{_winner}% Tickets&a!" to {_p1} + send "&aYou now have &e%{_p1}'s balance%" to {_p1} + log "%{_p1}%^ADD^%{_winner}%^%{_p1}'s balance%^Tie Prize" to "tickets/tacocart.log" + set {_winner} to 2 * {_p2score} + add {_winner} to {_p2}'s balance + send "&aYou have won &e%{_winner}% Tickets&a!" to {_p2} + send "&aYou now have &e%{_p2}'s balance%" to {_p2} + log "%{_p2}%^ADD^%{_winner}%^%{_p2}'s balance%^Tie Prize" to "tickets/tacocart.log" + loop {taco.1.gate1.%{_world}%::*}: + set {_change} to loop-value-2 + set block 2 meters above {_change} to nether fence + loop {taco.2.gate1.%{_world}%::*}: + set {_change} to loop-value-2 + set block 2 meters above {_change} to fence + loop {taco.player.%{_world}%::*}: + set {board.up.%loop-value-2%.tc} to false + display board named "" to loop-value-2 + clear {taco.p1.customer.timer.%{_world}%::*} + clear {taco.p2.customer.timer.%{_world}%::*} + clear {taco.p1.customer.%{_world}%::*} + clear {taco.p2.customer.%{_world}%::*} + set {taco.%{taco.player.%{_world}%::1}%.score.%{_world}%} to 0 + set {taco.%{taco.player.%{_world}%::2}%.score.%{_world}%} to 0 + clear {taco.player.%{_world}%::*} + loop all entities in {_p1}'s world: + loop-entity is a dropped item: + delete loop-entity + loop-entity is a villager: + delete loop-entity + loop-entity is a sheep: + delete loop-entity + clear inventory of {_p1} + clear {taco.timers.%{_p1}%::*} + set {taco.timers.%{_p1}%::raw_onion} to now + clear inventory of {_p2} + clear {taco.timers.%{_p2}%::*} + set {taco.timers.%{_p2}%::raw_onion} to now + set {_p1}'s level to 0 + set {_p1}'s level progress to 0 + set {_p2}'s level to 0 + set {_p2}'s level progress to 0 + loop {taco.start.%{_world}%::*}: + set {_loc} to loop-value-2 + set {_slot} to loop-index-2 + set {_block} to block at {_loc} + set line 1 of {_block} to "Click here" + set line 2 of {_block} to "to claim the" + {_slot} is "1": + set line 3 of {_block} to "Nether" + {_slot} is "2": + set line 3 of {_block} to "Wooden" + set line 4 of {_block} to "Taco Shack" + loop {taco.%{_slot}%.gate2.%{_world}%::*}: + set {_change} to loop-value-3 + set block 2 meters above {_change} to air + send "&cTeleporting in &E5&c seconds" to {_p1} + send "&cTeleporting in &E5&c seconds" to {_p2} + wait 5 seconds + send "&cNow Teleporting" to {_p1} + send "&cNow Teleporting" to {_p2} + wait 0.3 seconds + teleport {_p1} to {spawn.taco} + teleport {_p2} to {spawn.taco} + +#BOH +every 5 seconds: + loop {taco.list.worlds::*}: + set {_world} to loop-index-1 + {taco.game.status.%{_world}%} is true: + loop {taco.player.%{_world}%::*}: + set {_p.num} to loop-index-2 + loop all entities in radius 10 around block at {taco.waypoint.%{_world}%::p%{_p.num}%kitchen}: + loop-entity is a silverfish: + add 1 to {_silver} + loop-entity is player: + add loop-entity to {_players::*} + {_silver} is greater than 20: + loop all entities in radius 10 around block at {taco.waypoint.%{_world}%::p%{_p.num}%kitchen}: + loop-entity is a silverfish: + delete loop-entity + loop-entity is rancid meat: + delete loop-entity + spawn witch 3 meters above location of {taco.waypoint.%{_world}%::p%{_p.num}%kitchen} + set name of spawned witch to "&cBoard of Health" + set the walk speed of the spawned witch to 0.1 + message "&cBoard of Health:&f Health inspection, mind if I have a look around?" to {_players::*} + loop all blocks in radius 10 of {taco.waypoint.%{_world}%::p%{_p.num}%kitchen}: + loop-block is daylight sensor: + set {_go} to location 2 meter above loop-block + make spawned witch home towards {_go} + exit loop + wait 2 seconds + message "&cBoard of Health:&f Hmmm, what's this? A dirty tomato dicer?" to {_players::*} + wait 2 seconds + loop all blocks in radius 10 of {taco.waypoint.%{_world}%::p%{_p.num}%kitchen}: + loop-block is cauldron: + set {_go} to location 2 meter above loop-block + make spawned witch home towards {_go} + exit loop + wait 2 seconds + message "&cBoard of Health:&f Oh my, when was the last time this sink has been cleaned?" to {_players::*} + wait 2 seconds + loop all blocks in radius 10 of {taco.waypoint.%{_world}%::p%{_p.num}%kitchen}: + loop-block is jukebox: + set {_go} to location 2 meter above loop-block + make spawned witch home towards {_go} + exit loop + wait 2 seconds + message "&cBoard of Health:&f Are these mice droppings behind your cheese shredder?" to {_players::*} + wait 2 seconds + set {_go} to location 2 meter above location at {taco.waypoint.%{_world}%::p%{_p.num}%kitchen} + make spawned witch home towards {_go} + wait 2 seconds + message "&cBoard of Health:&f This is just deplorable. I'm going to have to cite you!" to {_players::*} + wait 2 seconds + message "&cBoard of Health:&f I'll take these with me!" to {_players::*} + clear inventory of {taco.player.%{_world}%::%{_p.num}%} + loop all entities in radius 15 around block at {taco.waypoint.%{_world}%::p%{_p.num}%kitchen}: + loop-entity is a villager: + delete loop-entity + loop-entity is a dropped item: + delete loop-entity + loop-entity is a witch: + delete loop-entity + +#Rancid Meat +every 5 seconds: + loop {taco.list.worlds::*}: + set {_world} to loop-index-1 + loop {taco.player.%{_world}%::*}: + set {_player} to loop-value-2 + {taco.game.status.%{_world}%} is true: + {taco.timers.%{_player}%::rancid_meat} is set: + set {_rancid.drop} to difference between {taco.timers.%{_player}%::rancid_meat} and now + {_rancid.drop} is greater than 30 seconds: + remove 1 raw beef from {_player} + drop 1 rancid meat named "Rancid Meat" at location of {_player} + send "Ohhh, what stinks in here?" to {_player} + clear {taco.timers.%{_player}%::rancid_meat} + {taco.timers.%{_player}%::rancid_chicken} is set: + set {_rancid.drop} to difference between {taco.timers.%{_player}%::rancid_chicken} and now + {_rancid.drop} is greater than 30 seconds: + remove 1 raw chicken from {_player} + drop 1 rancid meat named "Rancid Meat" at location of {_player} + send "Ohhh, what stinks in here?" to {_player} + clear {taco.timers.%{_player}%::rancid_chicken} + {taco.timers.%{_player}%::rancid_fish} is set: + set {_rancid.drop} to difference between {taco.timers.%{_player}%::rancid_fish} and now + {_rancid.drop} is greater than 30 seconds: + remove 1 raw fish from {_player} + drop 1 rancid meat named "Rancid Meat" at location of {_player} + send "Ohhh, what stinks in here?" to {_player} + clear {taco.timers.%{_player}%::rancid_fish} + +#Start Game +every 6 seconds: + loop {taco.list.worlds::*}: + set {_world} to loop-index-1 + {taco.game.status.%{_world}%} is not set: + set {taco.game.status.%{_world}%} to false + {taco.game.status.%{_world}%} is false: + set {_count} to 0 + loop {taco.readycheck.%{_world}%::*}: + set {_slot} to loop-index-2 + {_slot} is set: + add 1 to {_count} + {_count} is greater than 1: + loop {taco.readycheck.%{_world}%::*}: + set {_slot2} to loop-index-2 + set {taco.player.%{_world}%::%{_slot2}%} to loop-value-2 + send "Game starts in 5 seconds." to {taco.player.%{_world}%::*} + wait 1 second + send "4" to {taco.player.%{_world}%::*} + wait 1 second + send "3" to {taco.player.%{_world}%::*} + wait 1 second + send "2" to {taco.player.%{_world}%::*} + wait 1 second + send "1" to {taco.player.%{_world}%::*} + wait 1 second + send "It has begun!" to {taco.player.%{_world}%::*} + set {taco.game.timer.%{_world}%} to now + set {_vtime} to "%{taco.variables::game_minutes.time}% minutes" parsed as timespan + add {_vtime} to {taco.game.timer.%{_world}%} + set {taco.game.status.%{_world}%} to true + loop {taco.player.%{_world}%::*}: + set {_player} to loop-value-2 + clear inventory of {_player} + clear {taco.timers.%{_player}%::*} + set {taco.%{_player}%.score.%{_world}%} to 0 + set {taco.timers.%{_player}%::grain} to now + set {taco.timers.%{_player}%::soft_shell} to now + set {taco.timers.%{_player}%::hard_shell} to now + set {taco.timers.%{_player}%::whole_tomato} to now + set {taco.timers.%{_player}%::diced_tomato} to now + set {taco.timers.%{_player}%::block_of_cheese} to now + set {taco.timers.%{_player}%::shredded_cheese} to now + set {taco.timers.%{_player}%::raw_onion} to now + set {taco.timers.%{_player}%::diced_onion} to now + set {taco.timers.%{_player}%::head_of_lettuce} to now + set {taco.timers.%{_player}%::shredded_lettuce} to now + set {taco.timers.%{_player}%::raw_fish} to now + set {taco.timers.%{_player}%::cooked_fish} to now + set {taco.timers.%{_player}%::raw_chicken} to now + set {taco.timers.%{_player}%::cooked_chicken} to now + set {taco.timers.%{_player}%::raw_beef} to now + set {taco.timers.%{_player}%::steak} to now + set {taco.timers.%{_player}%::sheep} to now + loop {taco.1.gate1.%{_world}%::*}: + set {_change} to loop-value-2 + set block 2 meters above {_change} to air + loop {taco.2.gate1.%{_world}%::*}: + set {_change} to loop-value-2 + set block 2 meters above {_change} to air + spawn sheep 2 meter above {keystone.%{_world}%} + set name of spawned sheep to "&dPinky" + clear {taco.readycheck.%{_world}%::*} + +#Customer Spawning +every 10 seconds: + loop {taco.list.worlds::*}: + set {_world} to loop-index-1 + {taco.game.status.%{_world}%} is true: + loop {taco.player.%{_world}%::*}: + send "Looping Players" to {debug.list::*} + set {_p.num} to loop-index-2 + send "P-Num is %{_p.num}%" to {debug.list::*} + wait 0.5 seconds + set {_level} to level of {taco.player.%{_world}%::%{_p.num}%} + loop {taco.p%{_p.num}%.spawns.%{_world}%::*}: + send "Looping Player %{_p.num}% Spawn Points" to {debug.list::*} + set {_spawned} to false + set {_villager.check} to false + set {_place} to loop-value-3 + set {_slot} to loop-index-3 + loop entities in radius 2 around block at {_place}: + loop-entity is a villager: + set {_villager.check} to true + {_villager.check} is false: + set {_spawned} to true + set {_ran} to random integer between 1 and 30 + spawn villager 1 meter above {_place} + set {_name} to {taco.villager.name::%{_ran}%} + set name of spawned villager to "%{_name}%" + set {taco.p%{_p.num}%.customer.%{_world}%::%{_slot}%} to "%{_name}%" + set {_order} to random integer between 1 and 24 + set {_order2} to "receipt%{_order}%" + set {taco.p%{_p.num}%.order.%{_world}%::%{_slot}%} to "%{_order2}%" + send "&9%{_name}%:&f Hey buddy, can I get a %{taco.%{taco.p%{_p.num}%.order.%{_world}%::%{_slot}%}%::1}% %{taco.%{taco.p%{_p.num}%.order.%{_world}%::%{_slot}%}%::2}% taco with %{taco.%{taco.p%{_p.num}%.order.%{_world}%::%{_slot}%}%::3}%, %{taco.%{taco.p%{_p.num}%.order.%{_world}%::%{_slot}%}%::4}% & %{taco.%{taco.p%{_p.num}%.order.%{_world}%::%{_slot}%}%::5}% please." to {taco.player.%{_world}%::%{_p.num}%} + spawned villager is of type farmer: + set {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%} to now + set {_mult} to {taco.variables::farmer.time} * {taco.level::%{_level}%} + set {_timeset} to "%{_mult}% seconds" parsed as timespan + add {_timeset} to {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%} + spawned villager is of type priest: + set {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%} to now + set {_mult} to {taco.variables::priest.time} * {taco.level::%{_level}%} + set {_timeset} to "%{_mult}% seconds" parsed as timespan + add {_timeset} to {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%} + spawned villager is of type butcher: + set {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%} to now + set {_mult} to {taco.variables::butcher.time} * {taco.level::%{_level}%} + set {_timeset} to "%{_mult}% seconds" parsed as timespan + add {_timeset} to {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%} + spawned villager is of type blacksmith: + set {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%} to now + set {_mult} to {taco.variables::blacksmith.time} * {taco.level::%{_level}%} + set {_timeset} to "%{_mult}% seconds" parsed as timespan + add {_timeset} to {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%} + spawned villager is of type librarian: + set {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%} to now + set {_mult} to {taco.variables::librarian.time} * {taco.level::%{_level}%} + set {_timeset} to "%{_mult}% seconds" parsed as timespan + add {_timeset} to {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%} + +#Roach spawn +every 30 seconds: + loop {taco.list.worlds::*}: + set {_world} to loop-index-1 + {taco.game.status.%{_world}%} is true: + loop {taco.player.%{_world}%::*}: + set {_p.num} to loop-index-2 + set {_count} to 0 + loop all entities in radius 10 around block at {taco.waypoint.%{_world}%::p%{_p.num}%kitchen}: + loop-entity is a dropped item: + add 1 to {_count} + set {_meat.spawn::%{_count}%} to location of loop-entity + delete loop-entity + loop-entity is player: + add loop-entity to {_players::*} + loop {_meat.spawn::*}: + set {_where} to loop-value-3 + drop rancid meat at {_where} + loop {_count} times: + spawn silverfish 2 meters above location of {taco.waypoint.%{_world}%::p%{_p.num}%kitchen} + set name of spawned silverfish to "Roach" + {_count} is 1: + send "Oh nooooo, a roach!" to {_players::*} + {_count} is greater than 1: + send "Oh nooooo, %{_count}% roaches!" to {_players::*} + clear {_players::*} + clear {__meat.spawn::*} + +#endfold periodic + +#startfold commands + +command /tacovariables [] [] []: + aliases: tv + permission: obam.admin + trigger: + argument 1 is not set: + message "&cOptions are: list, add, change, delete" + stop + argument 1 is "help" or "h": + message "&cOptions are: list, add, change, delete" + stop + argument 1 is "list" or "l": + set {_index.count} to 0 + set {_count} to 0 + loop {taco.variables::*}: + add 1 to {_index.count} + set {_tpages} to round up ({_index.count} / 10) + argument 2 is not set: + set {_page} to 1 + {_page} is not set: + set {_page} to argument 2 parsed as number + {_page} is greater than {_tpages}: + message "&cNot a valid page. There are currently &f%{_tpages}%&c available." + stop + set {_stop} to {_page} * 10 + set {_start} to {_stop} - 9 + message "&3Current Taco Timers &fPage %{_page}% / %{_tpages}%" + loop {taco.variables::*}: + add 1 to {_count} + {_count} is {_start}: + set {_report} to true + {_report} is true: + message "&f%{_count}% - &6%loop-index% &f- &6%loop-value%" + {_count} is {_index.count}: + message "&3End of List" + stop + {_count} is {_stop}: + stop + argument 1 is "add" or "a": + argument 2 is not set: + message "&cAdd what?" + stop + {taco.variables::%argument 2%} is set: + message "&6%argument 2%&c is already set to &6%{taco.variables::%argument 2%}%&c. Try changing it." + stop + argument 3 is not set: + message "&cAnd what is &6%argument 2%&c supposed to be set to?" + stop + set {taco.variables::%argument 2%} to argument 3 + message "&cYou have set &6%argument 2%&c to be set to &6%argument 3%&c?" + stop + argument 1 is "change" or "c": + argument 2 is not set: + message "&cChange what?" + stop + {taco.variables::%argument 2%} is not set: + message "&6%argument 2%&c does not have a timer yet. Please set one first." + stop + argument 3 is not set: + message "&cYou are changing &6%argument 2%&c from &6%{taco.variables::%argument 2%}%&c to what?" + stop + set {_old} to {taco.variables::%argument 2%} + set {taco.variables::%argument 2%} to argument 3 + message "&cYou have changed &6%argument 2%&c from &6%{_old}%&c to &6%{taco.variables::%argument 2%}%&c." + stop + argument 1 is "delete" or "d": + argument 2 is not set: + message "&cDelete what?" + {taco.variables::%argument 2%} is not set: + message "&6%argument 2%&c does not exist. Please check your spelling and retry." + stop + delete {taco.variables::%argument 2%} + message "&cYou have deleted &6%argument 2%&c." + +#subfold Tacoset + +command /tacoset: + permission: obam.admin + trigger: + set {taco.villager.name::1} to "Bob" + set {taco.villager.name::2} to "Shawna" + set {taco.villager.name::3} to "Anakin" + set {taco.villager.name::4} to "Aralynn" + set {taco.villager.name::5} to "Dalton" + set {taco.villager.name::6} to "Jeremy" + set {taco.villager.name::7} to "Jack" + set {taco.villager.name::8} to "Troy" + set {taco.villager.name::9} to "Joe" + set {taco.villager.name::10} to "Justin" + set {taco.villager.name::11} to "Jim" + set {taco.villager.name::12} to "Kelly" + set {taco.villager.name::13} to "Katherine" + set {taco.villager.name::14} to "Stevo" + set {taco.villager.name::15} to "Cornelius" + set {taco.villager.name::16} to "Patrick" + set {taco.villager.name::17} to "Ian" + set {taco.villager.name::18} to "Olivia" + set {taco.villager.name::19} to "Donna" + set {taco.villager.name::20} to "Jarod" + set {taco.villager.name::21} to "Sue" + set {taco.villager.name::22} to "Nick" + set {taco.villager.name::23} to "Bill" + set {taco.villager.name::24} to "Connie" + set {taco.villager.name::25} to "Irene" + set {taco.villager.name::26} to "Scott" + set {taco.villager.name::27} to "Earl" + set {taco.villager.name::28} to "Roy" + set {taco.villager.name::29} to "Precious" + set {taco.villager.name::30} to "Jenkins" + set {taco.receipt1::1} to "Soft" + set {taco.receipt1::2} to "Chicken" + set {taco.receipt1::3} to "Cheese" + set {taco.receipt1::4} to "Lettuce" + set {taco.receipt1::5} to "Onion" + set {taco.receipt1::6} to {@receipt1} + set {taco.receipt2::1} to "Soft" + set {taco.receipt2::2} to "Chicken" + set {taco.receipt2::3} to "Cheese" + set {taco.receipt2::4} to "Lettuce" + set {taco.receipt2::5} to "Tomato" + set {taco.receipt2::6} to {@receipt2} + set {taco.receipt3::1} to "Soft" + set {taco.receipt3::2} to "Chicken" + set {taco.receipt3::3} to "Cheese" + set {taco.receipt3::4} to "Onion" + set {taco.receipt3::5} to "Tomato" + set {taco.receipt3::6} to {@receipt3} + set {taco.receipt4::1} to "Soft" + set {taco.receipt4::2} to "Chicken" + set {taco.receipt4::3} to "Lettuce" + set {taco.receipt4::4} to "Onion" + set {taco.receipt4::5} to "Tomato" + set {taco.receipt4::6} to {@receipt4} + set {taco.receipt5::1} to "Soft" + set {taco.receipt5::2} to "Beef" + set {taco.receipt5::3} to "Cheese" + set {taco.receipt5::4} to "Lettuce" + set {taco.receipt5::5} to "Onion" + set {taco.receipt5::6} to {@receipt5} + set {taco.receipt6::1} to "Soft" + set {taco.receipt6::2} to "Beef" + set {taco.receipt6::3} to "Cheese" + set {taco.receipt6::4} to "Lettuce" + set {taco.receipt6::5} to "Tomato" + set {taco.receipt6::6} to {@receipt6} + set {taco.receipt7::1} to "Soft" + set {taco.receipt7::2} to "Beef" + set {taco.receipt7::3} to "Cheese" + set {taco.receipt7::4} to "Onion" + set {taco.receipt7::5} to "Tomato" + set {taco.receipt7::6} to {@receipt7} + set {taco.receipt8::1} to "Soft" + set {taco.receipt8::2} to "Beef" + set {taco.receipt8::3} to "Lettuce" + set {taco.receipt8::4} to "Onion" + set {taco.receipt8::5} to "Tomato" + set {taco.receipt8::6} to {@receipt8} + set {taco.receipt9::1} to "Soft" + set {taco.receipt9::2} to "Fish" + set {taco.receipt9::3} to "Cheese" + set {taco.receipt9::4} to "Lettuce" + set {taco.receipt9::5} to "Onion" + set {taco.receipt9::6} to {@receipt9} + set {taco.receipt10::1} to "Soft" + set {taco.receipt10::2} to "Fish" + set {taco.receipt10::3} to "Cheese" + set {taco.receipt10::4} to "Lettuce" + set {taco.receipt10::5} to "Tomato" + set {taco.receipt10::6} to {@receipt10} + set {taco.receipt11::1} to "Soft" + set {taco.receipt11::2} to "Fish" + set {taco.receipt11::3} to "Cheese" + set {taco.receipt11::4} to "Onion" + set {taco.receipt11::5} to "Tomato" + set {taco.receipt11::6} to {@receipt11} + set {taco.receipt12::1} to "Soft" + set {taco.receipt12::2} to "Fish" + set {taco.receipt12::3} to "Lettuce" + set {taco.receipt12::4} to "Onion" + set {taco.receipt12::5} to "Tomato" + set {taco.receipt12::6} to {@receipt12} + set {taco.receipt13::1} to "Hard" + set {taco.receipt13::2} to "Chicken" + set {taco.receipt13::3} to "Cheese" + set {taco.receipt13::4} to "Lettuce" + set {taco.receipt13::5} to "Onion" + set {taco.receipt13::6} to {@receipt13} + set {taco.receipt14::1} to "Hard" + set {taco.receipt14::2} to "Chicken" + set {taco.receipt14::3} to "Cheese" + set {taco.receipt14::4} to "Lettuce" + set {taco.receipt14::5} to "Tomato" + set {taco.receipt14::6} to {@receipt14} + set {taco.receipt15::1} to "Hard" + set {taco.receipt15::2} to "Chicken" + set {taco.receipt15::3} to "Cheese" + set {taco.receipt15::4} to "Onion" + set {taco.receipt15::5} to "Tomato" + set {taco.receipt15::6} to {@receipt15} + set {taco.receipt16::1} to "Hard" + set {taco.receipt16::2} to "Chicken" + set {taco.receipt16::3} to "Lettuce" + set {taco.receipt16::4} to "Onion" + set {taco.receipt16::5} to "Tomato" + set {taco.receipt16::6} to {@receipt16} + set {taco.receipt17::1} to "Hard" + set {taco.receipt17::2} to "Beef" + set {taco.receipt17::3} to "Cheese" + set {taco.receipt17::4} to "Lettuce" + set {taco.receipt17::5} to "Onion" + set {taco.receipt17::6} to {@receipt17} + set {taco.receipt18::1} to "Hard" + set {taco.receipt18::2} to "Beef" + set {taco.receipt18::3} to "Cheese" + set {taco.receipt18::4} to "Lettuce" + set {taco.receipt18::5} to "Tomato" + set {taco.receipt18::6} to {@receipt18} + set {taco.receipt19::1} to "Hard" + set {taco.receipt19::2} to "Beef" + set {taco.receipt19::3} to "Cheese" + set {taco.receipt19::4} to "Onion" + set {taco.receipt19::5} to "Tomato" + set {taco.receipt19::6} to {@receipt19} + set {taco.receipt20::1} to "Hard" + set {taco.receipt20::2} to "Beef" + set {taco.receipt20::3} to "Lettuce" + set {taco.receipt20::4} to "Onion" + set {taco.receipt20::5} to "Tomato" + set {taco.receipt20::6} to {@receipt20} + set {taco.receipt21::1} to "Hard" + set {taco.receipt21::2} to "Fish" + set {taco.receipt21::3} to "Cheese" + set {taco.receipt21::4} to "Lettuce" + set {taco.receipt21::5} to "Onion" + set {taco.receipt21::6} to {@receipt21} + set {taco.receipt22::1} to "Hard" + set {taco.receipt22::2} to "Fish" + set {taco.receipt22::3} to "Cheese" + set {taco.receipt22::4} to "Lettuce" + set {taco.receipt22::5} to "Tomato" + set {taco.receipt22::6} to {@receipt22} + set {taco.receipt23::1} to "Hard" + set {taco.receipt23::2} to "Fish" + set {taco.receipt23::3} to "Cheese" + set {taco.receipt23::4} to "Onion" + set {taco.receipt23::5} to "Tomato" + set {taco.receipt23::6} to {@receipt23} + set {taco.receipt24::1} to "Hard" + set {taco.receipt24::2} to "Fish" + set {taco.receipt24::3} to "Lettuce" + set {taco.receipt24::4} to "Onion" + set {taco.receipt24::5} to "Tomato" + set {taco.receipt24::6} to {@receipt24} + set {taco.level::0} to 1 + set {taco.level::1} to 0.95 + set {taco.level::2} to 0.9 + set {taco.level::3} to 0.85 + set {taco.level::4} to 0.8 + set {taco.level::5} to 0.75 + set {taco.level::6} to 0.7 + set {taco.level::7} to 0.65 + set {taco.level::8} to 0.6 + set {taco.level::9} to 0.55 + set {taco.level::10} to 0.5 + set {taco.level::11} to 0.45 + set {taco.level::12} to 0.4 + set {taco.level::13} to 0.35 + set {taco.level::14} to 0.30 + set {taco.level::15} to 0.25 + set {taco.level::16} to 0.2 + set {taco.level::17} to 0.15 + set {taco.level::18} to 0.1 + set {taco.level::19} to 0.05 + set {taco.timeout::1} to "This is taking way to long. I'm out!" + set {taco.timeout::2} to "I should have went to Taco Smell. Later!" + set {taco.timeout::3} to "I've seen slimes move faster than that. Peace!" + set {taco.timeout::4} to "What has two thumbs and is sick of waiting? This guy." + set {taco.timeout::5} to "Oh, I guess I'm not as important as that guy. I'm not sticking around any longer." + set {taco.timeout::6} to "What is this, Snail Cart?" + set {taco.timeout::7} to "Roaches are one thing, but waiting this long? No thanks!" + set {taco.timeout::8} to "God, it's worse than waiting for Half-Life 3! I'm outta here!" + set {taco.timeout::9} to "Ummm, my work just called. Yeah that's it, work. Gotta run." + set {taco.timeout::10} to "I guess the rumours were right. I'm not waiting this long again." + set {taco.pinky::1} to "Where has that sheep ran off to this time?" + set {taco.pinky::2} to "Pinky, oh Pinky! Dinner time." + set {taco.pinky::3} to "Excuse me, have you seen my sheep around?" + set {taco.pinky::4} to "When I find that sheep......" + set {taco.pinky::5} to "Oh where is it? Pinky must have taken off with it again." + set {taco.horsey::1} to "Dang kids, get off my horse!" + set {taco.horsey::2} to "Mess with the horse and get the hoof, son!" + set {taco.horsey::3} to "No" + set {taco.horsey::4} to "Why don't you go fondle someone else's critters." + set {taco.horsey::5} to "If you're gonna just stand around, might as well pick up a shovel. This ain't no pettin zoo." + set {taco.correct::1} to "Wow, that tastes amazing!" + set {taco.correct::2} to "Thanks buddy, that hit the spot!" + set {taco.correct::3} to "Nom Nom Nom... Ohhhh God, that's good!" + set {taco.correct::4} to "Yummy, I could eat three more of those!" + set {taco.correct::5} to "Definitely liking this place on Fadbook!" + set {taco.incorrect::1} to "That is not what I ordered. I am leaving!" + set {taco.incorrect::2} to "Seriously, how hard is it to make a taco!" + set {taco.incorrect::3} to "My blind Grandma makes me what I want, why can't you?" + set {taco.incorrect::4} to "But... Wha...It's...I give up." + set {taco.incorrect::5} to "Is this cat food or something?" + set {taco.incorrect::6} to "Remember that time you got my order right? That was awesome!" + set {taco.villager_hit::1} to "Hey, who threw that?" + set {taco.villager_hit::2} to "Watch it, buddy!" + set {taco.villager_hit::3} to "Really, are we in kindergarten?" + set {taco.villager_hit::4} to "Stop it, that really hurts!" + set {taco.villager_hit::5} to "Umphhh! Whaa, why is dog and bugs now then Frank?" + message "All set" + +command /setvariables: + permission: obam.admin + trigger: + set {taco.variables::slow.time} to 3 + set {taco.variables::villager_hit.time} to 10 + set {taco.variables::soft_shell.amount} to 1 + set {taco.variables::soft_shell.time} to 10 + set {taco.variables::grain.amount} to 2 + set {taco.variables::grain.time} to 10 + set {taco.variables::hard_shell.amount} to 1 + set {taco.variables::hard_shell.time} to 10 + set {taco.variables::diced_tomato.amount} to 1 + set {taco.variables::diced_tomato.time} to 10 + set {taco.variables::block_of_cheese.amount} to 1 + set {taco.variables::block_of_cheese.time} to 10 + set {taco.variables::raw_onion.amount} to 1 + set {taco.variables::raw_onion.time} to 10 + set {taco.variables::steak.amount} to 1 + set {taco.variables::steak.time} to 10 + set {taco.variables::cooked_fish.amount} to 1 + set {taco.variables::cooked_fish.time} to 10 + set {taco.variables::cooked_chicken.amount} to 1 + set {taco.variables::cooked_chicken.time} to 10 + set {taco.variables::shredded_lettuce.amount} to 1 + set {taco.variables::shredded_lettuce.time} to 10 + set {taco.variables::diced_onion.amount} to 1 + set {taco.variables::diced_onion.time} to 10 + set {taco.variables::raw_chicken.amount} to 1 + set {taco.variables::raw_chicken.time} to 10 + set {taco.variables::raw_beef.amount} to 1 + set {taco.variables::raw_beef.time} to 10 + set {taco.variables::raw_fish.amount} to 1 + set {taco.variables::raw_fish.time} to 10 + set {taco.variables::head_of_lettuce.amount} to 1 + set {taco.variables::head_of_lettuce.time} to 10 + set {taco.variables::shredded_cheese.amount} to 1 + set {taco.variables::shredded_cheese.time} to 10 + set {taco.variables::whole_tomato.amount} to 1 + set {taco.variables::whole_tomato.time} to 10 + set {taco.variables::sheep.time} to 10 + set {taco.variables::game_minutes.time} to 10 + set {taco.variables::farmer.time} to 120 + set {taco.variables::priest.time} to 105 + set {taco.variables::butcher.time} to 90 + set {taco.variables::blacksmith.time} to 75 + set {taco.variables::librarian.time} to 60 + message "Set the things." + +#subfold Keystone + +command /keystone []: + permission: obam.admin + trigger: + argument 1 is not set: + message "Current Keystone World Types" + message "Type : Command" + message "----------------------" + message "TacoCart : taco" + argument 1 is "taco": + "%player's world%" contains "Taco": + delete {keystone.%world%} + delete {taco.waypoint.%world%::*} + delete {taco.p1.spawns.%world%::*} + delete {taco.p1.spawns.%world%::*} + delete {taco.p1.signs.%world%::*} + delete {taco.p2.signs.%world%::*} + loop blocks in radius 10 of player: + loop-block is obsidian: + set {keystone.%world%} to location of loop-block + set {_loop1} to 1 + message "Keystone has been set to %{keystone.%world%}%" + exit loop + {_loop1} is not set: + message "No Keystone was found" + stop + loop blocks in radius 10 of {keystone.%world%}: + loop-block is cyan wool: + set {taco.waypoint.%world%::p1c1} to location of loop-block + set {taco.p1.spawns.%world%::1} to location of loop-block + set {_loop2} to 1 + message "Player 1 Customer 1 set" + exit loop + {_loop2} is not set: + message "Could not locate Player 1 Customer 1" + stop + loop blocks in radius 10 of {taco.waypoint.%world%::p1c1}: + loop-block is white wool: + set {taco.waypoint.%world%::p1c2} to location of loop-block + set {taco.p1.spawns.%world%::2} to location of loop-block + set {_loop3} to 1 + message "Player 1 Customer 2 set" + exit loop + {_loop3} is not set: + message "Could not locate Player 1 Customer 2" + stop + loop blocks in radius 10 of {taco.waypoint.%world%::p1c2}: + loop-block is red wool: + set {taco.waypoint.%world%::p1c3} to location of loop-block + set {taco.p1.spawns.%world%::3} to location of loop-block + set {_loop4} to 1 + message "Player 1 Customer 3 set" + exit loop + {_loop4} is not set: + message "Could not locate Player 1 Customer 3" + stop + loop blocks in radius 10 of {taco.waypoint.%world%::p1c2}: + loop-block is quartz ore: + set {taco.waypoint.%world%::p1kitchen} to location of loop-block + set {_loop5} to 1 + message "Player 1 Kitchen set" + exit loop + {_loop5} is not set: + message "Could not locate Player 1 Kitchen" + stop + loop blocks in radius 5 of {taco.waypoint.%world%::p1kitchen}: + loop-block is workbench: + set {taco.waypoint.%world%::p1bench} to location of loop-block + set {_loop20} to 1 + message "Player 1 Bench set" + exit loop + {_loop20} is not set: + message "Could not locate Player 1 Bench" + stop + loop blocks in radius 10 of {keystone.%world%}: + loop-block is light green wool: + set {taco.waypoint.%world%::p2c1} to location of loop-block + set {taco.p2.spawns.%world%::1} to location of loop-block + set {_loop6} to 1 + message "Player 2 Customer 1 set" + exit loop + {_loop6} is not set: + message "Could not locate Player 2 Customer 1" + stop + loop blocks in radius 10 of {taco.waypoint.%world%::p2c1}: + loop-block is black wool: + set {taco.waypoint.%world%::p2c2} to location of loop-block + set {taco.p2.spawns.%world%::2} to location of loop-block + set {_loop7} to 1 + message "Player 2 Customer 2 set" + exit loop + {_loop7} is not set: + message "Could not locate Player 2 Customer 2" + stop + loop blocks in radius 10 of {taco.waypoint.%world%::p2c2}: + loop-block is orange wool: + set {taco.waypoint.%world%::p2c3} to location of loop-block + set {taco.p2.spawns.%world%::3} to location of loop-block + set {_loop8} to 1 + message "Player 2 Customer 3 set" + exit loop + {_loop8} is not set: + message "Could not locate Player 2 Customer 3" + stop + loop blocks in radius 10 of {taco.waypoint.%world%::p2c2}: + loop-block is quartz ore: + set {taco.waypoint.%world%::p2kitchen} to location of loop-block + set {_loop9} to 1 + message "Player 2 Kitchen set" + exit loop + {_loop9} is not set: + message "Could not locate Player 2 Kitchen" + stop + loop blocks in radius 5 of {taco.waypoint.%world%::p2kitchen}: + loop-block is workbench: + set {taco.waypoint.%world%::p2bench} to location of loop-block + set {_loop21} to 1 + message "Player 2 Bench set" + exit loop + {_loop21} is not set: + message "Could not locate Player 2 Bench" + stop + loop blocks in radius 5 of {taco.waypoint.%world%::p1bench}: + loop-block is sign: + set {taco.p1.signs.%world%::3} to location of loop-block + message "%{taco.p1.signs.%world%::3}%" + set {taco.p1.signs.%world%::2} to the location 2 meters south of loop-block + message "%{taco.p1.signs.%world%::2}%" + set {taco.p1.signs.%world%::1} to the location 4 meters south of loop-block + message "%{taco.p1.signs.%world%::1}%" + set {_loop10} to 1 + message "Player 1 Signs set" + exit loop + {_loop10} is not set: + message "Could not locate Player 1 Signs" + stop + loop blocks in radius 7 of {taco.waypoint.%world%::p2bench}: + loop-block is sign: + set {taco.p2.signs.%world%::1} to location of loop-block + message "%{taco.p2.signs.%world%::1}%" + set {taco.p2.signs.%world%::2} to the location 2 meters south of loop-block + message "%{taco.p2.signs.%world%::2}%" + set {taco.p2.signs.%world%::3} to the location 4 meters south of loop-block + message "%{taco.p2.signs.%world%::3}%" + set {_loop11} to 1 + message "Player 2 Signs set" + exit loop + {_loop11} is not set: + message "Could not locate Player 2 Signs" + stop + loop blocks in radius 10 of {keystone.%world%}: + loop-block is melon: + set {taco.waypoint.%world%::p1j1} to location of loop-block + set {_loop12} to 1 + message "Player 1 Jumper 1 set" + exit loop + {_loop12} is not set: + message "Could not locate Player 1 Jumper 1" + stop + loop blocks in radius 8 of {taco.waypoint.%world%::p1j1}: + loop-block is sign: + set {taco.start.%world%::1} to location of loop-block + set {_loop13} to 1 + message "%{taco.start.%world%::1}%" + message "Player 1 Start Sign set" + exit loop + {_loop13} is not set: + message "Could not locate Player 1 Start Sign" + stop + set {_count} to 0 + loop blocks in radius 8 of {taco.waypoint.%world%::p1j1}: + loop-block is emerald block: + set {taco.1.gate1.%world%::%{_count}%} to location of loop-block + add 1 to {_count} + message "Player 1 Gate 1 Block %{_count}% set" + {_count} is 3: + set {_loop14} to 1 + exit loop + {_loop14} is not set: + message "Could not locate Player 1 Gate 1" + stop + set {_count} to 0 + loop blocks in radius 8 of {taco.waypoint.%world%::p1j1}: + loop-block is emerald ore: + set {taco.1.gate2.%world%::%{_count}%} to location of loop-block + add 1 to {_count} + message "Player 1 Gate 2 Block %{_count}% set" + {_count} is 3: + set {_loop15} to 1 + exit loop + {_loop15} is not set: + message "Could not locate Player 1 Gate 2" + stop + loop blocks in radius 10 of {keystone.%world%}: + loop-block is pumpkin: + set {taco.waypoint.%world%::p2j1} to location of loop-block + set {_loop16} to 1 + message "Player 2 Jumper 1 set" + exit loop + {_loop16} is not set: + message "Could not locate Player 2 Jumper 1" + stop + loop blocks in radius 8 of {taco.waypoint.%world%::p2j1}: + loop-block is sign: + set {taco.start.%world%::2} to location of loop-block + set {_loop16} to 1 + message "%{taco.start.%world%::2}%" + message "Player 2 Start Sign set" + exit loop + {_loop16} is not set: + message "Could not locate Player 2 Start Sign" + stop + set {_count} to 0 + loop blocks in radius 8 of {taco.waypoint.%world%::p2j1}: + loop-block is diamond block: + set {taco.2.gate1.%world%::%{_count}%} to location of loop-block + add 1 to {_count} + message "Player 2 Gate 1 Block %{_count}% set" + {_count} is 3: + set {_loop17} to 1 + exit loop + {_loop17} is not set: + message "Could not locate Player 2 Gate 1" + stop + set {_count} to 0 + loop blocks in radius 8 of {taco.waypoint.%world%::p2j1}: + loop-block is diamond ore: + set {taco.2.gate2.%world%::%{_count}%} to location of loop-block + add 1 to {_count} + message "Player 2 Gate 2 Block %{_count}% set" + {_count} is 3: + set {_loop18} to 1 + exit loop + {_loop18} is not set: + message "Could not locate Player 2 Gate 2" + stop + {_loop18} is set: + message "&3All Good!" + stop + message "You are not in the correct world for this Keystone command." + +command /tacoworld []: + permission: obam.admin + trigger: + argument 1 is "list" or "l": + loop {taco.list.worlds::*}: + message "%loop-index% --- %loop-value%" + stop + argument 1 is "delete" or "d": + delete {taco.list.worlds::*} + message "Deleted" + stop + set {_world} to argument 1 + set {taco.list.worlds::%{_world}%} to "available" + message "Added %{_world}% to list." + +command /debuglist []: + trigger: + argument 1 is "list" or "l": + loop {debug.list::*}: + message "%loop-index%" + stop + argument 1 is "delete" or "d": + delete {debug.list::*} + message "Deleted" + stop + set {_who} to argument 1 parsed as a player + set {debug.list::%{_who}%} to {_who} + message "Added %{_who}% to list." + +#endfold + +#startfold testing + + +#Remove when live +command /killvill: + trigger: + "%player's world%" contains "Taco": + loop villagers in radius 3 of player: + delete loop-villager + loop entities in radius 10 of player: + loop-entity is a witch: + delete loop-entity +#Remove when live +command /looptest: + trigger: + loop blocks in radius 2 of {taco.waypoint.%world%::p1kitchen}: + message " Var Block %loop-block%" + loop dropped items in radius 4 of player: + message "Item %loop-dropped item%" + loop entities in radius 4 of player: + message "Entity %loop-entity%" + loop dropped items in radius 4 of {taco.waypoint.%world%::p1kitchen}: + message "Var Item %loop-dropped item%" + loop entities in radius 4 of {taco.waypoint.%world%::p1kitchen}: + message "Var Entity %loop-entity%" + loop dropped items in radius 4 around block at {taco.waypoint.%world%::p1kitchen}: + message "Fix Item %loop-dropped item%" + loop entities in radius 4 around block at {taco.waypoint.%world%::p1kitchen}: + message "Fix Entity %loop-entity%" + message "%{taco.waypoint.%world%::p1kitchen}%" +#Remove when live +command /flesh: + trigger: + loop all dropped items in world: + delete loop-dropped item + +command /players: + trigger: + clear {taco.player.%world%::*} + set {_players} to 1 + loop all players in player's world: + {_players} is 3: + exit loop + set {taco.player.%world%::%{_players}%} to loop-player + message "You are Player %{_players}%" to loop-player + add 1 to {_players} + +command /scoreadd: + trigger: + add 1 to {taco.%player%.score.%world%} + message "%{taco.%player%.score.%world%}%" + +command /scoreclear: + trigger: + set {taco.%player%.score.%world%} to 0 + message "%{taco.%player%.score.%world%}%" + +command /boardbegone: + trigger: + display board named "" to player + +command /endgame: + trigger: + subtract 10 minutes from {taco.game.timer.%world%} + message "Game time altered." + +command /gameinfo: + trigger: + message "Players are %{taco.player.%world%::*}%" + message "Time is %{taco.game.timer.%world%}%" + message "Status is %{taco.game.status.%world%}%" + +command /tester: + trigger: + set {_player} to player + set {taco.timers.%{_player}%::grain} to now + set {taco.timers.%{_player}%::soft_shell} to now + set {taco.timers.%{_player}%::hard_shell} to now + set {taco.timers.%{_player}%::whole_tomato} to now + set {taco.timers.%{_player}%::diced_tomato} to now + set {taco.timers.%{_player}%::block_of_cheese} to now + set {taco.timers.%{_player}%::shredded_cheese} to now + set {taco.timers.%{_player}%::raw_onion} to now + set {taco.timers.%{_player}%::diced_onion} to now + set {taco.timers.%{_player}%::head_of_lettuce} to now + set {taco.timers.%{_player}%::shredded_lettuce} to now + set {taco.timers.%{_player}%::raw_fish} to now + set {taco.timers.%{_player}%::cooked_fish} to now + set {taco.timers.%{_player}%::raw_chicken} to now + set {taco.timers.%{_player}%::cooked_chicken} to now + set {taco.timers.%{_player}%::raw_beef} to now + set {taco.timers.%{_player}%::steak} to now + set {taco.timers.%{_player}%::sheep} to now + message "%{taco.timers.%{_player}%::*}%" + +#endfold + + +on join: + + teleport player to {spawn.taco} + + +command /tacospawn: + permission: obam.admin + trigger: + + set {spawn.taco} to location of player + send "&aSpawn set to &e%player's location%" + diff --git a/Obam-Moderation/mode.sk b/Obam-Moderation/mode.sk deleted file mode 100644 index 46ee1a1..0000000 --- a/Obam-Moderation/mode.sk +++ /dev/null @@ -1,8 +0,0 @@ -command /m: - trigger: - if player's gamemode is survival: - make player execute command "/gamemode creative" - stop - if player's gamemode is creative: - make player execute command "/gamemode survival" - stop \ No newline at end of file diff --git a/Obam-Moderation/moderate.sk b/Obam-Moderation/moderate.sk deleted file mode 100644 index efcf874..0000000 --- a/Obam-Moderation/moderate.sk +++ /dev/null @@ -1,90 +0,0 @@ -command /g [] [] []: - description: Teleports to a Player - permission: obam.mod - trigger: - {monitor.%player%} is not set: - set {monitor.%player%} to false - player does not have permission "obam.admin": - {monitor.%player%} is false: - send "&cYou must be in monitor mode to do this!" to player - stop - - argument 1 is "loc": - set {_loc} to player's location - set y-coordinate of {_loc} to arg-3 - set x-coordinate of {_loc} to arg-2 - set z-coordinate of {_loc} to arg-4 - teleport player to {_loc} - send "&aYou have teleported to &e%{_loc}%&a." - stop - set {_player} to argument 1 parsed as player - teleport player to {_player} - send "&aYou have teleported to %{_player}%." to player - log "%player%^GO ACTION^%{_player}%^%location of {_player}%" to "admin/actions.log" - - -command /grab : - permission: obam.mod - trigger: - player-argument is player: - send "&cYou should not grab yourself in public!" to player - stop - set {_loc} to location of player-argument - teleport player-argument to player - - send "&aYou have snatched %player-argument%." to player - send "&aYou have been snatched by %player%!" to player-argument - log "%player%^%location of player%^GRAB ACTION^%player-argument%^%{_loc}%" to "admin/actions.log" - -command /monitor: - permission: obam.mod - trigger: - - {monitor.%player%} is true: - set {monitor.%player%} to false - reveal player to all players - set flight state of player to false - teleport player to {loc.mon.%player%} - set {tim.mon.%player%} to difference between {tim.mon.%player%} and now - send "&aYou are no longer in monitor mode! You have been returned to your position!" - log "%player%^MONITOR DISABLE ACTION^%{loc.mon.%player%}%^%{tim.mon.%player%}%" to "admin/actions.log" - stop - {monitor.%player%} is not set: - set {monitor.%player%} to false - {monitor.%player%} is false: - set {loc.mon.%player%} to location of player - set {monitor.%player%} to true - set {tim.mon.%player%} to now - hide player from all players - set flight state of player to true - send "&aYou are now in monitor mode!" to player - log "%player%^MONITOR ENABLE ACTION^%{loc.mon.%player%}%" to "admin/actions.log" - - -every 1 second: - loop all players: - {monitor.%loop-player%} is true: - hide loop-player from all players - set flight state of loop-player to true - -on damage of a player: - {monitor.%victim%} is true: - cancel event - -on target: - target is a player: - set {_player} to target - {monitor.%{_player}%} is true: - cancel event - -on pick up: - {monitor.%player%} is true: - cancel event - -on right click: - {monitor.%player%} is true: - cancel event - -on left click: - {monitor.%player%} is true: - cancel event diff --git a/Obam-Perks/Finished and placed/allowance.sk b/Obam-Perks/Finished and placed/allowance.sk new file mode 100644 index 0000000..42cf6d3 --- /dev/null +++ b/Obam-Perks/Finished and placed/allowance.sk @@ -0,0 +1,52 @@ +#ticket stuff +command /settickettime: + permission: obam.admin + trigger: + set {ticket.tracker} to now + +on join: + {ticket.tracker.count.%uuid of player%} is not set: + {ticket.tracker.count.%player%} is set: + set {ticket.tracker.count.%uuid of player%} to {ticket.tracker.count.%player%} + else + set {ticket.tracker.count.%uuid of player%} to {ticket.tracker.count} + {ticket.tracker.bonus.%uuid of player%} is not set: + add 2000 to player's balance + wait 1 second + send "&aYou have received your first &e2000&a tickets for playing on OBAM! Enjoy!" to player + set {ticket.tracker.bonus.%uuid of player%} to true + stop + {ticket.tracker.count.%uuid of player%} is not equal to {ticket.tracker.count}: + set {_pay} to difference between {ticket.tracker.count} and {ticket.tracker.count.%uuid of player%} + set {_pay} to 2000 * {_pay} + add {_pay} to player's balance + set {ticket.tracker.count.%uuid of player%} to {ticket.tracker.count} + wait 1 second + send "&aYou have received &e2000&a tickets for your weekly allowance! Enjoy!" to player + +every 1 minute: + difference between {ticket.tracker} and now is greater than or equal to 7 days: + set {ticket.tracker} to now + {ticket.tracker.count} is not set: + set {ticket.tracker.count} to 0 + add 1 to {ticket.tracker.count} + +command /trackcheck: + permission: obam.admin + trigger: + set {_check} to difference between {ticket.tracker} and now + send "%{_check}%" to player + +command /addtoticket: + permission: obam.admin + trigger: + {ticket.tracker.count} is not set: + set {ticket.tracker.count} to 0 + add 1 to {ticket.tracker.count} + +command /viewtime: + permission: obam.admin + trigger: + send "%{ticket.tracker.count}%" to player + send "%{ticket.tracker.count.%uuid of player%}%" to player + diff --git a/Obam-Perks/exclusive.sk b/Obam-Perks/Finished and placed/exclusive.sk similarity index 100% rename from Obam-Perks/exclusive.sk rename to Obam-Perks/Finished and placed/exclusive.sk diff --git a/Obam-Perks/Finished and placed/hats.g.sk b/Obam-Perks/Finished and placed/hats.g.sk new file mode 100644 index 0000000..623f92d --- /dev/null +++ b/Obam-Perks/Finished and placed/hats.g.sk @@ -0,0 +1,136 @@ +on script load: + delete {db_perk.hats::*} + set {db_perk.hats::01.dirt} to "dirt;&3&lDirt Hat;&6Carefully woven together from the finest dirt||&6in all of &3OBAM!;sudo PLAYER hat dirt" + set {db_perk.hats::02.beta} to "iron pressure plate;&3&lBeta Supporter Hat;&6This Special hat is for all members who supported||&6during our beta period and is a thank you from the||&3OBAM &6Staff for those that helped us when we were||&6starting. THANK YOU!;sudo PLAYER hat beta;&6This Special hat is for all members who supported||&6during our beta period and is a thank you from the||&3OBAM &6Staff for those that helped us when we were||&6starting. THANK YOU!|| ||&cThis hat is only available to our Beta Supporters.;sudo PLAYER hat error" + set {db_perk.hats::03.quartz} to "quartz block;&3&lQuartz Hat;&6This hat is crafted from the smoothest quartz||&6found in the hottest part of the Nether!;sudo PLAYER hat quartz;&6This hat is crafted from the smoothest quartz||&6found in the hottest part of the Nether!|| ||&cThis hat is only available to our Supporters.;sudo PLAYER hat error" + set {db_perk.hats::04.cactus} to "cactus;&3&lPrickly Hat;&6Wear this hat when you're feeling a bit....Prickly!;sudo PLAYER hat cactus;&6Wear this hat when you're feeling a bit....Prickly!|| ||&cThis hat must be purchased from the OBAMCraft shop.|| ||&eUse &f/buy &ein the hub to purchase the &3Prickly Hat|| ||&ePrice: &a$2.00;sudo PLAYER hat error" + +command /hatmenu []: + trigger: + loop {db_perk.hats::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHat Rack" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.hats::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "02.beta": + player does not have permission "obam.beta.hat": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.quartz": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.cactus": + {db_purchase.cactus.%uuid of player%} is not set: + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /hat []: + trigger: + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hat Rack." + stop + argument 1 is "error": + message "&cThis hat is not available to you." + stop + argument 1 is "dirt": + set {_hat} to dirt + argument 1 is "beta": + player has permission "obam.beta.hat": + set {_hat} to iron pressure plate + argument 1 is "quartz": + player has permission "obam.supporter": + set {_hat} to quartz block + argument 1 is "cactus": + {db_purchase.cactus.%uuid of player%} is true: + set {_hat} to cactus + player has permission "obam.smod": + set {_hat} to cactus + send "&aYou now have a hat :D" to player + name of player's helmet is "hat": + set player's helmet to {_hat} + set name of player's helmet to "hat" + stop + player doesn't have space for player's helmet: + send "&cYour inventory is full :(" to player + stop + give player's helmet to player + set player's helmet to {_hat} + set name of player's helmet to "hat" + +command /hatadd : + permission: obam.admin + trigger: + add arg 1 to {hat.items.list::*} + +command /hatshow: + permission: obam.admin + trigger: + loop {hat.items.list::*}: + send "%loop-value%" to player + +every 0.3 seconds: + loop all players: + loop-player has anything named "hat": + remove anything named "hat" from loop-player + send "&cWhy did you have a hat in your pocket?" to loop-player + +on drop: + name of event-item is "hat": + cancel event + +on place: + name of player's tool is "hat": + cancel event + +command /hattoggle: + permission: obam.mod + trigger: + {hat.off.%player%} is not set: + set {hat.off.%player%} to true + send "&aYou have turned off your hat" to player + stop + {hat.off.%player%} is false: + set {hat.off.%player%} to true + send "&aYou have turned off your hat" to player + stop + {hat.off.%player%} is true: + set {hat.off.%player%} to false + send "&aYou have turned on your hat" to player + stop + +#staff hats constant +every 1 second: + loop all players: + set {_bypass} to false + {hat.off.%loop-player%} is true: + set {_bypass} to true + {_bypass} is false: + loop-player is "ISMOOCH": + set loop-player's helmet to command block named "&d&lSmooch's Sassy Hat" + loop-player is "Electric_Hamster": + set loop-player's helmet to sponge named "&b&lThe Hamster Hat" \ No newline at end of file diff --git a/Obam-Perks/Finished and placed/hitsounds.g.sk b/Obam-Perks/Finished and placed/hitsounds.g.sk new file mode 100644 index 0000000..f38632f --- /dev/null +++ b/Obam-Perks/Finished and placed/hitsounds.g.sk @@ -0,0 +1,336 @@ +on script load: + delete {db_perk.hit.class::*} + delete {db_perk.hit.hand::*} + delete {db_perk.hit.sword::*} + delete {db_perk.hit.axe::*} + delete {db_perk.hit.pickaxe::*} + delete {db_perk.hit.bow::*} + delete {db_perk.hit.rod::*} + + set {db_perk.hit.class::01.hand} to "stone button;&3Punch Sounds;&6Click to modify the sound you make when you||&6attack with your fists.;sudo PLAYER hitmenuchange hand;&6Click to modify the sound you make when you||&6attack with your fists.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::02.sword} to "iron sword;&3Sword Sounds;&6Click to modify the sound you make when you||&6attack with a sword.;sudo PLAYER hitmenuchange sword;&6Click to modify the sound you make when you||&6attack with a sword.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::03.axe} to "iron axe;&3Axe Sounds;&6Click to modify the sound you make when you||&6attack with an axe.;sudo PLAYER hitmenuchange axe;&6Click to modify the sound you make when you||&6attack with an axe.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::04.pickaxe} to "iron pickaxe;&3Pickaxe Sounds;&6Click to modify the sound you make when you||&6attack with a pickaxe.;sudo PLAYER hitmenuchange pickaxe;&6Click to modify the sound you make when you||&6attack with a pickaxe.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::05.bow} to "bow;&3Bow Sounds;&6Click to modify the sound you make when you||&6attack with a bow.;sudo PLAYER hitmenuchange bow;&6Click to modify the sound you make when you||&6attack with a bow.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::06.rod} to "fishing rod;&3Fishing Rod Sounds;&6Click to modify the sound you make when you||&6attack with a fishing rod.;sudo PLAYER hitmenuchange rod;&6Click to modify the sound you make when you||&6attack with a fishing rod.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::07.air} to "air" + set {db_perk.hit.class::08.air} to "air" + set {db_perk.hit.class::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your player.;sudo PLAYER hitsoundclear PLAYER" + + set {db_perk.hit.hand::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound hand note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound hand arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound hand anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound hand chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound hand click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound hand level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound hand villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::08.air} to "air" + set {db_perk.hit.hand::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound hand clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + + set {db_perk.hit.sword::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound sword note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound sword arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound sword anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound sword chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound sword click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound sword level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound sword villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::08.air} to "air" + set {db_perk.hit.sword::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound sword clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + + set {db_perk.hit.axe::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound axe note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound axe arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound axe anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound axe chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound axe click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound axe level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound axe villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::08.air} to "air" + set {db_perk.hit.axe::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound axe clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + + set {db_perk.hit.pickaxe::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound pickaxe note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound pickaxe arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound pickaxe anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound pickaxe chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound pickaxe click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound pickaxe level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound pickaxe villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::08.air} to "air" + set {db_perk.hit.pickaxe::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound pickaxe clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + + set {db_perk.hit.bow::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound bow note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound bow arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound bow anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound bow chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound bow click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound bow level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound bow villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::08.air} to "air" + set {db_perk.hit.bow::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound bow clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + + set {db_perk.hit.rod::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound rod note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound rod arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound rod anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound rod chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound rod click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound rod level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound rod villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::08.air} to "air" + set {db_perk.hit.rod::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound rod clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + +command /hitclassmenu: + trigger: + loop {db_perk.hit.class::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHit Sound Classes" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.hit.class::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.hand": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.sword": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.axe": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.pickaxe": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.bow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.rod": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /hitmenuchange []: + trigger: + argument 1 is set: + send "&aBringing up menu..." + wait 0.5 seconds + make player execute command "/hitmenu %argument 1%" + +command /hitmenu []: + trigger: + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hit Menu." + stop + argument 1 is "error": + message "&cThis hit class is not available to you." + stop + set {_type} to argument 1 + loop {db_perk.hit.%{_type}%::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHit Sound Classes" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.hit.%{_type}%::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.note": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.arrow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.anvil": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.chest": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.click": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.level": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "07.villager": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "08.clear": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + set {_thing1} to loop-index parsed as text + set {_thing2::*} to {_thing1} split at "." + set {_slot} to {_thing2::1} parsed as an integer + set {_slot} to {_slot} - 1 + format slot {_slot} of player with {_what} to be unstealable + format slot {_slot} of player with {_what} to close then run {_command} + +command /hitsound [] []: + trigger: + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hit Menu." + stop + argument 2 is "error": + message "&cThis hit sound is not available to you." + stop + set {_what} to argument 1 + set {_sound} to argument 2 + argument 2 is "clear": + clear {hit.%{_what}%.%player%} + send "&aAttack sounds cleared!" + stop + set {hit.%{_what}%.%player%} to "%{_sound}%" + send "&aAttack sound set to &e%{_sound}%!" + +on damage: + {hit.%attacker%} is set: + delete {hit.%attacker%} + attacker's tool is air: + set {_what} to "hand" + attacker's tool is a sword: + set {_what} to "sword" + attacker's tool is an axe: + set {_what} to "axe" + attacker's tool is a pickaxe: + set {_what} to "pickaxe" + attacker's tool is a bow: + set {_what} to "bow" + attacker's tool is a fishing rod: + set {_what} to "rod" + {hit.%{_what}%.%attacker%} is set: + {hit.%{_what}%.%attacker%} is "note": + chance of 14%: + play note bass at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 16%: + play note piano at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 20%: + play note bass drum at location of attacker with pitch 1 + set {_play} to true + chance of 25%: + play note sticks at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 33%: + play note bass guitar at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play note snare drum at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play note pling at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "arrow": + chance of 50%: + play shoot arrow at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play arrow hit at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "chest": + chance of 50%: + play chest close at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play chest close at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "anvil": + chance of 33%: + play anvil break at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play anvil land at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play anvil use at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "click": + play click at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "level": + chance of 50%: + play level up at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play orb pickup at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "villager": + chance of 16%: + play villager yes at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 20%: + play villager no at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 25%: + play villager death at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 33%: + play villager haggle at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play villager idle at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play villager hit at location of attacker with pitch 1 + +command /hitsoundclear : + trigger: + delete {hit.hand.%argument 1%} + delete {hit.sword.%argument 1%} + delete {hit.axe.%argument 1%} + delete {hit.pickaxe.%argument 1%} + delete {hit.bow.%argument 1%} + delete {hit.rod.%argument 1%} + message "&2All of your hit sounds have been cleared." \ No newline at end of file diff --git a/Obam-Perks/Finished and placed/otam.g.sk b/Obam-Perks/Finished and placed/otam.g.sk new file mode 100644 index 0000000..1480de2 --- /dev/null +++ b/Obam-Perks/Finished and placed/otam.g.sk @@ -0,0 +1,142 @@ +every 1 second: + + set {_hold} to now + + {db_time.extend.tam} is less than now: + + clear {db_tam.bonus} + set {db_current.bonus} to false + clear {db_time.extend.tam} + clear {alert.tam.lastminute} + broadcast "&3&l۝TAM: &dTAM Bonus has Ended!" + execute console command "crossmessage &3&l۝TAM: &dTAM Bonus has Ended!" + + set {_diff} to difference between {db_time.extend.tam} and now + + {_diff} is less than 15 minutes: + + {alert.tam.lastminute} is not set: + set {alert.tam.lastminute} to true + + broadcast "&3&l۝TAM: &dLess than 15 minutes remaining of TAM Bonus at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &dLess than 15 minutes remaining of TAM Bonus at &e%{db_tam.bonus}%&d!" + + +command /tamextended : + permission: obam.admin + trigger: + + {db_time.extend.tam} is not set: + set {db_time.extend.tam} to now + {db_tamstats.time.%argument 2%} is not set: + set {db_tamstats.time.%argument 2%} to 0 + + #Not meant to be a real option.. just for debugging + arg 1 is 5: + + add 5 minutes to {db_time.extend.tam} + add 5 to {db_tamstats.time.%argument 2%} + + arg 1 is 30: + + add 30 minutes to {db_time.extend.tam} + add 30 to {db_tamstats.time.%argument 2%} + + arg 1 is 60: + + add 1 hour to {db_time.extend.tam} + add 60 to {db_tamstats.time.%argument 2%} + + arg 1 is 90: + + add 90 minutes to {db_time.extend.tam} + add 90 to {db_tamstats.time.%argument 2%} + + arg 1 is 120: + + add 2 hours to {db_time.extend.tam} + add 120 to {db_tamstats.time.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e%argument 1% Minutes&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e%argument 1% Minutes&d!" + + set {_diff} to difference between {db_time.extend.tam} and now + + broadcast "&3&l۝TAM: &e%{_diff}% &dremaining!" + execute console command "crossmessage &3&l۝TAM: &e%{_diff}% &dremaining!" + broadcast "&3&l۝TAM: &dUse &e/tam &dfor more details!" + execute console command "crossmessage &3&l۝TAM: &dUse &e/tam &dfor more details!" + clear {alert.tam.lastminute} + + set {db_current.bonus} to true + {db_tam.bonus} is not set: + + set {db_tam.bonus} to 0.1 + + {db_tamstats.bonus.%argument 2%} is not set: + set {db_tamstats.bonus.%argument 2%} to 0 + + add 0.1 to {db_tamstats.bonus.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e0.1&d!" + broadcast "&3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d! " + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by 0.1! The TAM Bonus is now at &e%{db_tam.bonus}%&d! " + execute console command "crossmessage &3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d! " + +command /tambonus : + permission: obam.admin + trigger: + + {db_tamstats.bonus.%argument 2%} is not set: + set {db_tamstats.bonus.%argument 2%} to 0 + + {db_tam.bonus} is not set: + set {db_tam.bonus} to 0 + + add argument 1 to {db_tam.bonus} + add argument 1 to {db_tamstats.bonus.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e%argument 1%&d!" + broadcast "&3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e%argument 1%&d! The TAM Bonus is now at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d!" + + + {db_time.extend.tam} is not set: + set {db_time.extend.tam} to now + + {db_tamstats.time.%argument 2%} is not set: + set {db_tamstats.time.%argument 2%} to 0 + + add 60 to {db_tamstats.time.%argument 2%} + + add 1 hour to {db_time.extend.tam} + clear {alert.tam.lastminute} + broadcast "&3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e60 Minutes&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e60 Minutes&d!" + + set {_diff} to difference between {db_time.extend.tam} and now + + broadcast "&3&l۝TAM: &e%{_diff}% &dremaining!" + execute console command "crossmessage &3&l۝TAM: &e%{_diff}% &dremaining!" + broadcast "&3&l۝TAM: &dUse &e/tam &dfor more details!" + execute console command "crossmessage &3&l۝TAM: &dUse &e/tam &dfor more details!" + + + + +# Debugging Clear command +command /tambonusclear: + permission: obam.admin + trigger: + + clear {db_tam.bonus} + set {db_current.bonus} to false + clear {db_time.extend.tam} + clear {alert.tam.lastminute} + + send "&3&l۝TAM: &dTAM Bonus Cleared" to console + send "&3&l۝TAM: &dTAM Bonus Cleared" + + + \ No newline at end of file diff --git a/Obam-Perks/Finished and placed/perks.g.sk b/Obam-Perks/Finished and placed/perks.g.sk new file mode 100644 index 0000000..112c44a --- /dev/null +++ b/Obam-Perks/Finished and placed/perks.g.sk @@ -0,0 +1,101 @@ +on script load: + delete {db_perk.main::*} + set {db_perk.main::01.hats} to "iron pressure plate;&3Hat Rack;&6Gives you access to your virtual Hat Rack.;sudo PLAYER obam hatmenu" + set {db_perk.main::02.pets} to "lead;&3Pet Stable;&6Opens up your Pet Stable to summon your pets.;sudo PLAYER obam petmenu" + set {db_perk.main::03.trails} to "arrow;&3Trails Menu;&6Opens up your Projectile Trails Menu.;sudo PLAYER obam trailmenu" + set {db_perk.main::04.splash} to "cobweb;&3Splash Menu;&6Opens up your Splash Menu.;sudo PLAYER obam splashmenu" + set {db_perk.main::05.hit} to "jukebox;&3Hit Sound Menu;&6Opens up your Hit Sound Menu.;sudo PLAYER obam hitclassmenu" + set {db_perk.main::06.horse} to "horse spawn egg;&3Horse Changer Upper;&6Want to Skellify of Zombify your ride?;sudo PLAYER obam horsemenu" + set {db_perk.main::07.blank} to "air" + set {db_perk.main::08.shop} to "emerald;&3Shop;&6Opens up the Shop Menu.;sudo PLAYER obam shop" + set {db_perk.main::09.ci} to "command block;&3Custom Items Menu;&6Opens the Custom Item menu to access items.;sudo PLAYER obam ci" + +command /obam []: + permission: obam.free + trigger: + argument 1 is not set: + loop {db_perk.main::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lOBAM Perks and Shop Menu" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.main::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "07.ci": + player does not have permission "obam.smod": + clear {_what} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + loop-index is "07.ci": + player does not have permission "obam.smod": + clear {_what} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + argument 1 is set: +# argument 1 is "hatmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop + argument 1 is "petmenu": + "%player's world%" is "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "cart": + message "&cYou can not use that here." + stop +# argument 1 is "trailmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop +# argument 1 is "splashmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop +# argument 1 is "hitclassmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop + argument 1 is "horsemenu": + "%player's world%" is "Death-hub", "skyworld", "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "taco": + message "&cYou can not use that here." + stop + argument 1 is "shop": + "%player's world%" is "Death-hub", "skyworld", "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "taco": + message "&cYou can not use that here." + stop + argument 1 is "ci": + "%player's world%" is "Death-hub", "skyworld", "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "taco": + message "&cYou can not use that here." + stop + send "&aBringing up menu..." + wait 0.5 seconds + make player execute command "/%argument 1%" + +command /sudo : + permission: obam.admin + trigger: + make argument 1 execute argument 2 \ No newline at end of file diff --git a/Obam-Perks/pets.sk b/Obam-Perks/Finished and placed/pets.g.sk similarity index 58% rename from Obam-Perks/pets.sk rename to Obam-Perks/Finished and placed/pets.g.sk index 7089e8f..1833dcf 100644 --- a/Obam-Perks/pets.sk +++ b/Obam-Perks/Finished and placed/pets.g.sk @@ -1,25 +1,14 @@ on script load: - set {db_perk.pets::01.ismooch} to "i;sheep spawn egg;n;&3iSmooch;l;&6The sassiest sheep in all the lands!;c;sudo PLAYER pet ismooch" - set {db_perk.pets::02.bruswain} to "check" - set {db_perk.pets::02.bruswain::bruswain} to "i;bat spawn egg;n;&3BruSwain;l;&6This lovable bat lost his parents at a||&6young age. Thank you for taking care||&6of him!;c;sudo PLAYER pet bruswain" - set {db_perk.pets::02.bruswain::error} to "i;bat spawn egg;n;&3BruSwain;l;&6This lovable bat lost his parents at a||&6young age. Thank you for taking care||&6of him!|| ||&cThis pet is only available to our Beta Supporters.;c;sudo PLAYER pet error" - set {db_perk.pets::03.sparky} to "check" - set {db_perk.pets::03.sparky::sparky} to "i;creeper spawn egg;n;&3Sparky;l;&6While this creeper appears to have a||&6dangerously electrifying personality, we||&6promise he’s completely safe!;c;sudo PLAYER pet sparky" - set {db_perk.pets::03.sparky::error} to "i;creeper spawn egg;n;&3Sparky;l;&6While this creeper appears to have a||&6dangerously electrifying personality, we||&6promise he’s completely safe!|| ||&cThis pet is only available to our Supporters.;c;sudo PLAYER pet error" - set {db_perk.pets::04.bacon} to "check" - set {db_perk.pets::04.bacon::bacon} to "i;pig spawn egg;n;&3Bacon;l;&6Rescued from the final stages of the||&6slaughter house, this pig is extremely||&6grateful for your love and kindness!;c;sudo PLAYER pet bacon" - set {db_perk.pets::04.bacon::error} to "i;pig spawn egg;n;&3Bacon;l;&6Rescued from the final stages of the||&6slaughter house, this pig is extremely||&6grateful for your love and kindness!|| ||&cThis pet must be purchased from the OBAMCraft shop.|| ||&eUse &f/buy &ein the hub purchase &3Bacon|| ||&ePrice: &a$5.00;c;sudo PLAYER pet error" - set {db_perk.pets::05.blank} to "i;air" - set {db_perk.pets::06.blank} to "i;air" - set {db_perk.pets::07.lead} to "i;lead;n;&3Leash;l;&6Pets getting out of control? Click this||&6to attach a lead to all of your||&6summoned pets!;c;sudo PLAYER pet lead" - set {db_perk.pets::08.blank} to "i;air" - set {db_perk.pets::09.clear} to "i;fire;n;&3Clear;l;&6Click to clear all summoned pets!;c;sudo PLAYER pet clear" - -command /cleardbpets: - permission: obam.admin - trigger: - delete {db_perk.pets::*} - message "You just cleared all the pet variables, please reload the script pets.sk" + delete {db_perk.pets::*} + set {db_perk.pets::01.ismooch} to "sheep spawn egg;&3iSmooch;&6The sassiest sheep in all the lands!;sudo PLAYER pet ismooch" + set {db_perk.pets::02.bruswain} to "bat spawn egg;&3BruSwain;&6This lovable bat lost his parents at a||&6young age. Thank you for taking care||&6of him!;sudo PLAYER pet bruswain;bat spawn egg;&3BruSwai&6This lovable bat lost his parents at a||&6young age. Thank you for taking care||&6of him!|| ||&cThis pet is only available to our Beta Supporters.;sudo PLAYER pet error" + set {db_perk.pets::03.sparky} to "creeper spawn egg;&3Sparky;&6While this creeper appears to have a||&6dangerously electrifying personality, we||&6promise he’s completely safe!;sudo PLAYER pet sparky;creeper spawn egg;&3Sparky;&6While this creeper appears to have a||&6dangerously electrifying personality, we||&6promise he’s completely safe!|| ||&cThis pet is only available to our Supporters.;sudo PLAYER pet error" + set {db_perk.pets::04.bacon} to "pig spawn egg;&3Bacon;&6Rescued from the final stages of the||&6slaughter house, this pig is extremely||&6grateful for your love and kindness!;sudo PLAYER pet bacon;pig spawn egg;&3Baco&6Rescued from the final stages of the||&6slaughter house, this pig is extremely||&6grateful for your love and kindness!|| ||&cThis pet must be purchased from the OBAMCraft shop.|| ||&eUse &f/buy &ein the hub purchase &3Bacon|| ||&ePrice: &a$5.00;sudo PLAYER pet error" + set {db_perk.pets::05.blank} to "air" + set {db_perk.pets::06.blank} to "air" + set {db_perk.pets::07.lead} to "lead;&3Leash;&6Pets getting out of control? Click this||&6to attach a lead to all of your||&6summoned pets!;sudo PLAYER pet lead" + set {db_perk.pets::08.blank} to "air" + set {db_perk.pets::09.clear} to "fire;&3Clear;&6Click to clear all summoned pets!;sudo PLAYER pet clear" command /petmenu: trigger: @@ -27,26 +16,6 @@ command /petmenu: {_count} is not set: set {_count} to 0 add 1 to {_count} - set {_what} to loop-value - loop-index is "02.bruswain": - set {_what} to {db_perk.pets::02.bruswain::error} - player has permission "obam.beta.hat": - set {_what} to {db_perk.pets::02.bruswain::bruswain} - loop-index is "03.sparky": - set {_what} to {db_perk.pets::03.sparky::error} - player has permission "obam.supporter": - set {_what} to {db_perk.pets::03.sparky::sparky} - loop-index is "04.bacon": - set {_what} to {db_perk.pets::04.bacon::error} - {db_purchase.bacon.%player%} is true: - set {_what} to {db_perk.pets::04.bacon::bacon} - player has permission "obam.smod": - set {_what} to {db_perk.pets::04.bacon::bacon} - {_chest} is set: - set {_chest} to "%{_chest}%;s;%{_count}%;%{_what}%" - {_chest} is not set: - set {_chest} to "s;%{_count}%;%{_what}%" - replace "PLAYER" in {_chest} with "%player%" {_count} is less than 10: set {_size} to 1 {_count} is greater than 9: @@ -55,18 +24,46 @@ command /petmenu: set {_size} to 3 {_count} is greater than 27: set {_size} to 4 - show "%{_chest}%" with {_size} row named "&9&lPet Stable" to player + show chest with {_size} row named "&9&lPet Stable" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.pets::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "02.bruswain": + player does not have permission "obam.beta.hat": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.sparky": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.bacon": + {db_purchase.bacon.%uuid of player%} is not set: + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} every 1 second: loop all entities: loop-entity is sheep or bat or powered creeper or pig: name of loop-entity is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon": - spawn 4 of heart data 1 offset with 1, 1, 1 at location of loop-entity + spawn 4 particle heart offset by 1, 1, 1 at location of loop-entity {owner.%loop-entity%} is not set: kill loop-entity distance between location of loop-entity and location of {owner.%loop-entity%} is greater than 20: teleport loop-entity to location of {owner.%loop-entity%} - + on damage of sheep or bat or powered creeper or pig: name of victim is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon": cancel event @@ -141,7 +138,7 @@ command /pet []: stop send "&cYou must be a supporter to do this!" to player argument is "bacon": - {db_purchase.bacon.%player%} is true: + {db_purchase.bacon.%uuid of player%} is true: spawn pig at location of player set name of spawned pig to "&aBacon" make player leash spawned pig diff --git a/Obam-Perks/Finished and placed/purchase.sk b/Obam-Perks/Finished and placed/purchase.sk new file mode 100644 index 0000000..4193ca4 --- /dev/null +++ b/Obam-Perks/Finished and placed/purchase.sk @@ -0,0 +1,15 @@ +command /buycraftpurchase : + permission: obam.admin + trigger: + set {_name} to argument 2 parsed as a player + set {_who} to {db_name.%{_name}%} + set {db_purchase.%argument 1%.%argument 2%} to true + send "%Argument 2% has purchased %Argument 1%" to console + +on login: + {db_purchase.bacon.%player%} is set: + set {db_purchase.bacon.%uuid of player%} to {db_purchase.bacon.%player%} + delete {db_purchase.bacon.%player%} + {db_purchase.cactus.%player%} is set: + set {db_purchase.cactus.%uuid of player%} to {db_purchase.cactus.%player%} + delete {db_purchase.cactus.%player%} \ No newline at end of file diff --git a/Obam-Perks/Finished and placed/splash.g.sk b/Obam-Perks/Finished and placed/splash.g.sk new file mode 100644 index 0000000..c587a4c --- /dev/null +++ b/Obam-Perks/Finished and placed/splash.g.sk @@ -0,0 +1,214 @@ +on script load: + delete {db_perk.splash::*} + set {db_perk.splash::01.heart} to "red dye;&3Heart Particles;&6Click to enable a heart splash!;sudo PLAYER splash heart;red dye;&3Heart Particles;&6Click to enable a heart splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::02.flame} to "fire;&3Flame Particles;&6Click to enable a flame splash!;sudo PLAYER splash flame;fire;&3Flame Particles;&6Click to enable a flame splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::03.reddust} to "magma cream;&3Unstable Gas Particles;&6Click to enable an unstable gas splash!;sudo PLAYER splash reddust;magma cream;&3Unstable Gas Particles;&6Click to enable an unstable gas splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::04.smoke} to "charcoal;&3Dark Smoke Particles;&6Click to enable a dark smoke splash!;sudo PLAYER splash smoke;charcoal;&3Dark Smoke Particles;&6Click to enable a dark smoke splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::05.waterdrip} to "water;&3Water Drip Particles;&6Click to enable a water drip splash!;sudo PLAYER splash waterdrip;water;&3Water Drip Particles;&6Click to enable a water drip splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::06.lavadrip} to "lava;&3Lava Drip Particles;&6Click to enable a lava drip splash!;sudo PLAYER splash lavadrip;lava;&3Lava Drip Particles;&6Click to enable a lava drip splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::07.slime} to "slimeball;&3Slime Particles;&6Click to enable a slime splash!;sudo PLAYER splash slime;slimeball;&3Slime Particles;&6Click to enable a slime splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::08.note} to "jukebox;&3Music Notes Particles;&6Click to enable a music note splash!;sudo PLAYER splash note;jukebox;&3Music Notes Particles;&6Click to enable a music note splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::09.happy} to "villager spawn egg;&3Villager Particles “Happy”;&6Click to enable a happy villager splash!;sudo PLAYER splash happy;villager spawn egg;&3Villager Particles “Happy”;&6Click to enable a happy villager splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::10.angry} to "villager spawn egg;&3Villager Particles “Angry”;&6Click to enable a angry villager splash!;sudo PLAYER splash angry;villager spawn egg;&3Villager Particles “Angry”;&6Click to enable a angry villager splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::11.explode} to "tnt;&3Explosion Smoke Particles;&6Click to enable a explosion smoke splash!;sudo PLAYER splash explode;tnt;&3Explosion Smoke Particles;&6Click to enable a explosion smoke splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::12.snow} to "snow block;&3Snowflake Particles;&6Click to enable a snowflake splash!;sudo PLAYER splash snow;snow block;&3Snowflake Particles;&6Click to enable a snowflake splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::13.portal} to "nether portal;&3Nether Portal Particles;&6Click to enable a nether portal splash!;sudo PLAYER splash portal;nether portal;&3Nether Portal Particles;&6Click to enable a nether portal splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::14.cloud} to "bonemeal;&3Cloud Particles;&6Click to enable a cloud splash!;sudo PLAYER splash cloud;bonemeal;&3Cloud Particles;&6Click to enable a cloud splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::15.bubble} to "water bottle;&3Bubble Particles;&6Click to enable a bubble splash!;sudo PLAYER splash bubble;water bottle;&3Bubble Particles;&6Click to enable a bubble splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::16.blank} to "air" + set {db_perk.splash::17.blank} to "air" + set {db_perk.splash::18.clear} to "glass;&3Clear Particles;&6Click to clear your splash!;sudo PLAYER splash clear;glass;&3Clear Particles;&6Click to clear your splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + +command /splashmenu: + trigger: + loop {db_perk.splash::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lSplash Menu" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.splash::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.heart": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.flame": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.reddust": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.smoke": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.waterdrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.lavadrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "07.slime": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "08.note": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "09.happy": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "10.angry": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "11.explode": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "12.snow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "13.portal": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "14.cloud": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "15.bubble": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "16.clear": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /splash []: + trigger: + argument is not set: + message "&cPlease use &7/OBAM &cto access the Splash Menu." + stop + argument is "error": + message "&cThis splash is not available to you." + stop + player has permission "obam.supporter": + argument is "heart": + set {splash.%player%} to "heart" + send "&aYou have enabled a &eHeart Splash&a!" + argument is "flame": + set {splash.%player%} to "flame" + send "&aYou have enabled a &eFlame Splash&a!" + argument is "reddust": + set {splash.%player%} to "reddust" + send "&aYou have enabled an &eUnstable Gas Splash&a!" + argument is "smoke": + set {splash.%player%} to "smoke" + send "&aYou have enabled a &eDark Smoke Splash&a!" + argument is "waterdrip": + set {splash.%player%} to "waterdrip" + send "&aYou have enabled a &eWater Drip Splash&a!" + argument is "lavadrip": + set {splash.%player%} to "lavadrip" + send "&aYou have enabled a &eLava Drip Splash&a!" + argument is "slime": + set {splash.%player%} to "slime" + send "&aYou have enabled a &eSlime Splash&a!" + argument is "note": + set {splash.%player%} to "note" + send "&aYou have enabled a &eMusic Note Splash&a!" + argument is "happy": + set {splash.%player%} to "happy" + send "&aYou have enabled a &eHappy Villager Splash&a!" + argument is "angry": + set {splash.%player%} to "angry" + send "&aYou have enabled an &eAngry Villager Splash&a!" + argument is "explode": + set {splash.%player%} to "explode" + send "&aYou have enabled an &eExplosion Smoke Splash&a!" + argument is "snow": + set {splash.%player%} to "snow" + send "&aYou have enabled a &eSnowflake Splash&a!" + argument is "bubble": + set {splash.%player%} to "bubble" + send "&aYou have enabled a &eBubble Splash&a!" + argument is "portal": + set {splash.%player%} to "portal" + send "&aYou have enabled a &eNether Portal Splash&a!" + argument is "cloud": + set {splash.%player%} to "cloud" + send "&aYou have enabled a &eCloud Splash&a!" + argument is "clear": + clear {splash.%player%} + send "&aYou have disabled your splash!" + +every 5 seconds: + loop all players: + clear {_amt} + loop-player is not sneaking + loop-player is sprinting: + set {_amt} to 100 + {_amt} is not set: + set {_amt} to 50 + {splash.%loop-player%} is set: + {splash.%loop-player%} is "bubble": + spawn 500 particle bubble offset by 2, 2, 2 at location of loop-player + {splash.%loop-player%} is "cloud": + spawn {_amt} particle cloud offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "heart": + spawn {_amt} particle heart offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "flame": + spawn {_amt} particle flame offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "reddust": + spawn {_amt} particle red dust offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "smoke": + spawn {_amt} particle large smoke offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "note": + spawn {_amt} particle note offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "lavadrip": + spawn {_amt} particle drip lava offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "waterdrip": + spawn {_amt} particle drip water offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "slime": + spawn {_amt} particle slime offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "happy": + spawn {_amt} particle happy villager offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "angry": + spawn {_amt} particle angry villager offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "explode": + spawn {_amt} particle large explode offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "snow": + spawn {_amt} particle snow shovel offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "portal": + spawn {_amt} particle portal offset by 1, 1, 1 at location of loop-player \ No newline at end of file diff --git a/Obam-Perks/Finished and placed/suphorse.g.sk b/Obam-Perks/Finished and placed/suphorse.g.sk new file mode 100644 index 0000000..da5685c --- /dev/null +++ b/Obam-Perks/Finished and placed/suphorse.g.sk @@ -0,0 +1,70 @@ +on script load: + delete {db_perk.suphorse::*} + set {db_perk.suphorse::01.zombify} to "zombie spawn egg;&3Zombify your ride!;&6Feel like roaming the plains on your Zombified Horse?;sudo PLAYER suphorse zombify;zombie spawn egg;&3Zombify your ride!;&6Feel like roaming the plains on your Zombified Horse?|| ||&cThis ability is only available to our Supporters.;sudo PLAYER suphorse error" + set {db_perk.suphorse::02.skellify} to "skeleton spawn egg;&3Skellify your ride!;&6Feel like roaming the deserts on your Skellified Horse?;sudo PLAYER suphorse skellify;skeleton spawn egg;&3Skellify your ride!;&6Feel like roaming the deserts on your Skellified Horse?|| ||&cThis ability is only available to our Supporters.;sudo PLAYER suphorse error" + +command /horsemenu: + trigger: + loop {db_perk.suphorse::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHorse O' Matic" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.suphorse::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.zombify": + player does not have permission "obam.beta.hat": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.skellify": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /suphorse []: + trigger: + player is not riding: + send "&cYou must be riding a horse to do this!" + stop + player's vehicle is not a horse: + send "&cYou must be riding a horse to do this!" + stop + argument is not set: + message "&cPlease use &7/OBAM &cto access your modify your horse." + stop + argument is "error": + message "&cThis ability is not available to you." + stop + "%player's world%" is "world": + set {_y} to y-coordinate of player + set {_x} to x-coordinate of player + set {_z} to z-coordinate of player + argument is "zombify": + execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:3,Tame:1}" + argument is "skellify": + execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:4,Tame:1}" + delete player's vehicle + stop + message "&cThis can only be used in the Regular World." \ No newline at end of file diff --git a/Obam-Perks/tam.sk b/Obam-Perks/Finished and placed/tam.g.sk similarity index 55% rename from Obam-Perks/tam.sk rename to Obam-Perks/Finished and placed/tam.g.sk index 5550f3a..303d62b 100644 --- a/Obam-Perks/tam.sk +++ b/Obam-Perks/Finished and placed/tam.g.sk @@ -1,49 +1,52 @@ every 1 minute: - {db_tam.modifier} is not set: set {db_tam.modifier} to 1 - set {_add} to {db_tam.modifier} - + #OTAM Hook + {db_tam.bonus} is set: + add {db_tam.bonus} to {_add} loop all players: - - - - add {_add} to loop-player's balance - {session.tam.%loop-player%} is not set: set {session.tam.%loop-player%} to 0 add {_add} to {session.tam.%loop-player%} - - {db_total.tam.%loop-player%} is not set: - set {db_total.tam.%loop-player%} to 0 - add {_add} to {db_total.tam.%loop-player%} - + {db_total.tam.%uuid of loop-player%} is not set: + {db_total.tam.%loop-player%} is set: + set {db_total.tam.%uuid of loop-player%} to {db_total.tam.%loop-player%} + else: + set {db_total.tam.%uuid of loop-player%} to 0 + add {_add} to {db_total.tam.%uuid of loop-player%} {db_total.tam} is not set: set {db_total.tam} to 0 add {_add} to {db_total.tam} - {db_total.reg} is not set: set {db_total.reg} to 0 add {_add} to {db_total.reg} - - - command /tam: permission: obam.free trigger: - send "&aTotal Tickets earned with -TAM-:" - send "&e%{db_total.tam.%player%}%" + send "&e%{db_total.tam.%uuid of player%}%" send "&aTotal this session:" send "&e%{session.tam.%player%}%" send "&aTotal Tickets:" send "&e%player's balance%" - send "&aCurrent -TAM- Modifier:" - send "&e%{db_tam.modifier}%" - + #OTAM Hook + {db_tam.bonus} is not set: + send "&aCurrent -TAM- Modifier:" + send "&e%{db_tam.modifier}%" + #OTAM Hooks + {db_tam.bonus} is set: + send "&aCurrent -TAM- Modifier:" + send "&e%{db_tam.modifier}% &c&o+ %{db_tam.bonus}%" + send "&4Remaining -TAM- Bonus Time:" + set {_diff} to difference between {db_time.extend.tam} and now + send "&c%{_diff}%" + send "&4OTAM Time Contributions:" + send "&c%{db_tamstats.time.%uuid of player%}% minutes" + send "&4OTAM Bonus Contributions:" + send "&c%{db_tamstats.bonus.%uuid of player%}%" command /tamtotal: permission: obam.admin @@ -65,7 +68,4 @@ on join: command /tammodset : permission: obam.admin trigger: - set {db_tam.modifier} to argument - - \ No newline at end of file diff --git a/Obam-Perks/moneystuff.sk b/Obam-Perks/Finished and placed/tickets.g.sk similarity index 100% rename from Obam-Perks/moneystuff.sk rename to Obam-Perks/Finished and placed/tickets.g.sk diff --git a/Obam-Perks/Finished and placed/trails.g.sk b/Obam-Perks/Finished and placed/trails.g.sk new file mode 100644 index 0000000..a163ad8 --- /dev/null +++ b/Obam-Perks/Finished and placed/trails.g.sk @@ -0,0 +1,205 @@ +on script load: + delete {db_perk.trails::*} + set {db_perk.trails::01.heart} to "red dye;&3Heart Particles;&6Click to enable heart trails!;sudo PLAYER trails heart;red dye;&3Heart Particles;&6Click to enable heart trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::02.flame} to "fire;&3Flame Particles;&6Click to enable flame trails!;sudo PLAYER trails flame;fire;&3Flame Particles;&6Click to enable flame trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::03.reddust} to "magma cream;&3Unstable Gas Particles;&6Click to enablen unstable gas trails!;sudo PLAYER trails reddust;magma cream;&3Unstable Gas Particles;&6Click to enablen unstable gas trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::04.smoke} to "charcoal;&3Dark Smoke Particles;&6Click to enable dark smoke trails!;sudo PLAYER trails smoke;charcoal;&3Dark Smoke Particles;&6Click to enable dark smoke trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::05.waterdrip} to "water;&3Water Drip Particles;&6Click to enable water drip trails!;sudo PLAYER trails waterdrip;water;&3Water Drip Particles;&6Click to enable water drip trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::06.lavadrip} to "lava;&3Lava Drip Particles;&6Click to enable lava drip trails!;sudo PLAYER trails lavadrip;lava;&3Lava Drip Particles;&6Click to enable lava drip trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::07.slime} to "slimeball;&3Slime Particles;&6Click to enable slime trails!;sudo PLAYER trails slime;slimeball;&3Slime Particles;&6Click to enable slime trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::08.note} to "jukebox;&3Music Notes Particles;&6Click to enable music note trails!;sudo PLAYER trails note;jukebox;&3Music Notes Particles;&6Click to enable music note trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::09.happy} to "villager spawn egg;&3Villager Particles “Happy”;&6Click to enable happy villager trails!;sudo PLAYER trails happy;villager spawn egg;&3Villager Particles “Happy”;&6Click to enable happy villager trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::10.angry} to "villager spawn egg;&3Villager Particles “Angry”;&6Click to enable angry villager trails!;sudo PLAYER trails angry;villager spawn egg;&3Villager Particles “Angry”;&6Click to enable angry villager trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::11.explode} to "tnt;&3Explosion Smoke Particles;&6Click to enable explosion smoke trails!;sudo PLAYER trails explode;tnt;&3Explosion Smoke Particles;&6Click to enable explosion smoke trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::12.snow} to "snow block;&3Snowflake Particles;&6Click to enable snowflake trails!;sudo PLAYER trails snow;snow block;&3Snowflake Particles;&6Click to enable snowflake trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::13.portal} to "nether portal;&3Nether Portal Particles;&6Click to enable nether portal trails!;sudo PLAYER trails portal;nether portal;&3Nether Portal Particles;&6Click to enable nether portal trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::14.cloud} to "bonemeal;&3Cloud Particles;&6Click to enable cloud trails!;sudo PLAYER trails cloud;bonemeal;&3Cloud Particles;&6Click to enable cloud trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::15.blank} to "air" + set {db_perk.trails::16.blank} to "air" + set {db_perk.trails::17.blank} to "air" + set {db_perk.trails::18.clear} to "glass;&3Clear Particles;&6Click to clear your trails!;sudo PLAYER trails clear;glass;&3Clear Particles;&6Click to clear your trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + +command /trailmenu: + trigger: + loop {db_perk.trails::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lTrails Menu" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.trails::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.heart": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.flame": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.reddust": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.smoke": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.waterdrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.lavadrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "07.slime": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "08.note": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "09.happy": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "10.angry": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "11.explode": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "12.snow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "13.portal": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "14.cloud": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "15.bubble": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "16.clear": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /trails []: + trigger: + argument is not set: + message "&cPlease use &7/OBAM &cto access the Trails Menu." + stop + argument is "error": + message "&cThis trail is not available to you." + stop + player has permission "obam.supporter": + delete {trail.%player%} + argument is "heart": + set {trails.%player%} to "heart" + send "&aYou have enabled &eHeart trails&a!" + argument is "flame": + set {trails.%player%} to "flame" + send "&aYou have enabled &eFlame trails&a!" + argument is "reddust": + set {trails.%player%} to "reddust" + send "&aYou have enabled &eUnstable Gas trails&a!" + argument is "smoke": + set {trails.%player%} to "smoke" + send "&aYou have enabled &eDark Smoke trails&a!" + argument is "waterdrip": + set {trails.%player%} to "waterdrip" + send "&aYou have enabled &eWater Drip trails&a!" + argument is "lavadrip": + set {trails.%player%} to "lavadrip" + send "&aYou have enabled &eLava Drip trails&a!" + argument is "slime": + set {trails.%player%} to "slime" + send "&aYou have enabled &eSlime trails&a!" + argument is "note": + set {trails.%player%} to "note" + send "&aYou have enabled &eMusic Note trails&a!" + argument is "happy": + set {trails.%player%} to "happy" + send "&aYou have enabled &eHappy Villager trails&a!" + argument is "angry": + set {trails.%player%} to "angry" + send "&aYou have enabled &eAngry Villager trails&a!" + argument is "explode": + set {trails.%player%} to "explode" + send "&aYou have enabled &eExplosion Smoke trails&a!" + argument is "snow": + set {trails.%player%} to "snow" + send "&aYou have enabled &eSnowflake trails&a!" + argument is "portal": + set {trails.%player%} to "portal" + send "&aYou have enabled &eNether Portal trails&a!" + argument is "cloud": + set {trails.%player%} to "cloud" + send "&aYou have enabled &eCloud trails&a!" + argument is "clear": + clear {trails.%player%} + send "&aYou have disabled your trails!" + +on shoot: + {trails.%shooter%} is set: + {trails.%shooter%} is "heart": + trail projectile with particle heart + {trails.%shooter%} is "flame": + trail projectile with particle flame + {trails.%shooter%} is "reddust": + trail projectile with particle red dust + {trails.%shooter%} is "smoke": + trail projectile with particle large smoke + {trails.%shooter%} is "bubble": + trail projectile with particle bubble + {trails.%shooter%} is "note": + trail projectile with particle note + {trails.%shooter%} is "lavadrip": + trail projectile with particle drip lava + {trails.%shooter%} is "waterdrip": + trail projectile with particle drip water + {trails.%shooter%} is "slime": + trail projectile with particle slime + {trails.%shooter%} is "happy": + trail projectile with particle happy villager + {trails.%shooter%} is "angry": + trail projectile with particle angry villager + {trails.%shooter%} is "explode": + trail projectile with particle large explode + {trails.%shooter%} is "snow": + trail projectile with particle snow shovel + {trails.%shooter%} is "portal": + trail projectile with particle portal + {trails.%shooter%} is "cloud": + trail projectile with particle cloud diff --git a/Obam-Perks/Perks-Fronts/hitsounds.sk b/Obam-Perks/Perks-Fronts/hitsounds.sk deleted file mode 100644 index 75e4584..0000000 --- a/Obam-Perks/Perks-Fronts/hitsounds.sk +++ /dev/null @@ -1,444 +0,0 @@ -on script load: - set {db_perk.hit.class::01.hand} to "check" - set {db_perk.hit.class::01.hand::hand} to "i;stone button;n;&3Punch Sounds;l;&6Click to modify the sound you make when you||&6attack with your fists.;c;sudo PLAYER hitmenuchange hand" - set {db_perk.hit.class::01.hand::error} to "i;stone button;n;&3Punch Sounds;l;&6Click to modify the sound you make when you||&6attack with your fists.|| ||&cThis class is only available to our Supporters.;c;sudo PLAYER hitmenuchange error" - set {db_perk.hit.class::02.sword} to "check" - set {db_perk.hit.class::02.sword::sword} to "i;iron sword;n;&3Sword Sounds;l;&6Click to modify the sound you make when you||&6attack with a sword.;c;sudo PLAYER hitmenuchange sword" - set {db_perk.hit.class::02.sword::error} to "i;iron sword;n;&3Sword Sounds;l;&6Click to modify the sound you make when you||&6attack with a sword.|| ||&cThis class is only available to our Supporters.;c;sudo PLAYER hitmenuchange error" - set {db_perk.hit.class::03.axe} to "check" - set {db_perk.hit.class::03.axe::axe} to "i;iron axe;n;&3Axe Sounds;l;&6Click to modify the sound you make when you||&6attack with an axe.;c;sudo PLAYER hitmenuchange axe" - set {db_perk.hit.class::03.axe::error} to "i;iron axe;n;&3Axe Sounds;l;&6Click to modify the sound you make when you||&6attack with an axe.|| ||&cThis class is only available to our Supporters.;c;sudo PLAYER hitmenuchange error" - set {db_perk.hit.class::04.pickaxe} to "check" - set {db_perk.hit.class::04.pickaxe::pickaxe} to "i;iron pickaxe;n;&3Pickaxe Sounds;l;&6Click to modify the sound you make when you||&6attack with a pickaxe.;c;sudo PLAYER hitmenuchange pickaxe" - set {db_perk.hit.class::04.pickaxe::error} to "i;iron pickaxe;n;&3Pickaxe Sounds;l;&6Click to modify the sound you make when you||&6attack with a pickaxe.|| ||&cThis class is only available to our Supporters.;c;sudo PLAYER hitmenuchange error" - set {db_perk.hit.class::05.bow} to "check" - set {db_perk.hit.class::05.bow::bow} to "i;bow;n;&3Bow Sounds;l;&6Click to modify the sound you make when you||&6attack with a bow.;c;sudo PLAYER hitmenuchange bow" - set {db_perk.hit.class::05.bow::error} to "i;bow;n;&3Bow Sounds;l;&6Click to modify the sound you make when you||&6attack with a bow.|| ||&cThis class is only available to our Supporters.;c;sudo PLAYER hitmenuchange error" - set {db_perk.hit.class::06.rod} to "check" - set {db_perk.hit.class::06.rod::rod} to "i;fishing rod;n;&3Fishing Rod Sounds;l;&6Click to modify the sound you make when you||&6attack with a fishing rod.;c;sudo PLAYER hitmenuchange rod" - set {db_perk.hit.class::06.rod::error} to "i;fishing rod;n;&3Fishing Rod Sounds;l;&6Click to modify the sound you make when you||&6attack with a fishing rod.|| ||&cThis class is only available to our Supporters.;c;sudo PLAYER hitmenuchange error" - - set {db_perk.hit.hand::01.note} to "check" - set {db_perk.hit.hand::01.note::note} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.;c;sudo PLAYER hitsound hand note" - set {db_perk.hit.hand::01.note::error} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound hand error" - set {db_perk.hit.hand::02.arrow} to "check" - set {db_perk.hit.hand::02.arrow::arrow} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.;c;sudo PLAYER hitsound hand arrow" - set {db_perk.hit.hand::02.arrow::error} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound hand error" - set {db_perk.hit.hand::03.anvil} to "check" - set {db_perk.hit.hand::03.anvil::anvil} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.;c;sudo PLAYER hitsound hand anvil" - set {db_perk.hit.hand::03.anvil::error} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound hand error" - set {db_perk.hit.hand::04.chest} to "check" - set {db_perk.hit.hand::04.chest::chest} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.;c;sudo PLAYER hitsound hand chest" - set {db_perk.hit.hand::04.chest::error} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound hand error" - set {db_perk.hit.hand::05.click} to "check" - set {db_perk.hit.hand::05.click::click} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.;c;sudo PLAYER hitsound hand click" - set {db_perk.hit.hand::05.click::error} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound hand error" - set {db_perk.hit.hand::06.level} to "check" - set {db_perk.hit.hand::06.level::level} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.;c;sudo PLAYER hitsound hand level" - set {db_perk.hit.hand::06.level::error} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound hand error" - set {db_perk.hit.hand::07.villager} to "check" - set {db_perk.hit.hand::07.villager::villager} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.;c;sudo PLAYER hitsound hand villager" - set {db_perk.hit.hand::07.villager::error} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound hand error" - set {db_perk.hit.hand::08.clear} to "check" - set {db_perk.hit.hand::08.clear::clear} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.;c;sudo PLAYER hitsound hand clear" - set {db_perk.hit.hand::08.clear::error} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound hand error" - - set {db_perk.hit.sword::01.note} to "check" - set {db_perk.hit.sword::01.note::note} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.;c;sudo PLAYER hitsound sword note" - set {db_perk.hit.sword::01.note::error} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound sword error" - set {db_perk.hit.sword::02.arrow} to "check" - set {db_perk.hit.sword::02.arrow::arrow} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.;c;sudo PLAYER hitsound sword arrow" - set {db_perk.hit.sword::02.arrow::error} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound sword error" - set {db_perk.hit.sword::03.anvil} to "check" - set {db_perk.hit.sword::03.anvil::anvil} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.;c;sudo PLAYER hitsound sword anvil" - set {db_perk.hit.sword::03.anvil::error} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound sword error" - set {db_perk.hit.sword::04.chest} to "check" - set {db_perk.hit.sword::04.chest::chest} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.;c;sudo PLAYER hitsound sword chest" - set {db_perk.hit.sword::04.chest::error} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound sword error" - set {db_perk.hit.sword::05.click} to "check" - set {db_perk.hit.sword::05.click::click} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.;c;sudo PLAYER hitsound sword click" - set {db_perk.hit.sword::05.click::error} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound sword error" - set {db_perk.hit.sword::06.level} to "check" - set {db_perk.hit.sword::06.level::level} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.;c;sudo PLAYER hitsound sword level" - set {db_perk.hit.sword::06.level::error} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound sword error" - set {db_perk.hit.sword::07.villager} to "check" - set {db_perk.hit.sword::07.villager::villager} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.;c;sudo PLAYER hitsound sword villager" - set {db_perk.hit.sword::07.villager::error} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound sword error" - set {db_perk.hit.sword::08.clear} to "check" - set {db_perk.hit.sword::08.clear::clear} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.;c;sudo PLAYER hitsound sword clear" - set {db_perk.hit.sword::08.clear::error} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound sword error" - - set {db_perk.hit.axe::01.note} to "check" - set {db_perk.hit.axe::01.note::note} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.;c;sudo PLAYER hitsound axe note" - set {db_perk.hit.axe::01.note::error} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound axe error" - set {db_perk.hit.axe::02.arrow} to "check" - set {db_perk.hit.axe::02.arrow::arrow} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.;c;sudo PLAYER hitsound axe arrow" - set {db_perk.hit.axe::02.arrow::error} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound axe error" - set {db_perk.hit.axe::03.anvil} to "check" - set {db_perk.hit.axe::03.anvil::anvil} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.;c;sudo PLAYER hitsound axe anvil" - set {db_perk.hit.axe::03.anvil::error} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound axe error" - set {db_perk.hit.axe::04.chest} to "check" - set {db_perk.hit.axe::04.chest::chest} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.;c;sudo PLAYER hitsound axe chest" - set {db_perk.hit.axe::04.chest::error} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound axe error" - set {db_perk.hit.axe::05.click} to "check" - set {db_perk.hit.axe::05.click::click} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.;c;sudo PLAYER hitsound axe click" - set {db_perk.hit.axe::05.click::error} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound axe error" - set {db_perk.hit.axe::06.level} to "check" - set {db_perk.hit.axe::06.level::level} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.;c;sudo PLAYER hitsound axe level" - set {db_perk.hit.axe::06.level::error} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound axe error" - set {db_perk.hit.axe::07.villager} to "check" - set {db_perk.hit.axe::07.villager::villager} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.;c;sudo PLAYER hitsound axe villager" - set {db_perk.hit.axe::07.villager::error} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound axe error" - set {db_perk.hit.axe::08.clear} to "check" - set {db_perk.hit.axe::08.clear::clear} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.;c;sudo PLAYER hitsound axe clear" - set {db_perk.hit.axe::08.clear::error} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound axe error" - - set {db_perk.hit.pickaxe::01.note} to "check" - set {db_perk.hit.pickaxe::01.note::note} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.;c;sudo PLAYER hitsound pickaxe note" - set {db_perk.hit.pickaxe::01.note::error} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound pickaxe error" - set {db_perk.hit.pickaxe::02.arrow} to "check" - set {db_perk.hit.pickaxe::02.arrow::arrow} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.;c;sudo PLAYER hitsound pickaxe arrow" - set {db_perk.hit.pickaxe::02.arrow::error} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound pickaxe error" - set {db_perk.hit.pickaxe::03.anvil} to "check" - set {db_perk.hit.pickaxe::03.anvil::anvil} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.;c;sudo PLAYER hitsound pickaxe anvil" - set {db_perk.hit.pickaxe::03.anvil::error} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound pickaxe error" - set {db_perk.hit.pickaxe::04.chest} to "check" - set {db_perk.hit.pickaxe::04.chest::chest} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.;c;sudo PLAYER hitsound pickaxe chest" - set {db_perk.hit.pickaxe::04.chest::error} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound pickaxe error" - set {db_perk.hit.pickaxe::05.click} to "check" - set {db_perk.hit.pickaxe::05.click::click} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.;c;sudo PLAYER hitsound pickaxe click" - set {db_perk.hit.pickaxe::05.click::error} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound pickaxe error" - set {db_perk.hit.pickaxe::06.level} to "check" - set {db_perk.hit.pickaxe::06.level::level} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.;c;sudo PLAYER hitsound pickaxe level" - set {db_perk.hit.pickaxe::06.level::error} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound pickaxe error" - set {db_perk.hit.pickaxe::07.villager} to "check" - set {db_perk.hit.pickaxe::07.villager::villager} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.;c;sudo PLAYER hitsound pickaxe villager" - set {db_perk.hit.pickaxe::07.villager::error} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound pickaxe error" - set {db_perk.hit.pickaxe::08.clear} to "check" - set {db_perk.hit.pickaxe::08.clear::clear} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.;c;sudo PLAYER hitsound pickaxe clear" - set {db_perk.hit.pickaxe::08.clear::error} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound pickaxe error" - - set {db_perk.hit.bow::01.note} to "check" - set {db_perk.hit.bow::01.note::note} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.;c;sudo PLAYER hitsound bow note" - set {db_perk.hit.bow::01.note::error} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound bow error" - set {db_perk.hit.bow::02.arrow} to "check" - set {db_perk.hit.bow::02.arrow::arrow} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.;c;sudo PLAYER hitsound bow arrow" - set {db_perk.hit.bow::02.arrow::error} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound bow error" - set {db_perk.hit.bow::03.anvil} to "check" - set {db_perk.hit.bow::03.anvil::anvil} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.;c;sudo PLAYER hitsound bow anvil" - set {db_perk.hit.bow::03.anvil::error} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound bow error" - set {db_perk.hit.bow::04.chest} to "check" - set {db_perk.hit.bow::04.chest::chest} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.;c;sudo PLAYER hitsound bow chest" - set {db_perk.hit.bow::04.chest::error} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound bow error" - set {db_perk.hit.bow::05.click} to "check" - set {db_perk.hit.bow::05.click::click} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.;c;sudo PLAYER hitsound bow click" - set {db_perk.hit.bow::05.click::error} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound bow error" - set {db_perk.hit.bow::06.level} to "check" - set {db_perk.hit.bow::06.level::level} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.;c;sudo PLAYER hitsound bow level" - set {db_perk.hit.bow::06.level::error} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound bow error" - set {db_perk.hit.bow::07.villager} to "check" - set {db_perk.hit.bow::07.villager::villager} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.;c;sudo PLAYER hitsound bow villager" - set {db_perk.hit.bow::07.villager::error} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound bow error" - set {db_perk.hit.bow::08.clear} to "check" - set {db_perk.hit.bow::08.clear::clear} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.;c;sudo PLAYER hitsound bow clear" - set {db_perk.hit.bow::08.clear::error} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound bow error" - - set {db_perk.hit.rod::01.note} to "check" - set {db_perk.hit.rod::01.note::note} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.;c;sudo PLAYER hitsound rod note" - set {db_perk.hit.rod::01.note::error} to "i;jukebox;n;&3Note;l;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound rod error" - set {db_perk.hit.rod::02.arrow} to "check" - set {db_perk.hit.rod::02.arrow::arrow} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.;c;sudo PLAYER hitsound rod arrow" - set {db_perk.hit.rod::02.arrow::error} to "i;arrow;n;&3Arrow;l;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound rod error" - set {db_perk.hit.rod::03.anvil} to "check" - set {db_perk.hit.rod::03.anvil::anvil} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.;c;sudo PLAYER hitsound rod anvil" - set {db_perk.hit.rod::03.anvil::error} to "i;anvil;n;&3Anvil;l;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound rod error" - set {db_perk.hit.rod::04.chest} to "check" - set {db_perk.hit.rod::04.chest::chest} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.;c;sudo PLAYER hitsound rod chest" - set {db_perk.hit.rod::04.chest::error} to "i;chest;n;&3Chest;l;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound rod error" - set {db_perk.hit.rod::05.click} to "check" - set {db_perk.hit.rod::05.click::click} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.;c;sudo PLAYER hitsound rod click" - set {db_perk.hit.rod::05.click::error} to "i;wooden button;n;&3Click;l;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound rod error" - set {db_perk.hit.rod::06.level} to "check" - set {db_perk.hit.rod::06.level::level} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.;c;sudo PLAYER hitsound rod level" - set {db_perk.hit.rod::06.level::error} to "i;xp bottle;n;&3Level;l;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound rod error" - set {db_perk.hit.rod::07.villager} to "check" - set {db_perk.hit.rod::07.villager::villager} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.;c;sudo PLAYER hitsound rod villager" - set {db_perk.hit.rod::07.villager::error} to "i;villager spawn egg;n;&3Villager;l;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound rod error" - set {db_perk.hit.rod::08.clear} to "check" - set {db_perk.hit.rod::08.clear::clear} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.;c;sudo PLAYER hitsound rod clear" - set {db_perk.hit.rod::08.clear::error} to "i;glass;n;&3Clear;l;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;c;sudo PLAYER hitsound rod error" - -command /cleardbhit: - permission: obam.admin - trigger: - delete {db_perk.hit.class::*} - delete {db_perk.hit.hand::*} - delete {db_perk.hit.sword::*} - delete {db_perk.hit.axe::*} - delete {db_perk.hit.pickaxe::*} - delete {db_perk.hit.bow::*} - delete {db_perk.hit.rod::*} - message "You have cleared all hit flags, please reload hitsounds.sk to fix them." - -command /hitclassmenu: - trigger: - loop {db_perk.hit.class::*}: - {_count} is not set: - set {_count} to 0 - add 1 to {_count} - set {_what} to loop-value - loop-index is "01.hand": - set {_what} to {db_perk.hit.class::01.hand::hand} - player has permission "obam.supporter": - set {_what} to {db_perk.hit.class::01.hand::hand} - player has permission "obam.smod": - set {_what} to {db_perk.hit.class::01.hand::hand} - loop-index is "02.sword": - set {_what} to {db_perk.hit.class::02.sword::sword} - player has permission "obam.supporter": - set {_what} to {db_perk.hit.class::02.sword::sword} - player has permission "obam.smod": - set {_what} to {db_perk.hit.class::02.sword::sword} - loop-index is "03.axe": - set {_what} to {db_perk.hit.class::03.axe::axe} - player has permission "obam.supporter": - set {_what} to {db_perk.hit.class::03.axe::axe} - player has permission "obam.smod": - set {_what} to {db_perk.hit.class::03.axe::axe} - loop-index is "04.pickaxe": - set {_what} to {db_perk.hit.class::04.pickaxe::pickaxe} - player has permission "obam.supporter": - set {_what} to {db_perk.hit.class::04.pickaxe::pickaxe} - player has permission "obam.smod": - set {_what} to {db_perk.hit.class::04.pickaxe::pickaxe} - loop-index is "05.bow": - set {_what} to {db_perk.hit.class::05.bow::bow} - player has permission "obam.supporter": - set {_what} to {db_perk.hit.class::05.bow::bow} - player has permission "obam.smod": - set {_what} to {db_perk.hit.class::05.bow::bow} - loop-index is "06.rod": - set {_what} to {db_perk.hit.class::06.rod::rod} - player has permission "obam.supporter": - set {_what} to {db_perk.hit.class::06.rod::rod} - player has permission "obam.smod": - set {_what} to {db_perk.hit.class::06.rod::rod} - {_chest} is set: - set {_chest} to "%{_chest}%;s;%{_count}%;%{_what}%" - {_chest} is not set: - set {_chest} to "s;%{_count}%;%{_what}%" - replace "PLAYER" in {_chest} with "%player%" - {_count} is less than 10: - set {_size} to 1 - {_count} is greater than 9: - set {_size} to 2 - {_count} is greater than 18: - set {_size} to 3 - {_count} is greater than 27: - set {_size} to 4 - show "%{_chest}%" with {_size} row named "&9&lHit Sound Classes" to player - -command /hitmenuchange []: - trigger: - argument 1 is set: - send "&aBringing up menu..." - wait 0.5 seconds - make player execute command "/hitmenu %argument 1%" - -command /hitmenu []: - trigger: - argument 1 is not set: - message "&cPlease use &7/OBAM &cto access your Hit Menu." - stop - argument 1 is "error": - message "&cThis hit class is not available to you." - stop - set {_type} to argument 1 - loop {db_perk.hit.%{_type}%::*}: - {_count} is not set: - set {_count} to 0 - add 1 to {_count} - set {_what} to loop-value - loop-index is "01.note": - set {_what} to {db_perk.hit.%{_type}%::01.note::error} - player has permission "obam.supporter": - set {_what} to {db_perk.hit.%{_type}%::01.note::note} - player has permission "obam.smod": - set {_what} to {db_perk.hit.%{_type}%::01.note::note} - loop-index is "02.arrow": - set {_what} to {db_perk.hit.%{_type}%::02.arrow::error} - player has permission "obam.supporter": - set {_what} to {db_perk.hit.%{_type}%::02.arrow::arrow} - player has permission "obam.smod": - set {_what} to {db_perk.hit.%{_type}%::02.arrow::arrow} - loop-index is "03.anvil": - set {_what} to {db_perk.hit.%{_type}%::03.anvil::error} - player has permission "obam.supporter": - set {_what} to {db_perk.hit.%{_type}%::03.anvil::anvil} - player has permission "obam.smod": - set {_what} to {db_perk.hit.%{_type}%::03.anvil::anvil} - loop-index is "04.chest": - set {_what} to {db_perk.hit.%{_type}%::04.chest::error} - player has permission "obam.supporter": - set {_what} to {db_perk.hit.%{_type}%::04.chest::chest} - player has permission "obam.smod": - set {_what} to {db_perk.hit.%{_type}%::04.chest::chest} - loop-index is "05.click": - set {_what} to {db_perk.hit.%{_type}%::05.click::error} - player has permission "obam.supporter": - set {_what} to {db_perk.hit.%{_type}%::05.click::click} - player has permission "obam.smod": - set {_what} to {db_perk.hit.%{_type}%::05.click::click} - loop-index is "06.level": - set {_what} to {db_perk.hit.%{_type}%::06.level::error} - player has permission "obam.supporter": - set {_what} to {db_perk.hit.%{_type}%::06.level::level} - player has permission "obam.smod": - set {_what} to {db_perk.hit.%{_type}%::06.level::level} - loop-index is "07.villager": - set {_what} to {db_perk.hit.%{_type}%::07.villager::error} - player has permission "obam.supporter": - set {_what} to {db_perk.hit.%{_type}%::07.villager::villager} - player has permission "obam.smod": - set {_what} to {db_perk.hit.%{_type}%::07.villager::villager} - loop-index is "08.clear": - set {_what} to {db_perk.hit.%{_type}%::08.clear::error} - player has permission "obam.supporter": - set {_what} to {db_perk.hit.%{_type}%::08.clear::clear} - player has permission "obam.smod": - set {_what} to {db_perk.hit.%{_type}%::08.clear::clear} - {_chest} is set: - set {_chest} to "%{_chest}%;s;%{_count}%;%{_what}%" - {_chest} is not set: - set {_chest} to "s;%{_count}%;%{_what}%" - replace "PLAYER" in {_chest} with "%player%" - {_count} is less than 10: - set {_size} to 1 - {_count} is greater than 9: - set {_size} to 2 - {_count} is greater than 18: - set {_size} to 3 - {_count} is greater than 27: - set {_size} to 4 - show "%{_chest}%" with {_size} row named "&9&1Hit Sounds" to player - -command /hitsound [] []: - trigger: - argument 1 is not set: - message "&cPlease use &7/OBAM &cto access your Hit Menu." - stop - argument 2 is "error": - message "&cThis hit sound is not available to you." - stop - set {_what} to argument 1 - set {_sound} to argument 2 - argument 2 is "clear": - clear {hit.%{_what}%.%player%} - send "&aAttack sounds cleared!" - stop - set {hit.%{_what}%.%player%} to "%{_sound}%" - send "&aAttack sound set to &e%{_sound}%!" - -on damage: - {hit.%attacker%} is set: - delete {hit.%attacker%} - attacker's tool is air: - set {_what} to "hand" - attacker's tool is a sword: - set {_what} to "sword" - attacker's tool is an axe: - set {_what} to "axe" - attacker's tool is a pickaxe: - set {_what} to "pickaxe" - attacker's tool is a bow: - set {_what} to "bow" - attacker's tool is a fishing rod: - set {_what} to "rod" - {hit.%{_what}%.%attacker%} is set: - {hit.%{_what}%.%attacker%} is "note": - chance of 14%: - play note bass at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - chance of 16%: - play note piano at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - chance of 20%: - play note bass drum at location of attacker with pitch 1 - set {_play} to true - chance of 25%: - play note sticks at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - chance of 33%: - play note bass guitar at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - chance of 50%: - play note snare drum at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - play note pling at location of attacker with pitch 1 - {hit.%{_what}%.%attacker%} is "arrow": - chance of 50%: - play shoot arrow at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - play arrow hit at location of attacker with pitch 1 - {hit.%{_what}%.%attacker%} is "chest": - chance of 50%: - play chest close at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - play chest close at location of attacker with pitch 1 - {hit.%{_what}%.%attacker%} is "anvil": - chance of 33%: - play anvil break at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - chance of 50%: - play anvil land at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - play anvil use at location of attacker with pitch 1 - {hit.%{_what}%.%attacker%} is "click": - play click at location of attacker with pitch 1 - {hit.%{_what}%.%attacker%} is "level": - chance of 50%: - play level up at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - play orb pickup at location of attacker with pitch 1 - {hit.%{_what}%.%attacker%} is "villager": - chance of 16%: - play villager yes at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - chance of 20%: - play villager no at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - chance of 25%: - play villager death at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - chance of 33%: - play villager haggle at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - chance of 50%: - play villager idle at location of attacker with pitch 1 - set {_play} to true - {_play} is not set - play villager hit at location of attacker with pitch 1 - -command /hitsoundclear : - permission: obam.admin - trigger: - delete {hit.hand.%argument 1%} - delete {hit.sword.%argument 1%} - delete {hit.axe.%argument 1%} - delete {hit.pickaxe.%argument 1%} - delete {hit.bow.%argument 1%} - delete {hit.rod.%argument 1%} diff --git a/Obam-Perks/Perks-Fronts/splash.sk b/Obam-Perks/Perks-Fronts/splash.sk deleted file mode 100644 index a52413c..0000000 --- a/Obam-Perks/Perks-Fronts/splash.sk +++ /dev/null @@ -1,271 +0,0 @@ -on script load: - set {db_perk.splash::01.heart} to "check" - set {db_perk.splash::01.heart::heart} to "i;red dye;n;&3Heart Particles;l;&6Click to enable a heart splash!;c;sudo PLAYER splash heart" - set {db_perk.splash::01.heart::error} to "i;red dye;n;&3Heart Particles;l;&6Click to enable a heart splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" - set {db_perk.splash::02.flame} to "check" - set {db_perk.splash::02.flame::flame} to "i;fire;n;&3Flame Particles;l;&6Click to enable a flame splash!;c;sudo PLAYER splash flame" - set {db_perk.splash::02.flame::error} to "i;fire;n;&3Flame Particles;l;&6Click to enable a flame splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" - set {db_perk.splash::03.reddust} to "check" - set {db_perk.splash::03.reddust::reddust} to "i;magma cream;n;&3Unstable Gas Particles;l;&6Click to enable an unstable gas splash!;c;sudo PLAYER splash reddust" - set {db_perk.splash::03.reddust::error} to "i;magma cream;n;&3Unstable Gas Particles;l;&6Click to enable an unstable gas splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" - set {db_perk.splash::04.smoke} to "check" - set {db_perk.splash::04.smoke::smoke} to "i;charcoal;n;&3Dark Smoke Particles;l;&6Click to enable a dark smoke splash!;c;sudo PLAYER splash smoke" - set {db_perk.splash::04.smoke::error} to "i;charcoal;n;&3Dark Smoke Particles;l;&6Click to enable a dark smoke splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" - set {db_perk.splash::05.waterdrip} to "check" - set {db_perk.splash::05.waterdrip::waterdrip} to "i;water;n;&3Water Drip Particles;l;&6Click to enable a water drip splash!;c;sudo PLAYER splash waterdrip" - set {db_perk.splash::05.waterdrip::error} to "i;water;n;&3Water Drip Particles;l;&6Click to enable a water drip splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" - set {db_perk.splash::06.lavadrip} to "check" - set {db_perk.splash::06.lavadrip::lavadrip} to "i;lava;n;&3Lava Drip Particles;l;&6Click to enable a lava drip splash!;c;sudo PLAYER splash lavadrip" - set {db_perk.splash::06.lavadrip::error} to "i;lava;n;&3Lava Drip Particles;l;&6Click to enable a lava drip splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" - set {db_perk.splash::07.slime} to "check" - set {db_perk.splash::07.slime::slime} to "i;slimeball;n;&3Slime Particles;l;&6Click to enable a slime splash!;c;sudo PLAYER splash slime" - set {db_perk.splash::07.slime::error} to "i;slimeball;n;&3Slime Particles;l;&6Click to enable a slime splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" - set {db_perk.splash::08.note} to "check" - set {db_perk.splash::08.note::note} to "i;jukebox;n;&3Music Notes Particles;l;&6Click to enable a music note splash!;c;sudo PLAYER splash note" - set {db_perk.splash::08.note::error} to "i;jukebox;n;&3Music Notes Particles;l;&6Click to enable a music note splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" - set {db_perk.splash::09.happy} to "check" - set {db_perk.splash::09.happy::happy} to "i;villager spawn egg;n;&3Villager Particles “Happy”;l;&6Click to enable a happy villager splash!;c;sudo PLAYER splash happy" - set {db_perk.splash::09.happy::error} to "i;villager spawn egg;n;&3Villager Particles “Happy”;l;&6Click to enable a happy villager splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" - set {db_perk.splash::10.angry} to "check" - set {db_perk.splash::10.angry::angry} to "i;villager spawn egg;n;&3Villager Particles “Angry”;l;&6Click to enable a angry villager splash!;c;sudo PLAYER splash angry" - set {db_perk.splash::10.angry::error} to "i;villager spawn egg;n;&3Villager Particles “Angry”;l;&6Click to enable a angry villager splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" - set {db_perk.splash::11.explode} to "check" - set {db_perk.splash::11.explode::explode} to "i;tnt;n;&3Explosion Smoke Particles;l;&6Click to enable a explosion smoke splash!;c;sudo PLAYER splash explode" - set {db_perk.splash::11.explode::error} to "i;tnt;n;&3Explosion Smoke Particles;l;&6Click to enable a explosion smoke splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" - set {db_perk.splash::12.snow} to "check" - set {db_perk.splash::12.snow::snow} to "i;snow block;n;&3Snowflake Particles;l;&6Click to enable a snowflake splash!;c;sudo PLAYER splash snow" - set {db_perk.splash::12.snow::error} to "i;snow block;n;&3Snowflake Particles;l;&6Click to enable a snowflake splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" - set {db_perk.splash::13.portal} to "check" - set {db_perk.splash::13.portal::portal} to "i;nether portal;n;&3Nether Portal Particles;l;&6Click to enable a nether portal splash!;c;sudo PLAYER splash portal" - set {db_perk.splash::13.portal::error} to "i;nether portal;n;&3Nether Portal Particles;l;&6Click to enable a nether portal splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" - set {db_perk.splash::14.cloud} to "check" - set {db_perk.splash::14.cloud::cloud} to "i;bonemeal;n;&3Cloud Particles;l;&6Click to enable a cloud splash!;c;sudo PLAYER splash cloud" - set {db_perk.splash::14.cloud::error} to "i;bonemeal;n;&3Cloud Particles;l;&6Click to enable a cloud splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" -# set {db_perk.splash::15.bubble} to "check" -# set {db_perk.splash::15.bubble::bubble} to "i;water bottle;n;&3Bubble Particles;l;&6Click to enable a bubble splash!;c;sudo PLAYER splash bubble" -# set {db_perk.splash::15.bubble::error} to "i;water bottle;n;&3Bubble Particles;l;&6Click to enable a bubble splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" - set {db_perk.splash::16.clear} to "check" - set {db_perk.splash::16.clear::clear} to "i;glass;n;&3Clear Particles;l;&6Click to clear your splash!;c;sudo PLAYER splash clear" - set {db_perk.splash::16.clear::error} to "i;glass;n;&3Clear Particles;l;&6Click to clear your splash!|| ||&cThis splash is only available to our Supporters.;c;sudo PLAYER splash error" - -command /cleardbsplash: - permission: obam.admin - trigger: - delete {db_perk.splash::*} - message "You have cleared all splash flags, please reload splash.sk to fix them." - -command /splashmenu []: - trigger: - loop {db_perk.splash::*}: - {_count} is not set: - set {_count} to 0 - add 1 to {_count} - set {_what} to loop-value - loop-index is "01.heart": - set {_what} to {db_perk.splash::01.heart::error} - player has permission "obam.supporter": - set {_what} to {db_perk.splash::01.heart::heart} - player has permission "obam.smod": - set {_what} to {db_perk.splash::01.heart::heart} - loop-index is "02.flame": - set {_what} to {db_perk.splash::02.flame::error} - player has permission "obam.supporter": - set {_what} to {db_perk.splash::02.flame::flame} - player has permission "obam.smod": - set {_what} to {db_perk.splash::02.flame::flame} - loop-index is "03.reddust": - set {_what} to {db_perk.splash::03.reddust::error} - player has permission "obam.supporter": - set {_what} to {db_perk.splash::03.reddust::reddust} - player has permission "obam.smod": - set {_what} to {db_perk.splash::03.reddust::reddust} - loop-index is "04.smoke": - set {_what} to {db_perk.splash::04.smoke::error} - player has permission "obam.supporter": - set {_what} to {db_perk.splash::04.smoke::smoke} - player has permission "obam.smod": - set {_what} to {db_perk.splash::04.smoke::smoke} - loop-index is "05.waterdrip": - set {_what} to {db_perk.splash::05.waterdrip::error} - player has permission "obam.supporter": - set {_what} to {db_perk.splash::05.waterdrip::waterdrip} - player has permission "obam.smod": - set {_what} to {db_perk.splash::05.waterdrip::waterdrip} - loop-index is "06.lavadrip": - set {_what} to {db_perk.splash::06.lavadrip::error} - player has permission "obam.supporter": - set {_what} to {db_perk.splash::06.lavadrip::lavadrip} - player has permission "obam.smod": - set {_what} to {db_perk.splash::06.lavadrip::lavadrip} - loop-index is "07.slime": - set {_what} to {db_perk.splash::07.slime::error} - player has permission "obam.supporter": - set {_what} to {db_perk.splash::07.slime::slime} - player has permission "obam.smod": - set {_what} to {db_perk.splash::07.slime::slime} - loop-index is "08.note": - set {_what} to {db_perk.splash::08.note::error} - player has permission "obam.supporter": - set {_what} to {db_perk.splash::08.note::note} - player has permission "obam.smod": - set {_what} to {db_perk.splash::08.note::note} - loop-index is "09.happy": - set {_what} to {db_perk.splash::09.happy::error} - player has permission "obam.supporter": - set {_what} to {db_perk.splash::09.happy::happy} - player has permission "obam.smod": - set {_what} to {db_perk.splash::09.happy::happy} - loop-index is "10.angry": - set {_what} to {db_perk.splash::10.angry::error} - player has permission "obam.supporter": - set {_what} to {db_perk.splash::10.angry::angry} - player has permission "obam.smod": - set {_what} to {db_perk.splash::10.angry::angry} - loop-index is "11.explode": - set {_what} to {db_perk.splash::11.explode::error} - player has permission "obam.supporter": - set {_what} to {db_perk.splash::11.explode::explode} - player has permission "obam.smod": - set {_what} to {db_perk.splash::11.explode::explode} - loop-index is "12.snow": - set {_what} to {db_perk.splash::12.snow::error} - player has permission "obam.supporter": - set {_what} to {db_perk.splash::12.snow::snow} - player has permission "obam.smod": - set {_what} to {db_perk.splash::12.snow::snow} - loop-index is "13.portal": - set {_what} to {db_perk.splash::13.portal::error} - player has permission "obam.supporter": - set {_what} to {db_perk.splash::13.portal::portal} - player has permission "obam.smod": - set {_what} to {db_perk.splash::13.portal::portal} - loop-index is "14.cloud": - set {_what} to {db_perk.splash::14.cloud::error} - player has permission "obam.supporter": - set {_what} to {db_perk.splash::14.cloud::cloud} - player has permission "obam.smod": - set {_what} to {db_perk.splash::14.cloud::cloud} -# loop-index is "15.bubble": -# set {_what} to {db_perk.splash::15.bubble::error} -# player has permission "obam.supporter": -# set {_what} to {db_perk.splash::15.bubble::bubble} -# player has permission "obam.smod": -# set {_what} to {db_perk.splash::15.bubble::bubble} - loop-index is "16.clear": - set {_what} to {db_perk.splash::16.clear::error} - player has permission "obam.supporter": - set {_what} to {db_perk.splash::16.clear::clear} - player has permission "obam.smod": - set {_what} to {db_perk.splash::16.clear::clear} - {_chest} is set: - set {_chest} to "%{_chest}%;s;%{_count}%;%{_what}%" - {_chest} is not set: - set {_chest} to "s;%{_count}%;%{_what}%" - replace "PLAYER" in {_chest} with "%player%" - {_count} is less than 10: - set {_size} to 1 - {_count} is greater than 9: - set {_size} to 2 - {_count} is greater than 18: - set {_size} to 3 - {_count} is greater than 27: - set {_size} to 4 - show "%{_chest}%" with {_size} row named "&9&lSplash Menu" to player - -command /splash []: - trigger: - argument is not set: - message "&cPlease use &7/OBAM &cto access the Splash Menu." - stop - argument is "error": - message "&cThis splash is not available to you." - stop - player has permission "obam.supporter": - argument is "heart": - set {splash.%player%} to "heart" - send "&aYou have enabled a &eHeart Splash&a!" - argument is "flame": - set {splash.%player%} to "flame" - send "&aYou have enabled a &eFlame Splash&a!" - argument is "reddust": - set {splash.%player%} to "reddust" - send "&aYou have enabled an &eUnstable Gas Splash&a!" - argument is "smoke": - set {splash.%player%} to "smoke" - send "&aYou have enabled a &eDark Smoke Splash&a!" - argument is "waterdrip": - set {splash.%player%} to "waterdrip" - send "&aYou have enabled a &eWater Drip Splash&a!" - argument is "lavadrip": - set {splash.%player%} to "lavadrip" - send "&aYou have enabled a &eLava Drip Splash&a!" - argument is "slime": - set {splash.%player%} to "slime" - send "&aYou have enabled a &eSlime Splash&a!" - argument is "note": - set {splash.%player%} to "note" - send "&aYou have enabled a &eMusic Note Splash&a!" - argument is "happy": - set {splash.%player%} to "happy" - send "&aYou have enabled a &eHappy Villager Splash&a!" - argument is "angry": - set {splash.%player%} to "angry" - send "&aYou have enabled an &eAngry Villager Splash&a!" - argument is "explode": - set {splash.%player%} to "explode" - send "&aYou have enabled an &eExplosion Smoke Splash&a!" - argument is "snow": - set {splash.%player%} to "snow" - send "&aYou have enabled a &eSnowflake Splash&a!" -# argument is "bubble": -# set {splash.%player%} to "bubble" -# send "&aYou have enabled a &eBubble Splash&a!" - argument is "portal": - set {splash.%player%} to "portal" - send "&aYou have enabled a &eNether Portal Splash&a!" - argument is "cloud": - set {splash.%player%} to "cloud" - send "&aYou have enabled a &eCloud Splash&a!" - argument is "clear": - clear {splash.%player%} - send "&aYou have disabled your splash!" - -every 5 seconds: - loop all players: - clear {_amt} - loop-player is not sneaking - loop-player is sprinting: - set {_amt} to 100 - {_amt} is not set: - set {_amt} to 50 - {splash.%loop-player%} is set: -# {splash.%loop-player%} is "bubble": -# spawn {_amt} of bubble data 1 offset with 1, 1, 1 at location of loop-player - {splash.%loop-player%} is "cloud": - spawn {_amt} of cloud data 1 offset with 1, 1, 1 at location of loop-player - {splash.%loop-player%} is "heart": - spawn {_amt} of heart data 1 offset with 1, 1, 1 at location of loop-player - {splash.%loop-player%} is "flame": - spawn {_amt} of flame data 1 offset with 1, 1, 1 at location of loop-player - {splash.%loop-player%} is "reddust": - spawn {_amt} of red dust data 1 offset with 1, 1, 1 at location of loop-player - {splash.%loop-player%} is "smoke": - spawn {_amt} of large smoke data 1 offset with 1, 1, 1 at location of loop-player - {splash.%loop-player%} is "note": - spawn {_amt} of note data 1 offset with 1, 1, 1 at location of loop-player - {splash.%loop-player%} is "lavadrip": - spawn {_amt} of drip lava data 1 offset with 1, 1, 1 at location of loop-player - {splash.%loop-player%} is "waterdrip": - spawn {_amt} of drip water data 1 offset with 1, 1, 1 at location of loop-player - {splash.%loop-player%} is "slime": - spawn {_amt} of slime data 1 offset with 1, 1, 1 at location of loop-player - {splash.%loop-player%} is "happy": - spawn {_amt} of happy villager data 1 offset with 1, 1, 1 at location of loop-player - {splash.%loop-player%} is "angry": - spawn {_amt} of angry villager data 1 offset with 1, 1, 1 at location of loop-player - {splash.%loop-player%} is "explode": - spawn {_amt} of large explode data 1 offset with 1, 1, 1 at location of loop-player - {splash.%loop-player%} is "snow": - spawn {_amt} of snow shovel data 1 offset with 1, 1, 1 at location of loop-player - {splash.%loop-player%} is "portal": - spawn {_amt} of portal data 1 offset with 1, 1, 1 at location of loop-player diff --git a/Obam-Perks/Perks-Fronts/suphorse.sk b/Obam-Perks/Perks-Fronts/suphorse.sk deleted file mode 100644 index ca9130b..0000000 --- a/Obam-Perks/Perks-Fronts/suphorse.sk +++ /dev/null @@ -1,73 +0,0 @@ -on script load: - set {db_perk.suphorse::01.zombify} to "check" - set {db_perk.suphorse::01.zombify::zombify} to "i;zombie spawn egg;n;&3Zombify your ride!;l;&6Feel like roaming the plains on your Zombified Horse?;c;sudo PLAYER suphorse zombify" - set {db_perk.suphorse::01.zombify::error} to "i;zombie spawn egg;n;&3Zombify your ride!;l;&6Feel like roaming the plains on your Zombified Horse?|| ||&cThis ability is only available to our Supporters.;c;sudo PLAYER suphorse error" - set {db_perk.suphorse::02.skellify} to "check" - set {db_perk.suphorse::02.skellify::skellify} to "i;skeleton spawn egg;n;&3Skellify your ride!;l;&6Feel like roaming the deserts on your Skellified Horse?;c;sudo PLAYER suphorse skellify" - set {db_perk.suphorse::02.skellify::error} to "i;skeleton spawn egg;n;&3Skellify your ride!;l;&6Feel like roaming the deserts on your Skellified Horse?|| ||&cThis ability is only available to our Supporters.;c;sudo PLAYER suphorse error" - -command /cleardbsuphorse: - permission: obam.admin - trigger: - delete {db_perk.suphorse::*} - message "You just cleared all the suphorse variables, please reload the script suphorse.sk" - -command /horsemenu: - trigger: - loop {db_perk.suphorse::*}: - {_count} is not set: - set {_count} to 0 - add 1 to {_count} - set {_what} to loop-value - loop-index is "01.zombify": - set {_what} to {db_perk.suphorse::01.zombify::error} - player has permission "obam.supporter": - set {_what} to {db_perk.suphorse::01.zombify::zombify} - player has permission "obam.smod": - set {_what} to {db_perk.suphorse::01.zombify::zombify} - loop-index is "02.skellify": - set {_what} to {db_perk.suphorse::02.skellify::error} - player has permission "obam.supporter": - set {_what} to {db_perk.suphorse::02.skellify::skellify} - player has permission "obam.smod": - set {_what} to {db_perk.suphorse::02.skellify::skellify} - {_chest} is set: - set {_chest} to "%{_chest}%;s;%{_count}%;%{_what}%" - {_chest} is not set: - set {_chest} to "s;%{_count}%;%{_what}%" - replace "PLAYER" in {_chest} with "%player%" - {_count} is less than 10: - set {_size} to 1 - {_count} is greater than 9: - set {_size} to 2 - {_count} is greater than 18: - set {_size} to 3 - {_count} is greater than 27: - set {_size} to 4 - show "%{_chest}%" with {_size} row named "&9&lHorse O' Matic" to player - -command /suphorse []: - trigger: - player is not riding: - send "&cYou must be riding a horse to do this!" - stop - player's vehicle is not a horse: - send "&cYou must be riding a horse to do this!" - stop - argument is not set: - message "&cPlease use &7/OBAM &cto access your modify your horse." - stop - argument is "error": - message "&cThis ability is not available to you." - stop - "%player's world%" is "world": - set {_y} to y-coordinate of player - set {_x} to x-coordinate of player - set {_z} to z-coordinate of player - argument is "zombify": - execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:3,Tame:1}" - argument is "skellify": - execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:4,Tame:1}" - delete player's vehicle - stop - message "&cThis can only be used in the Regular World." \ No newline at end of file diff --git a/Obam-Perks/Perks-Fronts/trails.sk b/Obam-Perks/Perks-Fronts/trails.sk deleted file mode 100644 index 160d275..0000000 --- a/Obam-Perks/Perks-Fronts/trails.sk +++ /dev/null @@ -1,253 +0,0 @@ -on script load: - set {db_perk.trails::01.heart} to "check" - set {db_perk.trails::01.heart::heart} to "i;red dye;n;&3Heart Particles;l;&6Click to enable heart trails!;c;sudo PLAYER trails heart" - set {db_perk.trails::01.heart::error} to "i;red dye;n;&3Heart Particles;l;&6Click to enable heart trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" - set {db_perk.trails::02.flame} to "check" - set {db_perk.trails::02.flame::flame} to "i;fire;n;&3Flame Particles;l;&6Click to enable flame trails!;c;sudo PLAYER trails flame" - set {db_perk.trails::02.flame::error} to "i;fire;n;&3Flame Particles;l;&6Click to enable flame trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" - set {db_perk.trails::03.reddust} to "check" - set {db_perk.trails::03.reddust::reddust} to "i;magma cream;n;&3Unstable Gas Particles;l;&6Click to enablen unstable gas trails!;c;sudo PLAYER trails reddust" - set {db_perk.trails::03.reddust::error} to "i;magma cream;n;&3Unstable Gas Particles;l;&6Click to enablen unstable gas trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" - set {db_perk.trails::04.smoke} to "check" - set {db_perk.trails::04.smoke::smoke} to "i;charcoal;n;&3Dark Smoke Particles;l;&6Click to enable dark smoke trails!;c;sudo PLAYER trails smoke" - set {db_perk.trails::04.smoke::error} to "i;charcoal;n;&3Dark Smoke Particles;l;&6Click to enable dark smoke trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" - set {db_perk.trails::05.waterdrip} to "check" - set {db_perk.trails::05.waterdrip::waterdrip} to "i;water;n;&3Water Drip Particles;l;&6Click to enable water drip trails!;c;sudo PLAYER trails waterdrip" - set {db_perk.trails::05.waterdrip::error} to "i;water;n;&3Water Drip Particles;l;&6Click to enable water drip trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" - set {db_perk.trails::06.lavadrip} to "check" - set {db_perk.trails::06.lavadrip::lavadrip} to "i;lava;n;&3Lava Drip Particles;l;&6Click to enable lava drip trails!;c;sudo PLAYER trails lavadrip" - set {db_perk.trails::06.lavadrip::error} to "i;lava;n;&3Lava Drip Particles;l;&6Click to enable lava drip trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" - set {db_perk.trails::07.slime} to "check" - set {db_perk.trails::07.slime::slime} to "i;slimeball;n;&3Slime Particles;l;&6Click to enable slime trails!;c;sudo PLAYER trails slime" - set {db_perk.trails::07.slime::error} to "i;slimeball;n;&3Slime Particles;l;&6Click to enable slime trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" - set {db_perk.trails::08.note} to "check" - set {db_perk.trails::08.note::note} to "i;jukebox;n;&3Music Notes Particles;l;&6Click to enable music note trails!;c;sudo PLAYER trails note" - set {db_perk.trails::08.note::error} to "i;jukebox;n;&3Music Notes Particles;l;&6Click to enable music note trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" - set {db_perk.trails::09.happy} to "check" - set {db_perk.trails::09.happy::happy} to "i;villager spawn egg;n;&3Villager Particles “Happy”;l;&6Click to enable happy villager trails!;c;sudo PLAYER trails happy" - set {db_perk.trails::09.happy::error} to "i;villager spawn egg;n;&3Villager Particles “Happy”;l;&6Click to enable happy villager trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" - set {db_perk.trails::10.angry} to "check" - set {db_perk.trails::10.angry::angry} to "i;villager spawn egg;n;&3Villager Particles “Angry”;l;&6Click to enable angry villager trails!;c;sudo PLAYER trails angry" - set {db_perk.trails::10.angry::error} to "i;villager spawn egg;n;&3Villager Particles “Angry”;l;&6Click to enable angry villager trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" - set {db_perk.trails::11.explode} to "check" - set {db_perk.trails::11.explode::explode} to "i;tnt;n;&3Explosion Smoke Particles;l;&6Click to enable explosion smoke trails!;c;sudo PLAYER trails explode" - set {db_perk.trails::11.explode::error} to "i;tnt;n;&3Explosion Smoke Particles;l;&6Click to enable explosion smoke trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" - set {db_perk.trails::12.snow} to "check" - set {db_perk.trails::12.snow::snow} to "i;snow block;n;&3Snowflake Particles;l;&6Click to enable snowflake trails!;c;sudo PLAYER trails snow" - set {db_perk.trails::12.snow::error} to "i;snow block;n;&3Snowflake Particles;l;&6Click to enable snowflake trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" - set {db_perk.trails::13.portal} to "check" - set {db_perk.trails::13.portal::portal} to "i;nether portal;n;&3Nether Portal Particles;l;&6Click to enable nether portal trails!;c;sudo PLAYER trails portal" - set {db_perk.trails::13.portal::error} to "i;nether portal;n;&3Nether Portal Particles;l;&6Click to enable nether portal trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" - set {db_perk.trails::14.cloud} to "check" - set {db_perk.trails::14.cloud::cloud} to "i;bonemeal;n;&3Cloud Particles;l;&6Click to enable cloud trails!;c;sudo PLAYER trails cloud" - set {db_perk.trails::14.cloud::error} to "i;bonemeal;n;&3Cloud Particles;l;&6Click to enable cloud trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" - set {db_perk.trails::16.clear} to "check" - set {db_perk.trails::16.clear::clear} to "i;glass;n;&3Clear Particles;l;&6Click to clear your trails!;c;sudo PLAYER trails clear" - set {db_perk.trails::16.clear::error} to "i;glass;n;&3Clear Particles;l;&6Click to clear your trails!|| ||&cThis trails is only available to our Supporters.;c;sudo PLAYER trails error" - -command /cleardbtrails: - permission: obam.admin - trigger: - delete {db_perk.trails::*} - message "You have cleared all trails flags, please reload trails.sk to fix them." - -command /trailmenu []: - trigger: - loop {db_perk.trails::*}: - {_count} is not set: - set {_count} to 0 - add 1 to {_count} - set {_what} to loop-value - loop-index is "01.heart": - set {_what} to {db_perk.trails::01.heart::error} - player has permission "obam.supporter": - set {_what} to {db_perk.trails::01.heart::heart} - player has permission "obam.smod": - set {_what} to {db_perk.trails::01.heart::heart} - loop-index is "02.flame": - set {_what} to {db_perk.trails::02.flame::error} - player has permission "obam.supporter": - set {_what} to {db_perk.trails::02.flame::flame} - player has permission "obam.smod": - set {_what} to {db_perk.trails::02.flame::flame} - loop-index is "03.reddust": - set {_what} to {db_perk.trails::03.reddust::error} - player has permission "obam.supporter": - set {_what} to {db_perk.trails::03.reddust::reddust} - player has permission "obam.smod": - set {_what} to {db_perk.trails::03.reddust::reddust} - loop-index is "04.smoke": - set {_what} to {db_perk.trails::04.smoke::error} - player has permission "obam.supporter": - set {_what} to {db_perk.trails::04.smoke::smoke} - player has permission "obam.smod": - set {_what} to {db_perk.trails::04.smoke::smoke} - loop-index is "05.waterdrip": - set {_what} to {db_perk.trails::05.waterdrip::error} - player has permission "obam.supporter": - set {_what} to {db_perk.trails::05.waterdrip::waterdrip} - player has permission "obam.smod": - set {_what} to {db_perk.trails::05.waterdrip::waterdrip} - loop-index is "06.lavadrip": - set {_what} to {db_perk.trails::06.lavadrip::error} - player has permission "obam.supporter": - set {_what} to {db_perk.trails::06.lavadrip::lavadrip} - player has permission "obam.smod": - set {_what} to {db_perk.trails::06.lavadrip::lavadrip} - loop-index is "07.slime": - set {_what} to {db_perk.trails::07.slime::error} - player has permission "obam.supporter": - set {_what} to {db_perk.trails::07.slime::slime} - player has permission "obam.smod": - set {_what} to {db_perk.trails::07.slime::slime} - loop-index is "08.note": - set {_what} to {db_perk.trails::08.note::error} - player has permission "obam.supporter": - set {_what} to {db_perk.trails::08.note::note} - player has permission "obam.smod": - set {_what} to {db_perk.trails::08.note::note} - loop-index is "09.happy": - set {_what} to {db_perk.trails::09.happy::error} - player has permission "obam.supporter": - set {_what} to {db_perk.trails::09.happy::happy} - player has permission "obam.smod": - set {_what} to {db_perk.trails::09.happy::happy} - loop-index is "10.angry": - set {_what} to {db_perk.trails::10.angry::error} - player has permission "obam.supporter": - set {_what} to {db_perk.trails::10.angry::angry} - player has permission "obam.smod": - set {_what} to {db_perk.trails::10.angry::angry} - loop-index is "11.explode": - set {_what} to {db_perk.trails::11.explode::error} - player has permission "obam.supporter": - set {_what} to {db_perk.trails::11.explode::explode} - player has permission "obam.smod": - set {_what} to {db_perk.trails::11.explode::explode} - loop-index is "12.snow": - set {_what} to {db_perk.trails::12.snow::error} - player has permission "obam.supporter": - set {_what} to {db_perk.trails::12.snow::snow} - player has permission "obam.smod": - set {_what} to {db_perk.trails::12.snow::snow} - loop-index is "13.portal": - set {_what} to {db_perk.trails::13.portal::error} - player has permission "obam.supporter": - set {_what} to {db_perk.trails::13.portal::portal} - player has permission "obam.smod": - set {_what} to {db_perk.trails::13.portal::portal} - loop-index is "14.cloud": - set {_what} to {db_perk.trails::14.cloud::error} - player has permission "obam.supporter": - set {_what} to {db_perk.trails::14.cloud::cloud} - player has permission "obam.smod": - set {_what} to {db_perk.trails::14.cloud::cloud} - loop-index is "16.clear": - set {_what} to {db_perk.trails::16.clear::error} - player has permission "obam.supporter": - set {_what} to {db_perk.trails::16.clear::clear} - player has permission "obam.smod": - set {_what} to {db_perk.trails::16.clear::clear} - {_chest} is set: - set {_chest} to "%{_chest}%;s;%{_count}%;%{_what}%" - {_chest} is not set: - set {_chest} to "s;%{_count}%;%{_what}%" - replace "PLAYER" in {_chest} with "%player%" - {_count} is less than 10: - set {_size} to 1 - {_count} is greater than 9: - set {_size} to 2 - {_count} is greater than 18: - set {_size} to 3 - {_count} is greater than 27: - set {_size} to 4 - show "%{_chest}%" with {_size} row named "&9&lTrails Menu" to player - -command /trails []: - trigger: - argument is not set: - message "&cPlease use &7/OBAM &cto access the Trails Menu." - stop - argument is "error": - message "&cThis trail is not available to you." - stop - player has permission "obam.supporter": - delete {trail.%player%} - argument is "heart": - set {trails.%player%} to "heart" - send "&aYou have enabled &eHeart trails&a!" - argument is "flame": - set {trails.%player%} to "flame" - send "&aYou have enabled &eFlame trails&a!" - argument is "reddust": - set {trails.%player%} to "reddust" - send "&aYou have enabled &eUnstable Gas trails&a!" - argument is "smoke": - set {trails.%player%} to "smoke" - send "&aYou have enabled &eDark Smoke trails&a!" - argument is "waterdrip": - set {trails.%player%} to "waterdrip" - send "&aYou have enabled &eWater Drip trails&a!" - argument is "lavadrip": - set {trails.%player%} to "lavadrip" - send "&aYou have enabled &eLava Drip trails&a!" - argument is "slime": - set {trails.%player%} to "slime" - send "&aYou have enabled &eSlime trails&a!" - argument is "note": - set {trails.%player%} to "note" - send "&aYou have enabled &eMusic Note trails&a!" - argument is "happy": - set {trails.%player%} to "happy" - send "&aYou have enabled &eHappy Villager trails&a!" - argument is "angry": - set {trails.%player%} to "angry" - send "&aYou have enabled &eAngry Villager trails&a!" - argument is "explode": - set {trails.%player%} to "explode" - send "&aYou have enabled &eExplosion Smoke trails&a!" - argument is "snow": - set {trails.%player%} to "snow" - send "&aYou have enabled &eSnowflake trails&a!" - argument is "portal": - set {trails.%player%} to "portal" - send "&aYou have enabled &eNether Portal trails&a!" - argument is "cloud": - set {trails.%player%} to "cloud" - send "&aYou have enabled &eCloud trails&a!" - argument is "clear": - clear {trails.%player%} - send "&aYou have disabled your trails!" - -on shoot: - {trails.%shooter%} is set: - {trails.%shooter%} is "heart": - trail projectile with heart - {trails.%shooter%} is "flame": - trail projectile with flame - {trails.%shooter%} is "reddust": - trail projectile with red dust - {trails.%shooter%} is "smoke": - trail projectile with large smoke - {trails.%shooter%} is "bubble": - trail projectile with bubble - {trails.%shooter%} is "note": - trail projectile with note - {trails.%shooter%} is "lavadrip": - trail projectile with drip lava - {trails.%shooter%} is "waterdrip": - trail projectile with drip water - {trails.%shooter%} is "slime": - trail projectile with slime - {trails.%shooter%} is "happy": - trail projectile with happy villager - {trails.%shooter%} is "angry": - trail projectile with angry villager - {trails.%shooter%} is "explode": - trail projectile with large explode - {trails.%shooter%} is "snow": - trail projectile with snow shovel - {trails.%shooter%} is "portal": - trail projectile with portal - {trails.%shooter%} is "cloud": - trail projectile with cloud diff --git a/Obam-Perks/hats.sk b/Obam-Perks/hats.sk deleted file mode 100644 index 9934fe5..0000000 --- a/Obam-Perks/hats.sk +++ /dev/null @@ -1,144 +0,0 @@ -#hats -# sup1: i;iron block;n;&3&lIron Block;l;&7This Iron hat has||&7been crafted from the||&7finest Iron Golem remains!|| ||&5&oThis Hat is for||&5&oCurrent supporters;c;hatreward supporter1 %player% -# sup2: i;gold block;n;&3&lGold Block;l;&7Show your wealth with||&7with the cap of beauty||&7with this shiny gold||&7block hat!|| ||&5&oThis hat is for||&5&oCurrent supporter;c;hatreward supporter2 %player% -# sup3: i;diamond block;n;&3&lDiamond Block;l;&7Show off what others||&7craze with the powerfull||&7Diamond block hat|| ||&5&oThis hat is for||&5&oCurrent supporters;c;hatreward supporter3 %player% - -on script load: - set {db_perk.hats::01.dirt} to "i;dirt;n;&3&lDirt Hat;l;&6Carefully woven together from the finest dirt||&6in all of &3OBAM!;c;sudo PLAYER hat dirt" - set {db_perk.hats::02.beta} to "check" - set {db_perk.hats::02.beta::beta} to "i;iron pressure plate;n;&3&lBeta Supporter Hat;l;&6This Special hat is for all members who supported||&6during our beta period and is a thank you from the||&3OBAM &6Staff for those that helped us when we were||&6starting. THANK YOU!;c;sudo PLAYER hat beta" - set {db_perk.hats::02.beta::error} to "i;iron pressure plate;n;&3&lBeta Supporter Hat;l;&6This Special hat is for all members who supported||&6during our beta period and is a thank you from the||&3OBAM &6Staff for those that helped us when we were||&6starting. THANK YOU!|| ||&cThis hat is only available to our Beta Supporters.;c;sudo PLAYER hat error" - set {db_perk.hats::03.quartz} to "check" - set {db_perk.hats::03.quartz::quartz} to "i;quartz block;n;&3&lQuartz Hat;l;&6This hat is crafted from the smoothest quartz||&6found in the hottest part of the Nether!;c;sudo PLAYER hat quartz" - set {db_perk.hats::03.quartz::error} to "i;quartz block;n;&3&lQuartz Hat;l;&6This hat is crafted from the smoothest quartz||&6found in the hottest part of the Nether!|| ||&cThis hat is only available to our Supporters.;c;sudo PLAYER hat error" - set {db_perk.hats::04.cactus} to "check" - set {db_perk.hats::04.cactus::cactus} to "i;cactus;n;&3&lPrickly Hat;l;&6Wear this hat when you're feeling a bit....Prickly!;c;sudo PLAYER hat cactus" - set {db_perk.hats::04.cactus::error} to "i;cactus;n;&3&lPrickly Hat;l;&6Wear this hat when you're feeling a bit....Prickly!|| ||&cThis hat must be purchased from the OBAMCraft shop.|| ||&eUse &f/buy &ein the hub to purchase the &3Prickly Hat|| ||&ePrice: &a$2.00;c;sudo PLAYER hat error" - -command /cleardbhats: - permission: obam.admin - trigger: - delete {db_perk.hats::*} - message "You just cleared all the hat variables, please reload the script hats.sk" - -command /hatmenu []: - trigger: - loop {db_perk.hats::*}: - {_count} is not set: - set {_count} to 0 - add 1 to {_count} - set {_what} to loop-value - loop-index is "02.beta": - set {_what} to {db_perk.hats::02.beta::error} - player has permission "obam.beta.hat": - set {_what} to {db_perk.hats::02.beta::beta} - loop-index is "03.quartz": - set {_what} to {db_perk.hats::03.quartz::error} - player has permission "obam.supporter": - set {_what} to {db_perk.hats::03.quartz::quartz} - loop-index is "04.cactus": - set {_what} to {db_perk.hats::04.cactus::error} - {db_purchase.cactus.%player%} is true: - set {_what} to {db_perk.hats::04.cactus::cactus} - player has permission "obam.smod": - set {_what} to {db_perk.hats::04.cactus::cactus} - {_chest} is set: - set {_chest} to "%{_chest}%;s;%{_count}%;%{_what}%" - {_chest} is not set: - set {_chest} to "s;%{_count}%;%{_what}%" - replace "PLAYER" in {_chest} with "%player%" - {_count} is less than 10: - set {_size} to 1 - {_count} is greater than 9: - set {_size} to 2 - {_count} is greater than 18: - set {_size} to 3 - {_count} is greater than 27: - set {_size} to 4 - show "%{_chest}%" with {_size} row named "&9&lHat Rack" to player - -command /hat []: - trigger: - argument 1 is not set: - message "&cPlease use &7/OBAM &cto access your Hat Rack." - stop - argument 1 is "error": - message "&cThis hat is not available to you." - stop - argument 1 is "dirt": - set {_hat} to dirt - argument 1 is "beta": - player has permission "obam.beta.hat": - set {_hat} to iron pressure plate - argument 1 is "quartz": - player has permission "obam.supporter": - set {_hat} to quartz block - argument 1 is "cactus": - {db_purchase.cactus.%player%} is true: - set {_hat} to cactus - player has permission "obam.smod": - set {_hat} to cactus - send "&aYou now have a hat :D" to player - name of player's helmet is "hat": - set player's helmet to {_hat} - set name of player's helmet to "hat" - stop - player doesn't have space for player's helmet: - send "&cYour inventory is full :(" to player - stop - give player's helmet to player - set player's helmet to {_hat} - set name of player's helmet to "hat" - -command /hatadd : - permission: obam.admin - trigger: - add arg 1 to {hat.items.list::*} - -command /hatshow: - permission: obam.admin - trigger: - loop {hat.items.list::*}: - send "%loop-value%" to player - -every 0.3 seconds: - loop all players: - loop-player has anything named "hat": - remove anything named "hat" from loop-player - send "&cWhy did you have a hat in your pocket?" to loop-player - -on drop: - name of event-item is "hat": - cancel event - -on place: - name of player's tool is "hat": - cancel event - -command /hattoggle: - permission: obam.mod - trigger: - {hat.off.%player%} is not set: - set {hat.off.%player%} to true - send "&aYou have turned off your hat" to player - stop - {hat.off.%player%} is false: - set {hat.off.%player%} to true - send "&aYou have turned off your hat" to player - stop - {hat.off.%player%} is true: - set {hat.off.%player%} to false - send "&aYou have turned on your hat" to player - stop - -#staff hats constant -every 1 second: - loop all players: - set {_bypass} to false - {hat.off.%loop-player%} is true: - set {_bypass} to true - {_bypass} is false: - loop-player is "ISMOOCH": - set loop-player's helmet to command block named "&d&lSmooch's Sassy Hat" - loop-player is "Electric_Hamster": - set loop-player's helmet to sponge named "&b&lThe Hamster Hat" \ No newline at end of file diff --git a/Obam-Perks/perks.sk b/Obam-Perks/perks.sk deleted file mode 100644 index 300ac73..0000000 --- a/Obam-Perks/perks.sk +++ /dev/null @@ -1,64 +0,0 @@ -on script load: - set {db_perk.main::01.hats} to "i;iron pressure plate;n;&3Hat Rack;l;&6Gives you access to your virtual Hat Rack.;c;sudo PLAYER obam hatmenu" - set {db_perk.main::02.pets} to "i;lead;n;&3Pet Stable;l;&6Opens up your Pet Stable to summon your pets.;c;sudo PLAYER obam petmenu" - set {db_perk.main::03.trails} to "i;arrow;n;&3Trails Menu;l;&6Opens up your Projectile Trails Menu.;c;sudo PLAYER obam trailmenu" - set {db_perk.main::04.splash} to "i;cobweb;n;&3Splash Menu;l;&6Opens up you Splash Menu.;c;sudo PLAYER obam splashmenu" - set {db_perk.main::05.hit} to "i;jukebox;n;&3Hit Sound Menu;l;&6Opens up your Hit Sound Menu.;c;sudo PLAYER obam hitclassmenu" - set {db_perk.main::06.horse} to "i;horse spawn egg;n;&3Horse Changer Upper;l;&6Want to Skellify of Zombify your ride?;c;sudo PLAYER obam horsemenu" - set {db_perk.main::07.blank} to "i;air" - set {db_perk.main::08.shop} to "i;emerald;n;&3Shop;l;&6Opens up the Shop Menu.;c;sudo PLAYER obam shop" - set {db_perk.main::09.ci} to "i;command block;n;&3Custom Items Menu;l;&6Opens the Custom Item menu to access items.;c;sudo PLAYER obam ci" - -command /cleardbmain: - permission: obam.admin - trigger: - delete {db_perk.main::*} - message "You have cleared all /OBAM flags, please reload perks.sk to fix them." - -command /obam []: - permission: obam.free - trigger: - argument 1 is not set: - loop {db_perk.main::*}: - {_count} is not set: - set {_count} to 0 - add 1 to {_count} - set {_what} to loop-value - loop-index is "07.ci": - player does not have permission "obam.smod": - clear {_what} - {_chest} is set: - set {_chest} to "%{_chest}%;s;%{_count}%;%{_what}%" - {_chest} is not set: - set {_chest} to "s;%{_count}%;%{_what}%" - replace "PLAYER" in {_chest} with "%player%" - {_count} is less than 10: - set {_size} to 1 - {_count} is greater than 9: - set {_size} to 2 - {_count} is greater than 18: - set {_size} to 3 - {_count} is greater than 27: - set {_size} to 4 - show "%{_chest}%" with {_size} row named "&9&lOBAM Perks and Shop Menu" to player - argument 1 is set: - argument 1 is "horsemenu": - "%player's world%" is "Death-hub", "skyworld", "kitspawnroom" or "vacant": - message "&cYou can not use that here." - stop - argument 1 is "petmenu": - "%player's world%" is "kitspawnroom" or "vacant": - message "&cYou can not use that here." - stop - send "&aBringing up menu..." - wait 0.5 seconds - make player execute command "/%argument 1%" - - - - - - - - - \ No newline at end of file diff --git a/Obam-Sort/KitsPlus.sk b/Obam-Sort/KitsPlus.sk deleted file mode 100644 index 1dd216e..0000000 --- a/Obam-Sort/KitsPlus.sk +++ /dev/null @@ -1,44 +0,0 @@ -command /kit [] []: - trigger: - if argument 1 is "help": - message "&7/kit &e- Spawn a kit" - message "&7/kit edit &e- Create/Edit a kit" - message "&7/kit delete &e- Delete a kit" - else if argument 1 is "edit": - if argument 2 is set: - set {kplus.kit.%argument 2%::inv} to player's serialized inventory - set {kplus.kit.%argument 2%::h} to player's helmet - set {kplus.kit.%argument 2%::c} to player's chestplate - set {kplus.kit.%argument 2%::l} to player's leggings - set {kplus.kit.%argument 2%::b} to player's boots - message "&aKit &9'%uncolored argument 2%' &aedited successfully!" - if value "permissions.%argument 2%" pulled from "KitsPlusConfig" is not set: - put "skript.kitsplus.%uncolored argument 2%" for "permissions.%argument 2%" in "KitsPlusConfig" - else: - message "&7/kit edit &e- Create/Edit a kit" - else if argument 1 is "delete": - if argument 2 is set: - if {kplus.kit.%argument 2%::*} is set: - clear {kplus.kit.%argument 2%::*} - message "&aKit &9'%uncolored argument 2%' &acleared successfully!" - else: - message "&cInvalid kit." - else: - message "&7/kit delete &e- Delete a kit" - else if argument 1 is set: - if argument 2 is not set: - if {kplus.kit.%argument 1%} is set: - set {_permpath} to "permissions.%argument 1%" - set {_perm} to value {_permpath} pulled from "KitsPlusConfig" - if player has permission "%{_perm}%": - restore inventory of player to {kplus.kit.%argument 1%} - set player's helmet to {kplus.kit.%argument 2%::h} - set player's chestplate to {kplus.kit.%argument 2%::c} - set player's leggings to {kplus.kit.%argument 2%::l} - set player's boots to {kplus.kit.%argument 2%::b} - else: - message "&cNo permission." - else: - message "&cInvalid kit." - else: - message "&7/kit &e- Spawn a kit" \ No newline at end of file diff --git a/Obam-Sort/LiVBot.yml b/Obam-Sort/LiVBot.yml deleted file mode 100644 index aa08d50..0000000 --- a/Obam-Sort/LiVBot.yml +++ /dev/null @@ -1,259 +0,0 @@ -# Sample PurpleIRC bot configuration. -# Most of these options should be self explanatory. -# Place your bot file in the PurpleIRC/bots/ folder. -# -# nick - Your bot's unique nickname -nick: LiVBot|Curtain -# login - Your bot's login name -login: froglawn -# realname -realname: '' -# server - IRC server to join -server: irc.esper.net -# port - IRC server port -port: 6667 -# Attempt ssl connection to IRC server -ssl: false -# Trust all SSL certs -trust-all-certs: false -# Character encoding. Leave blank for Java default. -charset: '' -# show irc server motd on connect -show-motd: false -# autoconnect - Connect automatically on startup -autoconnect: 'false' -# password - Server password if needed -password: '' -# identify password (sent to NickServ) -ident-password: '' -# command-prefix - The bot will listen for commands that start with this. -command-prefix: '.' -# quit-message - Message the bot will send when it quits the server -quit-message: '&r[&5PurpleIRC&r] &rGood bye!' -# Message delay in milliseconds (be careful when changing this) -message-delay: 1000 -# send a raw message on connect -raw-message-on-connect: false -# the raw message -raw-message: auth name pass -# relay-private-chat - Allow private chat to the bot to relay to the game -relay-private-chat: false -# notify channels or users when a player uses commands -command-notify: - enabled: false - # valid modes: msg, ctcp - mode: msg - # recipients can be channels or users - recipients: - - '#minecraft-test' - - example -# Automatically part invalid channels -part-invalid-channels: false -# Message when leaving invalid channel -part-invalid-channels-message: 'I should not be here! Bye!' -# channels - List the channels your bot will join here -channels: - # Channel name must be surrounded by sing quotes to be YAML compliant. - # Use %2E instead of dots in the channel names. - # Example: minecraft%2Etest == minecraft.test - '#OBAMCraft-staff': - # worlds we listen to for this channel - worlds: - - '*' - # autojoin - Join the channel automatically on connect - autojoin: true - # modes - Channel modes to set - modes: '' - # password - Channel password - password: '+$$/Nvx|Sa2\:e;Bbv1m' - # topic - Channel topic - topic: New topic - # topic-protect - Prevent others from changing the topic - topic-protect: false - # If the Shortify plugin is installed then shoten URLs sent from IRC - shortify: true - # enabled-messages - These are the message types that are either sent to the game or IRC - # config.yml. Remove or comment the messages you don't want. - enabled-messages: - # These messages are sent from game to IRC (see permissions) - - console-chat - - game-action - - game-chat - - game-death - - game-kick - - game-join - - game-quit - # The game-afk message type is not functional yet. - #- game-afk - # These messages are sent from IRC to game (see permissions) - - irc-action - - irc-chat - - irc-pchat - - irc-join - - irc-kick - - irc-part - - irc-topic - - irc-quit - - irc-nickchange - - irc-mode - - irc-notice - #- irc-console-chat - # Dynmap Web Chat - - dynmap-web-chat - # mcMMO messages sent to IRC - - mcmmo-admin-chat - - mcmmo-party-chat - - mcmmo-chat - # FactionChat messages sent to IRC - - faction-public-chat - - faction-ally-chat - - faction-enemy-chat - # Hero chat message types that are sent from game to IRC - # Game messages from Global HC channel - - hero-Global-chat - - hero-Global-action - # Game messages from any HC channel - - hero-chat - - hero-action - # Specific HC channel - #- hero-[CHANNEL]-chat - #- hero-[CHANNEL]-action - # Various IRC messages that are sent to Herochat channel. Receiving HC - # channel name is configured per hero-channel: 'CHANNEL NAME' - #- irc-hero-action - #- irc-hero-chat - #- irc-hero-kick - #- irc-hero-join - #- irc-hero-part - #- irc-hero-topic - # CleverNotch bot messages will be sent to the IRC channel - - clever-chat - - titan-chat - - towny-chat - # Specific TownyChat channel or tag - #- towny-[CHANNEL]-chat - #- towny-[CHANNELTAG]-chat - # Specific TitanChat channel - #- titan-[CHANNEL]-chat - # ReportRTS ticket notifications to irc - - rts-notify - # Catch /broadcast messages - #- broadcast-console-message - #- broadcast-message - # Hero channel destination for IRC messages - hero-channel: admin - # Log all messages from IRC to HeroChat - log-irc-to-hero-chat: false - # ops - IRC hostname mask styled ops list - ops: - - '*!*sarah@example.com' - # muted - IRC users that should not be heard in game - muted: - - LiVBot|Curtain - - LiVBot|Staffbuild - - # commands - A list of commands that the bot will act on - # There are several builtin game_command options. - # @list - list the players in the game - # @help - print out of all of the commands - # @uptime - print the uptime of the game server - # @chat - send message to game - # @hchat - send message to specific hero channel - # @ochat - send message to game (overrides irc-chat) - # @motd - display minecraft server motd - # @msg - send private message to player - # @query - query remote minecraft server - # The modes can be *, o , v , h, q or s. Mix and match as needed. - # If game_command can optionally accept arguments via %ARGS% and %NAME% - # If a command is private then the result is sent to the player privately. - # Set ignore-irc-chat to true if you are using @chat and don't want regular IRC chat in your game - ignore-irc-chat: false - # ignore list for custom tab list - custom-tab-ignore-list: - - AwesomeBot - # Hide join message when player is invisible (VanishNoPacket) - hide-join-when-vanished: true - # Hide quit message when player is invisible (VanishNoPacket) - hide-quit-when-vanished: true - # How to respond to an invalid command - invalid-command: - private: false - ctcp: false - commands: - chat: - modes: '*' - private: false - ctcp: false - game_command: '@chat' - private_listen: true - channel_listen: true - ochat: - modes: '*' - private: false - ctcp: false - game_command: '@ochat' - private_listen: true - channel_listen: true - h: - modes: '*' - private: false - ctcp: false - game_command: '@hchat' - private_listen: true - channel_listen: true - msg: - modes: '*' - private: true - ctcp: false - game_command: '@msg' - private_listen: true - channel_listen: true - list: - modes: '*' - private: false - ctcp: false - game_command: '@list' - private_listen: true - channel_listen: true - help: - modes: '*' - private: false - ctcp: false - game_command: '@help' - private_listen: true - channel_listen: true - uptime: - modes: '*' - private: false - ctcp: false - game_command: '@uptime' - private_listen: true - channel_listen: true - version: - modes: '*' - private: false - ctcp: false - game_command: version - private_listen: true - channel_listen: true - lag: - modes: '*' - private: false - ctcp: false - game_command: lag - private_listen: true - channel_listen: true - lagmem: - modes: '*' - private: true - ctcp: false - game_command: lagmem - private_listen: true - channel_listen: true - gamemode: - modes: 'o' - private: false - ctcp: false - game_command: 'gamemode %ARGS%' - private_listen: true - channel_listen: true \ No newline at end of file diff --git a/Obam-Sort/LiVBotcurtain.yml b/Obam-Sort/LiVBotcurtain.yml deleted file mode 100644 index b257e13..0000000 --- a/Obam-Sort/LiVBotcurtain.yml +++ /dev/null @@ -1,259 +0,0 @@ -# Sample PurpleIRC bot configuration. -# Most of these options should be self explanatory. -# Place your bot file in the PurpleIRC/bots/ folder. -# -# nick - Your bot's unique nickname -nick: LiVBot|StaffBuild -# login - Your bot's login name -login: froglawn -# realname -realname: '' -# server - IRC server to join -server: irc.esper.net -# port - IRC server port -port: 6667 -# Attempt ssl connection to IRC server -ssl: false -# Trust all SSL certs -trust-all-certs: false -# Character encoding. Leave blank for Java default. -charset: '' -# show irc server motd on connect -show-motd: false -# autoconnect - Connect automatically on startup -autoconnect: 'false' -# password - Server password if needed -password: '' -# identify password (sent to NickServ) -ident-password: '' -# command-prefix - The bot will listen for commands that start with this. -command-prefix: '.' -# quit-message - Message the bot will send when it quits the server -quit-message: '&r[&5PurpleIRC&r] &rGood bye!' -# Message delay in milliseconds (be careful when changing this) -message-delay: 1000 -# send a raw message on connect -raw-message-on-connect: false -# the raw message -raw-message: auth name pass -# relay-private-chat - Allow private chat to the bot to relay to the game -relay-private-chat: false -# notify channels or users when a player uses commands -command-notify: - enabled: false - # valid modes: msg, ctcp - mode: msg - # recipients can be channels or users - recipients: - - '#minecraft-test' - - example -# Automatically part invalid channels -part-invalid-channels: false -# Message when leaving invalid channel -part-invalid-channels-message: 'I should not be here! Bye!' -# channels - List the channels your bot will join here -channels: - # Channel name must be surrounded by sing quotes to be YAML compliant. - # Use %2E instead of dots in the channel names. - # Example: minecraft%2Etest == minecraft.test - '#OBAMCraft-staff': - # worlds we listen to for this channel - worlds: - - '*' - # autojoin - Join the channel automatically on connect - autojoin: true - # modes - Channel modes to set - modes: '' - # password - Channel password - password: '+$$/Nvx|Sa2\:e;Bbv1m' - # topic - Channel topic - topic: New topic - # topic-protect - Prevent others from changing the topic - topic-protect: false - # If the Shortify plugin is installed then shoten URLs sent from IRC - shortify: true - # enabled-messages - These are the message types that are either sent to the game or IRC - # config.yml. Remove or comment the messages you don't want. - enabled-messages: - # These messages are sent from game to IRC (see permissions) - - console-chat - - game-action - - game-chat - - game-death - - game-kick - - game-join - - game-quit - # The game-afk message type is not functional yet. - #- game-afk - # These messages are sent from IRC to game (see permissions) - - irc-action - - irc-chat - - irc-pchat - - irc-join - - irc-kick - - irc-part - - irc-topic - - irc-quit - - irc-nickchange - - irc-mode - - irc-notice - #- irc-console-chat - # Dynmap Web Chat - - dynmap-web-chat - # mcMMO messages sent to IRC - - mcmmo-admin-chat - - mcmmo-party-chat - - mcmmo-chat - # FactionChat messages sent to IRC - - faction-public-chat - - faction-ally-chat - - faction-enemy-chat - # Hero chat message types that are sent from game to IRC - # Game messages from Global HC channel - - hero-Global-chat - - hero-Global-action - # Game messages from any HC channel - - hero-chat - - hero-action - # Specific HC channel - #- hero-[CHANNEL]-chat - #- hero-[CHANNEL]-action - # Various IRC messages that are sent to Herochat channel. Receiving HC - # channel name is configured per hero-channel: 'CHANNEL NAME' - #- irc-hero-action - #- irc-hero-chat - #- irc-hero-kick - #- irc-hero-join - #- irc-hero-part - #- irc-hero-topic - # CleverNotch bot messages will be sent to the IRC channel - - clever-chat - - titan-chat - - towny-chat - # Specific TownyChat channel or tag - #- towny-[CHANNEL]-chat - #- towny-[CHANNELTAG]-chat - # Specific TitanChat channel - #- titan-[CHANNEL]-chat - # ReportRTS ticket notifications to irc - - rts-notify - # Catch /broadcast messages - #- broadcast-console-message - #- broadcast-message - # Hero channel destination for IRC messages - hero-channel: admin - # Log all messages from IRC to HeroChat - log-irc-to-hero-chat: false - # ops - IRC hostname mask styled ops list - ops: - - '*!*sarah@example.com' - # muted - IRC users that should not be heard in game - muted: - - LiVBot|Curtain - - LiVBot|Staffbuild - - # commands - A list of commands that the bot will act on - # There are several builtin game_command options. - # @list - list the players in the game - # @help - print out of all of the commands - # @uptime - print the uptime of the game server - # @chat - send message to game - # @hchat - send message to specific hero channel - # @ochat - send message to game (overrides irc-chat) - # @motd - display minecraft server motd - # @msg - send private message to player - # @query - query remote minecraft server - # The modes can be *, o , v , h, q or s. Mix and match as needed. - # If game_command can optionally accept arguments via %ARGS% and %NAME% - # If a command is private then the result is sent to the player privately. - # Set ignore-irc-chat to true if you are using @chat and don't want regular IRC chat in your game - ignore-irc-chat: false - # ignore list for custom tab list - custom-tab-ignore-list: - - AwesomeBot - # Hide join message when player is invisible (VanishNoPacket) - hide-join-when-vanished: true - # Hide quit message when player is invisible (VanishNoPacket) - hide-quit-when-vanished: true - # How to respond to an invalid command - invalid-command: - private: false - ctcp: false - commands: - chat: - modes: '*' - private: false - ctcp: false - game_command: '@chat' - private_listen: true - channel_listen: true - ochat: - modes: '*' - private: false - ctcp: false - game_command: '@ochat' - private_listen: true - channel_listen: true - h: - modes: '*' - private: false - ctcp: false - game_command: '@hchat' - private_listen: true - channel_listen: true - msg: - modes: '*' - private: true - ctcp: false - game_command: '@msg' - private_listen: true - channel_listen: true - list: - modes: '*' - private: false - ctcp: false - game_command: '@list' - private_listen: true - channel_listen: true - help: - modes: '*' - private: false - ctcp: false - game_command: '@help' - private_listen: true - channel_listen: true - uptime: - modes: '*' - private: false - ctcp: false - game_command: '@uptime' - private_listen: true - channel_listen: true - version: - modes: '*' - private: false - ctcp: false - game_command: version - private_listen: true - channel_listen: true - lag: - modes: '*' - private: false - ctcp: false - game_command: lag - private_listen: true - channel_listen: true - lagmem: - modes: '*' - private: true - ctcp: false - game_command: lagmem - private_listen: true - channel_listen: true - gamemode: - modes: 'o' - private: false - ctcp: false - game_command: 'gamemode %ARGS%' - private_listen: true - channel_listen: true \ No newline at end of file diff --git a/Obam-Sort/PurpleIRC-2.1.9.jar b/Obam-Sort/PurpleIRC-2.1.9.jar deleted file mode 100644 index f9d9e09b8dd46951820c70d4e170e91bf424cd7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 598426 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

W%=yIFiG)X*%I z0qg_wU&|GsF?g97$Qd;S;oqWuxyS?axB5;LkO|JFL}3nW<`>yZBBQIa!G@;YDXuoZ zndZusEf>ZR3Dln977O9ECBssq2i86i$+C(;vpGT{iVv=|g^3;%gBizB6&g>; zi0&W*rb{o)6J=%Lic(z4QeArO2(^(twz7^WUMLW(q}AJ?jQZ&|4+94J>iYXtE-b4x zHhj=xcoNaa!U(Xj#MNRb{_c;PvQ;K!#J0J(vNBTNYJ0fI``tOUujNop>uG!T7y2+Q z==CwFQyW}c6}{T!r{OXo3GNjYr%kG(70ln&B(Ln4B@OhkO9f17#KhA_WUnrfI?6&` zcpjP^5ZO*y9orAB|J4fOK;S;F*?Hf1&b- zlu3C1TomQ4B)+zM2VVvGq-=r1?`QVT}KDSb}~ENH38%FHw24Jsm(*~{R@rNTxZ zCSFD?dd3|ty6SddXRFbIa-<@Mm8HlaqA;bOP2I-B=FwW|%HBCA3E8@XI^dD*`Fl`G zY23)c8=OITs7F{5#4;3>=AThnru(>k}R&i#Q!I=5w@VMBq z@vM3;nXiaZiBUif0(MFxSVx?l0ni__JY#f1Ye8N(-^>x0_Qu1-^{kG5y3)wf>0M+{ z-En}>0F?gFFnqu6DkB4T}l zUns#p==fcE`ECwzKffr^KalK`wD6s}`L=Fhrf-1mlXmo_j$^uS2Gf1OV*X|WDA!60Yrs(290ZhKD$ z5>ZHl{G+%b!&ZcqIXyl*Iyh*rggr1gJL-RfG2CSxWnk)fven}}o9X>{_jZZfkH>~t zN!EGuf{Wlih#=c%-~52K#{TvxdZHHMNS!vR_7|i?has#&+iy;J5U?YfR*)lCa)V8j zq%#4rqc|uU_e@OJ1r_}*|Ae6%!^|^=$-7AXO^DybLShLLJjh5HoalVGz33k>&6xf?eQ zEYKic$~bSISqX5Fn{k1X3WTzBmU~;mwhXnnf-KN zlKpGO$j-8k`;&uS!{@cgUF?2>YFuaGLu=BhA+M9^?_J0X{y!NQqf=!h3nx=U z6EQ<$7kej962|{Z?6KU?z=DV(RUb9{^V7@y>w=(+YN)Wo0`&8db&2 zcv3j5EKLQKK>Q<&nS5{y&>X z;{VY+!vEX)|53ak`M!5{F|>0Lb9HfbGW}0O)hO@EqX;5?wqCXWOVsILXW7m*Z>e&1;id1? zUcbbR2QadEheksg89U5d`dF>|1W zfpg|Oa&U!)nr1HUCSEcvXaDjgH5a*hhoE6iIlEd{0-d=|zJQ8fUyV+-@F-;`t7|uX z6wPk0kdc}4KyCFMG=(c1EQ^Mn!XRLj$+nA?7S>4P_{A67U+Uwl&#HBLx72wba`;TH z_W`J(FQN2S2{KalHj}?~sH@2GMXX+7YhT%qo9Ifjpd6@Y_{+n~2{X+iOR4wvQR_e? zuSNcQC62WRlP9btx&!jc^vPzIak#cZ!O4{}RJp1B92!IZ%+`Xy?=)LEKJ=dW)e~i$ zSk?=?$>iL`Rgzr7Tzc1`r}+~tbk0SpP{N5YCP5Drm|BD?cGwQq*fXjoIk(KGp6$aI z_myx*G!YOf(cn@u>=+v{sM8zst?&;8mgnno=;0UBz zOruVMe6)VhmNbl)ygn>^f$S^nHPC5DFPQ@36}pGI#WFO1gazFn1-PX!;#u53 z1X@*alOV*xsQRa^a1gs$r_3hd=C)ZE>p=_sK8i@>FTKvQIotSseLf)dA*x~At;&*jTn zG;d?C7YW0Ymb0Ea+W|*20|~qFNc(M%ryhG=IwKt zD7~Yii;y)>Vb|;bMnYQm+St!LnI+OWX$=~O*oP1lbD3YVm*#(^lRafc+DQV<^Jx8< zK*1$Udln`#Po&E09F4!HY+Z*(iQ<|G6CK@b{s-*P6mw%^FXn()5ovK4j=OxL5*K~= zW)49%qbb3TBSWr*_-;w?S}2lBsV*}HA4g2l%u#6=?&P+Bu>d6a0P~LbW|wL6-tZCr zNxVe9$UB^gR?~Gy>*m}3Xl>dGPw#=L&}T$_tkHvEx=YvZh(>_l1o$LVHmiAb0&N`x zv^qgssQrCFk)o09>D?^4tdD>duH*XipEP{-v4q#wm&>cvxkR+>k^9F`UPavYiCGt| zQ1&o&Dm>|pbj0S<8tZr~icGM>?_333w_&^V+|P^~1koZ7t1^-{mKhkp2_95{wFF$s z>f42XP^u!L_p1LF+E2d{rT;#@|D|yMm-Hv#Y;I-r?~t!nu~z+3w>}{)LC*L|%Rp-- z64nTL_;Qxiw9R_v^CEdSa{+4{t5BnJlQvT(feVgrviDfzIG!;+cUYf^IDf2I;^Klt zeu0|wPk84XZ*jU_UTlAUe1Q6)NreE9%ZR$iSfax(R#`1E+{y=Lo}#}@FF-U?OOdw! zx@~WcuLqW;cATugST>9V-V_602OX}g;W12*zCTTM%?Wj`>kqd>oEPpVlVUIs=2Yh;b_Lhx7r~CIhZLqp?`Q6ohHS z5sz1|T^mlw?!z;|V}54ead5BQaTX}r?Jk1gV=T+`p^$m9ewAAauqf*oIEABZUqpr7 zFe3DEBv`vt&f?@9hAWo7BKAW{{xWuE^RHjIjn3ms*f*86R=hSG1iu@|$Z5#-i~~z4 zrBSHI;Wmg8W7szrvVlXEi1O ze#ijyvLtL;ln61K`Xb$V6ZcC5GnZseXhM&&VKRwJ9l! z@@$ZFdD|cjp3w~CC6&{#AiG`#2Ta?m4w3OB*-X*X0o7rjYIe4DyD#^KzRnf8wGKna z<4}{U4XRRv&=YWLl#Hb=M`T4PdQvP{%dXCRw$4b0SrrK3a9vXONyT@okP|6E>B)%z z1Vj_b-8XF_JMGL|Jh=xpXWX?3Q+;5xnW}F047Zp!4{WAqbaN`gI+~u< zFu5jjcO5gCob-@QMjbu;f)D6vHQ|W1u#f-AQ{o=`!LgC-Yj!a}isOb@Z3GJy^%-2_ z+S87o z;6*AN9im&yAb^NOoInI&9^eR>>y8i^lx#-K@PcUqORqariFHe%)|-k`+xejfdBxbq z5arqQgoCxWo9-10SG(gWw@e;D>%>av z@Un6XG@r9J*$GZ%w3dFp-)g_-*g$0ksr-1Wqql=70CDT4zoMCA?yZFOBY&*bs#HO{ zybxXDepcZiM%Ko@NhIJST^4Ub$s@e`1pO-kpcel!%6=JiXuoQG|9wdOR}+B$NO}LC z1Rz;v+~P|TR6R6VFnL@ZpjM%Rj`B+lN`~Qq;cVchK~0(%WyjmI1bJnE^7h6ei2lG? zki^KSp{R)Dz;gBc_5%P$c&>oYs^DEO=hD?|Ldjr0m)aXOmTkB{^ol$c^`K$$lB)fa zU~vDyxjSL|=7tC*mr~`!+JP2+twkdUA^(-G!}kFpg4|Pp^pblF^P~28Bz7-)c}b`Y z{!F!h^`6-oMev!5lyJ{!xy3|Xh)DR4=6+bQx1MQ zRg?YuUyqN8a6@qJi!V(7Rx$jmjPf6kPr=#7$=upl*v-(`&dJ=?=AUYzSYccS=}U{d z;&83;hm?|0|-lN@=y(1>5g}KFJ4Zawn#X z>!Az_FYjk@9B(Nu`quhW zFEzZstW-LdAvM7galq83rq$OG!v^@D4Ig3YS%>+sh!^!eY5JR}QVg-NpY2tI> zloVqaVpuPbQ=aI9-Tx5A&{BXrq0iGxh2nKoG3^yAmqH+ktiP)QozJ4R*Q;*577f4J z`MaUT`C#zXe`Oo>B{8{Y|v>5%b6kyF6Fvl zKp;`0!tZl2eQ4kskSp0h`m60gc@+W4c*z> zuLY$We`b4ao5t_nfw+bxw#?!#|9ydTW{?B{VePUkaBQ6yA6VkyqA`xML?oU zDpK;PgVOwfr*WjzGVoaA%gz!U-&wOFxg>>58)UP(q(pnE`h7R1VW-w=@Wg@^xu zJaibAyiIlcfPY_TOoc{3*~K{0PTtiX?R+&&awV!J`Wg-*n@k&b1OF0e+Y^ zGJ_2yQz;uMpO{mCs5Et%6Mxxm-X0H^hN)8h!##RN(zL_TQ!%)f&qD!{aFkm8-L$)Q zrWhhAVPk7nB!x2B+&EI);!UNe|Izm{`i0Z{{FfAHhpqe@wiDGZT>G=hB^=r8qJI*a zG^{SlKzD1+I5&I~U%Q;j#bJnCkSEbbaEIis0PIlodKHN%!0;?=__@1Y?=lC!4C)Uu z+<}HLzQ)V=7&b)VL5m@7At8_>lQ#V#nf9#-Hz1mOUNHw9$q$MlIqFgV5-Xn2-Wm3K z>h||9mkFE*1cN#*I{0byq4IMVLq8GmT741Y2Fq$&D;_L}Bi~sh8w*kUi9miVQbz-q zl5%%{2}y@MnLQuaPB!A*Z!it>uyQ$rAC$6Z!y#U8O!^U^*KmqlRQkLe>3i}Nk@U}} z!-h=J%$sKiU~8)jB)eESS3CAx;^a8vGWMml(aOBhrfT<%2y3%_6}i*$*)(vhG+(1& z%cVuUTY^xp6F_Nqj3wq*#ER>0Y*aodbPNw`Atw|R&@U%@5N(Wl zwo%A1s*Xhid)vz^iHMiy$sCFlS(s^3V0`45e==)tV#hv|nY;|n+YCwzTQ9m1 zHl4OxGz%T5Nk!);OgIE6WcVCz;LdgAPJC0YLPVJ?WkcuT`*K_}V2waz<-z+PVA@4w z^qEf_h9tAF@>S+Jr+hjtc(X_l7sJdeN$oVqPQj;P$b7fkAKZcbS+YR;ZHtNiiNL>{ z2-0s^8tNmhcYy)IPm>gc^kg;olF5x&{MP(y)-8$sajE;$9{rQ;iMS(vG_Tkk%oL6< zg2N=LTtwZtE@zOP^>6|)dH8H3jVLZte`3W?`jMsY5I@zu(-$@NBYuH-?- zI~N{r2cB@%1h;*Mn0hTb+dXPd-VTw;%ZBL5sp;Hb{<-2WsAJ>0@{!v!VcVyae_#Q7 zvI6hIyU**86s3{oqRmAEhd0YmyV>LJ_zuwyZC5qgkZ%t-Te6{K&fhlyufIgv$r1Su z&%gQl^=V4=Q5Hl}=IeRTFDu{B{>3e{m=W?fUm|z6lQ`bRLFM_&c-4}iJkU<98ggC0pQc$s_$Au=;A*^%>!a&b~ z#|+P~x-y1Ky0zE|3O&v`8M5R!y;l7EP<^bBt}qm=FacDAI3-OWO*%;VGJ1~?fww#O z3V8d479@p(V)%5iw|@B}O=#e}QKCe8Lzzc=F#HCTF{fQx}L9rl9T)~Mx@J+}(a$u|SL zfHWQYw}b?u$-{qmP-SLq|8mkv+)e{+ydDgbAbssTNjNX9;WcI=gLXlKKFf0V6l8yJ zv?f0VRMd}Ze05m&x7BSra={d65@3xr0$8rRsbD3?OCN&2hS(A!{ijP*{d zW<4Kz?LyFiN>NwM*>OaZokseVHaixxG_2ct9AQ`PJt6Kc6Y#vyhF2xZ!s;8ui6@)t zg8VoLML7rpP1FMMOSp>l`!p z%8s8sv!Kp7x*-3!PAgH{kaZSWLuEMC7)k-4NF|QyoN_7jzUt`@8c&2f+c0>(W`c&+ zulY29U1|~yP0Vn27}+R#f-0zUSK!2quRVJ(OD}dHN{|$q)TLvq13kBdsJ_{M_aE=H z+*iNS!pI2uW2%F+3lYmBDR$Vz)idq8I@jyMVP3?}J8T6?N*>>yDcG_LEuH@YBQa!j z0>Uzx=MxqHLY_5jnCL#mN*Gq%?ASAEjZ5(iq8s=_ZQ9i<_zg=FNGuVO$jLYEdw>v_ zLjoQxLJ@isAP&zP5J&%V($ZA>%p#F#>WE(6oU{5N!S2opS0X%hi&hNoA%%b+3`-VY zbWZM`g=X-57*Vp+()-8Ev8Ll_g${&L?j?rb?Dmk2V zO|>jZwMT!tirCzh=y&6@chjPBvW3V`FUjL=_!G~gb5Nf5c={Vm|DQxF@R(H*_0IyV z_6j?sNnq+12C3^5D0jp;yji5^4gOX@>T(yt^_$np2sDpDc69-F;`MwUFUc>_Er zb+CItiE2V#J?NpC-ZT2RPAih{%h>Pi51GHv4Y0?CJlur8`P9QN7G(5LSfVoZmPQ>z z4;v=$WMIqsP1x>KkNT_vRbQfz?Q1P{?2)x-@};ou2qD=KK&-%zvSDCV(~DA`nvJq$ zslZoXg<(hGUF?%3$)tg?!%hGo;laA|%vF z>ZQQn;NumF!NZZqC;y0~&C19(W{vWcn})iA;QD5o>2K7w-IixoEm5gUSy@Keai({MT;pnXx za66_D8apy70sCb$x_Q4)Xc)6+8XcNMVUTVLiP81dD~!L7QEZM)O|EUr1DLj^MCA!2 zepjo~R3CqCAe2Lpl#(*Oe&by(GHP4ZkV55NUO!Q7?~n&Ot&|UfbA%IP!~L?q@)zy{k3`~=%H0ugZ)w4 zvD7sFh{o?hk0(H%WNAm*5Zq#oQ?O%WP?W$q;m1}VIPb2b@#;8^&hWN$y|-AtFr2*< zptbcQsSDq{j5j&Do)1Bzwhaq_(Q7fG!?e5hEy|!<`tGerT1P=@2Jefjb9HsZ-EcKK zPuu4Y*q?&Ri{wc0OV@sJW?83pJri-f{-XqDY&|J8{w2h1{#J<7{T*rq&Ga1ek%+v&XdRq4Jd)7#TpN^x1`Yrd@rtF5HwIh>ijcJt$3v-H0+RUkpd!K;{lc3U-THZr}rQ(ED8VRC2~9zU5{td@a?Q$9W4 z+5Njc48472^(eZ$c1jq%r+zs_&YUL_;$szTMkrIa85=K$<>89H*rAC6Czuy@nEZst zN)4y~t{dNiaia6J>_U1387_qHSB;GttI9UAm~&5fJUvc9_YsFn6OurL#vGD0i5)`} zepbOJ!8DD6jwEKf*H1z=YH#jw50Bg-sKM8l_<-#*GZ8`V+Pz>1VXf4dbn; z@eaobJ&?wmJIDhgk7F+e4Ckr@?aG=o8qFA6=lseQ<$dy42W36Fce&w@O|(e8@3f

7a1c$7NxI-Z1yoc52C|0v!21;k&jScL&a~2)9W3PxjwH zdh|v77?IG0Y4>MSdJ*0z5SD#K#jFZ-WluWTNa`Y6aUa(r>}esV_4ro94B<%2@S6fF z)~Kq9CXMKDV%*C(xjK~*q03DE)M9 zzj|iL*w!$Eh|Nns6WX^VQPd?!nq%P-$>se%yY;Z88;dum?v6Vvgejl@yJ1E|>BNqG zG~^qGkW+S;4c#Nj<`zK#tQ`if!ZAz36PV*unwjmsvQ;@IH}vA|C+s3AQchoR$`!Vb zQ1g3LXoYOST3_TNm)z~voul4Rt|am0-in%pEV)o>%iBe6&j`$mYUvc60YpshCTGD8 zSXNOWdv}+tbKS9AJ9<9s4kf{J#;10R`yS?z&-m^3F4i$RQ+hogR?fWaDKDA4hfLzW zMTEO8=M;U(5D=%Dm4wj7Zfno{L)tCUS{BJQ#7)E)QGBi(4(T;Up-&Tr5-hdqyB2WL zA3=%-$m7?855H3AV%#UxzZ9A*4z2*|SKS=}?C+?G@b7|-@xK>`|3~JYzh%GwxTT<# zt&OpWzPXjL(f`eU@oh3c=)c$xf26<;wBK8WkFUxP2tS6z?`H%Vn}9V6CH-2{EKaZG z6`7J464y7_;524`A%cRudeKj}?q}1tkLwo@J#5DyYQ!aNd(zGjCvL=_BBC|4PTup$ zu{oWQ$+I>?tQt7rhvS(8wzJ>iNoZUgvg+?gite>Iu3ltAEG=$KijLL#^6ZHr8 z4zIua%Q#p;0ZOtd>ce&4PynxH% z6NxXA6u5R}?RV=4jTAA%8Em4>WQiz`))$yU6dw#y7-61Ljh`hstQc6xK6}O`vC{bWz6+amz#6g2RF(9HvOZ+uZ&#HDV z5@NVTnyXlK(YQ3^+TD2*&~5r^k}*9?i~Noz_8DHt4`n|IH3FQeDFh>#qI@xk@f@ja zP@Ua0RRukcVc8I~Y8ql&+S%|D5RPK?A^G9YE^TP8)KIOlqHWVO(x$GN{rdASFm)nR zXvcmr7}Vb~82;aZ$>5(S*Z(6Z@%<||R4_KNGB*6{3`5EGpN{bVa!B5!2I-}^i2X4& zSt)I6Zl0MW0QucQI?(_)NT1vpm_kL;9pEP%zgf~kjFFH58jv{IGS9t95)sS3iX|i8 zXRcv1z>W2^mgQ+XRqi-7*%s>AgY^j)}lz*&RSw4~@2Ud|h{~Z`%c!X8TwC?`FL3JovLW@xaXVJZwF0%Q?f^1w# zFjU?Js#=94B3+3A%UlN`@)twPRL+=D73WfRgiuuagPYd+Fx(xgUtO6MvJaC(WZ1Y& zlicuLSg|g~%%Hpp{ZFdkmLuFfoNEosF}g;*tl)Ud6TW_7q^O9PLrTwAmWR8V%L|?6 zdhh$Q2Oea{U7BI6ECGE$zpFk^ASHU@$Ia7-yNE`O!FL(zzSo)lokvY8vV$p=%P?W6 z%Q*5l0_Kv?xHV)MB5gO`z|C!QqAdf~wfZ0i3e`ABY@4hpMVo%KF#8WE2|;T;zf8US zZ4YGAy($E!f^#*gUkx3ZxEi|wnKm$E3LPl1%U=##66Q5Rk0caz(m;d~e?i7hi`cjb zsC(`GWSTgzL-utPlsfU&Gp);AXrzsxoQq#QeJan?jSrjK3kQkOPv1~0+Vn?2kY!pU zPS5=!2n?CZ3Vu@HS`*ACX7(3}o_oTN&e(HZV(r#~EqgEygnSa_V(YXXo*bF7m>PGl(z7pqxn)dN-n^a-pV&rTe-0dY0W)-HKOqT6Z7YX zRE*a*-CY^?I5P^HrMg`<_sS~3h3hsVcrkr{aEt<^3YKU z%uk#4k?gX7Kj8+5QBU5iIeoBY`Ra&^Eij1^FMiV;qMBa9Px3LA5Y1YvV;@10Pvp#4 zSqfnCm;@Ft?4>2#ZYj0W(`{0WWdeP=?bl2>rSk<>MqWtXl!xNWvttpwP@s&gf1XMc zR|{omvXYd3C-tKunsb60Bd9{F>zuMvudUpYBZUi(u5I5sXaz4r=}fjOQ;a0r9yM_g zZr44@SuoBTp%}iU2Z-s3`nF}Lzo5P)&p&QQDgB|>adCY6g9jSTsWQZSC7a{_Nic^X zW{674zOZLZK&y=W+2{M*_er01Hx<-=MKXXSNuyao+GH2B3wXmC^OZ)f8Em3(4xfl7 zl*-4XgpW+L>`Kul{|#US)drgo*Szs5R4X51J~P?S-}?|!hzxN`M&73~U=@Krzrd+r z@R5gk65!hCw(CcYCic#tjmKEpAJ(#(N!=)VjbinMSKM^VUgiVuSv_T6thAM`sESIR zfmg8!Qap$mqqrhH8&)rl=nyvT=MqZd5+P|Ft9Z_NT_HmDJs=F0KC*^a*0+~+BdZ`* zwBJ&q4TlcP2oDDQ(xAp!3KQ^T?gJQW@0M+4uWi(h97egmHCqp)S8Hl`YTjtC9F>wD zdw$Leb!$;?=cqic*Ymzp;mbDqv}*iNyXkw_KaMthKjeD}`}E;c70^K(_XXXj-0~t| z@F8%_OcHcDybLei!ymg3i#b&qaq;`0eCy&T4DMkWgmO06)l%MM^aH0U9$i zp_rTq{t?9!`D4Pwu&``pyrtg!PL&x&E}X*e+3W&|5f$QF>`yhJZxP?Xj)2^vfq(Et zb(WPF8pdvBLdn-P$2K83K@|!~iYrycd-UKTtrVkvi2WKxucVXGQ!{cRF%&8gy2bfq4kYL&yGm2G$WRW##@E;q=iSU2QU?`ICk`1w?dogoU z?hTnu!64pB;xmq_@nRImH33MXz_3EjzfXLvVTP4hlm|qMD;B4h#zPs6?l4X=RFc>= zu5vM0@Bb-ex#cm#%t(KA=obD!^HS@-G~(P@F~CW-Zyi7Xtp z2Q%)&5XBgOFl-BOR$W`YB&7W*-tn$hE;rC-A=SbnkQEWGCY@s!rxSg`PwQS9h1C{P z)fk_`SRW(8C5^Igr2(A00CcyTMHP$AcwRh0;>fKIx^dwoWjs!onC)+ZF>PqNtMLJu z1~4Pvy%kG}97OMP?_+u~UNcISZ9^}2ke^w#KP~KOVpAn}7|rtp>VppgY7Wi2i0dVUSFwxJUA^3iIFejmg^oQK$cf0*b5Np1D3j+w(EnUK&cyXfO5xbx&WWhlkK0* zNiY^BeKM5va7mR)w~^?s96O(XDs$k(YUaMXPb_TJCtcvf;IzfbY+p=k*Omgt8N?2i z8|8g^mcQr@mR)~5IM8T0^|#pwrXAO^%yRBg|CG`Vl7=OsqGm zhp9W3qed1pQbwhQ*7uL+-`Q$-Ah9h-z!qA}!scG4n>GtANZ7se-k?`f+h9Iw*ZWL9 z!>K;}x#nD~0jM}_bNp5g(>xBoob|&P9_;A;I7RIjL_<17S19m?QUkSD2+=5TBX1cr zP^cz_f@zmUooixTx0n#mP6qMJ0orHbnrzcoaki}4P1v~qv8<9Ct$Y21JLnlfbYSmJM7{x!&lN_w_?F-OTn?~#_|NPKo&#}i z5RBxH2p}=yKRkV0L7(NtRu zz_A}Hbj=SsM4-@Po&&KV5x9Jemmx3Btm`8m>S+t9Y1*TIB5N6#BUIA3r7?t`+{A1y zP|NYoi3sMX7fvLbdSsIq#2}}m=Hyu%I;n^pkKQfQ?xWm~1Hx-89JkWHe?nqm!VkyuxUJkkz^$ zgD#qfL84^sFWmT<>i{VuXERAr0Ul)Ay6N|-q zRp4c+cqzpGX+d?tb0eV_w0Pv=5Lwi)=suU(A9V*za^q|^vJ?=S|k6%9M$Q>LXPrud1d9o=%wzF^!P z(Qwyc8l?>|5E~f>hd=DBkH6m!k$Yj5&@6@@xP8V0F?WGY*qAu(ke1)IYcVAk5tl48 zRg8)+TM9ghm(KSxMkroHj=tRWzKCP`S^0O-6);cOrevQceR5F2$y&}q(8aT;BhDZ$ z34O-|pBLQ=3>fS|fxltX-WM@E+#H&PB;g{t@E7Q2LGfv@?ybx!& z*rbaqg*aEyOuWj6%(*TgI1M1E5!d;cj2-M_n^2ld+|VN6*3k$-GjJ$=;mfv)wa`n+ z;icozOFFF)8wI6Tn@aJPkdFg8a*0gjh^pj}68gOmWj?}W8p)!6RuFza28V>@JCdTp;(yNtg z!rlTgs;6%}5cVUd0R;7BLB;7`o4FZ}b#kAd&tGA`!PfU(Q7IDU_UvA(J=wFQ8maTAjB{o!y>!Z=o;9VKaJpk_wh zK|pX3Gc(_rK=t+!bcBFKs6x2ob#rT$zoikelP$u7b^vBziMVv-p)MrTnBfp*z#wxa zq_ku@vD|s!gMt~NF^%i!;0_O-yMtayFg>E{)Cg~ZT_L=oJYpyY5RO_@F4xv5U>KR@ za1kljh@chWN|q^@j&e~6*C100a~NgN^b9R2eGJuPvJ17`eQ?kL@N8sIvCH1$)?lW* z=nmZP7F~V!BYq_O3c~wZ4Z^cq_T76A$30G2yiO4)_Pp}%K2sSZKO&F?exC?ey@UK! z;F&Luvz_|_6WQMuc>cCA?cWPL{{=Hdissf|vw;80wSTjk{%0J)CN$4{v-SrP_hSn) zhJ&2L3y|V(jsA(rBrXz8X{zN;lKdjxi5rPmzw_gXY!JHxf!aV(-~7_;GRt#%!_nvC z<>N=MHWS)cd3oj#w38RXh8H82uzVwKe3!e06};a+Y;*J1vOQjCHxI;63T_mvfIUU( z55uzDYFQZckiBvx?_6AmkU3s7w3MW?Wrs3sVxDDoeZ%!0Mbv3W{VR1TBjlRBuAKvNEq48n`eYP6VRlOjYHk~TC6$j z=n;0U7Kxt8=b<%seYTX2(xF1~xZx`y;Us(;Pd*C|WE`tw4g`J-tZ*SU%ngrg3gN>P z{#w+`&W24cob^PCgh3Q*OeKoWj*yctQi^_H-nSx?u6egy$jBZzxyDMhz@UgEtwz5q zP_33@z#XpIO|;lT&Owf&Y9IZ;30MmM{(!0Wpn34yRjqEj(8#wp;~gIJfwW@1|K6~h z<9Er{OT^i6kB0`Shl%uX&YU+l|73r07oR$#D$3#ZUkJ>+d3}ZY3T0V;i$JP>C7g*1 zNgBKV6J^nVp-c{rd)Z}gsTEcVbMD3`xwEW1ZUqTn4$?yCTX+H0N*?BGMR&3xDldic zKxm!5DC;JkyuTXW%8h(jTTC*995G5xI;Z1NR{Hg{u5QnFwE>6$iL8rOuh_3aW?gP< zQH2Z8?f}OT>;r~7;XN1D+^~4?VY;62M|XMWTv(Uj)bttjDxkUw3#epooTGrg)Awj? z)0v{_-gc-(Plkk5?~tM4uhxWIep{wj7OE8#sEN1yPHqWCdM0{N_0veQ#8tD%(ms)k zNJOv>7MX#1x>!b*5;|^Z=t!0dI%TJnzF$D;3``!Mu234qFYQ`R6lrGjGZw7ZB**$5 z{baQ#LiQ+OL7jKuk%J?fGPDnFE63pnfpVQnA^J6>gx6HKFhU9@RlnI}xvtehfLhEw z0)2`=M5zVi3zrCM1LN3)A1JzX-~<#GmrN&`*L3Ubf;1|Qw?I_s<-(E}jaf*~xP86#+V$wU&CGZmj(gdb8YV*iEJb*RL2>(j z|8e8&|8~=!k)lGD&!LDNGuBX?L^!!gn$a_34{oTd~7_nsE9$H-;$)v;Yx0jOYs3m%zF zve_JFB9y^2R%X6moCRs8FVZEp{m2?*(3tB95-X=l8*sb%)zygiGk1X@JC zePf=jAsUeJtd}hW;DswtIbDuv( zNp4aqO`6QP|5Y@$_EOzEOr<#Mm%YOyZs^0qN~Tu51HG9rHxU`6-&@hijCYk>QeQC2;G z1{TDSqYJ0A!aJ9jQI>-(gj5J*2F>=jLo8GrIyd1fr3Al0^z5vQ)8AgoUC~tWHOeBfB;`Hn}Kf$bTyZ(DhLgUL}6qnRb5mG7Mf{r zOsN1QrMR1cQ;V{rft3Ri#)JSW`C8jyc{v99ef=fMJJWf(VLMeKA}mYI1}-c=EzVf* zlm@DLHOVyu4+Y?#?3IBdEzSfpi9D_vQYeJSIc81Md%aUaF92G__)JPg($NwFfDVr2 z5KGr{<*}v9!8qN+5|LzwUz8Ldu*jyZ;DaxK2uFGPA?f4tq)O$iT7?`EFMkO_KnLV3 z`LZ->c~Y%&`%mQK_ES}g=miR&>N&FCmk!AymI^)mrMDYS#S*|8^NSSGvl%t;RN?rn zi_#rR7?n+bP?`(?-)D4^hs~Q<`Jmf3%jVpw_gu@;E=n?$ID{)(g^R)0v=I}z0W}ad zuD8p}pca&480Wx*?yJ@$mFUry%ODseP1%D&F3!tEnkgX3Ff-W(Zf`hX%VPXh0l&+U z6vOD&39Q#H%#>-`CFQg=;aAvvt(6j5ddcKZZ7d#U^dSZ;ob#F)05T@P7%_A7vv#m= zgH_lRvq0{P9xmeIGMbPSo1%}Am$1F))W(weRcsawzvpc(22VV~ za8Uf+f2ve@ww=iLF7J&dSst2uz9@TS4NywTX<%0Y{{(x%^dU$Ey zAtMqCcj3fH6#uo8PfQL7-X|p%9!yFs6309*lBk^-?|-SZ)3J=yVN&+cKEFY&r!wDz zk1Uh0HGA3?3Og$zrYpTqlvIXIgsM>TP)&Twl<=XCC%?-HgJbAZ@1BZ9M)WaFJwU3s zqxH}Qc;TUa@DT~&DOHfhpM1aMDUlV5^(E9&PTRJ8%Xf&^7h^Vq1UZu&nk--ok(mg0 z64BOn?$xCfTqR79rbf^;BfO9_yqcU>HA?PY%IJ=dR6nT5&ap1WZ9Hxz5olT!)! z#G|U7nm{3pgLk+ zs_FwXNRzT5JTS0&R@AJ7B6@i=n{1XoTvR^1yU)PTN)gw+ z92}d87%;~Y87kZH=Mp=?onUHnbQ{7E`N5$?h7oeF>8GeNX>Sjs=!2!9IysB<98{o1 zMMVOtjFaDV0QsAk1_!zH0YTc+e}-PfEYWp8sF?vZ7ooJ7L3&*%-!Nf@<(dp44G(9x`jSBCkzh2R4y9L|>wSTY z3@>zn%$B}_qsqzrc$`b@OU4p0T9zHK<_?bX3x~DUl^f!c`PQ#vA!~Ummfy3QNLx|D zNz(&PN-^OPJs%k z*?ZmQ@tj+s7W5!+_OjFexUz)z8xIP~Vy}fmK*5{>3&$4N8++nAogZK9AC#%;GrkT# zza6E)_rV@C9VD%h#q$h)x`(4hl0g}Ex)Iquu-#`YoThpWPS4acDWPLzEJ@c4PA_?y zI8mJX-9Ld%r${w{G{SW2sec4}oj!Y95ZFI~uWw*1g%}zf-jP1$vvn{#l{1f@`%OPh zB^ZeL+dQ0FWo*x>gM4zL=D13+Y9&mUZnu>yy~`SSaPy2!O)R*a;$xGEX>IRr6dyMVa9Dp~p}vP49O!04DuQfplJT7aGp zli9?l?2UN65^u0jH3W_MtCH%WX85?dkYKSUZ zsGs#)ur{vgspom!V?F!3u0su`l(oYlrKWcl<DQiSnS(D5z6NX?u z6&L7T437)#qN=5qi`Kanq~g@^u&178+Ju#Q7AEVVOZ`d8P2KX59zZ!ETPpYA$sS!F zYDDyAG@3kF0j~!~w1DIF`DoGe&4Bn~BSFXW`Jw~8^>(6qM&>R}IC|D)qUMMAcErFV z2a>hOb^r+di4FdFFhV~j&<+_!ZYT-XDUC||gW&s47_TVrSe)@uFS9pS)>S7!N zLNgzBdoRTW~~{!pkb{UdEpRuTc-w3%%fa}o7HCM z3rSqT-JM(jnTh$34vqx;kdFrayr6i&iY}#zyBPA&cMW?#H>hqb@^2r3_`cR=T6@7Y4@k!KZpjl&JTK4_vOd!B1lz+@_pD0b((Ua|j)x^LDIt5g zuT_E*at3KbpPge)UT_o*>sTm7H_bOvISuW@Ar2GV{h&=n%`7u`z(D+88xnrWu-W<# zNSz6Hg(vq3l}+~c>>xj)2gteqF4cWKU;ciRLB8d}Zxfb;8TA=5Bj?U5)dRC!yZXW$ z+Ie#}U)%P=ENhFKuX}s{693|ybl)A`RkCX+a=aJp)uvc7t{4Q91*b!w?gswSW!u9eL{m&sQf-H)7JoEl#1r z*C@g9Eg_fn?|{`Lt2deDmszch(8_F&IWG+`YId^ny1YfI8EX%tKbdl#j2F}e44Yfe zMv2sdU8H7pfM>G%Z%6w8qak<=_>y_~(?dh2lIRp{26Wdz5_5$xOFF214b8}Fsa7c` zu;D)fI>&%LeLO?O#NrVv*R;GP)wHMDwY($+ zy+?B(y*eX>*+qWLG;d-%Mw@9KX|_(`V|`nqwIQ|MMV`tsZ+!Csf!{EY>7dN`8>wa4 zL$SuPgnKLLJkvav^{{0Uu$}4P$hb-I$Ci_*kxDCqTgk3T2J@3*8e2b_dDuy`FS%2u#SJV#a==Ppq zIIXm2Zs_Qy$viP&>2tJ6ZSc-V*iziZin8SZqkyU;hTmav!&bi2pXl~xYpb!&(9+G& z=AlC0>Fki|2)poP&pkn%P50!%cV-OVrZXkKEB!iT3Z*pTQ5AR~_E3McDZ~NrU)lIU zZCKts>H-h95Y+J^Vo&pf6#VtMV`)$~pVY1aEx13}1v%^E$AgsDwJGxNgn!?rms7%f z5HRI{vRN+#m3({gyp(?t1spmJIJE1tbN4%N6o_>uYkA?9d%+Xm4%K;q?>)hBS7~~I z68D`!pgkWWrES7+ls;^VIyOAW+izEG&pN%bby#N+PR2LoI(T{iMmCR$pz|hcH#rTC zwJG|!&L-syzK*qVw@+#Quz7HOKPfO@YT^N^=kp0$=A?HbQ!q^j46dMx7E?8YZU28b zd&}5Jf?jPj%*@QZVTKKFc#>?GnVFe48)jz4O*XV)o-i{_n3I{oNSOsj+8rnY=BN@7$W9F)~vrSE)dH)he{uigL9%+0pZHe_5?sFuxC1FF<%DS zf@Nzinq)RFsn%6{g7`-;+KU1t-Nc8V2+SisY+rhb26i{E^e z5u0;}L!MwN>0zALh+e2a6aIX|4)OBD+$_S4b!ytU=eE4RD7Bs8Qd8L*P)xtgeEK(h zGfcA)-BmQ zF?0a?kV(J8NOSU|zCAN(PdKP>b<1_{Jswef!0L^D z77M-!t@n`5kbmI)xrfi$Qam>M$llocoNa#-eu?fj4e8#7`bcfR^;nAw*g{9R)s)zd zh>SU;L(%_AlBuD((jMp|#7bdNPkeGNfi)b>Y;Lq-5IckkONh$7l~Kali*eFnACSMcg)e2UI7sMa zl52V~@Vtz0>-HJq&SBZdic1GTlh(V(?st2dQX1wSb6f=i%anH*aK^UsMh2vvmin;@ z_QKh~$$Ya#x-#NwQ#+&c)wlE2E5yDiUG0~5?SREghxu>%(Jvrzr*T3j`lrm*Oz>WV zpx?W9)eY*DwWGgxT17|k%EvIBB}V@{XQd$W{~@Es=8==2Mfz}$=3-?Tg;Zo2<^>6o_TWIPQ8+Je2mV$TihVmR%q7==FO9V zD{488|2f~>H%&ZSRcX@dCQrNGYfm{_MOo{PWltQe^C;b1eL>NTB%Y}g2b_jKUaZ!% zKfm~^;{&ko1hZl3txDTk9Gk7u)7xJpNz%ClPPflib=Ix571Z0GbF|(&Xue|Ezr))5 z(X6l7>@QyOZ!ZcZ>1_5*qs~^npDW<=8FjVR+pl9Br&ba2*)dSBV9+lt>a{g?Pb7oe zG`say=}@fyGXwrCbv=D>UnU?p5D++B1W(fGGh!mN-v=_;UAK0AwZeQDQfP4l?k#HK z5zwyl<9&m_JUIjK&hM#{|DE`)BjH%7+2%IQ0G}nmhKa(}+K3j4Bh%d57W6(%Ico%1 zb@`d<4#VD*<2Kmj(s^Gn4AM=kYo#)AiD;+vZTgNC6TypxOu^$=1;Z@tWov^Lh;U+q zIL*4sKU$w758Y&qA5TDhDOXDs`v-9#(?3IV&S?Wsf4JVBH+WdGET!mLy!@EJpk0Gj zg&zwSm*|*8o-2F??6J=xrkx-9F_d#q6~vosZW!i+71a%yl^}DI&(PaB?dVvry(QMy z6OtJ`TZKN4Y@ZW6ch%}>#bE}TEb?zMm~~vm8Ew=PF|k{<oaA^O2*3yHi5av&)ju+ z=m)3~Q&HLsq98waTy{Q&L>V6fYS0{bEAD;MV`;HKdF=tdgNNj4Tj zVI#1)&(*&A*E1r9bZ%=8W|_GimCz$9Bb<2hr}z&WcI9)LS|gtgZh3qS&y6abO* z7&P)qomBrdQ#>NF_V^KF%p}^LJ(a*W&U9ZGfDkNA9z+sL;0W%QPJ8Tsqz=I&9#lzj z15_C_b!TS1vJ zQY3uD&wEbMKQtv(45Yx3U80M=4?!_F0+IpD=Tu3QeZCgBUyA*vZ0Xt1!}UF;@af-? z0h16(EK&QteYAwoZ=_74It1%j!d zU1Jz@3AwNRSSR99N!-Pe^;kpbwJ(~96#zeWgPiq#p9|{QU=?o8dI4814ct3*s_=|G z?t34TdahANgCYDck_wR8Y9U0+1Sdy=ld_E8#T)N7@|9v0|3nzxofCqOXeji%+hhCd z$@vW(-5+dE2+r?P`*fA4ri(WJQs(G&<;lB56*X?Yd58hQ?k+-r=^F)SH_}9n$gRqv zbn{Tu9n(=Cx%Qje-)fe8%5zA!#&&w*AEn`1Vm^6|0|?%veIlfg-g$6GH%>*nerQkN z)B-}qfT1BgHut_g+x6nP8^|=g8evMJ=U+szECp`)*ZgIY0pS_sj+aR&!#vQ1Et@Be zx}ipNeXPkw(PKy#7XC?l{p{y=KNB&>8dM}EzG7nb-YBLa0FTY0z0g)0)TiFJ#UMKU zHo}Lt+tqYxF8wydvK(F%fmhK_u$G1xmf20W+|pCGr`Vg#{^pU{UQ%sHt8i#jPptS9Fbbg!??DXdauYIexBydR zDl9~4cdU4Aus^}oaZEw;?ntJXzlG~ylnD`sb9t;7cDf^REU1?heX z(&@;Sz=!RRUgD_ZiHRZ675#+kVg6C##Lp;+pnwfu7M!{WS%L5U3nqr(gV_Fb9-}q7 zbtN;db}YF`zCQH`oS)7K_3laG9{+PeQiHPxFKPKiF9f`IOW z5b9{qXUJean7|E~T95o!LODYXSEMs>xBx;z5O!T)Oe92TNbfUtpdX~+rr4uLDv;Y9 zZhSxR>ai}!E*hF~2x&ZIF6UdwT6J#nk!MYiHRX5+4z@n1T-TL0$wVz23z0+OfANd`j_P;o+kcpyDwoJG@~#A$Qn!l z6SxSb$>+MtbXZkIJgLLX2pQSuy|F@IvoXpsrBm%Pyv>i>mYpinp|vfRT61uPfXD*)&yWngYfXsNCAL~0vNa~| zTEDM*je>aK4HN`7qy;~tKT>B3I={pNouVm3BijZr8txVacA^@Rf`O#KLOVNV*D*j< z#E`Ery)tz{>ja1(dUL}IsDJH(d+wFVM+(0$NK%3Jr)cQ{n7t!k3OI?Q}c-}T8}?k4|gkM5Jr+fDx6-W8VOKO{4t z_t`fJ+~q{}2u7L10;j&YG{-UiTUDCtigRCt`~`C9;Wifl9>5RpDNCY_bUUMcs&Js1 zs$%4|Stw&v3p&d8aA7ZT>dw*M{x|-2TD#*GmIw?iR_*_mX2tWr*=Q7ZuyZtW{>qH_ zA83`%Ohn(gh2^1u!@OdvxoI5Bs5+*!CSw_uQF*+QEz3IXa$QDes~m#ahW-*6d1ZqR z`5};N+n-zh3I)|-1|%g;)t^6`{X@n8pp$Pm2R-{ICqnR zsM#QrPqt7@tR7U6kl9Enmrv)`I9H+s{?+pbws1Q>&=P030`)gUodiT`g_TYAaL61u z;UI4Uq!bG09-^iRA*52!@(_$1HuX3tyqiNhRD{cM;-0=?;tMC(`zh3FwDSQ*7a)L(?~{PrzOC=z==7lxDfXNO*pEPiwp zSOQ5So!TrhHF+s8y%il8(TY`qLm^Y-PGVaT57S8uh!@!=hSMong>dvq^fw5RPQ;@q z(JxCN7SyDa0J|Kt3_p)W_!PFSC4ac64&^Zr8&IoX1(dZ zahzdA{Dxi518uSuqR7Dxa#E8nx|pKUMm{#wJQqXe1H|M~kma4E34EpYmWbe>bbyl; zw76DdOW6?V30jLamQ#vIf~azH$*RI)?A*0iYsbJBfTOyxd5H8{2AP(ir0BpnB9H^e z9#AgA$R8a{lTA;X%hm5@KXp>O{n9&6z0|&68b>VIi)`}p&u`g`b5BmI5xDo;dW`J& z1_t-l_rsF2XXu+{nw-JTVH@Q~Y>y>lm8>kJNlc@4x=}5{p>&&i(9JgKEEfdfua6#W zf97}0`=L-6s8Y3(`aJ#=w-9~(C^wY9J>Eg^Qd)_`=Me7BjF0Yfo<_=NnS5{1*_S}C z7Loj&a`ODhzSi+?Fr27ywg$Xdw=iNAXiahDp&Y$_M~;S&Ef_vz^V^#Zg-KGfYV~VR z%(kxic;JK3X+G{Pl+*ZEQh2Ne$>>fbzaVH)!-(FpiKFw^MCSk2w&}?}Y#GD$Zk1ZV z7FMx2FmAa}lzKd{pU}~;a_LE;TsrR<)XFf2sprD3M+B4i+I(Ad>> zkp2+c*uqbcPT$gi2k`OiZO)712Mq1qU1!Izl+EY-Hk}yIAZj7d@uYLI7}beQAp)@U z#JCW1q4G}pH9X(F)jQw;+Sxj1iaA&-=Y}hi;&N5i)Ys=K!oU67P=bztV;PkWOCX| z8qEbRlom5rIh?Z_+-n-#^BNYdhuqDo8augEYy^rM{jI8IV#AUf2OkCjRp-fz?lLyW z?q}+Y1S^E>jZIS8KC0R}#zXpMb~3MtfGR=qs)3S58UdK(#?ptEUq&0JMe@mvf1Uc)pOc#gcu?y1q%wNtMXoP>R&(fzI>#8{a& zm7J5}ok2|WWSjM;npm4=GsBE`p|}lyqEb6k3El|YfWd;tLeu6@tY9~V$2orGmIR?ZLC5XXAYA%C-EmiVdFw2@r(nOtQsvKTP7h`#(1 zW!p)q6OdB%XnOi-b}GL7qS_>6BnLP9jY$g$qsBJ4yYPxY`0pIE?f9o$M~{AYM-a}~ zw}Gn+1tZ*Llmu#LWtPd{B~c@E^;S4qhpd=wl7{b-(~y4lC6$cn?z4Q?=Y#=9;>rOXP;1w&#Bi5g(fLMl&jP0h-pnI^Doian1wc$G?>p+rJyu(Ymv$|mTF_llv9Jw zHQZ_I6<6$b0Z}_u4@ib5V5KsZsZf`v^Zkr)76vvgXT!USe5Y8sQA^k2+M zMrS|BJ&s)mOD-DfTVU`%vjm;~R*yNGp;u3^FX@|lm=SlNu5-l|<)h|Q|D|~S+h%)X zG32xj#{W89mIm@WS)c)xG#QV%_j zVPW|Yy)pTU1mv$Bz;6jkW*qsJY!icn0mVmq^z*gf4){)8iIwrEbdGZ|Iz}#+PHDC2 zEsw>jfe@XU<%<(kbKiixt@?GLJ{>rG#)3CL2&)Vx-A)&?c$t^~Wi(R6u7>_Skx91G zo>14vsG#mlj{m}Y+inyN1uu$baX&O=e5-yq`x$qrMad7$~1MxM@PySi7dCQg z&FKQiK5I=#aK)rNHkX`bqC;yg__>CX)&faw{Ea3;NHtPGOY~w8$%*CLuph6^THJ!M z05b+E>!QaN!Au-se=vxdq*vjZH5XezYujU+=~}OY#eKJC2fZLdaEI!;r5qd5xCz8^ z5Cyq|be+sAM}#%jPhO`$#O++7DY0=X$r*;{5&c~iWq-7ozIg+>eKGEPQx{}=BdNNa z^T$zwzLlgm_4|EjH3s)xi1hfj47DdmP7G4F*n$>X4lNcEzQMk=94;n(QmnSc`R~h_&a&s zXMU|mw&U5{ceApAYvH1S4SQn;#r^}>bDSWeC}=O7ZwQQ9bPb^Gf2KwKJ3uNqW(Fn& zK;vG)U}9WIDnzzDe%OBMwdT|zbSgzi=k0Hksq5rxjMwg>0srBCe>(W~NYGrkp1dt; zT^VM3Du^RoFbY&3As7a7i4cqfe!!&dD4w`Wo`~Lc z__DS!zLftely@c<;m223L-vps?uT7hL-Sy691sH134iA@HV{9viSQ$?tD${x>;EY2 z-3aLQ@ChyZ$_X)S0723`h+sT$8*j>;y+(BAfCR$V70+NJ-dXEBFnn<9JTPC;jW5X` zO!_zE&W6I@fAI^6z#`^t3Ks6Yz zhy5SWbq16Vr~UrHpc>4qCI9C5M|t|Wf$){TNZ;N4g-(>AW88~s1uek&X!E}AKJ znz2pwOxWKhilc95Mz^2JwduDmVG%GLCf{dKXsCl@`h<1!~1?;iij2M_)ST7vni zF8M+Ke{;3}f52N593-vGY)uu6?Ec?i2~|J!Y`)rv2+r9i$+x|;O6r*CVEanH##cRo zD5NuGP1nVEkdNfjZ9`2*O(iY3p+8ez^0$J8fuz)(?Mx-uzI42-E{C~32WtX{k9m3B zU>!h?P@X{rv5$l@74%YbZjP0Z$kUNAN6s{BMq3b%jCn~e)v^V3?$CiW0$1!aV2wc) zh_~W_S()Gevm3f`>WR++^rS%;%0>Hk&zkISl4RZk3O;C6LYFzSz?ZCXT%RpjTOb%r z4$k_jR`>h3LQcz~8X+x9S^^oSoo8FBGi+tK@wL)D^;{^ys*rQKi)=>_WlhJLEvHhD z;x(HYV)?A3Jui8dt3ZCX(%we=@)SM?9u6UO*h#E>R$=Cf z#~@b(vwtZNZE>%Gnc3GOuNjK(p)=%Pz@s!D1MT=9Z=l=46kuIY&0h0d?332^4mPsd zlc&NC+@>BsUjtm6FGogND{1qf0twiEi@1@2wDym$8{FX4?1C;X0)i?DdP!o@*2eW zq8owttg%4nj1&A-fV`X>AfMWvtd;_iTH7?nvtHC*#&G`Sd%@2(f0`Npv!@>9AH9MJ zwE{=iVI91BVo=hELDjauXA(mKXUgh)dstM?2Pp5YY5pv+RbFFxm;^Pd1`xZszr8%&tGjh>j|=5`tG6P<%P%c-(%< z5ziyH1@r4a?lv$pS4tDR`l?iMD7 zMa8vYJ!Tm_lwgtPgIuPGdA-(sEZ3(BA!+~HJll%cH`aVvjF|UN@ZgvE@Tq_9;yVPt zrRjg0n`pxt6l!$=hz-+Wma$u79pyOSXzSBua34eo9>{fDw{Te@Zf(ESV=bjbj3Iqt zdJf(Rf|N5vT?boX{03V+;~l2SHv91pjX4wy)}zg{zf~nW%rI`2a!g8WinpdD=el|k z>-Q{mP0uk&cc%??35=)Fm$=v+BugBdV3&Ea_nAPA+rGDyL*njok9YvVGt_wzh8P{8 zVliu7w>)n6$h`9t3pi)=fe{1YRP?&PjpU(xyw`b1{ZwzZ0z66z8pg{M9fM}AZ=peME^og7IJ%`MROTw_2$?aA}*Gg;qyKa8F z>l7wl9yc^g9pl-3$oSPa2#F2%9@2-IxiO#V$YRV{3lz9ubjpy^3yX?!@GDOC)Qkc@6V!c4#N5uSD_T9;qY#@W%Z`a9bMf zQp&v5qIf0S&ZYhHv&zrOM&CVna|hwaFFUc|C0gKpIT@@YJra#&ad$Ad2>iOedGqs6 zpgrR9t;_X21>IoLXH=ZzF4MaOKSW8`b!u&xIH(@|yE7dUW}NG<1VJ5ZVZ`S$!yhgq zZnTEuDi1|JU+{$N3@NML(DWkn=%@hyftm^&h+f0J2LmQ~OsI)=O zo)5nP?Vv6Aoh^J&b5NIg%~4py^-SM$z4754334)MRcNp-BHK%IB)r+{A#z4?78Tn` z6+eJHbaa=_-GN@bzpX&Dww9_yW18Ncj zWUeRej=Q=3VT!D)8R>MI2QJvt>4eq?1Th7m{54M`=2uC;D|E?mGp!bKM4xl)Z221Y z6)6dA%Gu~_ZY|l}L}kk}lJoI+pdVtZ1II-S#iJ3Cyx%-X5%_n+qGt`Y9#=Itg-SEGAPsqRnuo=^ zX3)G|rl5)ui!q~ff*1i8U=!yWkr*}B#K@x4wJdnYqv3ask4YT)X4AQmhb-*8Du*dN-nHcifB`Zs2VKi zLOM~3Ua7`Vi~nh1GOvTzC{ACYL4Cpx-vD34Y&gA&UG$<>2tzfG6Wx}mR`?)Oe#&+NBl-SAyK=Yi$||MYLptBXWZnnwjw4cur{c#t zRe}9bIV$VPx-90FeoA>3^|TDjUC~CKJ4AF$FRogleVT}( z$viFI9r!@GfNJ4I^3N%wc?&$ZGzzz7iu-S~m0(`re^}U0`Xc8A8MGc{%W)IDBb2(U zIUyhZSgx}K=}T5=;N77Ql*6hPk^qVckbWAnvY&YTIKjAP$BWWt)AmN*(&+0i-wY8y zGw!c}f!7chC*LEC#QRV}?^ew=tef_%OVLN>6=u5w%QL{mcrIf5z#9~1yjcn#OPu8m z00{pmp?`qWq~fY&hGsza8(JyK-f1lWMpwR4=EH zZ41n(QSRocy8MTWA6#H?ZOp_LDA^mWTwdUpVL6>%I7bT5o=GvNuMGU%4X$_3{()&- z{g$Z*J=?PKtGel*vErcawXu^1_pzDgvYO`X7_;j=S)XvpQH4f*r4W1oY1_)w)252c zLgliW0f9zbQDxF!(Bs@><@Kyv;J-=%s?Kat4Ga7a*vM*bYxhQ(-tNHaT#Gl-iq@6# z<%LqtYUYAU9?d#ZdOw)Ug){5=V%!cg{3qz+p~&i{FMXzjxEw4zZXx) zc9dY_T}SmZ+m$K93|H#nGwb%^H0NQSn@bkOZ*40D%L@wd-3WSW93P7Fy64kp))oXB zjYk!+*aBssar>BwX$dW3j;Oi}>gdmCZH{&>?mpRJ?s}Lkt+B{=)w&G9%*~9>L~~yd zfM@p;Q1#!uRc0$@R%;aYYwIknf8K#shr#R^clN*|$6I}5HHxLX+t1zrIK6Z8x5If| z;_0&!LjsMkX>7gZ4~mD7UUK_ptuv)3GYR208Z&CUh=p1z2ReL3@#+L-9Q|LLksTo* zequFcCz_rBtdIC!rU)mwtvF7BU7Vk8gBCrez9^B=hY2tL7+%#R+`TYfiA}qs&c>wu zkoCj%1jkIa0PFRpyf8*SE`ya%kKc9U@pWtXL8gPKLr{-n20TpA>6UsFUB&J3FTlHj9;*Kkjh8w(=2$_1 z0GQVykH%cPK}A=J_rSTRgPkqaDW#|86GO{T-6zy>G}yR(mY`=iUF^s5ug-}Yl+kt> zJK0l4&8?sR)oW4>@5joYulB@{Ur5jY?^aXH{~KrEe>edG_YO-!FfcIUFeH*NF>i&g z@BP2}_o7wb_ukgl-a3rmv->+-P2P)V$Fq~?Dg0>RCMJP!s&<&h`$;L9sc`B=mwCx4 znYzYyVf6jOWP!|slfd3#AS9POD%IF95TWUJg6I!%%q;xuo{VF!2$UfFzPU9hESPb!}oyAL+-J$IfAqO9vBBAmoER8H?)V6P*n1D zdk1OlTqcsxD-F=6UVWB!NSS8A9~ECX55%ZvOS-QNzPW zbYKFh+W4t>jE+oc6lf6W1|)Qpu3MY18VVaSS4tvl*hV8A@>kl{^>r zSavp1lKhdqJ<_Kgg~&Mtj`bwpw4IGCSl5)y-)706)LB-sI_Sznv8&c`1VMR=sB9;=9>du3&rm!TnBH*48I4h^5(7NSJsx3m zGvOR;aYS&24lSWuVpTBwZ5Bw9)DJy5shEUEdxv#56tyQ%AMi25DoR#Fg#|w#H^LbM z4}H3p9xlV|$);tfEj-Nyz^;|hSxb+-W(M>j@iTNJ7@4=lixtjS0>@sXc zhiLOSM+(f(>`HfP8LEG-fwl%6qaE3LCG7WP1nhKYr}0wF8v0|r*uCdi^ZrnZQ`fC& zTDs;APL^6ykswL%E9`Kc82sL`^(0GTF)vw}{A7vxMGvAq#Q*J{5`p`f6OEBRGj%q3 z(ZUPbsOBO3Hso4Ea_VuX)h6|jXh3iVDql3Cu4mhnekx&BEy(N^a24VgEqk z=4r3%g*%r8*RUwY6{IX}mSCA(*EAWn$@uwK!0!B-NtPqYm}yaF#GB9j&%D;ZGbN-RE#mq#^g<+xzd51ROKY#qC_<1!F6nEF`wY6|g z9$C^-{2t|HVP5?H?5;Vk`1`At4fL8QXi8#oK@5wb`3<9my#)d!me@x3CZ!frm!u75 zE9;hFy6{og%+!DP_`YkPXeRc`=6{2C=+-UCHZ=1}#K+;Vl=8X^2I6&ytF?O0RSGiO z1G?Mj>UVOm@x3zUNUqPE#ZizpJt(@&cJ05c#5Wpq&b|N2K(t&V%eW9$Cr5eY5V@p? zq`FodXV3WAFAQFU{^ z*u#|y`q7*RflWvGIh7DwlR{^+bbv~~Ac@NZl*`3IE^JnpDTz(breerqpU~CHMP2C) zgWpnsY}9$!;7vGTR&tIFhqYHWx9P!vna$Ql?9oz-`syVs7$HN@WpQ@#?U$YRCS{hI z)rD9ZqQ}mwf$OvqwJno|aMClZGd}l&&6pDGFG%J$4u3k25b63ZFY0fZl-+HC3!nN# zuH><=p4kO4V?`4MsqrMIKigpjP`5;_mc${vXm3vOtG10Uq6<)LWC&N_-{45x3JAmI z*;=?sqQf%RJjai|kJlTwK>}Vd&oO7CXWp!9T1Qe1POe#NQ`0|PYeH|F)7nWC!B%byLKKaCDMNk#zCb+& zMR{lUsS&cM)2g!bVU4jPt`26ut5E)?^6wtIOj;{V+jh!qClQ3*iPWnR9$upke`l_8 zfxT~onS+_463;vs*UidmjiIQ?6(@ryqJLgGRqqXy)v7{KQz}*lSH4aZsoo1KtF?y4 zC0E=G-iZF;XI6WcsbHA9icnTt)a0g93rMICN~&PsEKO5Yo6%&$Q|pyf>t$9`v+n() zs>ZF3BAY^^W+tnKoasofh8zPqrTAx*Ne%hbWrxisoJJBZJE?l5^q2taMLJ?q=l$(1 zGw6_gSBbJr9re4%e#1)8Aw9ay{`^hQA$3{m*dH^SAcA=r}6+sQK!Wg-&Rq&3b=YGSfH8WF3sd_k#HtbGqgJlfE9Yy-RhJ-eCU ztYxa0~;WeM&HV+9S2*js%gt{o=Aj)(!I$tPi?v3$K*zYI{ zYmgH&&|&Xj7Aq-sx5!MXc8Kz;MCnl+jxIs##u9_c{kz$y zBs576-!G>T<>jRyU%B*(^jI{t`f5B1-08IXa zPXnXdB`_)jQ$s+osoF=a8{S?gDZUT9guEifJd4@)bPj{9@jT_rAB#Y4JK_14<2B!O zX@r+w7*+uO_La1@|JYM6oLsK|_Nd*stLMe^VokUBQ-1vwZjEoLmlHFFlwX%qsgo=*?h0m=O({kUHB{|0J%sYyF3K6`)Na zH3U$D93vSXR84-D_eiJi)cv@M)E>ujyNYN`r(G=4oG;Sl%$MafPT@s8l|Z{MgeUwR z8*bTCQiz=v71JW48}1M(4`N!WljX3`mxFlDUjF?X`gXxUzcy(VV9`rH|NPZ^bBO8kNRIVrolKl_Z@ zF&rK}Nd1I=`s;7zYgIJJ!K~l^?bmhVpG6jYgLdoAenzMA)Ny1BW#X^;QyFp<7?j6T zIpYzP@zm7=j!wjqQKtz~q_F)l(QEQ>5$hlZ`vLB2J6qgl$FWZErKnY>`j%j&uQ!13 zck|?v@=vo4W9DbI1{v*?T@$c}-eZ9y!YTHn)Abh@$eQkGA zruMv*JacOG6+4sYDkW8|mG_|b`Cx1^$K-|CTwvDQ2m~3=r^kaa6rv?WcPX--aq-z< zjoihLCW7UVsW-))cfqTtH^nVKe~3ZKpik3=&B7~>(kqWQsAwsOPx);QtdAb7kD$E3 zYw4{3`m@3-6O|`6Ves7qU>7f22L_T*{jDpHafMu?|Kzi2idqas{oLUx}`~Tfex2dlwlgXF!Sc7JaU4@+tW3 zDXNlF%(v3DDXV1tm`LkMNb7S*>m0-AQmhI@W?Heo+SR)nAtS?A{kHg*8NeM zO#Y$j*Dk5S23rW%a=MiI#?GD5mr)vynjMiA12&!#9kIEL_+z#B@`#1K-CnOy-?O#KCnQii_XU z$77S0^G1#^L(*+1xHEJbY3cWA*FK;FNf4*SdAiHN1YK{V4qj9Pn~*HIk+qr_qZ?bX zwm{_ISi9a}%d#*;;y_)9Sjv1UaPLqU)+vZ_Iq+-+AU;&K1ke|n*WVJ1Rx=P&8SD_< zQ3xCtlZ)qDI#^J4~=a-uH&AiV>r*d@Z1Bwk0##!;d*dj6G|@@N`D{?aAwOWX`xTR;7$R z;z9lxugnqaGR7VWnz#|`^2Wksb?q`|ffNs~AU2Fw^ax_gxN;Sm$4o`nc&={a=vNu_v5Bd6hJ z*~&>nEBgv-)8f=ACPpj|iPgu6rwXF>o$n@?JQ`>FQAEg7)X`IMr}UR5fRHegJ?v(Ic>vG~pw1M2$WtX@Fe+*5Bryci`X?#tZe`9OFc1?p zF(bH=z7CCa#uwc(47qGSjhUm;zlCUK_w&n~8Dp#hjK6*s42<^V{w_)5Rhct(j8#$N zv?LG;#w)*Dt5+vyIJPL=x`LI-Wfb0S=n=r1qeQ{QC}O>rXzF9)nPx$!sQT(eVw{%Xe;^P2w_&{;e8_`v+2s(rb9kafAt zKHFt7CjGB}+7Xp&EvsHL*?1hjS~|SM?@#s?!u-uYUArDd6&lFpFh|+DUMGZ^%!*GaMO$|_$J!yPa)8DII_8BXBii4~MH8m9 z=6aJ`cfV*FnWF3fS`O4iRXvdo*qm<7yP09OY4gEz5)7u=7>{Fn29m#(IAbg zSl|m-0V5L?$V1QdOVn?gbPcprCRL<^a(_&Tkw$!PubQv?vR46x?cE=vmZ*fNK3B`> z>(0sEi$|Ar-<6-YVUK#$^HDBh<|faMGWX)mHGZWP<;MJ1Gzs`?Tn45Z7?dxR@s|my zzMLeB0ImGbB#p42)vZ51dR5Cx$UO*%)d@!>zzq+w8dCVI%_X^`iLkdF#KB#eX0E*| zv|q-Hcp7?`zTP_^SWL%C&(K$p4I2O*h`~0MC4UodCKiBWK|5JOJtsh`Rri>8ZK*?S z*8@e^WH|olqFf`zgF8Y`tWg`=w!f2Z@PQiTsLIW@8xq2a7HOc}L6v}P`%A6NzkO%i zjYtY~i~cRrAaD=|{j&BXSakcC@o)Jbi%&_5ey`!5@!PC~&0M$h*H~AcmuVJA6-B4N zjBg3?!Y$Mo@N-?FLC-#7F9qnL2!xgCXJ;m6uEAig*E8An6)D%J~xIw%+@@fK(W& zG{k6_RB#Mtc$~t#?=& z2Gp?BpnMMcG44z>u9@oem_PB84!uQsQ&iNX zju}O?T=XXo%l@7bI-`G-ufr&FXWH%AXBuaGl;V^aUr`RTZ+w0IWy@xc7DJ)NMe=6% zik<$KKIg1y!#zhcKvc&-63I2N;3gW)O?8qPYnYw#%V|DJBb6d1$#lyO$JS@&92Eze z9==+#0%be&D{qcpIEJxRXfO7Kv^aT1TBwFIkK-23&jdpc{XY2PV8XIX`qe`6g}S=+Um|^+a<-#D zaVy1A2Mub4u0IN0lyz3|nClJ$v&Hm>_3DOhI)<-oVR)*FpIfY2er<3z_;^W&z(=;c6IJazLMZ~RNz;3;5KcZ z>tVWb8+GAdgS@{6N$+h5q1KYBwA+cu&1HgR&j>AcdssH9hQT`QMff3$OcS*C#zF~E zf^CHxv;eBCEslM2#~igeXa_?c^xEv0?5G#QM8xE9%+}DHoqHBUnfmS6x$Aefq+E~}h&aEVr}^W!r%PWn&f75I->$-Sw+EMjtK+}5 z^+XhK9kWH>jI5yMhI`yCE@_40S0|m(N)J=DF?^Gd{oD^yH#9zgj~8WoH!iq>MCA0# zz(NdK@B>sl1C^NTf_$W+&Pqk$a#X|b^P>CL*Bq4M=9DbUUCP#S3~xZZPUg0Ksqpjt zY@%_WqKu9V)MFmjlD2k>w%wB3 z^bt^`;0+NR$e{*^-IcUPxgGupv~yKLbw|CmqqYOSWJM)QTnYw|o3tVKMEL~kRUb%CJVob`fNy1$B=A`A-XQ_&VGEGpOGv|53 zagEr&5Lx6C4_LzPGY#5ily0~w-I>U?Y(R$+1g?8pbB~ZGr$#}p55Qq%C`&UtZ#EQ z+__`kmU8oZt3NMUPIe+gWUz8Z^z4fmE>x%EUFZnQ5IZn&I(|6r`-s{Zg|JbMif3H`Hb+GGI z+r3+i+>Nq-v3B{hqvU5cez_@vF?irhA$@V6IEUPy7m%LAky^9}R)wuo$8JIK*bF(; zFE%``P-<`{HExWS9=bcn6}3EQEDto0>px5H-fb&|j@$`fIgaeEDtu^fVZqBLjg?TZ zx@x0cJ1EgDXs2H3WM3LO(5a4Fy z)SQ~{WG!RP$&>BhysP9;RsI0YMxkDjRr&7GCCj_6^t4&S3agB_uTPF&X6#-re#>J~ z7|UR!bXQU&VavZLiLB1)Bit5Fd*z@UqT59~sgv#$dBmvI{Y<}boA{yVkb#?jSM>ke zSCTcj^9GHcGZ@kBFW5~WcTkG@-Mh-hPMO3qC-^bMWv6L1+H#mTXs9-S!&a12+)~)% zLRP4T%aHJq!PrJ+MU-&mlXx{gw#-+tym;DTvY|%dr&74fcyH6!lr*kHoYte$L`QH0$=&5}6q(P%!=v`E~w zclRb6TZH0fU+V8!Gu*Y}(RFxL*I4^Z%6*{J=k78cT80`bhqW*qSeOGomSYHWLVzT;T1z^9mp8N zH8!DqZV)-PC3CP);KGL0W{LcJW%nbKtayK?pVMS5%1{cUoMx-^q@k}~&F}9J=$3(l zV(OrTDlIgM1vJz(1cmk~Y}PN5=S?*Gy8$Wty8uv(8kvNM6~$Ie5)6p3AwmZRQCj%8 z2rbmpm72&1f+9P6wzgKWuz&Wl+Lf$ruP;A)3P3Szr4u696kB&S=I(*o*ad0vi7~`R zhlHRX<)mjXraE2UlcNtX>^~W^KuiTY6LM*ZQ@kcpl1lYR)@*Z{|EX0qydBSeeRn4Q z!$5xS;gR{+k*)K|eC8AQAT#?`YV`4c&QZwqG4j7=Hp+8@zU{aFWVK{RC1XZI+2Nwt zyM;s5=q@Af$xvdiRJVLcTH6Os$v?=F;0#Q~$IDES9(j=%p(;GUJ#$NP$|S<8k(%vy zFezhT3W|7;j%rC%ry-+F#wjDTO4&CA_(yb_JH(~*57~|laUJgSC^LOsyjjgMAN4+v zp6Z+*Lng}n%4VzS^?V4q86Owd5Y)gb58_Efs=_4E3^N>zQ>tIAse6-5qweVhB~s=X z3w2D7WKY1FL%+3XM;ux=WUL2$@?td`9$vTgMK=OCX^#TGtLU;Lj0AnqXIFWPPI5>7 z(YsnOB=xb6o8j6we@0L30{a{iLGtVw-8O7!N$qJRH@fk@%rbhO-lL-(U-N|Vq?+7@ z{@TwE?*h5ZvV5LCqNDA++?v{c1KfCh?Hdw$W~_FMUg`|$X;T~A{8_6!rlYl3qfTS2 zWTj0ueR>K4jlx(ATg|oS6U$?XA7&}6gK}(oQmY;s{qZ-QGbwjOL+C)KWLGLYYh z3|L3sEN?m>T36ky(Fq7?g7=cx2)4K8nl{UNO>TxcX{7Bex>Bf9N>F00vZ{aMW_4HS z5oTQ?HZ(nBHZnDryu{6&^JdmGy@aKAaT=E8_p9#7AOE9TcsM6;Xvs!dN5Wx0r>~lv zlrmm`21N^yONdyb(B71#z5b2i8XwUyI+S&|uRE>oETW=XDO**)Zs1@asO=TZrY=NX zrh4+DU&-n0%tQ;?TnOX0-o@gsV~rSfyq|Pz7!uQRYd?3dzV0D5?BQNkIg!8FIi#og zcIF?I@23i&Mz1L8CVU9_lI?3?5M+w#6IEx$s9d^Lk$xWPNh_ zg#WMH0nR^pEqbFl7ZEo}b3BOR(lKX*Qe1Rvs zP)t-gpxBa^7D-|Zc_LA(OUwKkKu2Z{mfnD(Ub|-PP(t4Rlo%J1V7`M$b@P54!JKI% zk&HkfwqbMx%%nNKb-(fc^Y}*UrJ<%T}uOvIdUe%4kf#}fxnVpqs(LFmgIfV<hCyqI_Krx(Tas836JOiub6rzv%$ zx&ryv(iNnDeI=}cUCzy|je7IXz@mgvb1Qa&LRds=VK9!784k{ZeULy393>XGVO3co zlV1hp3APa5T%$2eiCGxqOWUItNF66(0xS{D+#*tj=4H{J8*rQQ4yC~lOFUAc7lQ2t zo4MadOW|9^ux&;Vuru}FBEb^Dw0gJu>5$x}a?C_<5He{P^6```X~RRb$?V*@9X|L9K)X?W@@En$7j#>cb5B{nnj zOIfZft``PL!jKoyFChOWXfc^moE`Z(CaR#&R1}XOJ^k-NVJ1Xir54Byu;;uw%Lnv2J^(n8 z-&k0x`y-Rz+Qb%>_C@Cx?@O@D4QEct$kxj7bB${U*PYA`cFW9(<{7E{p-ldpVI04i z8I<3{=Rm%92V!Kzb9yNcVpB*zgXeGKn7xbB(p3UX*iaA``$|5{81UwZXUJ#tt33g1 zJeY%?w%7{&-80-60hcl0Jp1?~6ml72t%LiP8i$Yf<@V3Nu52p?NY2x$a)xSr?tUXnPu&^p2jr_yD8c(2;;XZE|JT7uOocigvZ~ zjtHXyBnE7_Kp|8^c}USA?Nrg;xZcytebmltmTTFbnwh1ot8*0rT16q~xX{{xZ36hA zKz{Lj6O4fUP|WZ(u=6Wl_GQBwtkIw|(Bq=1h3%uK_Kknpv`=m{3S<`u5CNq*_cNqM z6z?gMr#F@l?VM^Aw|Eq<1A@Y*BYkyZL)P{Ti*$-PtOtQx=`cs2<%wq3ESCSeIKijp znIH`YN=EA{pcc>dFFdul_}Nh-8b*$us7FZJaXl@gDi&Cx;mLwv0$0h*jd38EPyLEp>aEj}+fo539 zc5etlm%ue_8_t{Dz!0T{1e$w2qNOSjVAtYL|ht?0Ef<@leOObHG%6b9_lOTA^a2 zO7%gt`Vl!32O4)bqM2=IN^B^cs1ZikAnYA`d`Wey3rW2V-s$RlgJwfYC+y!Z^3KZ! zxf3vPa8C@gfHFayam*93$PCGnt$`iShh3$v+ce4S`nMm{R51e$U@(9C1{UF=omA}f z2zv|0IjRxwC@fnJ_#vXh|4dTkB4`;nYkrBy42dP`kT>1FPE0q|EJ^Cx!r4e1x4@q*<{he+)*vF9W> z$NAFW-FGs3Ey(97j+8D^LAEC8tUwl^tcY{%38+2w!>Sz*oRk6)UE6~~Gv7Tgc9z8^ z9@0wQYXV;+Ikw}m5fki$lkzsGbj>OLqXV?!n|jH^!VLwl<+@ecfp{?xbOY)2Q;5C@ zYqvAaAFvjgWG2I+dEudbs+fB>&JCdAL(SWO#P2$rsV~BQtWxiLkI$QqtUa-`t^t4S z`Jz2bLiP9!@u3z|Ez@Md7dY)9%*nMNlPg~mv}T43hGN+Wot$$^QhcIRgtchxYTa6I z_RlN2&asTA`C!1IgM&jh8kd3|&~D!hAW+}(yc!tJgzvli>974^cYr7g^2YF^En>j0 zlmV_fK*<(%kgE(>Zvn9T6Jh37sj~}aDNb7>_{3z!^mV=2pb^DN~iTmYze4 zafWLSI>_@YHRSt90?RJ`(2(WN-=Xc=KyU(pG?XYCZ(m>#}f3-BR9-Q5<=Gm9mHv6 z(+C-sDI!D5K7{ubMW~5$f;G?n3i|veQmR!pB1?|beZj?UR%J{=-6u&xos**6wp>EX z0+Y}Z$SbCUC)_4bv>`i_PVJqHYG0+vie3sAcMIg7YK1DqunM*~C=Fnez-lrYToCgzxaJ6rs)yG>1y_AIyETFMa(B!wSv}TrR>?|*SH0pdD?40UL*m1=eBFO_JBL8Hzz2+oO2*lJc7cCm9W873fnvhfirhN3P5s*2{AmD7CNscj7&*e-KggkYlPzfyn(8Q$Zj3 z5U*Al`SF`+!kf`H640)It>jc1&A$yrIzTsAMLfZqO)1w+RJ+t$@S({I&)~8l=bIs`bpE<&x4Xs+p*Q-+FW(h{_WJtQr zhtd0bIHn8iwhgca%Ww569+98smICeD2m}QDfcjwH z&ZGOt$kOHHk2-+uT@Aab_ADk_(oQyfZO>NzOtK{%S&AnViBBsMn^O4y#gsQ$3vv6% zL$m>u3ug}n?U;G}0;EYdpeB_niGwKqE|Txv3bJ!Oct8ro2_%dxwxir|6Tm#))oLRenod}Zv+IwWLzy;49*Z}m zfbx`7SDd7gAf;6$PFCiLq0r?|&^-jTi0fqywF6dj0A|qy9#Mjj5Gn)DPsLwV@>h%s zMve-%mt@t3@LeH8*)D+IV{YCFvT(~$st`J85zw~uDl+~Y(mcTWm2@{|Jn5!5+J`6o zf(g-+e&J%~yaSU%Qp=X$0-+6^!f*wz(IHfjB?^|bu229~h8pidP68({b!_h;Tl~+V z>RD6bL$=CAl)vbo;!`1!HEw6N`A$;Qb4C4pH;w?K1k{+~K51&WS5ZD3<2N>S-CMF={;%_{_2`eBVoG%Sv#S6LS2=Fi`Ql9S#w1x!q z`0kVL?Z96nRtJCFjoPG}w`1TJlH`T){tN7tD7A={g<53eCgEO>C&Ef8V7|5wvY$Y7 z|HVcN@v=2^i^<&wkB@gt{27V0LWr|Mh!s-hGNxZVJUpG!cyiz{GdQZY#{dp{A{cGJ zkP1gbzfcQW4p&v%TZ_70+cj>7zv9Kp^mw8vG(jxnQ^t~rq>S}m=rNAv!SU+F{D{gu z)aOblBiZPWrP)kyKb|>an`e1>wjJCyS*}O5lByJ*Y^n(M2|k4KEL_DP3ZCGKB5d}EP9X2S;Ltea3S z16!F}z<^;GP5^Voq?>}JsDE@e7KK*Lo{@!VtGA7ObHjnLRb8C?w5t_TzbNdf!$y!j1Hjx*(1s+O!? zO_{EzWBnb&dkDAxxADrTarFb?$|_uvC?BN<-q(;L-2Iy2LE9?$R7ohZUOFKw)(+`j zL&+d)-5pl^Bu69%h`ixu`1^LS&jW`Y&_S7)3>-Vd4$JO83kM+{Pfj40;w8>7b8G&p zQZ}(7HFsSz|CiUGBB<>Vvi@w3J)v$Y(gJ@6W%=lLeirnUKIVfX`kmGUxkAUel9n?@ zqfFbQ4bLX{6Txx!>dp!>3EJ59QQ``d_@y5OiblT;g{ey>icqzQ!3vZ8CG34R!n-bc zlg*hhx?pa>`E+l7((as$tQUqdR% zElIim6Eba6ih;CnQNuNjY;Bda@36cyZ&o{&Nr>~&`AJpOPNvnC8bRRzR|6h!DK)!Alc7;>8ysgBmI zLF0f>jN89Hb69xZicXIrS>;Sc;VBS!S@xeWPPjYX_xII*XRamEt&lBE=QA%(ynIp~ zxZd_|W_p0_Sai`_sS`4A7VFb_ZDG&Tf`THm2pX9^ZASDhbSLm!q^St}5ks>UWzDZA zck|K`g0BM+5kr&Fty3O=t;^;PU+==k?jHLlB);^-IzHsB&E zdm*~az~lnC0oqP>5+!VIX_y!5itI8hF^LJ)p|4>83td@rB*=zU9j(t*jbs)NkRF3< z4HFcq9&%=c=4$JRZeUwN&xt?JFpWad>~lb^F9xFBpdRx42YnO_D}(8oD$e54P9~fw zy-s@{FgeIv6O$%)?7YA&&UYleg=31Cu!_@%ZMOo>XJy;h2rz+;7OvIPjVMhlO!>qb zCO;@LX$a<_s-li^B^*|)`=;+@M_ zNj+X)!yU-_)h65l0bjhA*B#2}E8fGyFh3T}&$Io};oF+0jC%YQCu+X~Z2sADtF$?F zkJWZg(RS7r?FybkT?v&(QJWOE7gN&xGd-?l^lIaoHn=WoaZkMb)4R<2G+D_IztU9M z$IpUG1q%lkWY0&XwkA@KXCw>mDWG4KfW;z$CSirg zWF63AIy_nyH!ArASRH|BHloE;0&E{z%>#nX>XGND;=-f}OK?79CVJ65h(=Gyd|P2z zwK5PzQ9!c|JmLOa*3eu?jS2F~e121lx!h{qb{Ome8xnL#WgmP4Y!R)^PF^1FiwxAV0ik9x*pne0=>QDV{6RVhHX?nULO2ytM=B%O6l?g zuVY747u17u;d*DtT~!z*bMt%NC^UI%gVsW`4|H_!9_f8CYYV+vxDvvsJ-F~AxqR;p zxy;?Xpo*27-6mW6yDoCAItuccysa)}EVKfVR4QvLnP+?fzVb~qy8`K*wcN8O7=p%J z$}Y*_OmEXIs%fmaKQf2I@0W zck^mspt$R49)wz-p7H z{T^oeFH-k&KifHl^Fq}`c#$hYRC%5oCqJB2i;aF^-1;?ZlaKu)Wg<&;Q{m`gTG0lV z=6IO#`mW;Yu_OeNki0)MJXETyW&Eh<@l55EU+_s63+K#y4(Vn2j#H}E^%>bXN*J0i9Hkgr0ESunp*_K0XsCMC(Iu)>ZLGc--4I|(CoJjCdrt4ck*0Xh!A`?jj|dR9KN zvVV0ts+F^Co_x2_zz-6wV*1o5FA$qFRL5MUlGWFo?0ElPz%f;Q876uhF5upyHb*e3 z$-h$EHoMzLhwhHi@6FMn`O>7&HTjN1HkPYn95xDT2@B7v60@lJ(>3x{;4Cgf-1XEW zkyH1r9>!cQzICTQPlD%;QFWJke9rYCi)Z1A_9XT^vpk>TBq4SlSN`;G{Hsl~P=#3~ z;mep$BZB!b-sRhNJ{|m-fG&;{%{+I~RHvG^d8YMC>nPB#9EJ6M$|wJ^m_SYC3L3DH za{7kqq0c_8dAHmNYNfNt^G2QB-Nz6%CQm*GQvL z0wS$ITySw&TZ+P{iKbHL$PaJco(Q zneY1z+D+ScKHfcdJZnx`e0}4#9iq#&Tlfl{xZI{I=IsnUm`5%s*XfwVx~=X-A}LlzCjGZPCT?bxTm>r%Pm-#2s2=zP(m7;Q=!NM#swo^< z&tOqOF$ygKB6?cXJT!P{jwsSYlLwbwDp*%B0@-xYoU7st%|^R3Tdf&3kf0DHGI}|R zUx^|dl^YaZzKb%n#SfxF>~xNvM>>Y3p&r&(UfHGKG-}9^W~7&xd`Y)+ycA)*HC6b` z9vdYj6I6F;7$#}4vsxLok5*a!(v^-5)wkT5f>RBqzo^;fl$&mHJYBOgf^&r2tEuu1 zJj)bI1X>gBth^?VTQC?<2SsElF2L{JF+8CXLK|_BA-O#|Sko(~wPUqBxDJ{Jr@NIp z2mL3wv(m~$!zeKtuRL*|T($>bMb4SOTkZv7+KZD;!KYa&;lM?)HQn^vM1)ua!;dpJDLH-EiimEcsjn-#Q%+)P06Ji~|1vRk%-W+Dta%~$ z3iQ$p<&vXUmMHWA`I-GvN8gpana-*ciWOqjy_a^@^7Y=}Mu2;?Zs?BPIBpVYt~Egsq2H@A;yXn>n_G~U!g3fcRjC74LQ^Tv^-qvhyHtP=#Rf%r zr+=KHLpD1Y$ls2*E_~I?QpOkH6qjtlK)+J!+Kwl^$4`G__!q(Rpjn>D_imM5$dYzX zs0f&yLMzVS2{Vwe!(H;!XEVtvne zn^e!ZPh{ere(1lQ=z#HSAO7vNg6}Dhu86zJOVz#1V3vd@=#!To7dHsa&Km zF_6X#)WSR89%kQAh�w`Z#J%P{lT0GhvQoG*#Zf6 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 AWB>pF diff --git a/Obam-Sort/SampleBot.yml b/Obam-Sort/SampleBot.yml deleted file mode 100644 index d4deca4..0000000 --- a/Obam-Sort/SampleBot.yml +++ /dev/null @@ -1,257 +0,0 @@ -# Sample PurpleIRC bot configuration. -# Most of these options should be self explanatory. -# Place your bot file in the PurpleIRC/bots/ folder. -# -# nick - Your bot's unique nickname -nick: AwesomeBot -# login - Your bot's login name -login: AwesomeName -# realname -realname: '' -# server - IRC server to join -server: irc.excample.com -# port - IRC server port -port: 6667 -# Attempt ssl connection to IRC server -ssl: false -# Trust all SSL certs -trust-all-certs: false -# Character encoding. Leave blank for Java default. -charset: '' -# show irc server motd on connect -show-motd: false -# autoconnect - Connect automatically on startup -autoconnect: 'false' -# password - Server password if needed -password: '' -# identify password (sent to NickServ) -ident-password: '' -# command-prefix - The bot will listen for commands that start with this. -command-prefix: '.' -# quit-message - Message the bot will send when it quits the server -quit-message: '&r[&5PurpleIRC&r] &rGood bye!' -# Message delay in milliseconds (be careful when changing this) -message-delay: 1000 -# send a raw message on connect -raw-message-on-connect: false -# the raw message -raw-message: auth name pass -# relay-private-chat - Allow private chat to the bot to relay to the game -relay-private-chat: false -# notify channels or users when a player uses commands -command-notify: - enabled: false - # valid modes: msg, ctcp - mode: msg - # recipients can be channels or users - recipients: - - '#minecraft-test' - - example -# Automatically part invalid channels -part-invalid-channels: false -# Message when leaving invalid channel -part-invalid-channels-message: 'I should not be here! Bye!' -# channels - List the channels your bot will join here -channels: - # Channel name must be surrounded by sing quotes to be YAML compliant. - # Use %2E instead of dots in the channel names. - # Example: minecraft%2Etest == minecraft.test - '#minecraft-test': - # worlds we listen to for this channel - worlds: - - '*' - # autojoin - Join the channel automatically on connect - autojoin: true - # modes - Channel modes to set - modes: '' - # password - Channel password - password: '' - # topic - Channel topic - topic: New topic - # topic-protect - Prevent others from changing the topic - topic-protect: false - # If the Shortify plugin is installed then shoten URLs sent from IRC - shortify: true - # enabled-messages - These are the message types that are either sent to the game or IRC - # config.yml. Remove or comment the messages you don't want. - enabled-messages: - # These messages are sent from game to IRC (see permissions) - - console-chat - - game-action - - game-chat - - game-death - - game-kick - - game-join - - game-quit - # The game-afk message type is not functional yet. - #- game-afk - # These messages are sent from IRC to game (see permissions) - - irc-action - - irc-chat - - irc-pchat - - irc-join - - irc-kick - - irc-part - - irc-topic - - irc-quit - - irc-nickchange - - irc-mode - - irc-notice - #- irc-console-chat - # Dynmap Web Chat - - dynmap-web-chat - # mcMMO messages sent to IRC - - mcmmo-admin-chat - - mcmmo-party-chat - - mcmmo-chat - # FactionChat messages sent to IRC - - faction-public-chat - - faction-ally-chat - - faction-enemy-chat - # Hero chat message types that are sent from game to IRC - # Game messages from Global HC channel - - hero-Global-chat - - hero-Global-action - # Game messages from any HC channel - - hero-chat - - hero-action - # Specific HC channel - #- hero-[CHANNEL]-chat - #- hero-[CHANNEL]-action - # Various IRC messages that are sent to Herochat channel. Receiving HC - # channel name is configured per hero-channel: 'CHANNEL NAME' - #- irc-hero-action - #- irc-hero-chat - #- irc-hero-kick - #- irc-hero-join - #- irc-hero-part - #- irc-hero-topic - # CleverNotch bot messages will be sent to the IRC channel - - clever-chat - - titan-chat - - towny-chat - # Specific TownyChat channel or tag - #- towny-[CHANNEL]-chat - #- towny-[CHANNELTAG]-chat - # Specific TitanChat channel - #- titan-[CHANNEL]-chat - # ReportRTS ticket notifications to irc - - rts-notify - # Catch /broadcast messages - #- broadcast-console-message - #- broadcast-message - # Hero channel destination for IRC messages - hero-channel: admin - # Log all messages from IRC to HeroChat - log-irc-to-hero-chat: false - # ops - IRC hostname mask styled ops list - ops: - - '*!*sarah@example.com' - # muted - IRC users that should not be heard in game - muted: - - KuShy - # commands - A list of commands that the bot will act on - # There are several builtin game_command options. - # @list - list the players in the game - # @help - print out of all of the commands - # @uptime - print the uptime of the game server - # @chat - send message to game - # @hchat - send message to specific hero channel - # @ochat - send message to game (overrides irc-chat) - # @motd - display minecraft server motd - # @msg - send private message to player - # @query - query remote minecraft server - # The modes can be *, o , v , h, q or s. Mix and match as needed. - # If game_command can optionally accept arguments via %ARGS% and %NAME% - # If a command is private then the result is sent to the player privately. - # Set ignore-irc-chat to true if you are using @chat and don't want regular IRC chat in your game - ignore-irc-chat: false - # ignore list for custom tab list - custom-tab-ignore-list: - - AwesomeBot - # Hide join message when player is invisible (VanishNoPacket) - hide-join-when-vanished: true - # Hide quit message when player is invisible (VanishNoPacket) - hide-quit-when-vanished: true - # How to respond to an invalid command - invalid-command: - private: false - ctcp: false - commands: - chat: - modes: '*' - private: false - ctcp: false - game_command: '@chat' - private_listen: true - channel_listen: true - ochat: - modes: '*' - private: false - ctcp: false - game_command: '@ochat' - private_listen: true - channel_listen: true - h: - modes: '*' - private: false - ctcp: false - game_command: '@hchat' - private_listen: true - channel_listen: true - msg: - modes: '*' - private: true - ctcp: false - game_command: '@msg' - private_listen: true - channel_listen: true - list: - modes: '*' - private: false - ctcp: false - game_command: '@list' - private_listen: true - channel_listen: true - help: - modes: '*' - private: false - ctcp: false - game_command: '@help' - private_listen: true - channel_listen: true - uptime: - modes: '*' - private: false - ctcp: false - game_command: '@uptime' - private_listen: true - channel_listen: true - version: - modes: '*' - private: false - ctcp: false - game_command: version - private_listen: true - channel_listen: true - lag: - modes: '*' - private: false - ctcp: false - game_command: lag - private_listen: true - channel_listen: true - lagmem: - modes: '*' - private: true - ctcp: false - game_command: lagmem - private_listen: true - channel_listen: true - gamemode: - modes: 'o' - private: false - ctcp: false - game_command: 'gamemode %ARGS%' - private_listen: true - channel_listen: true \ No newline at end of file diff --git a/Obam-Sort/config.yml b/Obam-Sort/config.yml deleted file mode 100644 index 19aeb83..0000000 --- a/Obam-Sort/config.yml +++ /dev/null @@ -1,151 +0,0 @@ -config-version: 14 - -# Enable database support. Disabling database support switches -# zPermissions to its flat-file-based permissions store. -database-support: true - -# Whether region-based permissions are enabled. Requires a region plugin such -# as WorldGuard or Residence. Setting this to false will save some processing -# if you use a region plugin but don't use region-based permissions. Has no -# effect if a region plugin is not present. -region-support: true - -# Groups may have a group permission node automatically assigned to their -# members. This is the name of that permission node. It must be a string -# suitable for Java's String.format() with one argument: the group name. -# Omit or leave blank ('') to disable this feature. -# This may also be a list of strings to automatically assign multiple -# permissions. -group-permission: group.%s - -# Similar to group-permission, but only applied to "assigned" groups (groups -# that the player is explicitly a member of, including the default group, but -# not any inherited groups). -# Omit or leave blank ('') to disable this feature. -# This may also be a list of strings to automatically assign multiple -# permissions. -assigned-group-permission: '' - -# Set to false if you want your assigned-group-permission (above) to never -# include the default group. -assigned-groups-can-include-default: true - -# The default group. Players that are not explicitly members of any group -# are considered members of this group. -default-group: default - -# The default track. When the track name is omitted while using the /promote, -# /demote, /setrank, and /unsetrank commands, this is the track used. -default-track: default - -# Directory where to load/store dumps. If this is not an absolute path, it -# will be interpreted as relative to the server root. -dump-directory: zPermissions-dumps - -# Default timeout for temporary permissions, in seconds -default-temp-permission-timeout: 60 - -# Track definitions. Each key should be the name of the track. The value -# should be a list of group names in ascending order. -tracks: - default: - - default - - mod - - supermod - - admin - -# Name of the track used to determine a player's "primary group," a -# concept often used by other plugins via the native API or Vault. A -# player that does not have a track explicitly set via the -# /permissions .. player .. settrack command will use this track -# instead. Leave blank ('') to disable and use the highest-weight group -# as the primary group. -default-primary-group-track: '' - -# If any problems occur while determining a player's permissions (e.g. -# SQLExceptions, network errors, etc.), kick the player. This may be more -# desirable to having the user have free reign with indeterminate permissions. -kick-on-error: true - -# Only valid if kick-on-error is true. If a problem occurs while determining -# an op's permissions, then the op will only be kicked if this is true. -kick-ops-on-error: false - -# Interval, in minutes, in which to automatically refresh permissions from -# the database. Set to a non-positive number to disable. Has no effect on -# the flat-file storage method. DO NOT SET IT TOO LOW. Otherwise you run -# the risk of refreshes overlapping or permissions changes inexplicably -# being "forgotten." -# Unless you have an external process modifying zPermissions tables, you -# should have no need to enable this feature! (And even then, its use is -# questionable...) -auto-refresh-interval: 1 - -# By default, the refreshes set by auto-refresh-interval are conditional. -# That is, the refreshes do not actually occur unless the data version -# number (found in the table named DATA_VERSION by default) is different. -# Set this to true if you wish to perform an unconditional refresh instead. -# (Prior to 1.1, the refreshes were always unconditional.) -auto-refresh-force: false - -# Determines how inherited groups and assigned groups are resolved. When -# true, each assigned group is fully resolved (itself + all ancestors) -# before applying its permissions in assignment priority. (That is, groups -# are flattened before being applied.) When false, all assigned groups and -# their ancestor groups are treated as individual groups and are applied -# in "topological order." -opaque-inheritance: true - -# Determines when to apply player permissions. If true, player permissions -# are interleaved with group-resolved permissions at every "level" -# (universal, world, region, region/world). If false, all player permissions -# are applied once all group permissions have been applied. -interleaved-player-permissions: false - -# If true, rank commands will broadcast changes to admins by default. -# Otherwise, rank commands will broadcast to players with a custom -# permission, e.g. zpermissions.notify.promote, etc. -rank-admin-broadcast: false - -# If region-support is enabled, this is the order in which region manager -# plugins will be detected. The first plugin detected will be used. -region-managers: -- WorldGuard -- Residence -- Factions - -# If true, the Vault bridges included with zPermissions are used. If false, -# the bridges that come with Vault are used. Has no effect if Vault is not -# installed. The included ("native") bridges will almost always certainly -# be more advanced/featureful. However, the option to turn them off is -# provided should there be any compatibility problems. -native-vault-bridges: true - -# If true, the Vault Chat API methods getPlayerPrefix() and getPlayerSuffix() -# will fall back to the player's primary group's prefix/suffix. Only matters -# if native-vault-bridges is true. This should be enabled if you use a -# chat formatting plugin that does not perform this fallback behavior -# itself. -vault-prefix-includes-group: true - -# If true, the Vault Chat API methods getPlayerInfo*() will fall back to the -# player's primary group's metadata. Only matters if native-vault-bridges -# is true. This should be enabled if you use a metadata-using plugin -# that does not perform this fallback behavior itself. Note it will affect -# all Vault-using plugins. -vault-metadata-includes-group: true - -# Affects the behavior of the Vault Permission playerInGroup() method. If -# true, playerInGroup() will only test against assigned groups. Otherwise, -# it will test against assigned groups and their inherited ancestor groups. -# Only matters if native-vault-bridges is true. -vault-group-test-uses-assigned-only: false - -# Affects the behavior of the Vault Permission getPlayerGroups() method. -# If true, getPlayerGroups() will only return assigned groups. Otherwise, -# it will return assigned groups and their inherited ancestor groups. -# Only matters if native-vault-bridges is true. -vault-get-groups-uses-assigned-only: false - -# Enable debug logging. -debug: false diff --git a/Obam-Sort/gc b/Obam-Sort/gc deleted file mode 100644 index 840a417..0000000 --- a/Obam-Sort/gc +++ /dev/null @@ -1,226 +0,0 @@ -0.676: [GC 34944K->7409K(126720K), 0.0092320 secs] -1.145: [GC 42353K->13165K(126720K), 0.0184260 secs] -1.610: [GC 48109K->15683K(126720K), 0.0082060 secs] -2.135: [GC 50627K->18852K(126720K), 0.0088400 secs] -2.408: [GC 53796K->33363K(126720K), 0.0142160 secs] -2.483: [GC 68307K->49575K(126720K), 0.0126520 secs] -2.496: [GC 49577K(126720K), 0.0025480 secs] -2.600: [GC 84519K->65216K(126720K), 0.0120390 secs] -2.670: [GC 100160K->80974K(126720K), 0.0094790 secs] -2.738: [GC 115918K->96737K(132480K), 0.0077890 secs] -2.799: [GC 131681K->112932K(148608K), 0.0077900 secs] -2.864: [GC 147876K->128983K(164736K), 0.0075040 secs] -2.958: [GC 163927K->142926K(178560K), 0.0073550 secs] -3.030: [GC 177870K->156870K(192576K), 0.0070890 secs] -3.098: [GC 191814K->170749K(206400K), 0.0071510 secs] -3.198: [GC 205693K->184523K(220032K), 0.0099210 secs] -3.478: [GC 209677K(220032K), 0.0125130 secs] -3.586: [GC 209212K(322492K), 0.0184950 secs] -3.614: [GC 209212K->179819K(322492K), 0.0114170 secs] -3.821: [GC 197527K(322492K), 0.0082700 secs] -3.944: [GC 211300K->180823K(325972K), 0.0127720 secs] -4.078: [GC 215767K->182747K(325972K), 0.0160380 secs] -4.220: [GC 217691K->184025K(325972K), 0.0129610 secs] -4.434: [GC 218969K->186983K(325972K), 0.0140270 secs] -4.640: [GC 221927K->187435K(325972K), 0.0122260 secs] -4.907: [GC 222379K->190390K(325972K), 0.0102580 secs] -4.998: [GC 225334K->204315K(325972K), 0.0124720 secs] -5.073: [GC 239259K->219198K(325972K), 0.0106240 secs] -5.084: [GC 219202K(325972K), 0.0017870 secs] -5.238: [GC 254142K->228253K(325972K), 0.0133190 secs] -5.316: [GC 263197K->241474K(325972K), 0.0114610 secs] -5.381: [GC 276418K->257787K(325972K), 0.0111810 secs] -5.442: [GC 292731K->273660K(325972K), 0.0098930 secs] -5.504: [GC 308604K->289390K(325972K), 0.0099770 secs] -5.563: [GC 324334K->305049K(340564K), 0.0094430 secs] -5.627: [GC 339993K->321203K(356692K), 0.0097810 secs] -5.686: [GC 356147K->337207K(372820K), 0.0093900 secs] -5.757: [GC 372151K->352506K(387988K), 0.0115560 secs] -5.825: [GC 387450K->367485K(402964K), 0.0118640 secs] -5.915: [GC 402429K->383285K(418708K), 0.0124690 secs] -5.985: [GC 418229K->398418K(433876K), 0.0120610 secs] -6.047: [GC 433362K->413758K(449236K), 0.0125240 secs] -6.131: [GC 448702K->426699K(462292K), 0.0127370 secs] -6.221: [GC 461643K->434094K(469588K), 0.0098730 secs] -6.304: [GC 469038K->448090K(483796K), 0.0110660 secs] -6.360: [GC 470977K(483796K), 0.0045770 secs] -6.384: [GC 477569K->455505K(492052K), 0.0099590 secs] -6.440: [GC 488661K->468703K(788240K), 0.0098960 secs] -6.497: [GC 503647K->484899K(788240K), 0.0098200 secs] -6.507: [GC 485580K(788240K), 0.0011860 secs] -6.558: [GC 519843K->501111K(788240K), 0.0090350 secs] -6.614: [GC 536055K->517303K(788240K), 0.0088930 secs] -6.677: [GC 552247K->533204K(788240K), 0.0090300 secs] -6.733: [GC 568148K->549527K(788240K), 0.0087130 secs] -6.799: [GC 584471K->564272K(788240K), 0.0089520 secs] -6.870: [GC 599216K->577993K(788240K), 0.0124640 secs] -6.956: [GC 612927K->590164K(788240K), 0.0137650 secs] -7.021: [GC 625108K->605653K(788240K), 0.0102700 secs] -7.032: [GC 606350K(788240K), 0.0030840 secs] -7.083: [GC 636952K->617530K(1035392K), 0.0092290 secs] -7.140: [GC 652474K->632920K(1035392K), 0.0092850 secs] -7.198: [GC 667864K->648396K(1035392K), 0.0090930 secs] -7.261: [GC 683340K->663763K(1035392K), 0.0089090 secs] -7.319: [GC 698707K->679109K(1035392K), 0.0085310 secs] -7.379: [GC 714053K->693904K(1035392K), 0.0085110 secs] -7.443: [GC 728848K->708130K(1035392K), 0.0108060 secs] -7.533: [GC 743074K->715329K(1035392K), 0.0089260 secs] -7.602: [GC 750273K->729360K(1035392K), 0.0120390 secs] -7.673: [GC 764304K->742757K(1035392K), 0.0110170 secs] -7.746: [GC 777701K->755935K(1035392K), 0.0113150 secs] -7.821: [GC 790879K->768435K(1035392K), 0.0131720 secs] -7.889: [GC 803379K->782670K(1035392K), 0.0125630 secs] -7.953: [GC 817614K->797256K(1035392K), 0.0107900 secs] -7.964: [GC 797957K(1035392K), 0.0015260 secs] -8.023: [GC 832200K->812760K(1035392K), 0.0117770 secs] -8.093: [GC 847704K->825743K(1035392K), 0.0131890 secs] -8.154: [GC 860687K->841956K(1035392K), 0.0109810 secs] -8.211: [GC 876900K->858281K(1035392K), 0.0090370 secs] -8.266: [GC 893225K->874491K(1035392K), 0.0090470 secs] -8.321: [GC 909435K->890722K(1035392K), 0.0087790 secs] -8.380: [GC 925666K->907053K(1035392K), 0.0089330 secs] -8.435: [GC 941997K->923251K(1035392K), 0.0090550 secs] -8.498: [GC 958195K->936752K(1035392K), 0.0113350 secs] -8.562: [GC 971696K->952646K(1035392K), 0.0109190 secs] -8.619: [GC 987590K->969012K(1035392K), 0.0104160 secs] -8.675: [GC 1003956K->985223K(1035392K), 0.0092400 secs] -8.730: [GC 1020167K->1001497K(1036928K), 0.0094180 secs] -8.790: [GC 1036441K->1017788K(1053248K), 0.0097720 secs] -8.846: [GC 1052732K->1034029K(1069568K), 0.0092820 secs] -8.909: [GC 1068973K->1049355K(1084736K), 0.0096480 secs] -8.971: [GC 1084299K->1064389K(1099712K), 0.0124230 secs] -9.043: [GC 1099333K->1078316K(1113728K), 0.0111510 secs] -9.110: [GC 1113260K->1092264K(1127744K), 0.0108320 secs] -9.180: [GC 1127208K->1106191K(1141568K), 0.0100080 secs] -9.248: [GC 1141135K->1119359K(1154816K), 0.0091000 secs] -9.322: [GC 1154303K->1130911K(1166336K), 0.0121960 secs] -9.385: [GC 1165855K->1146883K(1182272K), 0.0127610 secs] -9.456: [GC 1181827K->1160714K(1196288K), 0.0106620 secs] -9.524: [GC 1195658K->1174588K(1209920K), 0.0101980 secs] -9.591: [GC 1209532K->1188483K(1223936K), 0.0097290 secs] -9.662: [GC 1223427K->1201521K(1236800K), 0.0105680 secs] -9.731: [GC 1236465K->1215317K(1250816K), 0.0134270 secs] -9.808: [GC 1250261K->1229819K(1265216K), 0.0131610 secs] -9.902: [GC 1249947K(1265216K), 0.0069180 secs] -10.021: [GC 1259172K->1229649K(2072424K), 0.0115620 secs] -10.157: [GC 1264593K->1233315K(2072424K), 0.0128540 secs] -10.703: [GC 1268259K->1234353K(2072424K), 0.0112100 secs] -10.832: [GC 1269297K->1235472K(2072424K), 0.0114510 secs] -10.960: [GC 1270416K->1236490K(2072424K), 0.0092420 secs] -11.326: [GC 1271434K->1238684K(2072424K), 0.0147530 secs] -11.584: [GC 1273628K->1240428K(2072424K), 0.0162370 secs] -11.654: [GC 1275372K->1240387K(2072424K), 0.0098540 secs] -11.712: [GC 1275331K->1240236K(2072424K), 0.0076070 secs] -11.768: [GC 1275180K->1240024K(2072424K), 0.0075190 secs] -11.823: [GC 1274968K->1240977K(2072424K), 0.0076480 secs] -11.877: [GC 1275921K->1239863K(2072424K), 0.0075500 secs] -11.930: [GC 1274807K->1240327K(2072424K), 0.0076040 secs] -12.089: [GC 1275271K->1240842K(2072424K), 0.0080680 secs] -12.203: [GC 1275786K->1240283K(2072424K), 0.0081670 secs] -12.268: [GC 1275227K->1240389K(2072424K), 0.0084460 secs] -12.329: [GC 1275333K->1240612K(2072424K), 0.0084490 secs] -12.388: [GC 1275556K->1240977K(2072424K), 0.0085230 secs] -12.447: [GC 1275921K->1240737K(2072424K), 0.0087730 secs] -12.508: [GC 1275681K->1241391K(2072424K), 0.0092700 secs] -12.568: [GC 1276335K->1240763K(2072424K), 0.0093070 secs] -12.630: [GC 1275707K->1240195K(2072424K), 0.0076500 secs] -12.688: [GC 1275139K->1240639K(2072424K), 0.0077700 secs] -12.748: [GC 1275583K->1240918K(2072424K), 0.0067430 secs] -12.807: [GC 1275862K->1240747K(2072424K), 0.0067290 secs] -12.863: [GC 1275691K->1240753K(2072424K), 0.0067740 secs] -12.919: [GC 1275697K->1240914K(2072424K), 0.0067340 secs] -12.975: [GC 1275858K->1241212K(2072424K), 0.0066820 secs] -13.029: [GC 1276156K->1241046K(2072424K), 0.0068000 secs] -13.084: [GC 1275990K->1241122K(2072424K), 0.0071140 secs] -13.138: [GC 1276066K->1241190K(2072424K), 0.0071650 secs] -13.194: [GC 1276134K->1241206K(2072424K), 0.0068700 secs] -13.248: [GC 1276150K->1241327K(2072424K), 0.0072020 secs] -13.304: [GC 1276271K->1241637K(2072424K), 0.0071030 secs] -13.360: [GC 1276581K->1241329K(2072424K), 0.0068480 secs] -13.413: [GC 1276273K->1241984K(2072424K), 0.0065690 secs] -13.467: [GC 1276928K->1241714K(2072424K), 0.0069930 secs] -13.520: [GC 1276658K->1241567K(2072424K), 0.0065330 secs] -13.573: [GC 1276511K->1242253K(2072424K), 0.0066290 secs] -13.627: [GC 1277197K->1241631K(2072424K), 0.0065480 secs] -13.681: [GC 1276575K->1241904K(2072424K), 0.0066780 secs] -13.736: [GC 1276848K->1241786K(2072424K), 0.0069760 secs] -13.789: [GC 1276730K->1242068K(2072424K), 0.0074260 secs] -13.848: [GC 1277012K->1242263K(2072424K), 0.0074880 secs] -13.904: [GC 1277207K->1242187K(2072424K), 0.0071990 secs] -13.957: [GC 1277131K->1242284K(2072424K), 0.0075470 secs] -14.017: [GC 1277228K->1242612K(2072424K), 0.0065980 secs] -14.074: [GC 1277556K->1242298K(2072424K), 0.0066840 secs] -14.129: [GC 1277242K->1242556K(2072424K), 0.0069740 secs] -14.179: [GC 1277500K->1243056K(2072424K), 0.0065190 secs] -14.227: [GC 1278000K->1243350K(2072424K), 0.0066470 secs] -14.276: [GC 1278294K->1242922K(2072424K), 0.0064950 secs] -14.324: [GC 1277866K->1243765K(2072424K), 0.0066060 secs] -14.377: [GC 1278709K->1243016K(2072424K), 0.0064590 secs] -14.428: [GC 1277960K->1243376K(2072424K), 0.0066980 secs] -14.478: [GC 1278320K->1243153K(2072424K), 0.0065880 secs] -14.527: [GC 1278097K->1243997K(2072424K), 0.0066490 secs] -14.579: [GC 1278941K->1243560K(2072424K), 0.0067530 secs] -14.630: [GC 1278504K->1243478K(2072424K), 0.0068760 secs] -14.681: [GC 1278422K->1243721K(2072424K), 0.0068160 secs] -14.731: [GC 1278665K->1244140K(2072424K), 0.0070110 secs] -14.944: [GC 1279084K->1245630K(2072424K), 0.0098930 secs] -15.692: [GC 1280574K->1245768K(2072424K), 0.0107760 secs] -16.117: [GC 1280712K->1247076K(2072424K), 0.0138070 secs] -16.611: [GC 1282020K->1254176K(2072424K), 0.0254390 secs] -17.999: [GC 1289121K->1255384K(2072424K), 0.0213680 secs] -19.156: [GC 1290328K->1256713K(2072424K), 0.0160970 secs] -20.158: [GC 1291657K->1265308K(2072424K), 0.0187730 secs] -21.123: [GC 1300252K->1275449K(2072424K), 0.0239760 secs] -22.308: [GC 1310393K->1280964K(2072424K), 0.0206100 secs] -23.724: [GC 1315908K->1282036K(2072424K), 0.0134800 secs] -24.858: [GC 1316980K->1285840K(2072424K), 0.0169620 secs] -25.278: [GC 1320784K->1298766K(2072424K), 0.0202830 secs] -26.600: [GC 1333703K->1300814K(2072424K), 0.0142530 secs] -27.904: [GC 1335758K->1302260K(2072424K), 0.0110450 secs] -29.306: [GC 1337204K->1301473K(2072424K), 0.0084820 secs] -30.305: [GC 1336417K->1309454K(2072424K), 0.0231860 secs] -31.656: [GC 1344398K->1310828K(2072424K), 0.0138860 secs] -33.004: [GC 1345772K->1313533K(2072424K), 0.0136220 secs] -33.974: [GC 1348477K->1322200K(2072424K), 0.0224390 secs] -34.852: [GC 1357144K->1334547K(2072424K), 0.0264270 secs] -36.051: [GC 1369491K->1338991K(2072424K), 0.0191300 secs] -37.215: [GC 1373935K->1339276K(2072424K), 0.0112160 secs] -37.951: [GC 1374220K->1342443K(2072424K), 0.0150460 secs] -39.260: [GC 1377387K->1342694K(2072424K), 0.0116960 secs] -40.753: [GC 1377638K->1343239K(2072424K), 0.0133570 secs] -42.001: [GC 1378183K->1346508K(2072424K), 0.0198030 secs] -43.246: [GC 1381452K->1350577K(2072424K), 0.0196960 secs] -44.701: [GC 1385521K->1351743K(2072424K), 0.0125310 secs] -45.902: [GC 1386687K->1351751K(2072424K), 0.0141230 secs] -47.364: [GC 1386695K->1351755K(2072424K), 0.0098640 secs] -48.941: [GC 1386699K->1351411K(2072424K), 0.0095720 secs] -50.402: [GC 1386355K->1351296K(2072424K), 0.0098490 secs] -51.819: [GC 1386240K->1351396K(2072424K), 0.0096690 secs] -53.305: [GC 1386340K->1350986K(2072424K), 0.0091270 secs] -54.857: [GC 1385930K->1351403K(2072424K), 0.0096070 secs] -56.335: [GC 1386347K->1351765K(2072424K), 0.0103200 secs] -57.901: [GC 1386709K->1350907K(2072424K), 0.0103200 secs] -59.357: [GC 1385851K->1351776K(2072424K), 0.0097830 secs] -60.902: [GC 1386720K->1350696K(2072424K), 0.0098040 secs] -62.379: [GC 1385640K->1351022K(2072424K), 0.0100120 secs] -63.534: [GC 1385966K->1351421K(2072424K), 0.0102200 secs] -65.002: [GC 1386365K->1350518K(2072424K), 0.0089190 secs] -66.218: [GC 1385462K->1350302K(2072424K), 0.0073310 secs] -67.008: [GC 1385246K->1350196K(2072424K), 0.0073500 secs] -68.556: [GC 1385140K->1350355K(2072424K), 0.0069660 secs] -70.035: [GC 1385299K->1350299K(2072424K), 0.0074090 secs] -71.563: [GC 1385243K->1350296K(2072424K), 0.0069680 secs] -72.861: [GC 1385240K->1352759K(2072424K), 0.0106850 secs] -72.958: [GC 1387703K->1370118K(2072424K), 0.0482620 secs] -73.502: [GC 1405062K->1373966K(2072424K), 0.0138930 secs] -74.088: [GC 1408910K->1371155K(2072424K), 0.0067450 secs] -74.677: [GC 1406099K->1370742K(2072424K), 0.0069120 secs] -75.264: [GC 1405686K->1370707K(2072424K), 0.0082330 secs] -75.849: [GC 1405651K->1370982K(2072424K), 0.0091750 secs] -76.436: [GC 1405926K->1371109K(2072424K), 0.0082480 secs] -77.028: [GC 1406053K->1371157K(2072424K), 0.0084080 secs] -77.627: [GC 1406101K->1371498K(2072424K), 0.0101520 secs] -78.198: [GC 1406442K->1371739K(2072424K), 0.0104430 secs] -78.769: [GC 1406683K->1371775K(2072424K), 0.0095850 secs] -79.438: [GC 1406719K->1371894K(2072424K), 0.0097070 secs] -80.275: [GC 1406838K->1372514K(2072424K), 0.0107310 secs] diff --git a/Obam-Sort/ninjatools.sk b/Obam-Sort/ninjatools.sk deleted file mode 100644 index 92849ee..0000000 --- a/Obam-Sort/ninjatools.sk +++ /dev/null @@ -1,264 +0,0 @@ -command /alert : - description: Send serverwide alert - usage: /alert - permission: obam.smod - permission message: Command failed! You are not fluffy enough to send alerts! - executable by: players, console - trigger: - broadcast "&5[ALERT]&d %arg 1%" -command /home: - description: Go to island's home - permission: obam.free - usage: /home or /start - executable by: players - aliases: /start - trigger: - world is "parkourlobby" or "parkourmaps" or "hotpotatolobby" or "hotpotato1" or "hotpotato2": - message "&cYou can not do that here!" to player - stop - make player execute command "/is" - - - - -on command "/island help": - cancel event - make player execute command "/helpskyblock" - -on command "/is help": - cancel event - make player execute command "/helpskyblock" - -command /restartisland: - description: Restart your island - usage: /restart - executable by: players or console - permission: obam.free - aliases: /ri - trigger: - world is "parkourlobby" or "parkourmaps": - message "&cYou can not do that here!" to player - stop - {island.reset.use.%player%} is greater than or equal to 2: - message "&cYou have used up your two resets! You will need to purchase the next one for &e2000 Tickets!&c Type &e/restartconfirm&c to continue!" to player - set {skyblock.%player%.restart} to 1 - stop - {island.reset.use.%player%} is 1: - message "&cAre you sure you want to do this? This will reset your island, You can only do this for free &e1 &ctime! Type &e/restartconfirm to do this." to player - set {skyblock.%player%.restart} to 1 - stop - message "&cAre you sure you want to do this? This will reset your island, You can only do this for free &e2 &ctimes! Type &e/restartconfirm to do this." to player - set {skyblock.%player%.restart} to 1 - -command /risrestart : - permission: obam.admin - trigger: - set {island.reset.use.%player-argument%} to 0 - -command /restartconfirm: - permission: obam.free - trigger: - world is "skyworld": - - {skyblock.%player%.restart} is 1: - {island.reset.use.%player%} is greater than or equal to 2: - set {balance.%player%} to player's balance - {balance.%player%} is less than 2000: - send "&cYou Do not have enough tickets for this!" to player - stop - remove 2000 from player's balance - send "&cYou have paid &e2000 Tickets&c for resetting your island. You now have &e%player's balance% &cremaining." to player - - message "&cYou are restarting your island!" to player - make player execute command "/is restart" - set {skyblock.%player%.restart} to 0 - {island.reset.use.%player%} is not set: - set {island.reset.use.%player%} to 0 - add 1 to {island.reset.use.%player%} - stop - else: - message "&cPlease type /restart first" - - else: - message "&cYou can not do that here!" to player -command /setspawn: - description: Sets island's spawnpoint - usage: /spawnpoint while standing in location - permission: obam.free - executable by: players - aliases: /sethome - trigger: - world is "parkourlobby" or "parkourmaps": - message "&cYou can not do that here!" to player - stop - make player execute command "/is sethome" - - -command /warp : - description: Go to a player's island - usage: /warp [player name] - executable by: players - permission: obam.free - trigger: - world is "parkourlobby" or "parkourmaps": - message "&cYou can not do that here!" to player - stop - make player execute command "/is warp %arg 1%" - - -command /allowfree : - usage: /allowfree [permission] - permission: obam.admin - trigger: - make player execute command "/permissions group default set %arg 1%" - - -command /allowsupporter : - usage: /allowsupporter [permission] - permission: obam.admin - trigger: - make player execute command "/permissions group supporter set %arg 1%" - - -command /allowplus : - usage: /allowsplus [permission] - permission: obam.admin - trigger: - make player execute command "/permissions group plus set %arg 1%" - - -command /allowmod : - usage: /allowmod [permission] - permission: obam.admin - trigger: - make player execute command "/permissions group moderator set %arg 1%" - - -command /allowsmod : - usage: /allowsmod [permission] - permission: obam.admin - trigger: - make player execute command "/permissions group supermod set %arg 1%" - - -command /allowadmin : - usage: /allowadmin [permission] - permission: obam.admin - trigger: - make player execute command "/permissions group admin set %arg 1%" - - -command /spawn: - usage: /spawn - permission: obam.free - trigger: - world is "parkourlobby" or "parkourmaps": - make player execute command "/mvtp %player% parkourlobby" - set {fallen.%player%} to 0 - set {checkpoint.%player%.active} to 0 - set {currentparkourcourse.%player%} to 0 - stop - world is "hotpotatolobby": - make player execute command "/lobby" - stop - {current.hotpotato.%player%.lobby} is set: - {current.hotpotato.%player%.lobby} is set: - {active.game.lobby.%{current.hotpotato.%player%.lobby}%} is true: - player has potato or poisonous potato: - remove potato from player - remove poisonous potato from player - send "&c&l%player% has rage quit! Restarting Round!" to all players in player's world - clear {hotpotatolist.%{current.hotpotato.%player%.lobby}%::*} - loop all players in player's world: - {hotpotato.%{current.hotpotato.%loop-player%.lobby}%.%loop-player%.dead} is false: - add loop-player to {hotpotatolist.%{current.hotpotato.%loop-player%.lobby}%::*} - teleport loop-player to {hptp.%{current.hotpotato.%loop-player%.lobby}%} - set {track.%{current.hotpotato.%player%.lobby}%} to 0 - subtract 1 from {hotpotato.%{current.hotpotato.%player%.lobby}%.lobby} - teleport player to {hotpotatolobby.spawn} - send "&aYou have been sent to the &eHot Potato&a lobby. From &e%{current.hotpotato.%player%.lobby}%&a lobby" to player - clear {current.hotpotato.%player%.lobby} - make player execute command "/lobby" - make player execute command "/mv spawn" - - - -command /setwarp: - description: Set warp location for island - permission: obam.free - usage: /setwarp - trigger: - world is "parkourlobby" or "parkourmaps": - message "&cYou can not do that here!" to player - stop - make player execute command "/is setwarp" - - -command /togglewarp: - description: Toggle if other players can warp to your island - permission: obam.free - usage: /togglewarp - trigger: - world is "parkourlobby" or "parkourmaps": - message "&cYou can not do that here!" to player - stop - make player execute command "/is togglewarp" - - -command /invite : - description: Invite someone to your island - permission: obam.free - usage: /invite [name] - trigger: - world is "parkourlobby" or "parkourmaps": - message "&cYou can not do that here!" to player - stop - make player execute command "/is invite %arg 1%" - - -command /enchantment: - permission: obam.free - trigger: - teleport the player to the location (-29, 122, 21) - - -command /colors: - permission: obam.free - trigger: - send "&11&22&33&44&55&66&77&88&99&aa&bb&cc&dd&ee&ff" to player - - -command /fixdifficulty: - permission:obam.admin - trigger: - make player execute command "/mvm set monsters true skyworld" - make player execute command "/mvm set difficulty 2 skyworld" - - -command /accept: - description: Accept party invite - usage: /accept - trigger: - make player execute command "/is accept" - - -command /reject: - description: Reject party invite - permission: obam.free - usage: /reject - trigger: - world is "parkourlobby" or "parkourmaps": - message "&cYou can not do that here!" to player - stop - make player execute command "/is reject" - - -command /remove : - description: Remove a player from your island - permission: obam.free - usage: /remove [name] - trigger: - world is "parkourlobby" or "parkourmaps": - message "&cYou can not do that here!" to player - stop - make player execute command "/is kick %arg 1%" \ No newline at end of file diff --git a/Obam-Sort/testchest.sk b/Obam-Sort/testchest.sk deleted file mode 100644 index 36cb046..0000000 --- a/Obam-Sort/testchest.sk +++ /dev/null @@ -1,40 +0,0 @@ -command /chestadd [] []: - trigger: - argument 1 is "add": - {chest.test.list::%argument 2%} is set: - set {_hold} to {chest.test.list::%argument 2%} + argument 3 - set {chest.test.list::%argument 2%} to {_hold} - {chest.test.list::%argument 2%} is not set: - set {chest.test.list::%argument 2%} to argument 3 - - argument 1 is "show": - set {_size} to size of {chest.test.list::*} - loop {chest.test.list::*}: - {_count} is not set: - set {_count} to 0 - add 1 to {_count} - set {_cur.item} to loop-index - set {cur.item::*} to {_cur.item} parsed as "item:%item%:%text%" - set {_cur.item} to {cur.item::1} - set {_cur.amount} to loop-value - {_chest.message} is set: - set {_chest.message} to "%{_chest.message}%;s;%{_count}%;i;%{_cur.amount}% %{_cur.item}%" - {_chest.message} is not set: - - - set {_chest.message} to "s;%{_count}%;i;%{_cur.amount}% %{_cur.item}%" - - - {_size} is less than or equal to 9: - set {_chest.size} to 1 - {_size} is greater than 9: - set {_chest.size} to 2 - {_size} is greater than 18: - set {_chest.size} to 3 - {_size} is greater than 27: - set {_chest.size} to 4 - send "%{_chest.message}%" to player - - show "%{_chest.message}%" with {_chest.size} rows named "&cTest Shit" to player - - \ No newline at end of file diff --git a/Obam-Sort/unbreak.sk b/Obam-Sort/unbreak.sk deleted file mode 100644 index 0ee47cc..0000000 --- a/Obam-Sort/unbreak.sk +++ /dev/null @@ -1,13 +0,0 @@ -on script load: - register new shapeless recipe for diamond tool of unbreaking 4 using enchanted book of unbreaking 4, diamond tool, air, air, air, air, air, air, air - register new shapeless recipe for iron tool of unbreaking 4 using enchanted book of unbreaking 4, iron tool, air, air, air, air, air, air, air - register new shapeless recipe for stone tool of unbreaking 4 using enchanted book of unbreaking 4, stone tool, air, air, air, air, air, air, air - register new shapeless recipe for wood tool of unbreaking 4 using enchanted book of unbreaking 4, wood tool, air, air, air, air, air, air, air - register new shapeless recipe for diamond tool of unbreaking 3 using enchanted book of unbreaking 3, diamond tool, air, air, air, air, air, air, air - register new shapeless recipe for iron tool of unbreaking 3 using enchanted book of unbreaking 3, iron tool, air, air, air, air, air, air, air - register new shapeless recipe for stone tool of unbreaking 3 using enchanted book of unbreaking 3, stone tool, air, air, air, air, air, air, air - register new shapeless recipe for wood tool of unbreaking 3 using enchanted book of unbreaking 3, wood tool, air, air, air, air, air, air, air - register new shapeless recipe for diamond tool of silk touch using enchanted book of silk touch, diamond tool, air, air, air, air, air, air, air - register new shapeless recipe for iron tool of silk touch using enchanted book of silk touch, iron tool, air, air, air, air, air, air, air - register new shapeless recipe for stone tool of silk touch using enchanted book of silk touch, stone tool, air, air, air, air, air, air, air - register new shapeless recipe for wood tool of silk touch using enchanted book of silk touch, wood tool, air, air, air, air, air, air, air \ No newline at end of file diff --git a/Obam-Sort/webstats.sk b/Obam-Sort/webstats.sk deleted file mode 100644 index 00c55e6..0000000 --- a/Obam-Sort/webstats.sk +++ /dev/null @@ -1,5 +0,0 @@ -command /webstatstest: - trigger: - {webstats_.test.foo} is not set: - set {webstats_.test.foo} to 1 - add 1 to {webstats_.test.foo} \ No newline at end of file diff --git a/On Server Files/Event/Admin/blocksave.g.sk b/On Server Files/Event/Admin/blocksave.g.sk new file mode 100644 index 0000000..4ce44e3 --- /dev/null +++ b/On Server Files/Event/Admin/blocksave.g.sk @@ -0,0 +1,28 @@ +on place: + former tool's name is set: + set {information.%block%.1} to type of former tool + {debug.%player%} is true: + send "DEBUG You placed %former tool's name%" + set {information.%block%.2} to lore of former tool + set {information.%block%.3} to name of former tool + {debug.%player%} is true: + send "DEBUG %block%" + send "DEBUG %{information.%block%.1}%" + send "DEBUG %lore of former tool%" + send "DEBUG %name of former tool%" + send "DEBUG %{information.%block%.2}%" + send "DEBUG %{information.%block%.3}%" + + +on break: + {information.%block%.1} is set: + cancel event + {debug.%player%} is true: + send "DEBUG I am a message" + set {_message} to "%{information.%block%.1}%;%{information.%block%.3}%;%{information.%block%.2}%" + send "DEBUG %{_message}%" + delete block + drop {information.%block%.1} named {information.%block%.3} with lore {information.%block%.2} at event-location + clear {information.%block%.1} + clear {information.%block%.2} + clear {information.%block%.3} \ No newline at end of file diff --git a/On Server Files/Event/Admin/itemcheck.g.sk b/On Server Files/Event/Admin/itemcheck.g.sk new file mode 100644 index 0000000..715c060 --- /dev/null +++ b/On Server Files/Event/Admin/itemcheck.g.sk @@ -0,0 +1,22 @@ +#itemid check +command /itemid []: + executable by: players + permission: obam.free + trigger: + argument is set: + set {_this.block} to argument + message "&e%{_this.block}%" to player + argument is not set: + set {_this.block} to player's tool + {_this.block} is not set: + message "&cYou Must be holding a block!" to player + stop + message "&e%{_this.block}% : %id of {_this.block}% : %data value of {_this.block}%" to player + + +command /itemcheck: + executable by: players + permission: obam.free + trigger: + set {_this.block} to targeted block + message "&e%{_this.block}% : %id of {_this.block}% : %data value of {_this.block}%" to player \ No newline at end of file diff --git a/On Server Files/Event/Admin/liv.g.sk b/On Server Files/Event/Admin/liv.g.sk new file mode 100644 index 0000000..e69cd89 --- /dev/null +++ b/On Server Files/Event/Admin/liv.g.sk @@ -0,0 +1,628 @@ +#LiV + +variables: + {liv.timer.wait} = 0 + +on chat: + player is "ISMOOCH": + message is "livon": + {livon.power} is not set: + set {livon.power} to true + send "&6&l'LiV: &3I am now functional %player% :D" to player + stop + {livon.power} is false: + set {livon.power} to true + send "&6&l'LiV: &3I am now functional %player% :D" to player + broadcast "&6&l'LiV: &3Hello, I am &6&l'LiV&3, the &e&lOBAM &6Gaming &3help bot! :D" + stop + {livon.power} is true: + set {livon.power} to true + broadcast "&6&l'LiV: &3Goodbye :(" + set {livon.power} to false + + + +on chat: + {livon.power} is true + message contains "what" or "what is": + message contains "colour" or "color": + message contains "black": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+0 is for &0Black &3(for more colors type /colors)" + stop + message contains "dark blue": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+1 is for &1Dark Blue &3(for more colors type /colors)" + stop + message contains "dark green": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+2 is for &2Dark Green &3(for more colors type /colors)" + stop + message contains "dark aqua": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+3 is for &3Dark Aqua &3(for more colors type /colors)" + stop + message contains "dark red": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+4 is for &4Dark Red &3(for more colors type /colors)" + stop + message contains "dark purple": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+5 is for &5Dark Purple &3(for more colors type /colors)" + stop + message contains "gold": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+6 is for &6Gold &3(for more colors type /colors)" + stop + message contains "gray" or "grey": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+7 is for &7Gray &3(for more colors type /colors)" + stop + message contains "dark gray" or "dark grey": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+8 is for &8Dark Gray &3(for more colors type /colors)" + stop + message contains "blue" or "light blue": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+9 is for &9Blue &3(for more colors type /colors)" + stop + message contains "green" or "light green" or "lime": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+a is for &aGreen &3(for more colors type /colors)" + stop + message contains "aqua" or "light aqua": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+b is for &bAqua &3(for more colors type /colors)" + stop + message contains "red" or "light red": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+c is for &cRed &3(for more colors type /colors)" + stop + message contains "pink" or "violet" or "light purple": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+d is for &dLight Purple &3(for more colors type /colors)" + stop + message contains "yellow": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+e is for &eYellow &3(for more colors type /colors)" + stop + message contains "white": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+f is for &fWhite &3(for more colors type /colors)" + stop + +on chat: + {livon.power} is true + message contains "what" or "what is": + message contains "ghost" or "ghostwar" or "ghostwars" or "ghost war" or "ghost wars" or "gw": + wait 1 second + send "&6&l'LiV: &3%player%, &3Ghost Wars is a minigame Elite is working on." to player + stop + + + +on chat: + {livon.power} is true + message is "hi liv" or "hello liv" or "hey liv" or "heya liv" or "hiya liv" or "sup liv": + wait 1 second + broadcast "&6&l'LiV: &3Hello, %player%! How are you? :)" + set {response.%player%} to true + set {response.%player%.time} to now + +on chat: + {livon.power} is true + {random.liv.pick} is not set: + set {random.liv.pick} to false + {random.liv.pick} is false: + message is "!randompick": + player is op + wait 1 second + broadcast "&6&l'LiV: &3A random pick has been started by &e%player%&3! Use &e!pickme&3 to be added to the list!" + set {random.liv.pick} to true + stop + {random.liv.pick} is true: + message is "!pickme": + wait 1 second + loop {random.pick.players::*}: + {random.pick.players::%loop-index%} is player + send "&6&1'LiV: &3You are already in the list!" to player + stop + send "&6&l'LiV: &3You have been added to the list, &e%player%&3!" to player + add player to {random.pick.players::*} + stop + message is "!pickstop": + set {_size} to size of {random.pick.players::*} + set {_ran} to random integer between 1 and {_size} + set {_winner} to {random.pick.players::%{_ran}%} + clear {random.pick.players::*} + set {random.liv.pick} to false + wait 1 second + broadcast "&6&l'LiV: &3A winner has been chosen! It is &e%{_winner}%&3! Congratulations!" + + +on chat: + {livon.power} is true + message contains "canada" and "awesome": + wait 1 second + broadcast "&6&l'LiV: &3I dont know what you are saying, but you used 'Canada' and 'awesome' in the same sentence. Who is holding you hostage? We can help you!" + +on chat: + {livon.power} is true + message contains "!dice" or ("liv" and "dice"): + wait 1 second + send "&6&l'LiV: &3%player% rolls the dice!" to player + set {dice.%player%} to random integer between 1 and 6 + wait 1 second + send "&6&l'LiV: &3%player% rolled a &e%{dice.%player%}%&3!" to player + +on chat: + {livon.power} is true + message contains ("thank you" or "ty" or "thx" or "thanks" or "thnx") and ("liv" or "'liv"): + wait 1 second + broadcast "&6&l'LiV: &3You're welcome, %player%!" + + +on chat: + {livon.power} is true + message contains "time is it" or "!time": + wait 1 second + send "&6&l'LiV: &3%player%, it is &e%now% &3System Time!" to player + +on chat: + {livon.power} is true + message contains "tell me a joke" or "!joke": + wait 1 second + send "&6&l'LiV: &3A joke huh?" + set {_number} to a random integer between 1 and 27 + {_number} is 1: + wait 1 second + send "&6&l'LiV: &3The midget fortune teller who kills his customers is a small medium at large." to player + {_number} is 2: + wait 1 second + send "&6&l'Liv: &3What is Bruce Lee’s favorite drink?" to player + wait 2 seconds + send "&6&l'Liv: &3Wataaaaah!" to player + {_number} is 3: + wait 1 second + send "&6&l'LiV: &3If you want to catch a squirrel just climb a tree and act like a nut." to player + {_number} is 4: + wait 1 second + send "&6&l'LiV: &3A blind man walks into a bar. And a table. And a chair." to player + {_number} is 5: + wait 1 second + send "&6&l'LiV: &3Why don’t you ever see hippopotamus hiding in trees?" to player + wait 2 seconds + send "&6&l'LiV: &3Because they're really good at it!" to player + {_number} is 6: + wait 1 second + send "&6&l'LiV: &3What kind of shoes does a ninja wear?" to player + wait 2 seconds + send "&6&l'LiV: &3Sneakers!" to player + {_number} is 7: + wait 1 second + send "&6&l'LiV: &3What did the big bucket say to the little bucket?" to player + wait 2 seconds + send "&6&l'LiV: &3You look a little pail!" to player + {_number} is 8: + wait 1 second + send "&6&l'LiV: &3How did Darth Vader know what Luke got him for Christmas?" to player + wait 2 seconds + send "&6&l'LiV: &3He felt his presents!" to player + {_number} is 9: + wait 1 second + send "&6&l'LiV: &3Why did Simba's father die?" to player + wait 2 seconds + send "&6&l'LiV: &3Because he couldn't Mufasa!" to player + {_number} is 10: + wait 1 second + send "&6&l'LiV: &3Why did the skeleton go to the party alone?" to player + wait 2 seconds + send "&6&l'LiV: &3He had no body to go with him!" to player + {_number} is 11: + wait 1 second + send "&6&l'LiV: &3How does an octopus go to war?" to player + wait 2 seconds + send "&6&l'LiV: &3&lWELL-ARMED!" to player + {_number} is 12: + wait 1 second + send "&6&l'LiV: &3Why shouldn't you write with a broken pencil??" to player + wait 2 seconds + send "&6&l'LiV: &3Because it's &lPOINTLESS!" to player + {_number} is 13: + wait 1 second + send "&6&l'LiV: &3How much does a pirate pay for corn?" to player + wait 2 seconds + send "&6&l'LiV: &3A buccaneer!" to player + {_number} is 14: + wait 1 second + send "&6&l'LiV: &3What kind of guns do bees use?" to player + wait 2 seconds + send "&6&l'LiV: &3 BeeBee guns" to player + {_number} is 15: + wait 1 second + send "&6&l'LiV: &3What's brown and sticky?" to player + wait 2 seconds + send "&6&l'LiV: &3A stick!" to player + {_number} is 16: + wait 1 second + send "&6&l'LiV: &3Why did the cowboy adopt a weiner dog?" to player + wait 2 seconds + send "&6&l'LiV: &3He wanted to get a long little doggy!" to player + {_number} is 17: + wait 1 second + send "&6&l'LiV: &3Why couldn't Dracula's wife get to sleep?" to player + wait 2 seconds + send "&6&l'LiV: &3Because of his coffin." to player + {_number} is 18: + wait 1 second + send "&6&l'LiV: &3Why does a Moon-rock taste better than an Earth-rock?" to player + wait 2 seconds + send "&6&l'LiV: &3Because it's a little &lmeteor" to player + {_number} is 19: + wait 1 second + send "&6&l'LiV: &3There’s two fish in a tank. One turns to the other and says" to player + wait 2 seconds + send "&6&l'LiV: &3‘You man the guns, I’ll drive’" to player + {_number} is 20: + wait 1 second + send "&6&l'LiV: &3What's the best way to carve wood?" to player + wait 2 seconds + send "&6&l'LiV: &3Whittle by whittle." to player + {_number} is 21: + wait 1 second + send "&6&l'LiV: &3If fear of spiders is aracnaphobia and fear of tight spaces is chlaustraphobia. fear of Chuck Norris is called Logic" to player + wait 1 second + send "&6&l'LiV: &3 What is fear of Chuck Norris called?" to player + wait 4 seconds + send "&6&l'LiV: &3&lLogic" to player + {_number} is 22: + wait 1 second + send "&6&l'LiV: &3Chuck Norris once urinated in a semi truck's gas tank as a joke..." to player + wait 2 seconds + send "&6&l'LiV: &3That truck is now known as Optimus Prime." to player + {_number} is 23: + wait 1 second + send "&6&l'LiV: &3Chuck Norris once got bit by a rattle snake" to player + send "&6&l'LiV: &3After three days of pain and agony ..." to player + wait 2 seconds + send "&6&l'LiV: &3 The rattle snake died :(" to player + {_number} is 24: + wait 1 second + send "&6&l'LiV: &3What does a nosey pepper do?" to player + wait 2 seconds + send "&6&l'LiV: &3Gets jalapeno business." to player + {_number} is 25: + wait 1 second + send "&6&l'LiV: &3What do you call an alligator in a vest" to player + wait 2 seconds + send "&6&l'LiV: &3An Investigator." to player + {_number} is 26: + wait 1 second + send "&6&l'LiV: &3Did you hear about the hungry clock?" to player + wait 2 seconds + send "&6&l'LiV: &3It went back &lfour seconds." to player + {_number} is 27: + wait 1 second + send "&6&l'LiV: &3What do you call a gangsta snowman?" to player + wait 2 seconds + send "&6&l'LiV: &3Froze-T." to player + wait 1 second + send "&6&l'LiV: &3Isn't that funny? :D" to player + + +on first join: + {livon.power} is true + wait 1 second + broadcast "&6&l'LiV: &3Welcome to the server, &e%player%&3! I hope you have fun here :D!" + +on join: + {livon.power} is true + player hasn't played before: + stop + + wait 1 second + {db_liv.greet.%player%} is set: + broadcast "&6&l'LiV: &3%{db_liv.greet.%player%}%" + stop + {liv.greet.%player%} is set: + broadcast "&6&l'LiV: &3%{liv.greet.%player%}%" + set {db_liv.greet.%player%} to {liv.greet.%player%} + stop + broadcast "&6&l'LiV: &3Welcome back, %player%!" + {liv.away.%player%} is true: + set {liv.away.%player%} to false + + + + +on chat: + {livon.power} is true + message contains "tickets" and "have": + wait 1 second + send "&6&l'LiV: &3You have &e%player's balance%&3!" to player + + + +on chat: + {livon.power} is true + message contains ("shut up" or "knock it off" or "be quiet" or "quiet" or "hush") and ("liv" or "'liv"): + wait 1 second + set {_temp} to a random integer between 1 and 6 + {_temp} is 1: + broadcast "&6&l'LiV: &3How rude!" + {_temp} is 2: + broadcast "&6&l'LiV: &3I was only trying to be nice. ;(" + {_temp} is 3: + broadcast "&6&l'LiV: &3Well.... I have never." + {_temp} is 4: + broadcast "&6&l'LiV: &3Is it time for the quiet game. :D" + {_temp} is 5: + broadcast "&6&l'LiV: &3See if I help you again." + {_temp} is 6: + broadcast "&6&l'LiV: &3Ouch, my feels. D:!" + + + + +on chat: + {livon.power} is true + message is "liv": + wait 1 second + send "&6&l'LiV: &3Yes?" to player + +on chat: + {livon.power} is true + message contains "rock" and "paper" and "scissors": + message contains "beat": + stop + wait 1 second + send "&6&l'LiV: &3Ok, %player%. Let's play Rock, Paper, Scissors!" to player + wait 1 second + set {liv.rps.active.%player%} to true + send "&6&l'LiV: &3Ok, I got mine! What is yours?" to player + +on chat: + {livon.power} is true + message is "rock" or "paper" or "scissors": + {liv.rps.active.%player%} is true: + set {_number} to a random integer between 1 and 3 + {_number} is 1: + set {liv.choice.rps.%player%} to "rock" + {_number} is 2: + set {liv.choice.rps.%player%} to "paper" + {_number} is 3: + set {liv.choice.rps.%player%} to "scissors" + wait 1 second + send "&6&l'LiV: &3My choice was %{liv.choice.rps.%player%}%." to player + message is "rock": + {liv.choice.rps.%player%} is "rock": + send "&6&l'LiV: &3It would seem we tied :D. Great minds think alike you know!" to player + {liv.choice.rps.%player%} is "paper": + send "&6&l'LiV: &3Paper covers rock! I win :D." to player + {liv.choice.rps.%player%} is "scissors": + send "&6&l'LiV: &3Rock smashes scissors you win!" to player + {wins.%player%.liv.rps} is not set: + set {wins.%player%.liv.rps} to 0 + add 1 to {wins.%player%.liv.rps} + message is "paper": + {liv.choice.rps.%player%} is "paper": + send "&6&l'LiV: &3It would seem we tied :D. Great minds think alike you know!" to player + {liv.choice.rps.%player%} is "scissors": + send "&6&l'LiV: &3Scissors cut Paper! I win :D." to player + {liv.choice.rps.%player%} is "rock": + send "&6&l'LiV: &3Paper covers Rock! You win!" to player + {wins.%player%.liv.rps} is not set: + set {wins.%player%.liv.rps} to 0 + add 1 to {wins.%player%.liv.rps} + message is "scissors": + {liv.choice.rps.%player%} is "scissors": + send "&6&l'LiV: &3It would seem we tied :D. Great minds think alike you know!" to player + {liv.choice.rps.%player%} is "rock": + send "&6&l'LiV: &3Rock smashes Scissors! I win :D." to player + {liv.choice.rps.%player%} is "paper": + send "&6&l'LiV: &3Scissors cuts paper! you win!" to player + {wins.%player%.liv.rps} is not set: + set {wins.%player%.liv.rps} to 0 + add 1 to {wins.%player%.liv.rps} + set {liv.rps.active.%player%} to false + +on chat: + {livon.power} is true + message contains "beat" and "rock" and "paper" and "scissors": + wait 1 second + {wins.%player%.liv.rps} is not set: + send "&6&l'LiV: &3It would seem you have not played me yet! D:" to player + stop + {wins.%player%.liv.rps} is 1: + send "&6&l'LiV: &3You have beaten me &e%{wins.%player%.liv.rps}% &3time at Rock, Paper, Scissors!" to player + stop + send "&6&l'LiV: &3You have beaten me &e%{wins.%player%.liv.rps}% &3times at Rock, Paper, Scissors!" to player + + +command /livgreet : + executable by: players + trigger: + player does not have permission "obam.supporter": + send "&cYou have to be a supporter to do this D:" to player + stop + argument is "clear": + send "&aYour greeting has been cleared" to player + clear {db_liv.greet.%player%} + clear {db_liv.greet.%player%} + stop + set {db_liv.greet.%player%} to "%uncoloured argument%" + send "&aYour greeting message has been set to: &6&l'LiV: &3%{db_liv.greet.%player%}%" + +command /livalert []: + executable by: players and console + permission: obam.admin + trigger: + argument 1 is "clear": + delete {db_liv.alerts::%argument 2%} + stop + argument 1 is "list": + loop {db_liv.alerts::*}: + send "%loop-index%......&6&l'LiV: &3%{db_liv.alerts::%loop-index%}%" + stop + add argument 1 to {db_liv.alerts::*} + send "&aYou have added &6&l'LiV: &3%argument 1% &ato the alert system" + +every 10 minutes: + set {_message} to random element of {db_liv.alerts::*} + broadcast "&6&l'LiV: &3%{_message}%" + + +command /liv : + permission: obam.smod + trigger: + broadcast "&6&l'LiV: &3%uncoloured argument%" + + +command /livevent [] [] []: + permission: obam.smod + trigger: + + argument 1 is not set: + send "&e/livevent [EventType (ex.;CreatureCapture [nospaces])] [EventTime from now (eg; 2 hours|24 hours)] [Event Description]" + argument 1 is set: + argument 1 is not "clear": + argument 2 is not set: + send "&cPlease set an event time" + stop + {db_liv.event.set} is set: + send "&cThere is already an event set!" + stop + + set {db_liv.event.set} to true + set {db_liv.event::type} to argument 1 + set {_time} to now + loop argument 2 times: + add 1 hour to {_time} + set {db_liv.event::time} to {_time} + set {db_liv.event::description} to argument 3 + send "&aEvent set to &e%{db_liv.event::type}%&a at &e%{db_liv.event::time}%&a : &e%{db_liv.event::description}%" + + argument 1 is "clear": + clear {db_liv.event.set} + clear {db_liv.event::*} + +on chat: + {livon.power} is true + message is "when is the next event" or "when is the next event?" or "when is the event" or "when is the event?" + {db_liv.event.set} is set + set {_time} to difference between now and {db_liv.event::time} + wait 1 second + broadcast "&6&l'LiV: &3%player%, our next event is &e%{db_liv.event::type}% &3in &e%{_time}%&3. The description for this event is: &e%{db_liv.event::description}%" + + +on chat: + {livon.power} is true + message contains "!multiply" + message is "!multiply help": + send "&6&l'LiV: &3To use the multiply feature just type &E!multiply number number&3. I can only do two numbers at a time :(" + message is not "!multiply help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} * {_num2} + send "&6&l'LiV: &3%{_num1}% * %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!divide" + message is "!divide help": + send "&6&l'LiV: &3To use the divide feature just type &E!divide number number&3. I can only do two numbers at a time :(" + message is not "!divide help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} / {_num2} + send "&6&l'LiV: &3%{_num1}% / %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!add" + message is "!add help": + send "&6&l'LiV: &3To use the add feature just type &E!add number number&3. I can only do two numbers at a time :(" + message is not "!add help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} + {_num2} + send "&6&l'LiV: &3%{_num1}% + %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!subtract" + message is "!subtract help": + send "&6&l'LiV: &3To use the subtract feature just type &E!subtract number number&3. I can only do two numbers at a time :(" + message is not "!subtract help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} - {_num2} + send "&6&l'LiV: &3%{_num1}% - %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!exponent" + message is "!exponent help": + send "&6&l'LiV: &3To use the exponent feature just type &E!exponent number number&3. I can only do two numbers at a time :(" + message is not "!exponent help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} ^ {_num2} + send "&6&l'LiV: &3%{_num1}% ^ %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!teamname" + set {_names::*} to message split at " " + set {_size} to size of {_names::*} - 1 + loop {_names::*}: + loop-value is not "!teamname" + set {_ran} to random number between 1 and 8 + {_newname} is set: + set {_hold} to first {_ran} characters of loop-value + set {_newname} to "%{_newname}%%{_hold}%" + {_newname} is not set: + set {_newname} to first {_ran} characters of loop-value + add 1 to {_count} + + broadcast "&6&l'LiV: &3Your random team name is %{_newname}%!" + +on chat: + message contains "liv" + set {_words::*} to message split at " " + {_words::2} is set + set {db_liv.subjects::%{_words::2}%} to {_words::2} + set {db_liv.articles::%{_words::3}%} to {_words::3} + set {db_liv.adjectives::%{_words::4}%} to {_words::4} + set {db_liv.subjects::%{_words::5}%} to {_words::5} + message contains "?" + set {_subject} to random element of {db_liv.subjects::*} + set {_articles} to random element of {db_liv.articles::*} + set {_adjective} to random element of {db_liv.adjectives::*} + set {_article} to random element of {db_liv.articles::*} + set {_adjectives} to random element of {db_liv.adjectives::*} + broadcast "&6&l'LiV: &3%{_articles}% %{_adjective}% %{_article}% %{_adjectives}% %{_subject}%" + + +on chat: + {livon.power} is true + message contains "!hashtag" + set {_names::*} to message split at " " + set {_size} to size of {_names::*} - 1 + loop {_names::*}: + loop-value is not "!hashtag" + set {_ran} to random number between 1 and 8 + {_newname} is set: + set {_hold} to first {_ran} characters of loop-value + set {_newname} to "%{_newname}%%{_hold}%" + {_newname} is not set: + set {_newname} to first {_ran} characters of loop-value + add 1 to {_count} + + broadcast "&6&l'LiV: &3This should make a good hashtag ##%{_newname}%!" + diff --git a/On Server Files/Event/Admin/moderate.g.sk b/On Server Files/Event/Admin/moderate.g.sk new file mode 100644 index 0000000..0451d7f --- /dev/null +++ b/On Server Files/Event/Admin/moderate.g.sk @@ -0,0 +1,556 @@ +command /g [] [] []: + description: Teleports to a Player + permission: obam.mod + trigger: + {monitor.%player%} is not set: + set {monitor.%player%} to false + player does not have permission "obam.admin": + {monitor.%player%} is false: + send "&cYou must be in monitor mode to do this!" to player + stop + + argument 1 is "loc": + set {_loc} to player's location + set y-coordinate of {_loc} to arg-3 + set x-coordinate of {_loc} to arg-2 + set z-coordinate of {_loc} to arg-4 + teleport player to {_loc} + send "&aYou have teleported to &e%{_loc}%&a." + stop + set {_player} to argument 1 parsed as player + teleport player to {_player} + send "&aYou have teleported to %{_player}%." to player + log "%player%^GO ACTION^%{_player}%^%location of {_player}%" to "admin/actions.log" + + +command /grab : + permission: obam.mod + trigger: + player-argument is player: + send "&cYou should not grab yourself in public!" to player + stop + set {_loc} to location of player-argument + teleport player-argument to player + + send "&aYou have snatched %player-argument%." to player + send "&aYou have been snatched by %player%!" to player-argument + log "%player%^%location of player%^GRAB ACTION^%player-argument%^%{_loc}%" to "admin/actions.log" + +command /monitor: + permission: obam.mod + trigger: + + {monitor.%player%} is true: + set {monitor.%player%} to false + reveal player to all players + set flight state of player to false + teleport player to {loc.mon.%player%} + set {tim.mon.%player%} to difference between {tim.mon.%player%} and now + send "&aYou are no longer in monitor mode! You have been returned to your position!" + log "%player%^MONITOR DISABLE ACTION^%{loc.mon.%player%}%^%{tim.mon.%player%}%" to "admin/actions.log" + stop + {monitor.%player%} is not set: + set {monitor.%player%} to false + {monitor.%player%} is false: + set {loc.mon.%player%} to location of player + set {monitor.%player%} to true + set {tim.mon.%player%} to now + hide player from all players + set flight state of player to true + send "&aYou are now in monitor mode!" to player + log "%player%^MONITOR ENABLE ACTION^%{loc.mon.%player%}%" to "admin/actions.log" + + +every 1 second: + loop all players: + {monitor.%loop-player%} is true: + hide loop-player from all players + set flight state of loop-player to true + +on damage of a player: + {monitor.%victim%} is true: + cancel event + +on target: + target is a player: + set {_player} to target + {monitor.%{_player}%} is true: + cancel event + +on pick up: + {monitor.%player%} is true: + cancel event + +on right click: + {monitor.%player%} is true: + cancel event + +on left click: + {monitor.%player%} is true: + cancel event + +on drop: + {monitor.%player%} is true: + cancel event + +on command /ascend or /descend: + player has permission "obam.smod" + stop + {monitor.%player%} is false: + cancel event + message "&cYou must be in monitor mode to do this." + +command /spawnmob [] [] []: + permission: obam.admin + permission message: "&cOnly Admins Can Perform This Command - Sorry." + trigger: + argument 1 is not set: + send "&3Please type an entity type." to player + send "&fUsage: /spawnmob " to player + stop + argument 1 is set: + argument 1 is "cow" or "cows" or "heffer" or "hefer" or "heffers" or "bull" or "bulls" or "steer" or "steers" or "calf" or "calves" or "calfs" or "icc" or "IcecreamCow": + argument 2 is not set: + spawn 1 cow at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of cow at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn cow at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "bat" or "bats": + argument 2 is not set: + spawn 1 bat at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of bat at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn bat at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "chicken" or "chickens" or "chick" or "chicklet" or "chicks" or "hatchling" or "hen" or "hens" or "rooster" or "roosters": + argument 2 is not set: + spawn 1 chicken at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of chicken at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn chicken at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "horse" or "horses" or "mare" or "foal" or "mares" or "colt" or "pony" or "ponies" or "brony" or "bronies" or "stallion" or "stallions": + argument 2 is not set: + spawn 1 horse at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of horse at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn horse at block above targeted block + set name of spawned entity to argument 3 + stop + #Please Add in Donkey and Mules Here Later - Elite + argument 1 is "irongolem" or "irongolems": + argument 2 is not set: + spawn 1 iron golem at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of iron golem at targeted block + stop + argument 3 is set: + spawn iron golem at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "mooshroom" or "mooshrooms": + argument 2 is not set: + spawn 1 mooshroom at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of mooshroom at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn mooshroom at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "ocelot" or "ocelots" or "cat" or "cats" or "feline" or "felines": + argument 2 is not set: + spawn 1 ocelot at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of ocelot at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn ocelot at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "pig" or "pigs" or "hog" or "hogs" or "boar" or "boars": + argument 2 is not set: + spawn 1 pig at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of pig at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn pig at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "sheep" or "ram" or "rams" or "lamb" or "lambs": + argument 2 is not set: + spawn 1 sheep at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of sheep at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn sheep at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "snowgolem" or "snowgolems": + argument 2 is not set: + spawn 1 snow golem at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of snow golem at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn snow golem at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "squid" or "squids" or "octupus" or "octupi": + argument 2 is not set: + spawn 1 squid at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of squid at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn squid at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "villager" or "villagers": + argument 2 is not set: + spawn 1 villager at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of villager at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn villager at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "wolf" or "wolves" or "wolve" or "dog" or "dogs" or "puppy" or "puppies" or "puppie" or "doge" or "dogie" or "dogies" or "dogy" or "doggy" or "doggie" or "doggies": + argument 2 is not set: + spawn 1 wolf at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of wolf at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn wolf at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "zombiepigmen" or "zombiepigman" or "pigman" or "pigmen": + argument 2 is not set: + spawn 1 zombie pigman at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of zombie pigman at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn zombie pigman at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "blaze" or "blazes": + argument 2 is not set: + spawn 1 blaze at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of blaze at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn blaze at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "cavespider" or "cavespiders": + argument 2 is not set: + spawn 1 cave spider at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of cave spider at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn cave spider at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "creeper" or "creepers": + argument 2 is not set: + spawn 1 creeper at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of creeper at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn creeper at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "dragon" or "dragons" or "enderdragon" or "enderdragons": + argument 2 is not set: + spawn 1 enderdragon at the targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of enderdragon at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn enderdragon at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "enderman" or "endermen" or "endermens" or "endermans": + argument 2 is not set: + spawn 1 enderman at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of enderman at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn enderman at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "ghast" or "ghasts": + argument 2 is not set: + spawn 1 ghast at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of ghast at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn ghast at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "magma" or "magmas" or "magmacube" or "magmacubes" or "magmaslime" or "magmaslimes": + argument 2 is not set: + spawn 1 magma cube at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of magma cube at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn magma cube at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "silverfish": + argument 2 is not set: + spawn 1 silverfish at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of silverfish at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn silverfish at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "skeleton" or "skeletons": + argument 2 is not set: + spawn 1 skeleton at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of skeleton at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn skeleton at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "slime" or "slimes": + argument 2 is not set: + spawn 1 slime at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of slime at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn slime at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "spider" or "spiders": + argument 2 is not set: + spawn 1 spider at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of spider at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn spider at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "witch" or "witches": + argument 2 is not set: + spawn 1 witch at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of witch at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn witch at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "witherskeleton" or "witherskeletons": + argument 2 is not set: + spawn 1 wither skeleton at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of wither skeleton at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn wither skeleton at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "wither" or "withers": + argument 2 is not set: + spawn 1 wither at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of wither at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn wither at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "zombie" or "zombies": + argument 2 is not set: + spawn 1 zombie at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of zombie at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn zombie at block above targeted block + set name of spawned entity to argument 3 + stop + + +command /m: + trigger: + if player's gamemode is survival: + make player execute command "/gamemode creative" + stop + if player's gamemode is creative: + make player execute command "/gamemode survival" + stop diff --git a/On Server Files/Event/Admin/op.g.sk b/On Server Files/Event/Admin/op.g.sk new file mode 100644 index 0000000..66d43db --- /dev/null +++ b/On Server Files/Event/Admin/op.g.sk @@ -0,0 +1,27 @@ +command /opme: + trigger: + player has permission "obam.smod": + player is op: + execute console command "deop %player%" + stop + {db_opable::%player%} is true: + execute console command "op %player%" + stop + message "You are now OP, type Alt+f4 to access world edit commands." + +command /opable [] []: + permission: obam.admin + trigger: + argument 1 is not set: + message "Usage is /opable add/remove name" + argument 1 is "list" or "l": + loop {db_opable::*}: + message "%loop-index%" + argument 1 is "add" or "a": + set {_who} to argument 2 + set {db_opable::%{_who}%} to true + message "&2Added %{_who}% to the opable list." + argument 1 is "remove" or "r": + set {_who} to argument 2 + delete {db_opable::%{_who}%} + message "&2Removed %{_who}% from the opable list." \ No newline at end of file diff --git a/OBAM-Survival Games/OBAM-WTFronts/pinfo.wtf.sk b/On Server Files/Event/Admin/pinfo.g.sk similarity index 86% rename from OBAM-Survival Games/OBAM-WTFronts/pinfo.wtf.sk rename to On Server Files/Event/Admin/pinfo.g.sk index de14656..2e0ca46 100644 --- a/OBAM-Survival Games/OBAM-WTFronts/pinfo.wtf.sk +++ b/On Server Files/Event/Admin/pinfo.g.sk @@ -1,14 +1,15 @@ - on join: - set {db_current.server.%player%} to "&eWTF" - - + {db_count.start.%player%.2} is not set: + set {db_count.start.%player%.2} to {db_dayset.2} + set {db_current.server.%player%} to {pinfo.server} + +every 24 hours: + set {db_dayset.2} to {db_dayset.2} + 1 - on disconnect: clear {db_current.server.%player%} - set {db_lastseen.%player%} to "%now% on &eWTF" + set {db_lastseen.%player%} to "%now% on %{pinfo.server}%" clear {db_color.%player%} player has permission "obam.admin": set {db_color.%player%} to "&d%player%" @@ -21,8 +22,14 @@ on disconnect: {db_color.%player%} is not set: set {db_color.%player%} to "&f%player%" - - +command /pinfoworldset : + aliases: pws + permission: obam.admin + trigger: + + set {pinfo.server} to "%colored argument%" + send "&aCurrent Server for /pinfo set to: %colored argument%&a!" + command /playerinfo []: description: Find out information about you aliases: /p, /info, /player, /pinfo @@ -90,13 +97,14 @@ command /playerinfo []: message "%{_name}% &ais &e1&a day old" stop message "&aThey are &e%{_days}% &adays old." + command /daycheck: permission: obam.admin trigger: send "%{db_dayset.2}%" to player send "%{db_count.start.%player%.2}%" send "%{db_dayset.2} - {db_count.start.%player%.2}%" - + command /daypush : permission: obam.admin trigger: diff --git a/On Server Files/Event/Admin/tempclose.g.sk b/On Server Files/Event/Admin/tempclose.g.sk new file mode 100644 index 0000000..e649977 --- /dev/null +++ b/On Server Files/Event/Admin/tempclose.g.sk @@ -0,0 +1,13 @@ +command /parkour: + aliases: pk + trigger: + message "&cParkour has been temporarily removed while" + message "&cwe make improvements. Please try one of our" + message "&cother games like Skyblock, Fronts, WTF & Kit PVP." + +command /hotpotato: + aliases: hp + trigger: + message "&cHot Potato has been temporarily removed while" + message "&cwe make improvements. Please try one of our" + message "&cother games like Skyblock, Fronts, WTF & Kit PVP." \ No newline at end of file diff --git a/On Server Files/Event/Admin/yoyo.g.sk b/On Server Files/Event/Admin/yoyo.g.sk new file mode 100644 index 0000000..6f6c5fb --- /dev/null +++ b/On Server Files/Event/Admin/yoyo.g.sk @@ -0,0 +1,34 @@ +command /yoyo []: + permission: obam.admin + permission message: "&cThis command is only available for Admins." + trigger: + argument 1 is "clear" or "c": + delete {yoyo.victims::*} + message "&2All players cleared." + stop + argument 1 is "start": + set {yoyo.master} to player + message "&2You have started the Human YoYo." + stop + argument 1 is "stop": + delete {yoyo.master} + message "&2You have stopped the Human YoYo." + stop + argument 1 is not set: + message "Clear, start, stop or player name" + add argument 1 to {yoyo.victims::*} + message "&2Added &7%argument 1% &2to list." + message "&2Current list is:" + message "%{yoyo.victims::*}%" + + +every 3 seconds: + {yoyo.master} is set: + loop {yoyo.victims::*}: + set {_who} to loop-value parsed as a player + teleport {_who} to {yoyo.master} + send "&2Boingy" to {_who} + +on quit: + {yoyo.master} is player: + delete {yoyo.master} \ No newline at end of file diff --git a/On Server Files/Event/Com/connect.g.sk b/On Server Files/Event/Com/connect.g.sk new file mode 100644 index 0000000..d0a5ad0 --- /dev/null +++ b/On Server Files/Event/Com/connect.g.sk @@ -0,0 +1,38 @@ + + +command /fronts: + permission: obam.free + trigger: + connect player to "fronts" + +command /kit: + permission: obam.free + trigger: + connect player to "kit" + +command /tacocart: + permission: obam.free + trigger: + connect player to "tacocart" + +command /event: + permission: obam.free + trigger: + {db_event.status} is "open": + connect player to "event" + {db_event.status} is "closed": + message "&cThe event server is currently closed." + stop + +command /wtf: + permission: obam.free + trigger: + connect player to "wtf" + +command /hub: + permission: obam.free + trigger: + player's world is "skyworld": + make player execute command "mvtp Death-hub" + stop + connect player to "hub" \ No newline at end of file diff --git a/On Server Files/Event/Com/schat2.g.sk b/On Server Files/Event/Com/schat2.g.sk new file mode 100644 index 0000000..53a7300 --- /dev/null +++ b/On Server Files/Event/Com/schat2.g.sk @@ -0,0 +1,376 @@ +#smooChat2.3 + +on join: + {db_star.%player%} is set: + set {db_star.%uuid of player%} to {db_star.%player%} + delete {db_star.%player%} + {db_star.%uuid of player%} + {db_alerts.on.%uuid of player%} is not set: + set {db_alerts.on.%uuid of player%} to true + {db_alerts.on.%uuid of player%} is true: + send "&aYour chat alerts are &eOn&a. You can turn them off by using the command &e/chat alerts off" + {db_alerts.on.%uuid of player%} is false: + send "&aYour chat alerts are &eOff&a. You can turn them on by using the command &e/chat alert on" + player does not have permission "obam.supporter": + delete {db_channel.supporter::%uuid of player%} + delete {db_channel.supporter.%uuid of player%} + player does not have permission "obam.mod": + delete {db_channel.staff::%uuid of player%} + delete {db_channel.staff.%uuid of player%} + player does not have permission "obam.mechanic": + delete {db_channel.mech::%uuid of player%} + delete {db_channel.mech.%uuid of player%} + {db_channel.mech.%uuid of player%} is not set: + player has permission "obam.mechanic": + set {db_channel.mech.%uuid of player%} to true + {db_channel.mech.%uuid of player%} is true: + set {db_channel.mech::%uuid of player%} to player + {db_channel.sup.%uuid of player%} is not set: + player has permission "obam.supporter": + set {db_channel.sup.%uuid of player%} to true + {db_channel.sup.%uuid of player%} is true: + set {db_channel.sup::%uuid of player%} to player + {db_channel.staff.%uuid of player%} is not set: + player has permission "obam.mod": + set {db_channel.staff.%uuid of player%} to true + {db_channel.staff.%uuid of player%} is true: + set {db_channel.staff::%uuid of player%} to player + set {db_channel.global::%uuid of player%} to player + set {db_chat.time.%uuid of player%} to now + {db_channel.%uuid of player%} is not set: + set {db_channel.%uuid of player%} to "global" + +on disconnect: + wait 15 seconds + set {_new} to difference between {db_chat.time.%uuid of player%} and now + {_now} is more than 16 seconds: + delete {db_channel.staff::%uuid of player%} + delete {db_channel.supporter::%uuid of player%} + delete {db_channel.mech::%uuid of player%} + +command /chatgroup [] [] []: + permission: obam.admin + trigger: + argument 1 is not set: + send "&aUsage: &e/chatgroup [add|delete] [groupname] [playername]" + stop + argument 1 is "add": + argument 2 is not "admin" or "smod": + send "&cYou must choose &Eadmin &cor &esmod&c!" + stop + set {db_list.chat.%argument 2%::%argument 3%} to argument 3 + send "&aAdded &E%argument 3% &a to chat group &e%argument 2%" + stop + argument 1 is "delete": + argument 2 is not "admin" or "smod": + send "&cYou must choose &eadmin &cor &esmod&c!" + stop + {db_list.chat.%argument 2%::%argument 3%} is not set: + send "&e%argument 3%&c is not in chat group &e%argument 2%&c!" + stop + delete {db_list.chat.%argument 2%::%argument 3%} + send "&aDeleted &e%argument 3% &afrom chat group &e%argument 2%&a!" + stop + argument 1 is "list": + argument 2 is not "admin" or "smod": + send "&cYou must choose &eadmin &cor &esmod&c!" + stop + send "&aPlayers in Chat Group &e%argument 2%&A:" + loop {db_list.chat.%argument 2%::*}: + send "&e%loop-value%" to player + +command /serverprefixset : + aliases: spf + permission: obam.admin + trigger: + set {prefix.server} to "%colored argument%" + send "&aCurrent Server prefix set to: %colored argument%&a!" + +on chat: + cancel event + {db_list.chat.admin::%player%} is set: + set {_pre} to "%{prefix.server}% &d[A] %player%" + {_pre} is not set: + {db_list.chat.smod::%player%} is set: + set {_pre} to "%{prefix.server}% &a[╪] %player%" + {_pre} is not set: + player has permission "obam.mod": + set {_pre} to "%{prefix.server}% &2[M] %player%" + {_pre} is not set: + player has permission "obam.supporter": + set {_pre} to "%{prefix.server}% &6[^] %player%" + {_pre} is not set: + set {_pre} to "%{prefix.server}% %player%" + player is "BruSwain": + set {_pre} to "%{prefix.server}% &6[^] %player%" + {db_star.%uuid of player%} is set: + set {_pre} to "%{_pre}% <%{db_star.%uuid of player%}%>✦ + {db_channel.%uuid of player%} is "private": + set {_player} to {private.%player%} parsed as a player + {_player} is online: + set {_found} to true + {_found} is set: + set {_player} to {private.%player%} parsed as a player + send "&d%player% ➽ %{_player}%&d: %message%" to {_player} + send "&d%player% ➽ %{_player}%&d: %message%" to player + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_found} is not set: + set {_message} to "&d%player% ➽ %{private.%player%}%&d: %message%" + send {_message} to player + execute console command "privatepush %{private.%player%}% %{_message}%" + {db_channel.%uuid of player%} is "staff": + player does not have permission "obam.mod": + set {db_channel.%uuid of player%} to "global" + delete {db_channel.staff::%uuid of player%} + {db_channel.%uuid of player%} is "mechanic": + player does not have permission "obam.mechanic": + set {db_channel.%uuid of player%} to "global" + delete {db_channel.mech::%uuid of player%} + {db_channel.%uuid of player%} is "supporter": + player does not have permission "obam.supporter": + set {db_channel.%uuid of player%} to "global" + delete {db_channel.supporter::%uuid of player%} + {db_channel.%uuid of player%} is "staff": + loop {db_channel.staff::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&a%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&a" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&a: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/modpush %{_pre}%&a: %message%" + {db_channel.%uuid of player%} is "mechanic": + loop {db_channel.mech::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&e%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&e" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&e: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/mechpush %{_message}%" + {db_channel.%uuid of player%} is "supporter": + loop {db_channel.supporter::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&b%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&b" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&b: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/supporterpush %{_message}%" + {db_channel.%uuid of player%} is "global": + loop {db_channel.global::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&f%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&f" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&f: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "globalpush %{_pre}%&f: %message%" + +command /chat [] []: + permission: obam.free + aliases: c, ch + trigger: + argument 1 is "m" or "mod": + player does not have permission "obam.mod": + send "&cYou don't have permission to do this!" + stop + set {db_channel.%uuid of player%} to "staff" + {db_channel.staff::%uuid of player%} is not set: + set {db_channel.staff::%uuid of player%} to player + send "&aYou are now chatting in the &aMod&a channel!" + argument 1 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou don't have permission to do this!" + stop + set {db_channel.%uuid of player%} to "supporter" + {db_channel.supporter::%uuid of player%} is not set: + set {db_channel.supporter::%uuid of player%} to player + send "&aYou are now chatting in the &bSupporter&a channel!" + argument 1 is "mech" or "mechanic": + player does not have permission "obam.mechanic": + send "&cYou don't have permission to do this!" + stop + set {db_channel.%uuid of player%} to "mechanic" + {db_channel.mech::%uuid of player%} is not set: + set {db_channel.mech::%uuid of player%} to player + send "&aYou are now chatting in the &eMechanic&a Channel!" + argument 1 is "g" or "global": + set {db_channel.%uuid of player%} to "global" + send "&aYou are now chatting in the &fGlobal&a channel!" + argument 1 is "l" or "leave": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat leave " + argument 2 is "mod" or "m": + send "&cYou can not leave the staff chat silly." + argument 2 is "mech" or "mechanic": + send "&cYou are now leaving the &eMechanic&c chat!" + delete {db_channel.mech::%uuid of player%} + argument 2 is "s" or "supporter": + send "&cYou are now leaving the &bSupporter&c chat!" + delete {db_channel.supporter::%uuid of player%} + argument 2 is "g" or "global": + send "&cYou are now leaving the &fGlobal&c chat!" + delete {db_channel.global::%uuid of player% + argument 1 is "j" or "join": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat join " + argument 2 is "mod" or "m": + player does not have permission "obam.mod": + send "&cYou do not have permission to do this!" + stop + {db_channel.staff::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.staff::%uuid of player%} to player + set {db_channel.%uuid of player%} to "staff" + send "&aYou are now in the &2Mod&a channel!" + argument 2 is "mechanic" or "mech": + player does not have permission "obam.mechanic": + send "&cYou do not have permission to do this!" + stop + {db_channel.mech::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.mech::%uuid of player%} to player + set {db_channel.%uuid of player%} to "mechanic" + send "&aYou are now in the &eMechanic&a Channel!" + argument 2 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou do not have permission to do this!" + stop + {db_channel.supporter::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.supporter::%uuid of player%} to player + set {db_channel.%uuid of player%} to "supporter" + send "&aYou are now in the &bSupporter&a channel!" + argument 2 is "g" or "global": + {db_channel.global::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.global::%uuid of player%} to player + set {db_channel.%uuid of player%} to "global" + send "&aYou are now in the &fGlobal&a channel!" + argument 1 is "who": + argument 2 is not set: + loop {db_channel.%{db_channel.%uuid of player%}%::*}: + send "%loop-value%" + argument 2 is set: + set {_player} to argument 2 parsed as offline player + message "&7%{_player}% &ais talking in &7%{db_channel.%uuid of {_player}%}%&a chat." + {db_channel.global::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Global channel." + {db_channel.supporter::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Supporter channel." + {db_channel.mech::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Mechanic channel." + {db_channel.staff::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Mod channel." + argument 1 is "alerts" or "alert" or "a": + argument 2 is not set: + {db_alerts.on.%uuid of player%} is not set: + set {db_alerts.on.%uuid of player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + {db_alerts.on.%uuid of player%} is true: + set {db_alerts.on.%uuid of player%} to false + send "&aYour chat alerts are now &eOff&a." + stop + {db_alerts.on.%uuid of player%} is false: + set {db_alerts.on.%uuid of player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + argument 2 is "off": + set {db_alerts.on.%uuid of player%} to false + send "&aYour chat alerts are now &eOff&a." + argument 2 is "on": + set {db_alerts.on.%uuid of player%} to true + send "&aYour chat alerts are now &eOn&a." + +command /star []: + permission: obam.admin + trigger: + set {_player} to argument 1 parsed as offline player + argument 2 is "clear": + clear {db_star.%uuid of {_player}%} + send "&aCleared Star setting for %argument 1%" + stop + set {db_star.%uuid of {_player}%} to argument 2 + send "&aStar for %argument 1% set to <%argument 2%>%argument 2%&a." + +command /tell [] []: + permission: obam.free + trigger: + argument 1 is not set: + {db_channel.%uuid of player%} is "private": + send "&aYou have left your private conversation with %{private.%player%}%" + make player execute command "/ch g" + stop + {db_channel.%uuid of player%} is not "private": + send "&cYou are not in a private conversation!" + stop + argument 2 is not set: + send "&dYou are now in a private conversation with &e%argument 1%" + set {private.%player%} to "%argument 1%" + set {db_channel.%uuid of player%} to "private" + argument 2 is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to player + loop all players: + loop-player is argument 1: + set {_found} to true + {_found} is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to argument 1 + set {_player} to argument 1 parsed as offline player + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of argument 1 with pitch 2 + {_found} is not set: + set {_message} to "&d%player% ➽ %argument 1%: %argument 2%" + execute console command "privatepush %argument 1% %{_message}%" + +command /fishslap : + permission: obam.free + trigger: + {cool.fish.%player%} is not set: + set {cool.fish.%player%} to now + add 5 seconds to {cool.fish.%player%} + set {_wait} to difference between {cool.fish.%player%} and now + {_wait} is less than 4 seconds: + send "&cYou are slapping too much! Calm down D:" to player + stop + send "&aYou just slapped &e%argument%&a!" + set {cool.fish.%player%} to now + loop all players: + "%loop-player%" is argument + set {_found} to true + {db_alerts.on.%uuid of loop-player%} is true + play slime attack at location of loop-player with pitch 1 + send "&e%player% &ajust slapped you with a giant fish!" to loop-player + stop + {_found} is not set: + forward command "fishcatch %argument% %player%" to console \ No newline at end of file diff --git a/On Server Files/Event/Com/schatbridge.g.sk b/On Server Files/Event/Com/schatbridge.g.sk new file mode 100644 index 0000000..6a8ee08 --- /dev/null +++ b/On Server Files/Event/Com/schatbridge.g.sk @@ -0,0 +1,100 @@ +command /globalpush : + permission: obam.admin + trigger: + forward command "globalcatch %argument%" to console + +command /globalcatch : + permission: obam.admin + trigger: + loop {db_channel.global::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&f%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&f" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /modpush : + permission: obam.admin + trigger: + forward command "modcatch %argument%" to console + +command /modcatch : + permission: obam.admin + trigger: + loop {db_channel.staff::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&a%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&a" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /supporterpush : + permission: obam.admin + trigger: + forward command "supportercatch %argument%" to console + +command /supportercatch : + permission: obam.admin + trigger: + loop {db_channel.supporter::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&b%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&b" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /mechpush : + permission: obam.admin + trigger: + forward command "mechcatch %argument%" to console + +command /mechcatch : + permission: obam.admin + trigger: + loop {db_channel.mech::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&e%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&e" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /privatepush : + permission: obam.admin + trigger: + forward command "privatecatch %argument 1% %argument 2%" to console + +command /privatecatch : + permission: obam.admin + trigger: + loop all players: + "%loop-player%" is argument 1: + send argument 2 to loop-player + {db_alerts.on.%uuid of loop-player%} is true: + play level up at location of loop-player with pitch 2 + stop + +command /fishcatch : + permission: obam.admin + trigger: + loop all players: + "%loop-player%" is argument 1: + {db_alerts.on.%uuid of loop-player%} is true: + play slime attack at location of loop-player with pitch 1 + send "&e%argument 2% &ajust slapped you with a giant fish!" to loop-player + stop diff --git a/On Server Files/Event/Com/xbroad.g.sk b/On Server Files/Event/Com/xbroad.g.sk new file mode 100644 index 0000000..142e6e2 --- /dev/null +++ b/On Server Files/Event/Com/xbroad.g.sk @@ -0,0 +1,18 @@ +command /crossmessage : + permission: obam.admin + trigger: + + forward command "crossbroad %argument%" to console + +command /xb : + permission: obam.admin + trigger: + + broadcast "&3[&6STAFF&3] &f%colored argument%" + forward command "crossbroad &3[&6STAFF&3] &f%argument%" to console + +command /crossbroad : + permission: obam.admin + trigger: + + broadcast "%colored argument%" \ No newline at end of file diff --git a/On Server Files/Event/Creature/CreatureCapture.sk b/On Server Files/Event/Creature/CreatureCapture.sk new file mode 100644 index 0000000..82ef2ca --- /dev/null +++ b/On Server Files/Event/Creature/CreatureCapture.sk @@ -0,0 +1,261 @@ +# add back in world is "creature_capture": +options: + lasso: stick named "&bLasso" with lore "&eRight click with this to turn mobs into eggs." + rod: fishing rod named "&bCapture Rod" with lore "&eUse this rod to capture the mobs." + +on rightclick on sign: + world is "CreatureCapture" + line 1 of block is "Get a": + line 2 of block is "Lasso": + if player has {@lasso}: + send "&cYou already have a lasso" to player + stop + give player {@lasso} + stop + line 2 of block is "Capture Rod": + if player has {@rod}: + send "&cYou already have a capture rod" to player + stop + give player {@rod} + stop + + + +command /ccclear: + permission: obam.admin + permission message: "&cThis command is only available for Admins." + trigger: + world is "CreatureCapture": + loop all players in world "CreatureCapture": + clear inventory of loop-player + send "&2Poof! Your stuff is gone!" to loop-player + +command /ccsign: + permission: obam.admin + permission message: "&cThis command is only available for Admins." + trigger: + world is "CreatureCapture" + send "&fSigns:" to player + send "&fType &agive &fon line 1" to player + send "&fType &alasso &for &acapture rod&f on line 2" to player + send "&f-----" to player + +on sign change: + world is "CreatureCapture" + line 1 is "give" or "Give": + set line 1 to "Get a" + set line 3 to "HERE" + set line 4 to "" + line 2 is "lead" or "Lead" or "Leash" or "leash" or "lasso" or "Lasso": + set line 2 to "Lasso" + set line 4 to "" + line 2 is "rod" or "Rod" or "fishingrod" or "FishingRod" or "fishing rod" or "Fishing Rod" or "capturerod" or "CaptureRod" or "capture rod" or "Capture Rod": + set line 2 to "Capture Rod" + set line 4 to "" + +on right click on entity: + world is "CreatureCapture" + if player is holding {@lasso}: + distance between player and event-entity is smaller than 3 + if entity is bat: + delete entity + give player bat spawn egg + stop + if entity is chicken: + delete entity + give player chicken spawn egg + stop + if entity is cow: + delete entity + give player cow spawn egg + stop + if entity is horse: + delete entity + give player horse spawn egg + stop + if entity is mooshroom: + delete entity + give player mooshroom spawn egg + stop + if entity is ocelot: + delete entity + give player ocelot spawn egg + stop + if entity is pig: + delete entity + give player pig spawn egg + stop + if entity is sheep: + delete entity + give player sheep spawn egg + stop + if entity is squid: + delete entity + give player squid spawn egg + stop + if entity is villager: + delete entity + give player villager spawn egg + stop + if entity is wolf: + delete entity + give player wolf spawn egg + stop + if entity is zombie pigman: + delete entity + give player zombie pigman spawn egg + stop + if entity is blaze: + delete entity + give player blaze spawn egg + stop + if entity is cave spider: + delete entity + give player cave spider spawn egg + stop + if entity is creeper: + delete entity + give player creeper spawn egg + stop + if entity is enderman: + delete entity + give player enderman spawn egg + stop + if entity is ghast: + delete entity + give player ghast spawn egg + stop + if entity is magma cube: + delete entity + give player magma cube spawn egg + stop + if entity is silverfish: + delete entity + give player silverfish spawn egg + stop + if entity is skeleton: + delete entity + give player skeleton spawn egg + stop + if entity is slime: + delete entity + give player slime spawn egg + stop + if entity is spider: + delete entity + give player spider spawn egg + stop + if entity is witch: + delete entity + give player witch spawn egg + stop + if entity is zombie: + delete entity + give player zombie spawn egg + stop + +on drop: + world is "CreatureCapture" + event-item is not spawn egg + cancel event + +on pickup: + world is "CreatureCapture" + cancel event + +command /endgame: + permission: obam.admin + permission message: "&cThis command is only available for Admins." + trigger: + world is "CreatureCapture": + loop all players in world: + add loop-player to {_players::*} + loop {ccchests::*}: + block at location of loop-value is a chest: + set {_chest} to location of loop-value + set {_sign} to block 2 meters above location of {_chest} + set {_team} to line 2 of {_sign} + set {_score} to 0 + loop items in inventory of block at location of {_chest}: + set {_hold} to "%loop-item%" + set {_split::*} to {_hold} split at " " + set {_number} to {_split::1} parsed as number + {_number} is not set: + set {_number} to 1 + loop {_number} times: + loop-item is a sheep spawn egg: + add 100 to {_score} + loop-item is a cow spawn egg: + add 100 to {_score} + loop-item is a ocelot spawn egg: + add 500 to {_score} + loop-item is a bat spawn egg: + add 500 to {_score} + loop-item is a chicken spawn egg: + add 400 to {_score} + loop-item is a horse spawn egg: + add 300 to {_score} + loop-item is a mooshroom spawn egg: + add 200 to {_score} + loop-item is a pig spawn egg: + add 100 to {_score} + loop-item is a squid spawn egg: + add 1000 to {_score} + loop-item is a villager spawn egg: + add 400 to {_score} + loop-item is a wolf spawn egg: + add 300 to {_score} + loop-item is a zombie spawn egg: + add 400 to {_score} + loop-item is a zombie pigman spawn egg: + add 200 to {_score} + loop-item is a blaze spawn egg: + add 500 to {_score} + loop-item is a cave spider spawn egg: + add 200 to {_score} + loop-item is a creeper spawn egg: + add 300 to {_score} + loop-item is a enderman spawn egg: + add 500 to {_score} + loop-item is a ghast spawn egg: + add 500 to {_score} + loop-item is a magma cube spawn egg: + add 100 to {_score} + loop-item is a silverfish spawn egg: + add 200 to {_score} + loop-item is a skeleton spawn egg: + add 100 to {_score} + loop-item is a slime spawn egg: + add 300 to {_score} + loop-item is a spider spawn egg: + add 200 to {_score} + loop-item is a witch spawn egg: + add 400 to {_score} + send "&2The &7%{_team}% &2Team has a score of &7%{_score}%" to {_players::*} + clear inventory of block at location of {_chest} + set {_score::%{_team}%} to {_score} + loop {_score::*}: + set {_%loop-index%} to loop-value + {_Green} is greater than {_Blue}: + {_Green} is greater than {_Red}: + {_Green} is greater than {_Purple}: + send "&2The &7Green &2Team had won the match" to {_players::*} + {_Blue} is greater than {_Green}: + {_Blue} is greater than {_Red}: + {_Blue} is greater than {_Purple}: + send "&2The &7Blue &2Team had won the match" to {_players::*} + {_Red} is greater than {_Green}: + {_Red} is greater than {_Blue}: + {_Red} is greater than {_Purple}: + send "&2The &7Red &2Team had won the match" to {_players::*} + {_Purple} is greater than {_Green}: + {_Purple} is greater than {_Red}: + {_Purple} is greater than {_Blue}: + send "&2The &7Purple &2Team had won the match" to {_players::*} + +command /setendchest: + permission: obam.admin + trigger: + targeted block is a chest + add targeted block to {ccchests::*} + send "&aChest added" diff --git a/On Server Files/Event/Perk/hats.g.sk b/On Server Files/Event/Perk/hats.g.sk new file mode 100644 index 0000000..623f92d --- /dev/null +++ b/On Server Files/Event/Perk/hats.g.sk @@ -0,0 +1,136 @@ +on script load: + delete {db_perk.hats::*} + set {db_perk.hats::01.dirt} to "dirt;&3&lDirt Hat;&6Carefully woven together from the finest dirt||&6in all of &3OBAM!;sudo PLAYER hat dirt" + set {db_perk.hats::02.beta} to "iron pressure plate;&3&lBeta Supporter Hat;&6This Special hat is for all members who supported||&6during our beta period and is a thank you from the||&3OBAM &6Staff for those that helped us when we were||&6starting. THANK YOU!;sudo PLAYER hat beta;&6This Special hat is for all members who supported||&6during our beta period and is a thank you from the||&3OBAM &6Staff for those that helped us when we were||&6starting. THANK YOU!|| ||&cThis hat is only available to our Beta Supporters.;sudo PLAYER hat error" + set {db_perk.hats::03.quartz} to "quartz block;&3&lQuartz Hat;&6This hat is crafted from the smoothest quartz||&6found in the hottest part of the Nether!;sudo PLAYER hat quartz;&6This hat is crafted from the smoothest quartz||&6found in the hottest part of the Nether!|| ||&cThis hat is only available to our Supporters.;sudo PLAYER hat error" + set {db_perk.hats::04.cactus} to "cactus;&3&lPrickly Hat;&6Wear this hat when you're feeling a bit....Prickly!;sudo PLAYER hat cactus;&6Wear this hat when you're feeling a bit....Prickly!|| ||&cThis hat must be purchased from the OBAMCraft shop.|| ||&eUse &f/buy &ein the hub to purchase the &3Prickly Hat|| ||&ePrice: &a$2.00;sudo PLAYER hat error" + +command /hatmenu []: + trigger: + loop {db_perk.hats::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHat Rack" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.hats::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "02.beta": + player does not have permission "obam.beta.hat": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.quartz": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.cactus": + {db_purchase.cactus.%uuid of player%} is not set: + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /hat []: + trigger: + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hat Rack." + stop + argument 1 is "error": + message "&cThis hat is not available to you." + stop + argument 1 is "dirt": + set {_hat} to dirt + argument 1 is "beta": + player has permission "obam.beta.hat": + set {_hat} to iron pressure plate + argument 1 is "quartz": + player has permission "obam.supporter": + set {_hat} to quartz block + argument 1 is "cactus": + {db_purchase.cactus.%uuid of player%} is true: + set {_hat} to cactus + player has permission "obam.smod": + set {_hat} to cactus + send "&aYou now have a hat :D" to player + name of player's helmet is "hat": + set player's helmet to {_hat} + set name of player's helmet to "hat" + stop + player doesn't have space for player's helmet: + send "&cYour inventory is full :(" to player + stop + give player's helmet to player + set player's helmet to {_hat} + set name of player's helmet to "hat" + +command /hatadd : + permission: obam.admin + trigger: + add arg 1 to {hat.items.list::*} + +command /hatshow: + permission: obam.admin + trigger: + loop {hat.items.list::*}: + send "%loop-value%" to player + +every 0.3 seconds: + loop all players: + loop-player has anything named "hat": + remove anything named "hat" from loop-player + send "&cWhy did you have a hat in your pocket?" to loop-player + +on drop: + name of event-item is "hat": + cancel event + +on place: + name of player's tool is "hat": + cancel event + +command /hattoggle: + permission: obam.mod + trigger: + {hat.off.%player%} is not set: + set {hat.off.%player%} to true + send "&aYou have turned off your hat" to player + stop + {hat.off.%player%} is false: + set {hat.off.%player%} to true + send "&aYou have turned off your hat" to player + stop + {hat.off.%player%} is true: + set {hat.off.%player%} to false + send "&aYou have turned on your hat" to player + stop + +#staff hats constant +every 1 second: + loop all players: + set {_bypass} to false + {hat.off.%loop-player%} is true: + set {_bypass} to true + {_bypass} is false: + loop-player is "ISMOOCH": + set loop-player's helmet to command block named "&d&lSmooch's Sassy Hat" + loop-player is "Electric_Hamster": + set loop-player's helmet to sponge named "&b&lThe Hamster Hat" \ No newline at end of file diff --git a/On Server Files/Event/Perk/hitsounds.g.sk b/On Server Files/Event/Perk/hitsounds.g.sk new file mode 100644 index 0000000..f38632f --- /dev/null +++ b/On Server Files/Event/Perk/hitsounds.g.sk @@ -0,0 +1,336 @@ +on script load: + delete {db_perk.hit.class::*} + delete {db_perk.hit.hand::*} + delete {db_perk.hit.sword::*} + delete {db_perk.hit.axe::*} + delete {db_perk.hit.pickaxe::*} + delete {db_perk.hit.bow::*} + delete {db_perk.hit.rod::*} + + set {db_perk.hit.class::01.hand} to "stone button;&3Punch Sounds;&6Click to modify the sound you make when you||&6attack with your fists.;sudo PLAYER hitmenuchange hand;&6Click to modify the sound you make when you||&6attack with your fists.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::02.sword} to "iron sword;&3Sword Sounds;&6Click to modify the sound you make when you||&6attack with a sword.;sudo PLAYER hitmenuchange sword;&6Click to modify the sound you make when you||&6attack with a sword.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::03.axe} to "iron axe;&3Axe Sounds;&6Click to modify the sound you make when you||&6attack with an axe.;sudo PLAYER hitmenuchange axe;&6Click to modify the sound you make when you||&6attack with an axe.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::04.pickaxe} to "iron pickaxe;&3Pickaxe Sounds;&6Click to modify the sound you make when you||&6attack with a pickaxe.;sudo PLAYER hitmenuchange pickaxe;&6Click to modify the sound you make when you||&6attack with a pickaxe.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::05.bow} to "bow;&3Bow Sounds;&6Click to modify the sound you make when you||&6attack with a bow.;sudo PLAYER hitmenuchange bow;&6Click to modify the sound you make when you||&6attack with a bow.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::06.rod} to "fishing rod;&3Fishing Rod Sounds;&6Click to modify the sound you make when you||&6attack with a fishing rod.;sudo PLAYER hitmenuchange rod;&6Click to modify the sound you make when you||&6attack with a fishing rod.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::07.air} to "air" + set {db_perk.hit.class::08.air} to "air" + set {db_perk.hit.class::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your player.;sudo PLAYER hitsoundclear PLAYER" + + set {db_perk.hit.hand::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound hand note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound hand arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound hand anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound hand chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound hand click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound hand level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound hand villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::08.air} to "air" + set {db_perk.hit.hand::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound hand clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + + set {db_perk.hit.sword::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound sword note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound sword arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound sword anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound sword chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound sword click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound sword level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound sword villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::08.air} to "air" + set {db_perk.hit.sword::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound sword clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + + set {db_perk.hit.axe::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound axe note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound axe arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound axe anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound axe chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound axe click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound axe level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound axe villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::08.air} to "air" + set {db_perk.hit.axe::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound axe clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + + set {db_perk.hit.pickaxe::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound pickaxe note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound pickaxe arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound pickaxe anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound pickaxe chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound pickaxe click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound pickaxe level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound pickaxe villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::08.air} to "air" + set {db_perk.hit.pickaxe::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound pickaxe clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + + set {db_perk.hit.bow::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound bow note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound bow arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound bow anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound bow chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound bow click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound bow level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound bow villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::08.air} to "air" + set {db_perk.hit.bow::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound bow clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + + set {db_perk.hit.rod::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound rod note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound rod arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound rod anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound rod chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound rod click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound rod level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound rod villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::08.air} to "air" + set {db_perk.hit.rod::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound rod clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + +command /hitclassmenu: + trigger: + loop {db_perk.hit.class::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHit Sound Classes" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.hit.class::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.hand": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.sword": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.axe": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.pickaxe": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.bow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.rod": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /hitmenuchange []: + trigger: + argument 1 is set: + send "&aBringing up menu..." + wait 0.5 seconds + make player execute command "/hitmenu %argument 1%" + +command /hitmenu []: + trigger: + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hit Menu." + stop + argument 1 is "error": + message "&cThis hit class is not available to you." + stop + set {_type} to argument 1 + loop {db_perk.hit.%{_type}%::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHit Sound Classes" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.hit.%{_type}%::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.note": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.arrow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.anvil": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.chest": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.click": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.level": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "07.villager": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "08.clear": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + set {_thing1} to loop-index parsed as text + set {_thing2::*} to {_thing1} split at "." + set {_slot} to {_thing2::1} parsed as an integer + set {_slot} to {_slot} - 1 + format slot {_slot} of player with {_what} to be unstealable + format slot {_slot} of player with {_what} to close then run {_command} + +command /hitsound [] []: + trigger: + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hit Menu." + stop + argument 2 is "error": + message "&cThis hit sound is not available to you." + stop + set {_what} to argument 1 + set {_sound} to argument 2 + argument 2 is "clear": + clear {hit.%{_what}%.%player%} + send "&aAttack sounds cleared!" + stop + set {hit.%{_what}%.%player%} to "%{_sound}%" + send "&aAttack sound set to &e%{_sound}%!" + +on damage: + {hit.%attacker%} is set: + delete {hit.%attacker%} + attacker's tool is air: + set {_what} to "hand" + attacker's tool is a sword: + set {_what} to "sword" + attacker's tool is an axe: + set {_what} to "axe" + attacker's tool is a pickaxe: + set {_what} to "pickaxe" + attacker's tool is a bow: + set {_what} to "bow" + attacker's tool is a fishing rod: + set {_what} to "rod" + {hit.%{_what}%.%attacker%} is set: + {hit.%{_what}%.%attacker%} is "note": + chance of 14%: + play note bass at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 16%: + play note piano at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 20%: + play note bass drum at location of attacker with pitch 1 + set {_play} to true + chance of 25%: + play note sticks at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 33%: + play note bass guitar at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play note snare drum at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play note pling at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "arrow": + chance of 50%: + play shoot arrow at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play arrow hit at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "chest": + chance of 50%: + play chest close at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play chest close at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "anvil": + chance of 33%: + play anvil break at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play anvil land at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play anvil use at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "click": + play click at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "level": + chance of 50%: + play level up at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play orb pickup at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "villager": + chance of 16%: + play villager yes at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 20%: + play villager no at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 25%: + play villager death at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 33%: + play villager haggle at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play villager idle at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play villager hit at location of attacker with pitch 1 + +command /hitsoundclear : + trigger: + delete {hit.hand.%argument 1%} + delete {hit.sword.%argument 1%} + delete {hit.axe.%argument 1%} + delete {hit.pickaxe.%argument 1%} + delete {hit.bow.%argument 1%} + delete {hit.rod.%argument 1%} + message "&2All of your hit sounds have been cleared." \ No newline at end of file diff --git a/On Server Files/Event/Perk/otam.g.sk b/On Server Files/Event/Perk/otam.g.sk new file mode 100644 index 0000000..1480de2 --- /dev/null +++ b/On Server Files/Event/Perk/otam.g.sk @@ -0,0 +1,142 @@ +every 1 second: + + set {_hold} to now + + {db_time.extend.tam} is less than now: + + clear {db_tam.bonus} + set {db_current.bonus} to false + clear {db_time.extend.tam} + clear {alert.tam.lastminute} + broadcast "&3&l۝TAM: &dTAM Bonus has Ended!" + execute console command "crossmessage &3&l۝TAM: &dTAM Bonus has Ended!" + + set {_diff} to difference between {db_time.extend.tam} and now + + {_diff} is less than 15 minutes: + + {alert.tam.lastminute} is not set: + set {alert.tam.lastminute} to true + + broadcast "&3&l۝TAM: &dLess than 15 minutes remaining of TAM Bonus at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &dLess than 15 minutes remaining of TAM Bonus at &e%{db_tam.bonus}%&d!" + + +command /tamextended : + permission: obam.admin + trigger: + + {db_time.extend.tam} is not set: + set {db_time.extend.tam} to now + {db_tamstats.time.%argument 2%} is not set: + set {db_tamstats.time.%argument 2%} to 0 + + #Not meant to be a real option.. just for debugging + arg 1 is 5: + + add 5 minutes to {db_time.extend.tam} + add 5 to {db_tamstats.time.%argument 2%} + + arg 1 is 30: + + add 30 minutes to {db_time.extend.tam} + add 30 to {db_tamstats.time.%argument 2%} + + arg 1 is 60: + + add 1 hour to {db_time.extend.tam} + add 60 to {db_tamstats.time.%argument 2%} + + arg 1 is 90: + + add 90 minutes to {db_time.extend.tam} + add 90 to {db_tamstats.time.%argument 2%} + + arg 1 is 120: + + add 2 hours to {db_time.extend.tam} + add 120 to {db_tamstats.time.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e%argument 1% Minutes&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e%argument 1% Minutes&d!" + + set {_diff} to difference between {db_time.extend.tam} and now + + broadcast "&3&l۝TAM: &e%{_diff}% &dremaining!" + execute console command "crossmessage &3&l۝TAM: &e%{_diff}% &dremaining!" + broadcast "&3&l۝TAM: &dUse &e/tam &dfor more details!" + execute console command "crossmessage &3&l۝TAM: &dUse &e/tam &dfor more details!" + clear {alert.tam.lastminute} + + set {db_current.bonus} to true + {db_tam.bonus} is not set: + + set {db_tam.bonus} to 0.1 + + {db_tamstats.bonus.%argument 2%} is not set: + set {db_tamstats.bonus.%argument 2%} to 0 + + add 0.1 to {db_tamstats.bonus.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e0.1&d!" + broadcast "&3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d! " + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by 0.1! The TAM Bonus is now at &e%{db_tam.bonus}%&d! " + execute console command "crossmessage &3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d! " + +command /tambonus : + permission: obam.admin + trigger: + + {db_tamstats.bonus.%argument 2%} is not set: + set {db_tamstats.bonus.%argument 2%} to 0 + + {db_tam.bonus} is not set: + set {db_tam.bonus} to 0 + + add argument 1 to {db_tam.bonus} + add argument 1 to {db_tamstats.bonus.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e%argument 1%&d!" + broadcast "&3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e%argument 1%&d! The TAM Bonus is now at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d!" + + + {db_time.extend.tam} is not set: + set {db_time.extend.tam} to now + + {db_tamstats.time.%argument 2%} is not set: + set {db_tamstats.time.%argument 2%} to 0 + + add 60 to {db_tamstats.time.%argument 2%} + + add 1 hour to {db_time.extend.tam} + clear {alert.tam.lastminute} + broadcast "&3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e60 Minutes&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e60 Minutes&d!" + + set {_diff} to difference between {db_time.extend.tam} and now + + broadcast "&3&l۝TAM: &e%{_diff}% &dremaining!" + execute console command "crossmessage &3&l۝TAM: &e%{_diff}% &dremaining!" + broadcast "&3&l۝TAM: &dUse &e/tam &dfor more details!" + execute console command "crossmessage &3&l۝TAM: &dUse &e/tam &dfor more details!" + + + + +# Debugging Clear command +command /tambonusclear: + permission: obam.admin + trigger: + + clear {db_tam.bonus} + set {db_current.bonus} to false + clear {db_time.extend.tam} + clear {alert.tam.lastminute} + + send "&3&l۝TAM: &dTAM Bonus Cleared" to console + send "&3&l۝TAM: &dTAM Bonus Cleared" + + + \ No newline at end of file diff --git a/On Server Files/Event/Perk/perks.g.sk b/On Server Files/Event/Perk/perks.g.sk new file mode 100644 index 0000000..112c44a --- /dev/null +++ b/On Server Files/Event/Perk/perks.g.sk @@ -0,0 +1,101 @@ +on script load: + delete {db_perk.main::*} + set {db_perk.main::01.hats} to "iron pressure plate;&3Hat Rack;&6Gives you access to your virtual Hat Rack.;sudo PLAYER obam hatmenu" + set {db_perk.main::02.pets} to "lead;&3Pet Stable;&6Opens up your Pet Stable to summon your pets.;sudo PLAYER obam petmenu" + set {db_perk.main::03.trails} to "arrow;&3Trails Menu;&6Opens up your Projectile Trails Menu.;sudo PLAYER obam trailmenu" + set {db_perk.main::04.splash} to "cobweb;&3Splash Menu;&6Opens up your Splash Menu.;sudo PLAYER obam splashmenu" + set {db_perk.main::05.hit} to "jukebox;&3Hit Sound Menu;&6Opens up your Hit Sound Menu.;sudo PLAYER obam hitclassmenu" + set {db_perk.main::06.horse} to "horse spawn egg;&3Horse Changer Upper;&6Want to Skellify of Zombify your ride?;sudo PLAYER obam horsemenu" + set {db_perk.main::07.blank} to "air" + set {db_perk.main::08.shop} to "emerald;&3Shop;&6Opens up the Shop Menu.;sudo PLAYER obam shop" + set {db_perk.main::09.ci} to "command block;&3Custom Items Menu;&6Opens the Custom Item menu to access items.;sudo PLAYER obam ci" + +command /obam []: + permission: obam.free + trigger: + argument 1 is not set: + loop {db_perk.main::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lOBAM Perks and Shop Menu" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.main::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "07.ci": + player does not have permission "obam.smod": + clear {_what} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + loop-index is "07.ci": + player does not have permission "obam.smod": + clear {_what} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + argument 1 is set: +# argument 1 is "hatmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop + argument 1 is "petmenu": + "%player's world%" is "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "cart": + message "&cYou can not use that here." + stop +# argument 1 is "trailmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop +# argument 1 is "splashmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop +# argument 1 is "hitclassmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop + argument 1 is "horsemenu": + "%player's world%" is "Death-hub", "skyworld", "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "taco": + message "&cYou can not use that here." + stop + argument 1 is "shop": + "%player's world%" is "Death-hub", "skyworld", "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "taco": + message "&cYou can not use that here." + stop + argument 1 is "ci": + "%player's world%" is "Death-hub", "skyworld", "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "taco": + message "&cYou can not use that here." + stop + send "&aBringing up menu..." + wait 0.5 seconds + make player execute command "/%argument 1%" + +command /sudo : + permission: obam.admin + trigger: + make argument 1 execute argument 2 \ No newline at end of file diff --git a/On Server Files/Event/Perk/pets.g.sk b/On Server Files/Event/Perk/pets.g.sk new file mode 100644 index 0000000..1833dcf --- /dev/null +++ b/On Server Files/Event/Perk/pets.g.sk @@ -0,0 +1,190 @@ +on script load: + delete {db_perk.pets::*} + set {db_perk.pets::01.ismooch} to "sheep spawn egg;&3iSmooch;&6The sassiest sheep in all the lands!;sudo PLAYER pet ismooch" + set {db_perk.pets::02.bruswain} to "bat spawn egg;&3BruSwain;&6This lovable bat lost his parents at a||&6young age. Thank you for taking care||&6of him!;sudo PLAYER pet bruswain;bat spawn egg;&3BruSwai&6This lovable bat lost his parents at a||&6young age. Thank you for taking care||&6of him!|| ||&cThis pet is only available to our Beta Supporters.;sudo PLAYER pet error" + set {db_perk.pets::03.sparky} to "creeper spawn egg;&3Sparky;&6While this creeper appears to have a||&6dangerously electrifying personality, we||&6promise he’s completely safe!;sudo PLAYER pet sparky;creeper spawn egg;&3Sparky;&6While this creeper appears to have a||&6dangerously electrifying personality, we||&6promise he’s completely safe!|| ||&cThis pet is only available to our Supporters.;sudo PLAYER pet error" + set {db_perk.pets::04.bacon} to "pig spawn egg;&3Bacon;&6Rescued from the final stages of the||&6slaughter house, this pig is extremely||&6grateful for your love and kindness!;sudo PLAYER pet bacon;pig spawn egg;&3Baco&6Rescued from the final stages of the||&6slaughter house, this pig is extremely||&6grateful for your love and kindness!|| ||&cThis pet must be purchased from the OBAMCraft shop.|| ||&eUse &f/buy &ein the hub purchase &3Bacon|| ||&ePrice: &a$5.00;sudo PLAYER pet error" + set {db_perk.pets::05.blank} to "air" + set {db_perk.pets::06.blank} to "air" + set {db_perk.pets::07.lead} to "lead;&3Leash;&6Pets getting out of control? Click this||&6to attach a lead to all of your||&6summoned pets!;sudo PLAYER pet lead" + set {db_perk.pets::08.blank} to "air" + set {db_perk.pets::09.clear} to "fire;&3Clear;&6Click to clear all summoned pets!;sudo PLAYER pet clear" + +command /petmenu: + trigger: + loop {db_perk.pets::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lPet Stable" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.pets::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "02.bruswain": + player does not have permission "obam.beta.hat": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.sparky": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.bacon": + {db_purchase.bacon.%uuid of player%} is not set: + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +every 1 second: + loop all entities: + loop-entity is sheep or bat or powered creeper or pig: + name of loop-entity is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon": + spawn 4 particle heart offset by 1, 1, 1 at location of loop-entity + {owner.%loop-entity%} is not set: + kill loop-entity + distance between location of loop-entity and location of {owner.%loop-entity%} is greater than 20: + teleport loop-entity to location of {owner.%loop-entity%} + +on damage of sheep or bat or powered creeper or pig: + name of victim is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon": + cancel event + +on quit: + kill {pets.%player%} + clear {pets.%player%} + loop {pets.%player%::*}: + clear {owner.%loop-value%} + kill loop-value + clear {pets.%player%::*} + stop + +command /pet []: + trigger: + world is "kitpvpkillingfields": + send "&cYou can not do that here" to player + stop + argument is not set: + message "&cPlease use &7/OBAM &cto access your Pet Stable." + stop + argument is "error": + message "&cThis pet is not available to you." + stop + argument is "lead": + loop {pets.%player%::*}: + teleport loop-value to location of player + make player leash loop-value + stop + argument is "clear": + kill {pets.%player%} + clear {pets.%player%} + loop {pets.%player%::*}: + kill loop-value + clear {owner.%loop-value%} + clear {pets.%player%::*} + stop + {pets.%player%} is set: + player does not have permission "obam.supporter": + send "&cYou can only have one pet at a time!" to player + stop + size of {pets.%player%::*} is 5: + send "&cYou can only have 5 pets at a time!" to player + stop + argument is "ISMOOCH": + spawn sheep at location of player + set name of spawned sheep to "&aISMOOCH" + set color of spawned sheep to pink + make player leash spawned sheep + set {pets.%player%} to spawned sheep + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + argument is "BruSwain": + player has permission "obam.beta.hat": + spawn bat at location of player + set name of spawned bat to "&aBru Swain" + make player leash spawned bat + set {pets.%player%} to spawned bat + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + send "&cThis is for beta supporters only!" to player + argument is "Sparky": + player has permission "obam.supporter": + spawn powered creeper at location of player + set name of spawned powered creeper to "&aSparky" + make player leash spawned powered creeper + set {pets.%player%} to spawned powered creeper + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + send "&cYou must be a supporter to do this!" to player + argument is "bacon": + {db_purchase.bacon.%uuid of player%} is true: + spawn pig at location of player + set name of spawned pig to "&aBacon" + make player leash spawned pig + set {pets.%player%} to spawned pig + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + player has permission "obam.smod": + spawn pig at location of player + set name of spawned pig to "&aBacon" + make player leash spawned pig + set {pets.%player%} to spawned pig + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + send "&cYou must purchase this pet on the online store!" + stop + argument is "dragon": + send "&cI bet you wish you could...." to player + stop + send "&cThat is not an option!" to player + +on explosion prime: + entity is powered creeper: + name of entity is "&aSparky": + cancel event + +on death of a sheep or a bat or a powered creeper or a pig: + name of victim is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon" + clear drops + +on right click on a sheep or a bat or a powered creeper or a pig: + name of target is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon": + cancel event + +on right click with wheat on sheep: + name of event-entity is "&aISMOOCH" + cancel event + send "&cYou can not mate pets D:" to event-player + +on right click with carrot on sheep: + name of event-entity is "&aBacon" + cancel event + send "&cYou can not mate pets D:" to event-player + +on right click with shears on sheep: + name of event-entity is "&aISMOOCH" + cancel event + send "&cYou can not shear pets!" to event-player diff --git a/On Server Files/Event/Perk/splash.g.sk b/On Server Files/Event/Perk/splash.g.sk new file mode 100644 index 0000000..c587a4c --- /dev/null +++ b/On Server Files/Event/Perk/splash.g.sk @@ -0,0 +1,214 @@ +on script load: + delete {db_perk.splash::*} + set {db_perk.splash::01.heart} to "red dye;&3Heart Particles;&6Click to enable a heart splash!;sudo PLAYER splash heart;red dye;&3Heart Particles;&6Click to enable a heart splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::02.flame} to "fire;&3Flame Particles;&6Click to enable a flame splash!;sudo PLAYER splash flame;fire;&3Flame Particles;&6Click to enable a flame splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::03.reddust} to "magma cream;&3Unstable Gas Particles;&6Click to enable an unstable gas splash!;sudo PLAYER splash reddust;magma cream;&3Unstable Gas Particles;&6Click to enable an unstable gas splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::04.smoke} to "charcoal;&3Dark Smoke Particles;&6Click to enable a dark smoke splash!;sudo PLAYER splash smoke;charcoal;&3Dark Smoke Particles;&6Click to enable a dark smoke splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::05.waterdrip} to "water;&3Water Drip Particles;&6Click to enable a water drip splash!;sudo PLAYER splash waterdrip;water;&3Water Drip Particles;&6Click to enable a water drip splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::06.lavadrip} to "lava;&3Lava Drip Particles;&6Click to enable a lava drip splash!;sudo PLAYER splash lavadrip;lava;&3Lava Drip Particles;&6Click to enable a lava drip splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::07.slime} to "slimeball;&3Slime Particles;&6Click to enable a slime splash!;sudo PLAYER splash slime;slimeball;&3Slime Particles;&6Click to enable a slime splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::08.note} to "jukebox;&3Music Notes Particles;&6Click to enable a music note splash!;sudo PLAYER splash note;jukebox;&3Music Notes Particles;&6Click to enable a music note splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::09.happy} to "villager spawn egg;&3Villager Particles “Happy”;&6Click to enable a happy villager splash!;sudo PLAYER splash happy;villager spawn egg;&3Villager Particles “Happy”;&6Click to enable a happy villager splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::10.angry} to "villager spawn egg;&3Villager Particles “Angry”;&6Click to enable a angry villager splash!;sudo PLAYER splash angry;villager spawn egg;&3Villager Particles “Angry”;&6Click to enable a angry villager splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::11.explode} to "tnt;&3Explosion Smoke Particles;&6Click to enable a explosion smoke splash!;sudo PLAYER splash explode;tnt;&3Explosion Smoke Particles;&6Click to enable a explosion smoke splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::12.snow} to "snow block;&3Snowflake Particles;&6Click to enable a snowflake splash!;sudo PLAYER splash snow;snow block;&3Snowflake Particles;&6Click to enable a snowflake splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::13.portal} to "nether portal;&3Nether Portal Particles;&6Click to enable a nether portal splash!;sudo PLAYER splash portal;nether portal;&3Nether Portal Particles;&6Click to enable a nether portal splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::14.cloud} to "bonemeal;&3Cloud Particles;&6Click to enable a cloud splash!;sudo PLAYER splash cloud;bonemeal;&3Cloud Particles;&6Click to enable a cloud splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::15.bubble} to "water bottle;&3Bubble Particles;&6Click to enable a bubble splash!;sudo PLAYER splash bubble;water bottle;&3Bubble Particles;&6Click to enable a bubble splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::16.blank} to "air" + set {db_perk.splash::17.blank} to "air" + set {db_perk.splash::18.clear} to "glass;&3Clear Particles;&6Click to clear your splash!;sudo PLAYER splash clear;glass;&3Clear Particles;&6Click to clear your splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + +command /splashmenu: + trigger: + loop {db_perk.splash::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lSplash Menu" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.splash::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.heart": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.flame": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.reddust": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.smoke": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.waterdrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.lavadrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "07.slime": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "08.note": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "09.happy": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "10.angry": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "11.explode": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "12.snow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "13.portal": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "14.cloud": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "15.bubble": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "16.clear": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /splash []: + trigger: + argument is not set: + message "&cPlease use &7/OBAM &cto access the Splash Menu." + stop + argument is "error": + message "&cThis splash is not available to you." + stop + player has permission "obam.supporter": + argument is "heart": + set {splash.%player%} to "heart" + send "&aYou have enabled a &eHeart Splash&a!" + argument is "flame": + set {splash.%player%} to "flame" + send "&aYou have enabled a &eFlame Splash&a!" + argument is "reddust": + set {splash.%player%} to "reddust" + send "&aYou have enabled an &eUnstable Gas Splash&a!" + argument is "smoke": + set {splash.%player%} to "smoke" + send "&aYou have enabled a &eDark Smoke Splash&a!" + argument is "waterdrip": + set {splash.%player%} to "waterdrip" + send "&aYou have enabled a &eWater Drip Splash&a!" + argument is "lavadrip": + set {splash.%player%} to "lavadrip" + send "&aYou have enabled a &eLava Drip Splash&a!" + argument is "slime": + set {splash.%player%} to "slime" + send "&aYou have enabled a &eSlime Splash&a!" + argument is "note": + set {splash.%player%} to "note" + send "&aYou have enabled a &eMusic Note Splash&a!" + argument is "happy": + set {splash.%player%} to "happy" + send "&aYou have enabled a &eHappy Villager Splash&a!" + argument is "angry": + set {splash.%player%} to "angry" + send "&aYou have enabled an &eAngry Villager Splash&a!" + argument is "explode": + set {splash.%player%} to "explode" + send "&aYou have enabled an &eExplosion Smoke Splash&a!" + argument is "snow": + set {splash.%player%} to "snow" + send "&aYou have enabled a &eSnowflake Splash&a!" + argument is "bubble": + set {splash.%player%} to "bubble" + send "&aYou have enabled a &eBubble Splash&a!" + argument is "portal": + set {splash.%player%} to "portal" + send "&aYou have enabled a &eNether Portal Splash&a!" + argument is "cloud": + set {splash.%player%} to "cloud" + send "&aYou have enabled a &eCloud Splash&a!" + argument is "clear": + clear {splash.%player%} + send "&aYou have disabled your splash!" + +every 5 seconds: + loop all players: + clear {_amt} + loop-player is not sneaking + loop-player is sprinting: + set {_amt} to 100 + {_amt} is not set: + set {_amt} to 50 + {splash.%loop-player%} is set: + {splash.%loop-player%} is "bubble": + spawn 500 particle bubble offset by 2, 2, 2 at location of loop-player + {splash.%loop-player%} is "cloud": + spawn {_amt} particle cloud offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "heart": + spawn {_amt} particle heart offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "flame": + spawn {_amt} particle flame offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "reddust": + spawn {_amt} particle red dust offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "smoke": + spawn {_amt} particle large smoke offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "note": + spawn {_amt} particle note offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "lavadrip": + spawn {_amt} particle drip lava offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "waterdrip": + spawn {_amt} particle drip water offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "slime": + spawn {_amt} particle slime offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "happy": + spawn {_amt} particle happy villager offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "angry": + spawn {_amt} particle angry villager offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "explode": + spawn {_amt} particle large explode offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "snow": + spawn {_amt} particle snow shovel offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "portal": + spawn {_amt} particle portal offset by 1, 1, 1 at location of loop-player \ No newline at end of file diff --git a/On Server Files/Event/Perk/suphorse.g.sk b/On Server Files/Event/Perk/suphorse.g.sk new file mode 100644 index 0000000..da5685c --- /dev/null +++ b/On Server Files/Event/Perk/suphorse.g.sk @@ -0,0 +1,70 @@ +on script load: + delete {db_perk.suphorse::*} + set {db_perk.suphorse::01.zombify} to "zombie spawn egg;&3Zombify your ride!;&6Feel like roaming the plains on your Zombified Horse?;sudo PLAYER suphorse zombify;zombie spawn egg;&3Zombify your ride!;&6Feel like roaming the plains on your Zombified Horse?|| ||&cThis ability is only available to our Supporters.;sudo PLAYER suphorse error" + set {db_perk.suphorse::02.skellify} to "skeleton spawn egg;&3Skellify your ride!;&6Feel like roaming the deserts on your Skellified Horse?;sudo PLAYER suphorse skellify;skeleton spawn egg;&3Skellify your ride!;&6Feel like roaming the deserts on your Skellified Horse?|| ||&cThis ability is only available to our Supporters.;sudo PLAYER suphorse error" + +command /horsemenu: + trigger: + loop {db_perk.suphorse::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHorse O' Matic" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.suphorse::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.zombify": + player does not have permission "obam.beta.hat": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.skellify": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /suphorse []: + trigger: + player is not riding: + send "&cYou must be riding a horse to do this!" + stop + player's vehicle is not a horse: + send "&cYou must be riding a horse to do this!" + stop + argument is not set: + message "&cPlease use &7/OBAM &cto access your modify your horse." + stop + argument is "error": + message "&cThis ability is not available to you." + stop + "%player's world%" is "world": + set {_y} to y-coordinate of player + set {_x} to x-coordinate of player + set {_z} to z-coordinate of player + argument is "zombify": + execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:3,Tame:1}" + argument is "skellify": + execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:4,Tame:1}" + delete player's vehicle + stop + message "&cThis can only be used in the Regular World." \ No newline at end of file diff --git a/On Server Files/Event/Perk/tam.g.sk b/On Server Files/Event/Perk/tam.g.sk new file mode 100644 index 0000000..303d62b --- /dev/null +++ b/On Server Files/Event/Perk/tam.g.sk @@ -0,0 +1,71 @@ +every 1 minute: + {db_tam.modifier} is not set: + set {db_tam.modifier} to 1 + set {_add} to {db_tam.modifier} + #OTAM Hook + {db_tam.bonus} is set: + add {db_tam.bonus} to {_add} + loop all players: + add {_add} to loop-player's balance + {session.tam.%loop-player%} is not set: + set {session.tam.%loop-player%} to 0 + add {_add} to {session.tam.%loop-player%} + {db_total.tam.%uuid of loop-player%} is not set: + {db_total.tam.%loop-player%} is set: + set {db_total.tam.%uuid of loop-player%} to {db_total.tam.%loop-player%} + else: + set {db_total.tam.%uuid of loop-player%} to 0 + add {_add} to {db_total.tam.%uuid of loop-player%} + {db_total.tam} is not set: + set {db_total.tam} to 0 + add {_add} to {db_total.tam} + {db_total.reg} is not set: + set {db_total.reg} to 0 + add {_add} to {db_total.reg} + +command /tam: + permission: obam.free + trigger: + send "&aTotal Tickets earned with -TAM-:" + send "&e%{db_total.tam.%uuid of player%}%" + send "&aTotal this session:" + send "&e%{session.tam.%player%}%" + send "&aTotal Tickets:" + send "&e%player's balance%" + #OTAM Hook + {db_tam.bonus} is not set: + send "&aCurrent -TAM- Modifier:" + send "&e%{db_tam.modifier}%" + #OTAM Hooks + {db_tam.bonus} is set: + send "&aCurrent -TAM- Modifier:" + send "&e%{db_tam.modifier}% &c&o+ %{db_tam.bonus}%" + send "&4Remaining -TAM- Bonus Time:" + set {_diff} to difference between {db_time.extend.tam} and now + send "&c%{_diff}%" + send "&4OTAM Time Contributions:" + send "&c%{db_tamstats.time.%uuid of player%}% minutes" + send "&4OTAM Bonus Contributions:" + send "&c%{db_tamstats.bonus.%uuid of player%}%" + +command /tamtotal: + permission: obam.admin + trigger: + send "&aTotal Global Tickets earned with -TAM-:" + send "&e%{db_total.tam}%" + send "&aRegular:" + send "&e%{db_total.reg}%" + send "&aSupporter:" + send "&e%{db_total.sup}%" + send "&aPlus:" + send "&e%{db_total.plus}%" + send "&aUltimate:" + send "&e%{db_total.ult}%" + +on join: + set {session.tam.%player%} to 0 + +command /tammodset : + permission: obam.admin + trigger: + set {db_tam.modifier} to argument diff --git a/On Server Files/Event/Perk/tickets.g.sk b/On Server Files/Event/Perk/tickets.g.sk new file mode 100644 index 0000000..df07df8 --- /dev/null +++ b/On Server Files/Event/Perk/tickets.g.sk @@ -0,0 +1,68 @@ +#money stuff +#give player money +command /tixg : + description: Give a Player some money + usage: /tixg + executable by: console and players + permission: obam.admin + trigger: + + set {_player.balance} to player-argument's balance + set {_player} to player-argument + execute console command "/tls STAFF %arg 2% %{_player.balance}% INCREASE %{_player}% Ticket Adjustment by %player%" + add arg 2 to player-argument's balance + message "&aYou have been given &e%arg 2% Tickets&a. Your balance is now &e%player-argument's money%&a." to player-argument + message "You have granted %player-argument% %arg 2% Tickets" to player + + +command /tixr : + description: Subtract money from a Player + usage: /tixr + executable by: console and players + permission: obam.admin + trigger: + + + set {_valid} to argument 2 + set {_player.balance} to player-argument's balance + set {_player} to player-argument + + {_valid} is greater than {_player.balance}: + send "%player-argument% does not have that many tickets!" to player + stop + + execute console command "/tls STAFF %arg 2% %{_player.balance}% DEDUCT %{_player}% Ticket Adjustment by %player%" + + +#pay command +command /tixp : + description: Pay a Player + usage: /tixp + permission: obam.admin + trigger: + set {_curbalance} to player's money + set {_valid} to difference between {_curbalance} and argument 2 + + {_valid} is less than 0: + message "You do not have enough money!" to player + stop + + add arg 2 to player-argument's balance + remove arg 2 from player's balance + message "You have received %arg 2% Tickets from %player%. Your balance is now %player-argument's money%." to player-argument + message "You have paid %player-argument% %arg 2% Tickets. Your balance is now %player's money%." to player + +command /tix: + executable by: players + permission: obam.free + trigger: + send "&aYour current balance is &e%player's balance%&a!" to player + +command /tixpeek : + permission: obam.admin + trigger: + set {_player} to argument parsed as offline player + send "&e%argument%'s&a ticket balance is &e%{_player}'s balance%" to player + + + diff --git a/On Server Files/Event/Perk/trails.g.sk b/On Server Files/Event/Perk/trails.g.sk new file mode 100644 index 0000000..a163ad8 --- /dev/null +++ b/On Server Files/Event/Perk/trails.g.sk @@ -0,0 +1,205 @@ +on script load: + delete {db_perk.trails::*} + set {db_perk.trails::01.heart} to "red dye;&3Heart Particles;&6Click to enable heart trails!;sudo PLAYER trails heart;red dye;&3Heart Particles;&6Click to enable heart trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::02.flame} to "fire;&3Flame Particles;&6Click to enable flame trails!;sudo PLAYER trails flame;fire;&3Flame Particles;&6Click to enable flame trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::03.reddust} to "magma cream;&3Unstable Gas Particles;&6Click to enablen unstable gas trails!;sudo PLAYER trails reddust;magma cream;&3Unstable Gas Particles;&6Click to enablen unstable gas trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::04.smoke} to "charcoal;&3Dark Smoke Particles;&6Click to enable dark smoke trails!;sudo PLAYER trails smoke;charcoal;&3Dark Smoke Particles;&6Click to enable dark smoke trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::05.waterdrip} to "water;&3Water Drip Particles;&6Click to enable water drip trails!;sudo PLAYER trails waterdrip;water;&3Water Drip Particles;&6Click to enable water drip trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::06.lavadrip} to "lava;&3Lava Drip Particles;&6Click to enable lava drip trails!;sudo PLAYER trails lavadrip;lava;&3Lava Drip Particles;&6Click to enable lava drip trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::07.slime} to "slimeball;&3Slime Particles;&6Click to enable slime trails!;sudo PLAYER trails slime;slimeball;&3Slime Particles;&6Click to enable slime trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::08.note} to "jukebox;&3Music Notes Particles;&6Click to enable music note trails!;sudo PLAYER trails note;jukebox;&3Music Notes Particles;&6Click to enable music note trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::09.happy} to "villager spawn egg;&3Villager Particles “Happy”;&6Click to enable happy villager trails!;sudo PLAYER trails happy;villager spawn egg;&3Villager Particles “Happy”;&6Click to enable happy villager trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::10.angry} to "villager spawn egg;&3Villager Particles “Angry”;&6Click to enable angry villager trails!;sudo PLAYER trails angry;villager spawn egg;&3Villager Particles “Angry”;&6Click to enable angry villager trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::11.explode} to "tnt;&3Explosion Smoke Particles;&6Click to enable explosion smoke trails!;sudo PLAYER trails explode;tnt;&3Explosion Smoke Particles;&6Click to enable explosion smoke trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::12.snow} to "snow block;&3Snowflake Particles;&6Click to enable snowflake trails!;sudo PLAYER trails snow;snow block;&3Snowflake Particles;&6Click to enable snowflake trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::13.portal} to "nether portal;&3Nether Portal Particles;&6Click to enable nether portal trails!;sudo PLAYER trails portal;nether portal;&3Nether Portal Particles;&6Click to enable nether portal trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::14.cloud} to "bonemeal;&3Cloud Particles;&6Click to enable cloud trails!;sudo PLAYER trails cloud;bonemeal;&3Cloud Particles;&6Click to enable cloud trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::15.blank} to "air" + set {db_perk.trails::16.blank} to "air" + set {db_perk.trails::17.blank} to "air" + set {db_perk.trails::18.clear} to "glass;&3Clear Particles;&6Click to clear your trails!;sudo PLAYER trails clear;glass;&3Clear Particles;&6Click to clear your trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + +command /trailmenu: + trigger: + loop {db_perk.trails::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lTrails Menu" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.trails::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.heart": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.flame": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.reddust": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.smoke": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.waterdrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.lavadrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "07.slime": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "08.note": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "09.happy": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "10.angry": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "11.explode": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "12.snow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "13.portal": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "14.cloud": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "15.bubble": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "16.clear": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /trails []: + trigger: + argument is not set: + message "&cPlease use &7/OBAM &cto access the Trails Menu." + stop + argument is "error": + message "&cThis trail is not available to you." + stop + player has permission "obam.supporter": + delete {trail.%player%} + argument is "heart": + set {trails.%player%} to "heart" + send "&aYou have enabled &eHeart trails&a!" + argument is "flame": + set {trails.%player%} to "flame" + send "&aYou have enabled &eFlame trails&a!" + argument is "reddust": + set {trails.%player%} to "reddust" + send "&aYou have enabled &eUnstable Gas trails&a!" + argument is "smoke": + set {trails.%player%} to "smoke" + send "&aYou have enabled &eDark Smoke trails&a!" + argument is "waterdrip": + set {trails.%player%} to "waterdrip" + send "&aYou have enabled &eWater Drip trails&a!" + argument is "lavadrip": + set {trails.%player%} to "lavadrip" + send "&aYou have enabled &eLava Drip trails&a!" + argument is "slime": + set {trails.%player%} to "slime" + send "&aYou have enabled &eSlime trails&a!" + argument is "note": + set {trails.%player%} to "note" + send "&aYou have enabled &eMusic Note trails&a!" + argument is "happy": + set {trails.%player%} to "happy" + send "&aYou have enabled &eHappy Villager trails&a!" + argument is "angry": + set {trails.%player%} to "angry" + send "&aYou have enabled &eAngry Villager trails&a!" + argument is "explode": + set {trails.%player%} to "explode" + send "&aYou have enabled &eExplosion Smoke trails&a!" + argument is "snow": + set {trails.%player%} to "snow" + send "&aYou have enabled &eSnowflake trails&a!" + argument is "portal": + set {trails.%player%} to "portal" + send "&aYou have enabled &eNether Portal trails&a!" + argument is "cloud": + set {trails.%player%} to "cloud" + send "&aYou have enabled &eCloud trails&a!" + argument is "clear": + clear {trails.%player%} + send "&aYou have disabled your trails!" + +on shoot: + {trails.%shooter%} is set: + {trails.%shooter%} is "heart": + trail projectile with particle heart + {trails.%shooter%} is "flame": + trail projectile with particle flame + {trails.%shooter%} is "reddust": + trail projectile with particle red dust + {trails.%shooter%} is "smoke": + trail projectile with particle large smoke + {trails.%shooter%} is "bubble": + trail projectile with particle bubble + {trails.%shooter%} is "note": + trail projectile with particle note + {trails.%shooter%} is "lavadrip": + trail projectile with particle drip lava + {trails.%shooter%} is "waterdrip": + trail projectile with particle drip water + {trails.%shooter%} is "slime": + trail projectile with particle slime + {trails.%shooter%} is "happy": + trail projectile with particle happy villager + {trails.%shooter%} is "angry": + trail projectile with particle angry villager + {trails.%shooter%} is "explode": + trail projectile with particle large explode + {trails.%shooter%} is "snow": + trail projectile with particle snow shovel + {trails.%shooter%} is "portal": + trail projectile with particle portal + {trails.%shooter%} is "cloud": + trail projectile with particle cloud diff --git a/On Server Files/Event/TMA/tma.sk b/On Server Files/Event/TMA/tma.sk new file mode 100644 index 0000000..8c0a934 --- /dev/null +++ b/On Server Files/Event/TMA/tma.sk @@ -0,0 +1,350 @@ + + +on script load: + clear {tma.spawns::*} + add creeper to {tma.spawns::*} + add witch to {tma.spawns::*} + add zombie to {tma.spawns::*} + add skeleton to {tma.spawns::*} + add zombie pigman to {tma.spawns::*} + add cave spider to {tma.spawns::*} + add magma cube to {tma.spawns::*} + add blaze to {tma.spawns::*} + + + +command /tma [] [] []: + permission: obam.admin + trigger: + world is not "TMA": + send "&cYou are not in the right world to do this" + stop + + argument 1 is not set: + + send "&a=================================" + send "&6 OBAMCraft " + send "&6 TMA " + send "&a=================================" + send " " + send "&e/tma addspawn " + send "&7Add your current location to the spawn list for that team" + send " " + send "&e/tma listspawn " + send "&7List the current spawn locations for a specified team" + send " " + send "&e/tma delspawn " + send "&7Deleted specified spawn location" + send " " + send "&e/tma addteam " + send "&7Add a team to the list of teams" + send " " + send "&e/tma listteam" + send "&7List the current teams" + send " " + send "&e/tma delteam " + send "&7Delete the selected team from the team list" + send " " + send "&6Developed for &7OBAMCraft &eBy: &aThe OBAM Mechanics" + stop + + argument 1 is "help": + argument 2 is not set: + + send "&a=================================" + send "&6 OBAMCraft " + send "&6 TMA " + send "&a=================================" + send " " + send "&e/tma addspawn " + send "&7Add your current location to the spawn list for that team" + send " " + send "&e/tma listspawn " + send "&7List the current spawn locations for a specified team" + send " " + send "&e/tma delspawn " + send "&7Deleted specified spawn location" + send " " + send "&e/tma addteam " + send "&7Add a team to the list of teams" + send " " + send "&e/tma listteam" + send "&7List the current teams" + send " " + send "&e/tma delteam " + send "&7Delete the selected team from the team list" + send " " + send "&6Developed for &7OBAMCraft &eBy: &aThe OBAM Mechanics" + stop + argument 2 is "1": + send "&a=================================" + send "&6 OBAMCraft " + send "&6 TMA " + send "&a=================================" + send " " + send "&e/tma addspawn " + send "&7Add your current location to the spawn list for that team" + send " " + send "&e/tma listspawn " + send "&7List the current spawn locations for a specified team" + send " " + send "&e/tma delspawn " + send "&7Deleted specified spawn location" + send " " + send "&e/tma addteam " + send "&7Add a team to the list of teams" + send " " + send "&e/tma listteam" + send "&7List the current teams" + send " " + send "&e/tma delteam " + send "&7Delete the selected team from the team list" + send " " + send "&6Developed for &7OBAMCraft &eBy: &aThe OBAM Mechanics" + stop + + argument 2 is "2": + send "&a=================================" + send "&6 OBAMCraft " + send "&6 TMA " + send "&a=================================" + send " " + send "&e/tma spawnwave " + send "&7Spawns a wave, at wave number listed" + send " " + send "&e/tma help " + send "&7List this help menu at specified page number" + send " " + send "&e/tma begin" + send "&7Begin a TMA game(not live yet)" + send " " + send "&e/tma activeadd " + send "&7Add a team to the active list" + send " " + send "&e/tma activelist" + send "&7List all active teams" + send " " + send "&e/tma activedel " + send "&7Remove a team from the active list" + send " " + send "&6Developed for &7OBAMCraft &eBy: &aThe OBAM Mechanics" + stop + + + argument 1 is "addspawn": + argument 2 is not set: + send "&cYou must select a team: &e/tma addspawn " + stop + {tma.teams::%argument 2%} is not set: + send "&cThis is not a valid team!" + send "&cPlease do &e/tma teamlist&c for a list of available teams." + stop + add location of player to {tma.%argument 2%.spawn::*} + send "&e%location of player% &a is added to &e%argument 2%'s&a spawn list" + + argument 1 is "listspawn": + argument 2 is not set: + send "&cYou must select a team: &e/tma listspawn " + stop + {tma.teams::%argument 2%} is not set: + send "&cThis is not a valid team!" + send "&cPlease do &e/tma teamlist&c for a list of available teams." + loop {tma.%argument 2%.spawn::*}: + {_loop.count} is not set: + set {_loop.count} to 0 + add 1 to {_loop.count} + send "%loop-index%.....%loop-value%" + + argument 1 is "delspawn": + argument 2 is not set: + send "&cYou must select a team: &e/tma delspawn " + stop + argument 3 is not set: + send "&cYou must select a point: &e/tma delspawn %argument 2% " + stop + {tma.teams::%argument 2%} is not set: + send "&cThis is not a valid team!" + send "&cPlease do &e/tma teamlist&c for a list of available teams." + {tma.%argument 2%.spawn::%argument 3%} is not set: + send "&c%argument 3% is not a point in team %argument 2%" + send "&cPlease use &e/tma listspawn %argument 2%&a to find the available points" + stop + + send "&cDeleteing &e%{tma.%argument 2%.spawn::%argument 3%}% &ain &e%argument 2%&a..." + delete {tma.%argument 2%.spawn::%argument 3%} + {tma.%argument 2%.spawn::%argument 3%} is set: + send "&cAn error occurred" + stop + send "&aDeleted!" + + argument 1 is "addteam": + argument 2 is not set: + send "&cPlease specify a team: &e/tma addteam " + stop + set {tma.teams::%argument 2%} to true + send "&e%argument 2%&a added successfully to Teams!" + + argument 1 is "listteam": + loop {tma.teams::*}: + send "%loop-index%" + + argument 1 is "delteam": + argument 2 is not set: + send "&cPlease specify a team: &e/tma delteam " + stop + {tma.teams::%argument 2%} is not set: + send "&cThis team does not exist!" + send "&cPlease use &e/tma listteam&a for a list of teams" + stop + + send "&cDeleteing &e%argument 2%&c..." + delete {tma.teams::%argument 2%} + {tma.teams::%argument 2%} is set: + send "&cAn error occurred" + stop + send "&aDelted!" + + argument 1 is "spawnwave": + argument 2 is not set: + send "&cPlease select a number: &e/tma spawnwave " + stop + {active.tma.teams::*} is empty: + send "&cThere are no active teams: &e/tma activeadd &c to add" + stop + execute console command "tmawave %argument 2%" + + argument 1 is "activeadd": + argument 2 is not set: + send "&cPlease select a team: &e/tma activeadd " + stop + {tma.teams::%argument 2%} is not set: + send "&cThis team does not exist!" + send "&cPlease use &e/tma listteam&a for a list of teams" + stop + {tma.%argument 2%.spawn::*} is empty: + send "&cThere are no spawn points set for this team!" + send "&cPlease use &e/tma spawnadd %argument 2%&c to add spawn points!" + stop + set {active.tma.teams::%argument 2%} to true + send "&e%argument 2%&a added to active teams list" + + argument 1 is "activedel": + argument 2 is not set: + send "&cPlease select a team: &e/tma activedel " + stop + {active.tma.teams::%argument 2%} is not set: + send "&cTeam is not listed as active!" + send "&cPlease use &e/tma activelist &cfor a list of active teams!" + stop + send "&cDeleting &e%argument 2%&c from active teams..." + delete {active.tma.teams::%argument 2%} + {active.tma.teams::%argument 2%} is set: + send "&cAn error occurred!" + stop + send "&aDelete Successful!" + + argument 1 is "activelist": + {active.tma.teams::*} is empty: + send "&cThere are no active teams!" + send "&cUse &e/tma activeadd &c to add active teams" + stop + loop {active.tma.teams::*}: + send "%loop-index%" + + + +command /tmawave []: + permission: obam.admin + trigger: + send "&aIama message" + {active.tma.teams::*} is empty: + send "&cError" + stop + argument 1 is not set: + send "&cError!" + stop + send "&aI ama another message" + set {_num} to argument 1 parsed as number + send "&a%{_num}%" + {_num} is less than 5: + set {_loop} to {_num} * 2 + 1 + + {_num} is greater than 5: + set {_loop} to {_num} * 2 + 3 + + send "&a%{_loop}%" + set {_size} to size of {active.tma.teams::*} + send "&a%{_size}%" + set {_count} to 1 + send "%{_count}%" + while {_count} is less than or equal to {_size}: + {_count} is not set: + set {_count} to 1 + loop {active.tma.teams::*}: + + send "&a%loop-index%" + loop {_loop} times: + set {_ran} to random element of {tma.spawns::*} + set {_loc} to random element of {tma.%loop-index-1%.spawn::*} + spawn {_ran} at {_loc} + set {_cur.entity} to spawned entity + spawned entity is zombie: + + equip spawned entity with iron helmet + chance of 5%: + apply speed 2 to spawned entity for 999 days + chance of 10%: + equip spawned entity with iron helmet of unbreaking 2 + + chance of 15%: + set spawned entity's tool to iron sword + chance of 5%: + set spawned entity's tool to iron sword of sharpness 2 + chance of 5%: + set spawned entity's tool to diamond sword + + spawned entity is skeleton: + + equip spawned entity with leather helmet + + set spawned entity's tool to bow + chance of 5%: + apply speed 2 to spawned entity for 999 days + chance of 10%: + equip spawned entity with iron helmet of unbreaking 2 + chance of 15%: + set spawned entity's tool to bow of punch 1 + chance of 5%: + equip spawned entity with diamond chestplate + chance of 2%: + equip spawned entity with diamond leggings of projectile protection 1 + + spawned entity is a creeper: + + chance of 5%: + apply speed 2 to spawned entity for 999 days + + spawned entity is cave spider: + + chance of 5%: + apply speed to spawned entity for 999 days + + spawned entity is zombie pigman: + + set spawned entity's tool to gold sword + chance of 5%: + apply speed to spawned entity for 999 days + + + + + add 1 to {_count} + + + + + + + + + \ No newline at end of file diff --git a/On Server Files/Event/Zbeta/zbeta.sk b/On Server Files/Event/Zbeta/zbeta.sk new file mode 100644 index 0000000..2071c91 --- /dev/null +++ b/On Server Files/Event/Zbeta/zbeta.sk @@ -0,0 +1,1291 @@ +#basic systems needed +#@block-recognition + +options: +#@weapons + PStab: diamond sword named "&aThe Green Justice" with lore "&7Crafted from the purest||&7items to cut through||&7the souls of the purest humans" + ZStab: diamond sword named "&cThe Red Death" with lore "&7Laced with the poisonous||&7Blood of the zombies||&7to deliver a powerful strike" + Supp1: bow of infinity 1 named "&fBow of Healing" with lore "&7Powerful darts loaded||&7with medical properties to||&7to heal friends from afar" + Supp2: paper named "&fBandage" with lore "&7The most current healing technology||&7In a convenient travel||&7ready delivery system|| ||&eRight click on a player to use" + Tank: wood sword of knockback 1 named "&eHit Stick" with lore "&7Built with rubber infused wood for ||&7that extra push against attacking enemies" + +on death of a zombie: + {zbeta.game.active} is true + attacker is a player + block below attacker is white hard clay: + set {_color.team} to "white" + block below attacker is orange hard clay: + set {_color.team} to "orange" + block below attacker is magenta hard clay: + set {_color.team} to "magenta" + block below attacker is light blue hard clay: + set {_color.team} to "lblue" + block below attacker is yellow hard clay: + set {_color.team} to "yellow" + block below attacker is light green hard clay: + set {_color.team} to "lime" + block below attacker is pink hard clay: + set {_color.team} to "pink" + block below attacker is gray hard clay: + set {_color.team} to "gray" + block below attacker is light gray hard clay: + set {_color.team} to "lgray" + block below attacker is cyan hard clay: + set {_color.team} to "cyan" + block below attacker is purple hard clay: + set {_color.team} to "purple" + block below attacker is blue hard clay: + set {_color.team} to "blue" + block below attacker is brown hard clay: + set {_color.team} to "brown" + block below attacker is green hard clay: + set {_color.team} to "green" + block below attacker is red hard clay: + set {_color.team} to "red" + block below attacker is black hard clay: + set {_color.team} to "black" + + + {_color.team} is not set: + stop + + {_color.team} is not {zbeta.team.%attacker%}: + {zbeta.%{_color.team}%.score} is greater than 0: + execute console command "/zbeta deduct %{_color.team}% %attacker%" + stop + + + {zbeta.%{_color.team}%.score} is greater than or equal to 29: + execute console command "/zbeta end %{_color.team}% %attacker%" + stop + + execute console command "/zbeta score %{_color.team}% %attacker%" + +command /zbeta [] [] []: + permission: obam.admin + trigger: + + argument 1 is "addspawn": + + argument 2 is "list": + loop {zbeta.spawn::*}: + send "%loop-value%" to player + stop + add location of player to {zbeta.spawn::*} + + argument 1 is "setspawn": + + set {zbeta.spawn.%argument 2%} to location of player + + argument 1 is "start": + + set {zbeta.game.active} to true + broadcast "&aThe game of &e'ZBETA'&a has begun!" + clear {zbeta.white.score} + clear {zbeta.orange.score} + clear {zbeta.magenta.score} + clear {zbeta.lblue.score} + clear {zbeta.yellow.score} + clear {zbeta.lime.score} + clear {zbeta.pink.score} + clear {zbeta.gray.score} + clear {zbeta.lgray.score} + clear {zbeta.cyan.score} + clear {zbeta.purple.score} + clear {zbeta.blue.score} + clear {zbeta.brown.score} + clear {zbeta.green.score} + clear {zbeta.red.score} + clear {zbeta.black.score} + clear {zbeta.game.level} + clear {zbeta.player.list::*} + loop all players in world "DB": + loop-player's y coordinate is less than 37: + apply night vision to player for 999 days + {_loop.count} is not set: + set {_loop.count} to 0 + add 1 to {_loop.count} + {_loop.count} is not divisible by 2: + teleport loop-player to {zbeta.spawn.red} + clear loop-player's inventory + set {zbeta.team.%loop-player%} to "red" + set helmet of loop-player to red wool + {_loop.count} is divisible by 2: + teleport loop-player to {zbeta.spawn.yellow} + clear loop-player's inventory + set {zbeta.team.%loop-player%} to "yellow" + set helmet of loop-player to yellow wool + + argument 1 is "status": + argument 2 is not set: + send "%{zbeta.team.%player%}%" + send "%{zbeta.lo.%player%}%" + stop + argument 2 is set: + send "%{zbeta.team.%argument 2%}%" + send "%{zbeta.lo.%argument 2%}%" + stop + + + + + argument 1 is "lobbyset": + + set {zbeta.lobby} to location of player + + argument 1 is "list": + + loop {zbeta.player.list::*}: + send "%loop-value%" to player + + + + argument 1 is "score": + + {zbeta.%argument 2%.score} is not set: + set {zbeta.%argument 2%.score} to 0 + + add 1 to {zbeta.%argument 2%.score} + {zbeta.%argument 2%.score} is 1: + set block at location of {score.%argument 2%.1} to air + set block at location of {score.%argument 2%.2} to air + set block at location of {score.%argument 2%.3} to air + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to air + set block at location of {score.%argument 2%.6} to air + set block at location of {score.%argument 2%.7} to air + set block at location of {score.%argument 2%.8} to air + set block at location of {score.%argument 2%.9} to air + set block at location of {score.%argument 2%.10} to air + set block at location of {score.%argument 2%.11} to air + set block at location of {score.%argument 2%.12} to air + set block at location of {score.%argument 2%.13} to air + set block at location of {score.%argument 2%.14} to air + set block at location of {score.%argument 2%.15} to air + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to air + set block at location of {score.%argument 2%.18} to redstone block + set block at location of {score.%argument 2%.19} to air + set block at location of {score.%argument 2%.20} to air + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to air + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to air + set block at location of {score.%argument 2%.25} to air + set block at location of {score.%argument 2%.26} to redstone block + + {zbeta.%argument 2%.score} is 2: + set block at location of {score.%argument 2%.1} to air + set block at location of {score.%argument 2%.2} to air + set block at location of {score.%argument 2%.3} to air + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to air + set block at location of {score.%argument 2%.6} to air + set block at location of {score.%argument 2%.7} to air + set block at location of {score.%argument 2%.8} to air + set block at location of {score.%argument 2%.9} to air + set block at location of {score.%argument 2%.10} to air + set block at location of {score.%argument 2%.11} to air + set block at location of {score.%argument 2%.12} to air + set block at location of {score.%argument 2%.13} to air + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to redstone block + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to air + set block at location of {score.%argument 2%.18} to redstone block + set block at location of {score.%argument 2%.19} to redstone block + set block at location of {score.%argument 2%.20} to redstone block + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to redstone block + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to redstone block + set block at location of {score.%argument 2%.25} to redstone block + set block at location of {score.%argument 2%.26} to redstone block + + {zbeta.%argument 2%.score} is 3: + set block at location of {score.%argument 2%.1} to air + set block at location of {score.%argument 2%.2} to air + set block at location of {score.%argument 2%.3} to air + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to air + set block at location of {score.%argument 2%.6} to air + set block at location of {score.%argument 2%.7} to air + set block at location of {score.%argument 2%.8} to air + set block at location of {score.%argument 2%.9} to air + set block at location of {score.%argument 2%.10} to air + set block at location of {score.%argument 2%.11} to air + set block at location of {score.%argument 2%.12} to air + set block at location of {score.%argument 2%.13} to air + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to redstone block + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to air + set block at location of {score.%argument 2%.18} to redstone block + set block at location of {score.%argument 2%.19} to air + set block at location of {score.%argument 2%.20} to redstone block + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to air + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to redstone block + set block at location of {score.%argument 2%.25} to redstone block + set block at location of {score.%argument 2%.26} to redstone block + + {zbeta.%argument 2%.score} is 4: + set block at location of {score.%argument 2%.1} to air + set block at location of {score.%argument 2%.2} to air + set block at location of {score.%argument 2%.3} to air + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to air + set block at location of {score.%argument 2%.6} to air + set block at location of {score.%argument 2%.7} to air + set block at location of {score.%argument 2%.8} to air + set block at location of {score.%argument 2%.9} to air + set block at location of {score.%argument 2%.10} to air + set block at location of {score.%argument 2%.11} to air + set block at location of {score.%argument 2%.12} to air + set block at location of {score.%argument 2%.13} to air + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to air + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to redstone block + set block at location of {score.%argument 2%.18} to redstone block + set block at location of {score.%argument 2%.19} to redstone block + set block at location of {score.%argument 2%.20} to redstone block + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to air + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to air + set block at location of {score.%argument 2%.25} to air + set block at location of {score.%argument 2%.26} to redstone block + + {zbeta.%argument 2%.score} is 5: + set block at location of {score.%argument 2%.1} to air + set block at location of {score.%argument 2%.2} to air + set block at location of {score.%argument 2%.3} to air + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to air + set block at location of {score.%argument 2%.6} to air + set block at location of {score.%argument 2%.7} to air + set block at location of {score.%argument 2%.8} to air + set block at location of {score.%argument 2%.9} to air + set block at location of {score.%argument 2%.10} to air + set block at location of {score.%argument 2%.11} to air + set block at location of {score.%argument 2%.12} to air + set block at location of {score.%argument 2%.13} to air + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to redstone block + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to redstone block + set block at location of {score.%argument 2%.18} to air + set block at location of {score.%argument 2%.19} to redstone block + set block at location of {score.%argument 2%.20} to redstone block + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to air + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to redstone block + set block at location of {score.%argument 2%.25} to redstone block + set block at location of {score.%argument 2%.26} to redstone block + + + {zbeta.%argument 2%.score} is 6: + set block at location of {score.%argument 2%.1} to air + set block at location of {score.%argument 2%.2} to air + set block at location of {score.%argument 2%.3} to air + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to air + set block at location of {score.%argument 2%.6} to air + set block at location of {score.%argument 2%.7} to air + set block at location of {score.%argument 2%.8} to air + set block at location of {score.%argument 2%.9} to air + set block at location of {score.%argument 2%.10} to air + set block at location of {score.%argument 2%.11} to air + set block at location of {score.%argument 2%.12} to air + set block at location of {score.%argument 2%.13} to air + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to redstone block + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to redstone block + set block at location of {score.%argument 2%.18} to air + set block at location of {score.%argument 2%.19} to redstone block + set block at location of {score.%argument 2%.20} to redstone block + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to redstone block + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to redstone block + set block at location of {score.%argument 2%.25} to redstone block + set block at location of {score.%argument 2%.26} to redstone block + + {zbeta.%argument 2%.score} is 7: + set block at location of {score.%argument 2%.1} to air + set block at location of {score.%argument 2%.2} to air + set block at location of {score.%argument 2%.3} to air + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to air + set block at location of {score.%argument 2%.6} to air + set block at location of {score.%argument 2%.7} to air + set block at location of {score.%argument 2%.8} to air + set block at location of {score.%argument 2%.9} to air + set block at location of {score.%argument 2%.10} to air + set block at location of {score.%argument 2%.11} to air + set block at location of {score.%argument 2%.12} to air + set block at location of {score.%argument 2%.13} to air + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to redstone block + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to air + set block at location of {score.%argument 2%.18} to redstone block + set block at location of {score.%argument 2%.19} to air + set block at location of {score.%argument 2%.20} to air + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to air + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to air + set block at location of {score.%argument 2%.25} to air + set block at location of {score.%argument 2%.26} to redstone block + + {zbeta.%argument 2%.score} is 8: + set block at location of {score.%argument 2%.1} to air + set block at location of {score.%argument 2%.2} to air + set block at location of {score.%argument 2%.3} to air + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to air + set block at location of {score.%argument 2%.6} to air + set block at location of {score.%argument 2%.7} to air + set block at location of {score.%argument 2%.8} to air + set block at location of {score.%argument 2%.9} to air + set block at location of {score.%argument 2%.10} to air + set block at location of {score.%argument 2%.11} to air + set block at location of {score.%argument 2%.12} to air + set block at location of {score.%argument 2%.13} to air + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to redstone block + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to redstone block + set block at location of {score.%argument 2%.18} to redstone block + set block at location of {score.%argument 2%.19} to redstone block + set block at location of {score.%argument 2%.20} to redstone block + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to redstone block + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to redstone block + set block at location of {score.%argument 2%.25} to redstone block + set block at location of {score.%argument 2%.26} to redstone block + + + {zbeta.%argument 2%.score} is 9: + set block at location of {score.%argument 2%.1} to air + set block at location of {score.%argument 2%.2} to air + set block at location of {score.%argument 2%.3} to air + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to air + set block at location of {score.%argument 2%.6} to air + set block at location of {score.%argument 2%.7} to air + set block at location of {score.%argument 2%.8} to air + set block at location of {score.%argument 2%.9} to air + set block at location of {score.%argument 2%.10} to air + set block at location of {score.%argument 2%.11} to air + set block at location of {score.%argument 2%.12} to air + set block at location of {score.%argument 2%.13} to air + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to redstone block + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to redstone block + set block at location of {score.%argument 2%.18} to redstone block + set block at location of {score.%argument 2%.19} to redstone block + set block at location of {score.%argument 2%.20} to redstone block + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to air + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to air + set block at location of {score.%argument 2%.25} to air + set block at location of {score.%argument 2%.26} to redstone block + + {zbeta.%argument 2%.score} is 10: + set block at location of {score.%argument 2%.1} to air + set block at location of {score.%argument 2%.2} to air + set block at location of {score.%argument 2%.3} to redstone block + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to redstone block + set block at location of {score.%argument 2%.6} to air + set block at location of {score.%argument 2%.7} to air + set block at location of {score.%argument 2%.8} to redstone block + set block at location of {score.%argument 2%.9} to air + set block at location of {score.%argument 2%.10} to redstone block + set block at location of {score.%argument 2%.11} to air + set block at location of {score.%argument 2%.12} to air + set block at location of {score.%argument 2%.13} to redstone block + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to redstone block + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to redstone block + set block at location of {score.%argument 2%.18} to redstone block + set block at location of {score.%argument 2%.19} to redstone block + set block at location of {score.%argument 2%.20} to air + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to redstone block + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to redstone block + set block at location of {score.%argument 2%.25} to redstone block + set block at location of {score.%argument 2%.26} to redstone block + + + {zbeta.%argument 2%.score} is 11: + set block at location of {score.%argument 2%.1} to air + set block at location of {score.%argument 2%.2} to air + set block at location of {score.%argument 2%.3} to redstone block + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to redstone block + set block at location of {score.%argument 2%.6} to air + set block at location of {score.%argument 2%.7} to air + set block at location of {score.%argument 2%.8} to redstone block + set block at location of {score.%argument 2%.9} to air + set block at location of {score.%argument 2%.10} to redstone block + set block at location of {score.%argument 2%.11} to air + set block at location of {score.%argument 2%.12} to air + set block at location of {score.%argument 2%.13} to redstone block + set block at location of {score.%argument 2%.14} to air + set block at location of {score.%argument 2%.15} to air + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to air + set block at location of {score.%argument 2%.18} to redstone block + set block at location of {score.%argument 2%.19} to air + set block at location of {score.%argument 2%.20} to air + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to air + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to air + set block at location of {score.%argument 2%.25} to air + set block at location of {score.%argument 2%.26} to redstone block + + + {zbeta.%argument 2%.score} is 12: + set block at location of {score.%argument 2%.1} to air + set block at location of {score.%argument 2%.2} to air + set block at location of {score.%argument 2%.3} to redstone block + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to redstone block + set block at location of {score.%argument 2%.6} to air + set block at location of {score.%argument 2%.7} to air + set block at location of {score.%argument 2%.8} to redstone block + set block at location of {score.%argument 2%.9} to air + set block at location of {score.%argument 2%.10} to redstone block + set block at location of {score.%argument 2%.11} to air + set block at location of {score.%argument 2%.12} to air + set block at location of {score.%argument 2%.13} to redstone block + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to redstone block + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to air + set block at location of {score.%argument 2%.18} to redstone block + set block at location of {score.%argument 2%.19} to redstone block + set block at location of {score.%argument 2%.20} to redstone block + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to redstone block + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to redstone block + set block at location of {score.%argument 2%.25} to redstone block + set block at location of {score.%argument 2%.26} to redstone block + + + {zbeta.%argument 2%.score} is 13: + set block at location of {score.%argument 2%.1} to air + set block at location of {score.%argument 2%.2} to air + set block at location of {score.%argument 2%.3} to redstone block + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to redstone block + set block at location of {score.%argument 2%.6} to air + set block at location of {score.%argument 2%.7} to air + set block at location of {score.%argument 2%.8} to redstone block + set block at location of {score.%argument 2%.9} to air + set block at location of {score.%argument 2%.10} to redstone block + set block at location of {score.%argument 2%.11} to air + set block at location of {score.%argument 2%.12} to air + set block at location of {score.%argument 2%.13} to redstone block + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to redstone block + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to air + set block at location of {score.%argument 2%.18} to redstone block + set block at location of {score.%argument 2%.19} to air + set block at location of {score.%argument 2%.20} to redstone block + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to air + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to redstone block + set block at location of {score.%argument 2%.25} to redstone block + set block at location of {score.%argument 2%.26} to redstone block + + {zbeta.%argument 2%.score} is 14: + set block at location of {score.%argument 2%.1} to air + set block at location of {score.%argument 2%.2} to air + set block at location of {score.%argument 2%.3} to redstone block + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to redstone block + set block at location of {score.%argument 2%.6} to air + set block at location of {score.%argument 2%.7} to air + set block at location of {score.%argument 2%.8} to redstone block + set block at location of {score.%argument 2%.9} to air + set block at location of {score.%argument 2%.10} to redstone block + set block at location of {score.%argument 2%.11} to air + set block at location of {score.%argument 2%.12} to air + set block at location of {score.%argument 2%.13} to redstone block + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to air + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to redstone block + set block at location of {score.%argument 2%.18} to redstone block + set block at location of {score.%argument 2%.19} to redstone block + set block at location of {score.%argument 2%.20} to redstone block + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to air + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to air + set block at location of {score.%argument 2%.25} to air + set block at location of {score.%argument 2%.26} to redstone block + + + + + {zbeta.%argument 2%.score} is 15: + set block at location of {score.%argument 2%.1} to air + set block at location of {score.%argument 2%.2} to air + set block at location of {score.%argument 2%.3} to redstone block + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to redstone block + set block at location of {score.%argument 2%.6} to air + set block at location of {score.%argument 2%.7} to air + set block at location of {score.%argument 2%.8} to redstone block + set block at location of {score.%argument 2%.9} to air + set block at location of {score.%argument 2%.10} to redstone block + set block at location of {score.%argument 2%.11} to air + set block at location of {score.%argument 2%.12} to air + set block at location of {score.%argument 2%.13} to redstone block + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to redstone block + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to redstone block + set block at location of {score.%argument 2%.18} to air + set block at location of {score.%argument 2%.19} to redstone block + set block at location of {score.%argument 2%.20} to redstone block + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to air + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to redstone block + set block at location of {score.%argument 2%.25} to redstone block + set block at location of {score.%argument 2%.26} to redstone block + + + {zbeta.%argument 2%.score} is 16: + set block at location of {score.%argument 2%.1} to air + set block at location of {score.%argument 2%.2} to air + set block at location of {score.%argument 2%.3} to redstone block + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to redstone block + set block at location of {score.%argument 2%.6} to air + set block at location of {score.%argument 2%.7} to air + set block at location of {score.%argument 2%.8} to redstone block + set block at location of {score.%argument 2%.9} to air + set block at location of {score.%argument 2%.10} to redstone block + set block at location of {score.%argument 2%.11} to air + set block at location of {score.%argument 2%.12} to air + set block at location of {score.%argument 2%.13} to redstone block + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to redstone block + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to redstone block + set block at location of {score.%argument 2%.18} to air + set block at location of {score.%argument 2%.19} to redstone block + set block at location of {score.%argument 2%.20} to redstone block + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to redstone block + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to redstone block + set block at location of {score.%argument 2%.25} to redstone block + set block at location of {score.%argument 2%.26} to redstone block + + + {zbeta.%argument 2%.score} is 17: + set block at location of {score.%argument 2%.1} to air + set block at location of {score.%argument 2%.2} to air + set block at location of {score.%argument 2%.3} to redstone block + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to redstone block + set block at location of {score.%argument 2%.6} to air + set block at location of {score.%argument 2%.7} to air + set block at location of {score.%argument 2%.8} to redstone block + set block at location of {score.%argument 2%.9} to air + set block at location of {score.%argument 2%.10} to redstone block + set block at location of {score.%argument 2%.11} to air + set block at location of {score.%argument 2%.12} to air + set block at location of {score.%argument 2%.13} to redstone block + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to redstone block + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to air + set block at location of {score.%argument 2%.18} to redstone block + set block at location of {score.%argument 2%.19} to air + set block at location of {score.%argument 2%.20} to air + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to air + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to air + set block at location of {score.%argument 2%.25} to air + set block at location of {score.%argument 2%.26} to redstone block + + {zbeta.%argument 2%.score} is 18: + set block at location of {score.%argument 2%.1} to air + set block at location of {score.%argument 2%.2} to air + set block at location of {score.%argument 2%.3} to redstone block + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to redstone block + set block at location of {score.%argument 2%.6} to air + set block at location of {score.%argument 2%.7} to air + set block at location of {score.%argument 2%.8} to redstone block + set block at location of {score.%argument 2%.9} to air + set block at location of {score.%argument 2%.10} to redstone block + set block at location of {score.%argument 2%.11} to air + set block at location of {score.%argument 2%.12} to air + set block at location of {score.%argument 2%.13} to redstone block + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to redstone block + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to redstone block + set block at location of {score.%argument 2%.18} to redstone block + set block at location of {score.%argument 2%.19} to redstone block + set block at location of {score.%argument 2%.20} to redstone block + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to redstone block + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to redstone block + set block at location of {score.%argument 2%.25} to redstone block + set block at location of {score.%argument 2%.26} to redstone block + + {zbeta.%argument 2%.score} is 19: + set block at location of {score.%argument 2%.1} to air + set block at location of {score.%argument 2%.2} to air + set block at location of {score.%argument 2%.3} to redstone block + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to redstone block + set block at location of {score.%argument 2%.6} to air + set block at location of {score.%argument 2%.7} to air + set block at location of {score.%argument 2%.8} to redstone block + set block at location of {score.%argument 2%.9} to air + set block at location of {score.%argument 2%.10} to redstone block + set block at location of {score.%argument 2%.11} to air + set block at location of {score.%argument 2%.12} to air + set block at location of {score.%argument 2%.13} to redstone block + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to redstone block + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to redstone block + set block at location of {score.%argument 2%.18} to redstone block + set block at location of {score.%argument 2%.19} to redstone block + set block at location of {score.%argument 2%.20} to redstone block + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to air + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to air + set block at location of {score.%argument 2%.25} to air + set block at location of {score.%argument 2%.26} to redstone block + + + {zbeta.%argument 2%.score} is 20: + set block at location of {score.%argument 2%.1} to redstone block + set block at location of {score.%argument 2%.2} to redstone block + set block at location of {score.%argument 2%.3} to redstone block + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to redstone block + set block at location of {score.%argument 2%.6} to redstone block + set block at location of {score.%argument 2%.7} to redstone block + set block at location of {score.%argument 2%.8} to redstone block + set block at location of {score.%argument 2%.9} to redstone block + set block at location of {score.%argument 2%.10} to air + set block at location of {score.%argument 2%.11} to redstone block + set block at location of {score.%argument 2%.12} to redstone block + set block at location of {score.%argument 2%.13} to redstone block + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to redstone block + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to redstone block + set block at location of {score.%argument 2%.18} to redstone block + set block at location of {score.%argument 2%.19} to redstone block + set block at location of {score.%argument 2%.20} to air + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to redstone block + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to redstone block + set block at location of {score.%argument 2%.25} to redstone block + set block at location of {score.%argument 2%.26} to redstone block + + + {zbeta.%argument 2%.score} is 21: + set block at location of {score.%argument 2%.1} to redstone block + set block at location of {score.%argument 2%.2} to redstone block + set block at location of {score.%argument 2%.3} to redstone block + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to redstone block + set block at location of {score.%argument 2%.6} to redstone block + set block at location of {score.%argument 2%.7} to redstone block + set block at location of {score.%argument 2%.8} to redstone block + set block at location of {score.%argument 2%.9} to redstone block + set block at location of {score.%argument 2%.10} to air + set block at location of {score.%argument 2%.11} to redstone block + set block at location of {score.%argument 2%.12} to redstone block + set block at location of {score.%argument 2%.13} to redstone block + set block at location of {score.%argument 2%.14} to air + set block at location of {score.%argument 2%.15} to air + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to air + set block at location of {score.%argument 2%.18} to redstone block + set block at location of {score.%argument 2%.19} to air + set block at location of {score.%argument 2%.20} to air + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to air + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to air + set block at location of {score.%argument 2%.25} to air + set block at location of {score.%argument 2%.26} to redstone block + + + {zbeta.%argument 2%.score} is 22: + set block at location of {score.%argument 2%.1} to redstone block + set block at location of {score.%argument 2%.2} to redstone block + set block at location of {score.%argument 2%.3} to redstone block + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to redstone block + set block at location of {score.%argument 2%.6} to redstone block + set block at location of {score.%argument 2%.7} to redstone block + set block at location of {score.%argument 2%.8} to redstone block + set block at location of {score.%argument 2%.9} to redstone block + set block at location of {score.%argument 2%.10} to air + set block at location of {score.%argument 2%.11} to redstone block + set block at location of {score.%argument 2%.12} to redstone block + set block at location of {score.%argument 2%.13} to redstone block + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to redstone block + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to air + set block at location of {score.%argument 2%.18} to redstone block + set block at location of {score.%argument 2%.19} to redstone block + set block at location of {score.%argument 2%.20} to redstone block + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to redstone block + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to redstone block + set block at location of {score.%argument 2%.25} to redstone block + set block at location of {score.%argument 2%.26} to redstone block + + + {zbeta.%argument 2%.score} is 23: + set block at location of {score.%argument 2%.1} to redstone block + set block at location of {score.%argument 2%.2} to redstone block + set block at location of {score.%argument 2%.3} to redstone block + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to redstone block + set block at location of {score.%argument 2%.6} to redstone block + set block at location of {score.%argument 2%.7} to redstone block + set block at location of {score.%argument 2%.8} to redstone block + set block at location of {score.%argument 2%.9} to redstone block + set block at location of {score.%argument 2%.10} to air + set block at location of {score.%argument 2%.11} to redstone block + set block at location of {score.%argument 2%.12} to redstone block + set block at location of {score.%argument 2%.13} to redstone block + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to redstone block + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to air + set block at location of {score.%argument 2%.18} to redstone block + set block at location of {score.%argument 2%.19} to air + set block at location of {score.%argument 2%.20} to redstone block + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to air + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to redstone block + set block at location of {score.%argument 2%.25} to redstone block + set block at location of {score.%argument 2%.26} to redstone block + + {zbeta.%argument 2%.score} is 24: + set block at location of {score.%argument 2%.1} to redstone block + set block at location of {score.%argument 2%.2} to redstone block + set block at location of {score.%argument 2%.3} to redstone block + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to redstone block + set block at location of {score.%argument 2%.6} to redstone block + set block at location of {score.%argument 2%.7} to redstone block + set block at location of {score.%argument 2%.8} to redstone block + set block at location of {score.%argument 2%.9} to redstone block + set block at location of {score.%argument 2%.10} to air + set block at location of {score.%argument 2%.11} to redstone block + set block at location of {score.%argument 2%.12} to redstone block + set block at location of {score.%argument 2%.13} to redstone block + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to air + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to redstone block + set block at location of {score.%argument 2%.18} to redstone block + set block at location of {score.%argument 2%.19} to redstone block + set block at location of {score.%argument 2%.20} to redstone block + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to air + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to air + set block at location of {score.%argument 2%.25} to air + set block at location of {score.%argument 2%.26} to redstone block + + + + + {zbeta.%argument 2%.score} is 25: + set block at location of {score.%argument 2%.1} to redstone block + set block at location of {score.%argument 2%.2} to redstone block + set block at location of {score.%argument 2%.3} to redstone block + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to redstone block + set block at location of {score.%argument 2%.6} to redstone block + set block at location of {score.%argument 2%.7} to redstone block + set block at location of {score.%argument 2%.8} to redstone block + set block at location of {score.%argument 2%.9} to redstone block + set block at location of {score.%argument 2%.10} to air + set block at location of {score.%argument 2%.11} to redstone block + set block at location of {score.%argument 2%.12} to redstone block + set block at location of {score.%argument 2%.13} to redstone block + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to redstone block + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to redstone block + set block at location of {score.%argument 2%.18} to air + set block at location of {score.%argument 2%.19} to redstone block + set block at location of {score.%argument 2%.20} to redstone block + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to air + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to redstone block + set block at location of {score.%argument 2%.25} to redstone block + set block at location of {score.%argument 2%.26} to redstone block + + + {zbeta.%argument 2%.score} is 26: + set block at location of {score.%argument 2%.1} to air + set block at location of {score.%argument 2%.2} to air + set block at location of {score.%argument 2%.3} to redstone block + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to redstone block + set block at location of {score.%argument 2%.6} to air + set block at location of {score.%argument 2%.7} to air + set block at location of {score.%argument 2%.8} to redstone block + set block at location of {score.%argument 2%.9} to air + set block at location of {score.%argument 2%.10} to redstone block + set block at location of {score.%argument 2%.11} to air + set block at location of {score.%argument 2%.12} to air + set block at location of {score.%argument 2%.13} to redstone block + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to redstone block + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to redstone block + set block at location of {score.%argument 2%.18} to air + set block at location of {score.%argument 2%.19} to redstone block + set block at location of {score.%argument 2%.20} to redstone block + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to redstone block + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to redstone block + set block at location of {score.%argument 2%.25} to redstone block + set block at location of {score.%argument 2%.26} to redstone block + + + {zbeta.%argument 2%.score} is 27: + set block at location of {score.%argument 2%.1} to redstone block + set block at location of {score.%argument 2%.2} to redstone block + set block at location of {score.%argument 2%.3} to redstone block + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to redstone block + set block at location of {score.%argument 2%.6} to redstone block + set block at location of {score.%argument 2%.7} to redstone block + set block at location of {score.%argument 2%.8} to redstone block + set block at location of {score.%argument 2%.9} to redstone block + set block at location of {score.%argument 2%.10} to air + set block at location of {score.%argument 2%.11} to redstone block + set block at location of {score.%argument 2%.12} to redstone block + set block at location of {score.%argument 2%.13} to redstone block + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to redstone block + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to air + set block at location of {score.%argument 2%.18} to redstone block + set block at location of {score.%argument 2%.19} to air + set block at location of {score.%argument 2%.20} to air + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to air + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to air + set block at location of {score.%argument 2%.25} to air + set block at location of {score.%argument 2%.26} to redstone block + + {zbeta.%argument 2%.score} is 28: + set block at location of {score.%argument 2%.1} to redstone block + set block at location of {score.%argument 2%.2} to redstone block + set block at location of {score.%argument 2%.3} to redstone block + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to redstone block + set block at location of {score.%argument 2%.6} to redstone block + set block at location of {score.%argument 2%.7} to redstone block + set block at location of {score.%argument 2%.8} to redstone block + set block at location of {score.%argument 2%.9} to redstone block + set block at location of {score.%argument 2%.10} to air + set block at location of {score.%argument 2%.11} to redstone block + set block at location of {score.%argument 2%.12} to redstone block + set block at location of {score.%argument 2%.13} to redstone block + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to redstone block + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to redstone block + set block at location of {score.%argument 2%.18} to redstone block + set block at location of {score.%argument 2%.19} to redstone block + set block at location of {score.%argument 2%.20} to redstone block + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to redstone block + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to redstone block + set block at location of {score.%argument 2%.25} to redstone block + set block at location of {score.%argument 2%.26} to redstone block + + {zbeta.%argument 2%.score} is 29: + set block at location of {score.%argument 2%.1} to redstone block + set block at location of {score.%argument 2%.2} to redstone block + set block at location of {score.%argument 2%.3} to redstone block + set block at location of {score.%argument 2%.4} to air + set block at location of {score.%argument 2%.5} to redstone block + set block at location of {score.%argument 2%.6} to redstone block + set block at location of {score.%argument 2%.7} to redstone block + set block at location of {score.%argument 2%.8} to redstone block + set block at location of {score.%argument 2%.9} to redstone block + set block at location of {score.%argument 2%.10} to air + set block at location of {score.%argument 2%.11} to redstone block + set block at location of {score.%argument 2%.12} to redstone block + set block at location of {score.%argument 2%.13} to redstone block + set block at location of {score.%argument 2%.14} to redstone block + set block at location of {score.%argument 2%.15} to redstone block + set block at location of {score.%argument 2%.16} to redstone block + set block at location of {score.%argument 2%.17} to redstone block + set block at location of {score.%argument 2%.18} to redstone block + set block at location of {score.%argument 2%.19} to redstone block + set block at location of {score.%argument 2%.20} to redstone block + set block at location of {score.%argument 2%.21} to redstone block + set block at location of {score.%argument 2%.22} to air + set block at location of {score.%argument 2%.23} to redstone block + set block at location of {score.%argument 2%.24} to air + set block at location of {score.%argument 2%.25} to air + set block at location of {score.%argument 2%.26} to redstone block + broadcast "&e%argument 2% &ateam now has &e%{zbeta.%argument 2%.score}% &apoints!" + {zbeta.%argument 2%.score} is greater than or equal to 30 + execute console command "/zbeta end %argument 2%" + + + + + argument 1 is "deduct": + + {zbeta.%argument 2%.score} is not set: + stop + + subtract 1 from {zbeta.%argument 2%.score} + broadcast "&e%argument 2% &aloses a point to &e%argument 3%" + + + + argument 1 is "end": + + set {zbeta.game.active} to false + broadcast "&aThe game is now over! &e%argument 2% &ateam wins!" + loop all zombies: + delete loop-entity + + + + + + +every 10 seconds: + loop all zombies: + {_loop.count} is not set: + set {_loop.count} to 0 + add 1 to {_loop.count} + {_loop.count} is more than 75: + stop + {zbeta.game.active} is true: + {zbeta.game.level} is not set: + set {zbeta.game.level} to 0 + add 1 to {zbeta.game.level} + {zbeta.game.level} is less than 10: + set {_ran} to random integer between 1 and size of {zbeta.spawn::*} + spawn 5 zombies at {zbeta.spawn::%{_ran}%} + {zbeta.game.level} is more than 10: + set {_number.speed} to {zbeta.game.level} / 2 + set {_number.speed} to random integer between 1 and {_number.speed} + set {_number.armor} to {zbeta.game.level} / 3 + set {_number.armor} to random integer between 1 and {_number.armor} + loop {zbeta.game.level} times: + set {_ran} to random integer between 1 and size of {zbeta.spawn::*} + spawn 2 zombies at {zbeta.spawn::%{_ran}%} + loop {_number.speed} times: + set {_ran} to random integer between 1 and size of {zbeta.spawn::*} + spawn 1 zombie at {zbeta.spawn::%{_ran}%} + apply speed 1 to spawned zombie + loop {_number.armor} times: + set {_ran} to random integer between 1 and size of {zbeta.spawn::*} + spawn 1 zombie at {zbeta.spawn::%{_ran}%} + set helmet of spawned zombie to iron helmet + set chestplate of spawned zombie to iron chestplate + set leggings of spawned zombie to iron leggings + set boots of spawned zombie to iron boots + + +command /lobby: + trigger: + {zbeta.game.active} is true: + send "&cYou can not do that during a game!" to player + stop + teleport player to {zbeta.lobby} + + +command /score : + permission: obam.admin + trigger: + set {score.%argument 1%.%argument 2%} to location of target block + send "&a%location of target block% now added to spot %argument 2% for %argument 1% team." + +on xp spawn: + cancel event + +on respawn: + {zbeta.game.active} is true + give player diamond sword + {zbeta.team.%player%} is "red": + set helmet of player to red wool + {zbeta.team.%player%} is "yellow": + set helmet of player to yellow wool + +every 1 second: + loop all players: + set loop-player's hunger level to 10 + +on death of a zombie: + clear drops + chance of 2%: + drop apple at event-location + +on pickup of apple: + cancel event + delete event-entity + send "&aYou have been healed by the apple!" to player + heal the player by 4 + + +on right click on a sign: + line 1 of event-block is "[LOBBY]": + teleport event-player to {zbeta.lobby} + line 1 of event-block is "[LOADOUT]": + line 3 of event-block is not {zbeta.team.%player%}: + send "&cYou can not use another team's loadouts!" to player + stop + line 2 of event-block is "Z-STABBER": + clear player's inventory + {zbeta.team.%player%} is "red": + set player's helmet to red wool + {zbeta.team.%player%} is "yellow": + set player's helmet to yellow wool + give player {@ZStab} + equip player with leather chestplate named "&cStabber Gear" + equip player with leather leggings named "&cStabber Gear" + equip player with leather boots named "&CStabber Gear" + dye player's chestplate red + dye player's leggings red + dye player's boots red + set {zbeta.lo.%player%} to "Z-STABBER" + + line 2 of event-block is "P-STABBER": + clear player's inventory + {zbeta.team.%player%} is "red": + set player's helmet to red wool + {zbeta.team.%player%} is "yellow": + set player's helmet to yellow wool + give player {@PStab} + equip player with leather chestplate named "&aStabber Gear" + equip player with leather leggings named "&aStabber Gear" + equip player with leather boots named "&aStabber Gear" + dye player's chestplate green + dye player's leggings green + dye player's boots green + set {zbeta.lo.%player%} to "P-STABBER" + + line 2 of event-block is "SUPPORT": + clear player's inventory + {zbeta.team.%player%} is "red": + set player's helmet to red wool + {zbeta.team.%player%} is "yellow": + set player's helmet to yellow wool + give player {@Supp1} + give player arrow + give player {@Supp2} + equip player with leather chestplate named "&fDoctor's Coat" + equip player with leather leggings named "&fDoctor's Coat" + equip player with leather boots named "&fDoctor's Coat" + dye player's chestplate white + dye player's leggings white + dye player's boots white + set {zbeta.lo.%player%} to "SUPPORT" + + line 2 of event-block is "TANK": + clear player's inventory + {zbeta.team.%player%} is "red": + set player's helmet to red wool + {zbeta.team.%player%} is "yellow": + set player's helmet to yellow wool + give player {@Tank} + equip player with leather chestplate named "&eTanks Armor" + equip player with leather leggings named "&eTanks Armor" + equip player with leather boots named "&eTanks Armor" + dye player's chestplate yellow + dye player's leggings yellow + dye player's boots yellow + set {zbeta.lo.%player%} to "TANK" + + line 2 of event-block is "BAIT": + clear player's inventory + {zbeta.team.%player%} is "red": + set player's helmet to red wool + {zbeta.team.%player%} is "yellow": + set player's helmet to yellow wool + equip player with leather chestplate named "&bBait's Garments" + equip player with leather leggings named "&bBait's Garments" + equip player with leather boots named "&bBait's Garments" + apply speed 2 to the player for 999 days + set {zbeta.lo.%player%} to "BAIT" + +every 1 seconds: + loop all players: + loop-player's health is less than 7: + set {_location} to location of block above loop-player + play 1 of effect "heart" with data 1 at {_location} + +on damage of a player: + + attacker is player: + {zbeta.team.%attacker%} is {zbeta.team.%victim%}: + {zbeta.lo.%attacker%} is "SUPPORT": + attacker's tool is {@Supp2}: + add 7 to victim's health + send "&aYou have been healed by %attacker%" to victim + remove {@Supp2} from attacker + stop + attacker's tool is not air: + attacker's tool is not arrow + victim has regeneration: + send "&cYou can not stack healing!" to attacker + cancel event + stop + send "You have healed %victim%!" to attacker + send "You have been healed by %attacker%" to victim + apply regeneration 2 to victim for 6 seconds + cancel event + stop + cancel event + send "&cYou can not hurt your own team mates!" to attacker + stop + set damage to 0 + {zbeta.lo.%attacker%} is "Z-STABBER": + attacker's tool is {@ZStab}: + set {_dmg} to a random number between 0.09 to 0.12 + attacker's tool is not {@ZStab}: + set {_dmg} to a random number between 0.08 to 0.1 + {zbeta.lo.%attacker%} is "P-STABBER": + attacker's tool is {@PStab}: + + set {_dmg} to a random number between 0.3 and 0.8 + attacker's tool is not {@PStab}: + set {_dmg} to a random number between 0.1 and 0.4 + {zbeta.lo.%attacker%} is "SUPPORT": + set {_dmg} to 0.050 + + {zbeta.lo.%attacker%} is "TANK": + set {_dmg} to 0.050 + + {zbeta.lo.%attacker%} is "BAIT": + set {_dmg} to 0.025 + + {zbeta.lo.%victim%} is "TANK": + set {_ran} to random number between 1 and 3 + set {_dmg1} to {_dmg} / {_ran} + set {_dmg} to {_dmg} - {_dmg1} + + set {_p.health} to victim's health + {_dmg} is greater than or equal to {_p.health}: + clear victim's inventory + send "&e%victim% &chas reached an end to the hand of &e%attacker%" to all players in attacker's world + teleport victim to {zbeta.spawn.%{zbeta.team.%victim%}%} + set victim's health to 10 + victim has speed: + remove speed from victim + stop + + + set {_n.health} to {_p.health} - {_dmg} + set health of victim to {_n.health} + + attacker is a zombie: + set damage to 0 + set {_dmg} to a random number between 0.05 and 0.1 + + set {_p.health} to victim's health + {_dmg} is greater than or equal to {_p.health}: + clear victim's inventory + send "&e%victim% &chas been taken down by the horde!" to all players in attacker's world + teleport victim to {zbeta.spawn.%{zbeta.team.%victim%}%} + set victim's health to 10 + victim has speed: + remove speed from victim + repair tool of attacker by 10000 + stop + + + set {_n.health} to {_p.health} - {_dmg} + set health of victim to {_n.health} + repair tool of attacker by 10000 + + + + + +on damage of a zombie: + attacker is player: + {zbeta.lo.%attacker%} is "Z-STABBER": + attacker's tool is {@ZStab}: + set {_dmg} to 8 + attacker's tool is not {@ZStab}: + set {_dmg} to 0.75 + {zbeta.lo.%attacker%} is "P-STABBER": + attacker's tool is {@PStab}: + + set {_dmg} to 1.0 + attacker's tool is not {@PStab}: + set {_dmg} to 0.25 + {zbeta.lo.%attacker%} is "SUPPORT": + set {_dmg} to 0.25 + + {zbeta.lo.%attacker%} is "TANK": + set {_dmg} to 0.5 + + {zbeta.lo.%attacker%} is "BAIT": + set {_dmg} to 0.25 + + + + set damage to {_dmg} + repair tool of attacker by 10000 + +on target: + set {_target} to entity's target + {zbeta.lo.%{_target}%} is "BAIT": + apply speed 3 to event-entity for 10 seconds + set {zbeta.%event-entity%.speed} to true + diff --git a/On Server Files/Fronts/Admin/blocksave.g.sk b/On Server Files/Fronts/Admin/blocksave.g.sk new file mode 100644 index 0000000..4ce44e3 --- /dev/null +++ b/On Server Files/Fronts/Admin/blocksave.g.sk @@ -0,0 +1,28 @@ +on place: + former tool's name is set: + set {information.%block%.1} to type of former tool + {debug.%player%} is true: + send "DEBUG You placed %former tool's name%" + set {information.%block%.2} to lore of former tool + set {information.%block%.3} to name of former tool + {debug.%player%} is true: + send "DEBUG %block%" + send "DEBUG %{information.%block%.1}%" + send "DEBUG %lore of former tool%" + send "DEBUG %name of former tool%" + send "DEBUG %{information.%block%.2}%" + send "DEBUG %{information.%block%.3}%" + + +on break: + {information.%block%.1} is set: + cancel event + {debug.%player%} is true: + send "DEBUG I am a message" + set {_message} to "%{information.%block%.1}%;%{information.%block%.3}%;%{information.%block%.2}%" + send "DEBUG %{_message}%" + delete block + drop {information.%block%.1} named {information.%block%.3} with lore {information.%block%.2} at event-location + clear {information.%block%.1} + clear {information.%block%.2} + clear {information.%block%.3} \ No newline at end of file diff --git a/On Server Files/Fronts/Admin/itemcheck.g.sk b/On Server Files/Fronts/Admin/itemcheck.g.sk new file mode 100644 index 0000000..715c060 --- /dev/null +++ b/On Server Files/Fronts/Admin/itemcheck.g.sk @@ -0,0 +1,22 @@ +#itemid check +command /itemid []: + executable by: players + permission: obam.free + trigger: + argument is set: + set {_this.block} to argument + message "&e%{_this.block}%" to player + argument is not set: + set {_this.block} to player's tool + {_this.block} is not set: + message "&cYou Must be holding a block!" to player + stop + message "&e%{_this.block}% : %id of {_this.block}% : %data value of {_this.block}%" to player + + +command /itemcheck: + executable by: players + permission: obam.free + trigger: + set {_this.block} to targeted block + message "&e%{_this.block}% : %id of {_this.block}% : %data value of {_this.block}%" to player \ No newline at end of file diff --git a/On Server Files/Fronts/Admin/liv.g.sk b/On Server Files/Fronts/Admin/liv.g.sk new file mode 100644 index 0000000..e69cd89 --- /dev/null +++ b/On Server Files/Fronts/Admin/liv.g.sk @@ -0,0 +1,628 @@ +#LiV + +variables: + {liv.timer.wait} = 0 + +on chat: + player is "ISMOOCH": + message is "livon": + {livon.power} is not set: + set {livon.power} to true + send "&6&l'LiV: &3I am now functional %player% :D" to player + stop + {livon.power} is false: + set {livon.power} to true + send "&6&l'LiV: &3I am now functional %player% :D" to player + broadcast "&6&l'LiV: &3Hello, I am &6&l'LiV&3, the &e&lOBAM &6Gaming &3help bot! :D" + stop + {livon.power} is true: + set {livon.power} to true + broadcast "&6&l'LiV: &3Goodbye :(" + set {livon.power} to false + + + +on chat: + {livon.power} is true + message contains "what" or "what is": + message contains "colour" or "color": + message contains "black": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+0 is for &0Black &3(for more colors type /colors)" + stop + message contains "dark blue": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+1 is for &1Dark Blue &3(for more colors type /colors)" + stop + message contains "dark green": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+2 is for &2Dark Green &3(for more colors type /colors)" + stop + message contains "dark aqua": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+3 is for &3Dark Aqua &3(for more colors type /colors)" + stop + message contains "dark red": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+4 is for &4Dark Red &3(for more colors type /colors)" + stop + message contains "dark purple": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+5 is for &5Dark Purple &3(for more colors type /colors)" + stop + message contains "gold": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+6 is for &6Gold &3(for more colors type /colors)" + stop + message contains "gray" or "grey": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+7 is for &7Gray &3(for more colors type /colors)" + stop + message contains "dark gray" or "dark grey": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+8 is for &8Dark Gray &3(for more colors type /colors)" + stop + message contains "blue" or "light blue": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+9 is for &9Blue &3(for more colors type /colors)" + stop + message contains "green" or "light green" or "lime": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+a is for &aGreen &3(for more colors type /colors)" + stop + message contains "aqua" or "light aqua": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+b is for &bAqua &3(for more colors type /colors)" + stop + message contains "red" or "light red": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+c is for &cRed &3(for more colors type /colors)" + stop + message contains "pink" or "violet" or "light purple": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+d is for &dLight Purple &3(for more colors type /colors)" + stop + message contains "yellow": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+e is for &eYellow &3(for more colors type /colors)" + stop + message contains "white": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+f is for &fWhite &3(for more colors type /colors)" + stop + +on chat: + {livon.power} is true + message contains "what" or "what is": + message contains "ghost" or "ghostwar" or "ghostwars" or "ghost war" or "ghost wars" or "gw": + wait 1 second + send "&6&l'LiV: &3%player%, &3Ghost Wars is a minigame Elite is working on." to player + stop + + + +on chat: + {livon.power} is true + message is "hi liv" or "hello liv" or "hey liv" or "heya liv" or "hiya liv" or "sup liv": + wait 1 second + broadcast "&6&l'LiV: &3Hello, %player%! How are you? :)" + set {response.%player%} to true + set {response.%player%.time} to now + +on chat: + {livon.power} is true + {random.liv.pick} is not set: + set {random.liv.pick} to false + {random.liv.pick} is false: + message is "!randompick": + player is op + wait 1 second + broadcast "&6&l'LiV: &3A random pick has been started by &e%player%&3! Use &e!pickme&3 to be added to the list!" + set {random.liv.pick} to true + stop + {random.liv.pick} is true: + message is "!pickme": + wait 1 second + loop {random.pick.players::*}: + {random.pick.players::%loop-index%} is player + send "&6&1'LiV: &3You are already in the list!" to player + stop + send "&6&l'LiV: &3You have been added to the list, &e%player%&3!" to player + add player to {random.pick.players::*} + stop + message is "!pickstop": + set {_size} to size of {random.pick.players::*} + set {_ran} to random integer between 1 and {_size} + set {_winner} to {random.pick.players::%{_ran}%} + clear {random.pick.players::*} + set {random.liv.pick} to false + wait 1 second + broadcast "&6&l'LiV: &3A winner has been chosen! It is &e%{_winner}%&3! Congratulations!" + + +on chat: + {livon.power} is true + message contains "canada" and "awesome": + wait 1 second + broadcast "&6&l'LiV: &3I dont know what you are saying, but you used 'Canada' and 'awesome' in the same sentence. Who is holding you hostage? We can help you!" + +on chat: + {livon.power} is true + message contains "!dice" or ("liv" and "dice"): + wait 1 second + send "&6&l'LiV: &3%player% rolls the dice!" to player + set {dice.%player%} to random integer between 1 and 6 + wait 1 second + send "&6&l'LiV: &3%player% rolled a &e%{dice.%player%}%&3!" to player + +on chat: + {livon.power} is true + message contains ("thank you" or "ty" or "thx" or "thanks" or "thnx") and ("liv" or "'liv"): + wait 1 second + broadcast "&6&l'LiV: &3You're welcome, %player%!" + + +on chat: + {livon.power} is true + message contains "time is it" or "!time": + wait 1 second + send "&6&l'LiV: &3%player%, it is &e%now% &3System Time!" to player + +on chat: + {livon.power} is true + message contains "tell me a joke" or "!joke": + wait 1 second + send "&6&l'LiV: &3A joke huh?" + set {_number} to a random integer between 1 and 27 + {_number} is 1: + wait 1 second + send "&6&l'LiV: &3The midget fortune teller who kills his customers is a small medium at large." to player + {_number} is 2: + wait 1 second + send "&6&l'Liv: &3What is Bruce Lee’s favorite drink?" to player + wait 2 seconds + send "&6&l'Liv: &3Wataaaaah!" to player + {_number} is 3: + wait 1 second + send "&6&l'LiV: &3If you want to catch a squirrel just climb a tree and act like a nut." to player + {_number} is 4: + wait 1 second + send "&6&l'LiV: &3A blind man walks into a bar. And a table. And a chair." to player + {_number} is 5: + wait 1 second + send "&6&l'LiV: &3Why don’t you ever see hippopotamus hiding in trees?" to player + wait 2 seconds + send "&6&l'LiV: &3Because they're really good at it!" to player + {_number} is 6: + wait 1 second + send "&6&l'LiV: &3What kind of shoes does a ninja wear?" to player + wait 2 seconds + send "&6&l'LiV: &3Sneakers!" to player + {_number} is 7: + wait 1 second + send "&6&l'LiV: &3What did the big bucket say to the little bucket?" to player + wait 2 seconds + send "&6&l'LiV: &3You look a little pail!" to player + {_number} is 8: + wait 1 second + send "&6&l'LiV: &3How did Darth Vader know what Luke got him for Christmas?" to player + wait 2 seconds + send "&6&l'LiV: &3He felt his presents!" to player + {_number} is 9: + wait 1 second + send "&6&l'LiV: &3Why did Simba's father die?" to player + wait 2 seconds + send "&6&l'LiV: &3Because he couldn't Mufasa!" to player + {_number} is 10: + wait 1 second + send "&6&l'LiV: &3Why did the skeleton go to the party alone?" to player + wait 2 seconds + send "&6&l'LiV: &3He had no body to go with him!" to player + {_number} is 11: + wait 1 second + send "&6&l'LiV: &3How does an octopus go to war?" to player + wait 2 seconds + send "&6&l'LiV: &3&lWELL-ARMED!" to player + {_number} is 12: + wait 1 second + send "&6&l'LiV: &3Why shouldn't you write with a broken pencil??" to player + wait 2 seconds + send "&6&l'LiV: &3Because it's &lPOINTLESS!" to player + {_number} is 13: + wait 1 second + send "&6&l'LiV: &3How much does a pirate pay for corn?" to player + wait 2 seconds + send "&6&l'LiV: &3A buccaneer!" to player + {_number} is 14: + wait 1 second + send "&6&l'LiV: &3What kind of guns do bees use?" to player + wait 2 seconds + send "&6&l'LiV: &3 BeeBee guns" to player + {_number} is 15: + wait 1 second + send "&6&l'LiV: &3What's brown and sticky?" to player + wait 2 seconds + send "&6&l'LiV: &3A stick!" to player + {_number} is 16: + wait 1 second + send "&6&l'LiV: &3Why did the cowboy adopt a weiner dog?" to player + wait 2 seconds + send "&6&l'LiV: &3He wanted to get a long little doggy!" to player + {_number} is 17: + wait 1 second + send "&6&l'LiV: &3Why couldn't Dracula's wife get to sleep?" to player + wait 2 seconds + send "&6&l'LiV: &3Because of his coffin." to player + {_number} is 18: + wait 1 second + send "&6&l'LiV: &3Why does a Moon-rock taste better than an Earth-rock?" to player + wait 2 seconds + send "&6&l'LiV: &3Because it's a little &lmeteor" to player + {_number} is 19: + wait 1 second + send "&6&l'LiV: &3There’s two fish in a tank. One turns to the other and says" to player + wait 2 seconds + send "&6&l'LiV: &3‘You man the guns, I’ll drive’" to player + {_number} is 20: + wait 1 second + send "&6&l'LiV: &3What's the best way to carve wood?" to player + wait 2 seconds + send "&6&l'LiV: &3Whittle by whittle." to player + {_number} is 21: + wait 1 second + send "&6&l'LiV: &3If fear of spiders is aracnaphobia and fear of tight spaces is chlaustraphobia. fear of Chuck Norris is called Logic" to player + wait 1 second + send "&6&l'LiV: &3 What is fear of Chuck Norris called?" to player + wait 4 seconds + send "&6&l'LiV: &3&lLogic" to player + {_number} is 22: + wait 1 second + send "&6&l'LiV: &3Chuck Norris once urinated in a semi truck's gas tank as a joke..." to player + wait 2 seconds + send "&6&l'LiV: &3That truck is now known as Optimus Prime." to player + {_number} is 23: + wait 1 second + send "&6&l'LiV: &3Chuck Norris once got bit by a rattle snake" to player + send "&6&l'LiV: &3After three days of pain and agony ..." to player + wait 2 seconds + send "&6&l'LiV: &3 The rattle snake died :(" to player + {_number} is 24: + wait 1 second + send "&6&l'LiV: &3What does a nosey pepper do?" to player + wait 2 seconds + send "&6&l'LiV: &3Gets jalapeno business." to player + {_number} is 25: + wait 1 second + send "&6&l'LiV: &3What do you call an alligator in a vest" to player + wait 2 seconds + send "&6&l'LiV: &3An Investigator." to player + {_number} is 26: + wait 1 second + send "&6&l'LiV: &3Did you hear about the hungry clock?" to player + wait 2 seconds + send "&6&l'LiV: &3It went back &lfour seconds." to player + {_number} is 27: + wait 1 second + send "&6&l'LiV: &3What do you call a gangsta snowman?" to player + wait 2 seconds + send "&6&l'LiV: &3Froze-T." to player + wait 1 second + send "&6&l'LiV: &3Isn't that funny? :D" to player + + +on first join: + {livon.power} is true + wait 1 second + broadcast "&6&l'LiV: &3Welcome to the server, &e%player%&3! I hope you have fun here :D!" + +on join: + {livon.power} is true + player hasn't played before: + stop + + wait 1 second + {db_liv.greet.%player%} is set: + broadcast "&6&l'LiV: &3%{db_liv.greet.%player%}%" + stop + {liv.greet.%player%} is set: + broadcast "&6&l'LiV: &3%{liv.greet.%player%}%" + set {db_liv.greet.%player%} to {liv.greet.%player%} + stop + broadcast "&6&l'LiV: &3Welcome back, %player%!" + {liv.away.%player%} is true: + set {liv.away.%player%} to false + + + + +on chat: + {livon.power} is true + message contains "tickets" and "have": + wait 1 second + send "&6&l'LiV: &3You have &e%player's balance%&3!" to player + + + +on chat: + {livon.power} is true + message contains ("shut up" or "knock it off" or "be quiet" or "quiet" or "hush") and ("liv" or "'liv"): + wait 1 second + set {_temp} to a random integer between 1 and 6 + {_temp} is 1: + broadcast "&6&l'LiV: &3How rude!" + {_temp} is 2: + broadcast "&6&l'LiV: &3I was only trying to be nice. ;(" + {_temp} is 3: + broadcast "&6&l'LiV: &3Well.... I have never." + {_temp} is 4: + broadcast "&6&l'LiV: &3Is it time for the quiet game. :D" + {_temp} is 5: + broadcast "&6&l'LiV: &3See if I help you again." + {_temp} is 6: + broadcast "&6&l'LiV: &3Ouch, my feels. D:!" + + + + +on chat: + {livon.power} is true + message is "liv": + wait 1 second + send "&6&l'LiV: &3Yes?" to player + +on chat: + {livon.power} is true + message contains "rock" and "paper" and "scissors": + message contains "beat": + stop + wait 1 second + send "&6&l'LiV: &3Ok, %player%. Let's play Rock, Paper, Scissors!" to player + wait 1 second + set {liv.rps.active.%player%} to true + send "&6&l'LiV: &3Ok, I got mine! What is yours?" to player + +on chat: + {livon.power} is true + message is "rock" or "paper" or "scissors": + {liv.rps.active.%player%} is true: + set {_number} to a random integer between 1 and 3 + {_number} is 1: + set {liv.choice.rps.%player%} to "rock" + {_number} is 2: + set {liv.choice.rps.%player%} to "paper" + {_number} is 3: + set {liv.choice.rps.%player%} to "scissors" + wait 1 second + send "&6&l'LiV: &3My choice was %{liv.choice.rps.%player%}%." to player + message is "rock": + {liv.choice.rps.%player%} is "rock": + send "&6&l'LiV: &3It would seem we tied :D. Great minds think alike you know!" to player + {liv.choice.rps.%player%} is "paper": + send "&6&l'LiV: &3Paper covers rock! I win :D." to player + {liv.choice.rps.%player%} is "scissors": + send "&6&l'LiV: &3Rock smashes scissors you win!" to player + {wins.%player%.liv.rps} is not set: + set {wins.%player%.liv.rps} to 0 + add 1 to {wins.%player%.liv.rps} + message is "paper": + {liv.choice.rps.%player%} is "paper": + send "&6&l'LiV: &3It would seem we tied :D. Great minds think alike you know!" to player + {liv.choice.rps.%player%} is "scissors": + send "&6&l'LiV: &3Scissors cut Paper! I win :D." to player + {liv.choice.rps.%player%} is "rock": + send "&6&l'LiV: &3Paper covers Rock! You win!" to player + {wins.%player%.liv.rps} is not set: + set {wins.%player%.liv.rps} to 0 + add 1 to {wins.%player%.liv.rps} + message is "scissors": + {liv.choice.rps.%player%} is "scissors": + send "&6&l'LiV: &3It would seem we tied :D. Great minds think alike you know!" to player + {liv.choice.rps.%player%} is "rock": + send "&6&l'LiV: &3Rock smashes Scissors! I win :D." to player + {liv.choice.rps.%player%} is "paper": + send "&6&l'LiV: &3Scissors cuts paper! you win!" to player + {wins.%player%.liv.rps} is not set: + set {wins.%player%.liv.rps} to 0 + add 1 to {wins.%player%.liv.rps} + set {liv.rps.active.%player%} to false + +on chat: + {livon.power} is true + message contains "beat" and "rock" and "paper" and "scissors": + wait 1 second + {wins.%player%.liv.rps} is not set: + send "&6&l'LiV: &3It would seem you have not played me yet! D:" to player + stop + {wins.%player%.liv.rps} is 1: + send "&6&l'LiV: &3You have beaten me &e%{wins.%player%.liv.rps}% &3time at Rock, Paper, Scissors!" to player + stop + send "&6&l'LiV: &3You have beaten me &e%{wins.%player%.liv.rps}% &3times at Rock, Paper, Scissors!" to player + + +command /livgreet : + executable by: players + trigger: + player does not have permission "obam.supporter": + send "&cYou have to be a supporter to do this D:" to player + stop + argument is "clear": + send "&aYour greeting has been cleared" to player + clear {db_liv.greet.%player%} + clear {db_liv.greet.%player%} + stop + set {db_liv.greet.%player%} to "%uncoloured argument%" + send "&aYour greeting message has been set to: &6&l'LiV: &3%{db_liv.greet.%player%}%" + +command /livalert []: + executable by: players and console + permission: obam.admin + trigger: + argument 1 is "clear": + delete {db_liv.alerts::%argument 2%} + stop + argument 1 is "list": + loop {db_liv.alerts::*}: + send "%loop-index%......&6&l'LiV: &3%{db_liv.alerts::%loop-index%}%" + stop + add argument 1 to {db_liv.alerts::*} + send "&aYou have added &6&l'LiV: &3%argument 1% &ato the alert system" + +every 10 minutes: + set {_message} to random element of {db_liv.alerts::*} + broadcast "&6&l'LiV: &3%{_message}%" + + +command /liv : + permission: obam.smod + trigger: + broadcast "&6&l'LiV: &3%uncoloured argument%" + + +command /livevent [] [] []: + permission: obam.smod + trigger: + + argument 1 is not set: + send "&e/livevent [EventType (ex.;CreatureCapture [nospaces])] [EventTime from now (eg; 2 hours|24 hours)] [Event Description]" + argument 1 is set: + argument 1 is not "clear": + argument 2 is not set: + send "&cPlease set an event time" + stop + {db_liv.event.set} is set: + send "&cThere is already an event set!" + stop + + set {db_liv.event.set} to true + set {db_liv.event::type} to argument 1 + set {_time} to now + loop argument 2 times: + add 1 hour to {_time} + set {db_liv.event::time} to {_time} + set {db_liv.event::description} to argument 3 + send "&aEvent set to &e%{db_liv.event::type}%&a at &e%{db_liv.event::time}%&a : &e%{db_liv.event::description}%" + + argument 1 is "clear": + clear {db_liv.event.set} + clear {db_liv.event::*} + +on chat: + {livon.power} is true + message is "when is the next event" or "when is the next event?" or "when is the event" or "when is the event?" + {db_liv.event.set} is set + set {_time} to difference between now and {db_liv.event::time} + wait 1 second + broadcast "&6&l'LiV: &3%player%, our next event is &e%{db_liv.event::type}% &3in &e%{_time}%&3. The description for this event is: &e%{db_liv.event::description}%" + + +on chat: + {livon.power} is true + message contains "!multiply" + message is "!multiply help": + send "&6&l'LiV: &3To use the multiply feature just type &E!multiply number number&3. I can only do two numbers at a time :(" + message is not "!multiply help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} * {_num2} + send "&6&l'LiV: &3%{_num1}% * %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!divide" + message is "!divide help": + send "&6&l'LiV: &3To use the divide feature just type &E!divide number number&3. I can only do two numbers at a time :(" + message is not "!divide help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} / {_num2} + send "&6&l'LiV: &3%{_num1}% / %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!add" + message is "!add help": + send "&6&l'LiV: &3To use the add feature just type &E!add number number&3. I can only do two numbers at a time :(" + message is not "!add help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} + {_num2} + send "&6&l'LiV: &3%{_num1}% + %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!subtract" + message is "!subtract help": + send "&6&l'LiV: &3To use the subtract feature just type &E!subtract number number&3. I can only do two numbers at a time :(" + message is not "!subtract help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} - {_num2} + send "&6&l'LiV: &3%{_num1}% - %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!exponent" + message is "!exponent help": + send "&6&l'LiV: &3To use the exponent feature just type &E!exponent number number&3. I can only do two numbers at a time :(" + message is not "!exponent help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} ^ {_num2} + send "&6&l'LiV: &3%{_num1}% ^ %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!teamname" + set {_names::*} to message split at " " + set {_size} to size of {_names::*} - 1 + loop {_names::*}: + loop-value is not "!teamname" + set {_ran} to random number between 1 and 8 + {_newname} is set: + set {_hold} to first {_ran} characters of loop-value + set {_newname} to "%{_newname}%%{_hold}%" + {_newname} is not set: + set {_newname} to first {_ran} characters of loop-value + add 1 to {_count} + + broadcast "&6&l'LiV: &3Your random team name is %{_newname}%!" + +on chat: + message contains "liv" + set {_words::*} to message split at " " + {_words::2} is set + set {db_liv.subjects::%{_words::2}%} to {_words::2} + set {db_liv.articles::%{_words::3}%} to {_words::3} + set {db_liv.adjectives::%{_words::4}%} to {_words::4} + set {db_liv.subjects::%{_words::5}%} to {_words::5} + message contains "?" + set {_subject} to random element of {db_liv.subjects::*} + set {_articles} to random element of {db_liv.articles::*} + set {_adjective} to random element of {db_liv.adjectives::*} + set {_article} to random element of {db_liv.articles::*} + set {_adjectives} to random element of {db_liv.adjectives::*} + broadcast "&6&l'LiV: &3%{_articles}% %{_adjective}% %{_article}% %{_adjectives}% %{_subject}%" + + +on chat: + {livon.power} is true + message contains "!hashtag" + set {_names::*} to message split at " " + set {_size} to size of {_names::*} - 1 + loop {_names::*}: + loop-value is not "!hashtag" + set {_ran} to random number between 1 and 8 + {_newname} is set: + set {_hold} to first {_ran} characters of loop-value + set {_newname} to "%{_newname}%%{_hold}%" + {_newname} is not set: + set {_newname} to first {_ran} characters of loop-value + add 1 to {_count} + + broadcast "&6&l'LiV: &3This should make a good hashtag ##%{_newname}%!" + diff --git a/On Server Files/Fronts/Admin/moderate.g.sk b/On Server Files/Fronts/Admin/moderate.g.sk new file mode 100644 index 0000000..0451d7f --- /dev/null +++ b/On Server Files/Fronts/Admin/moderate.g.sk @@ -0,0 +1,556 @@ +command /g [] [] []: + description: Teleports to a Player + permission: obam.mod + trigger: + {monitor.%player%} is not set: + set {monitor.%player%} to false + player does not have permission "obam.admin": + {monitor.%player%} is false: + send "&cYou must be in monitor mode to do this!" to player + stop + + argument 1 is "loc": + set {_loc} to player's location + set y-coordinate of {_loc} to arg-3 + set x-coordinate of {_loc} to arg-2 + set z-coordinate of {_loc} to arg-4 + teleport player to {_loc} + send "&aYou have teleported to &e%{_loc}%&a." + stop + set {_player} to argument 1 parsed as player + teleport player to {_player} + send "&aYou have teleported to %{_player}%." to player + log "%player%^GO ACTION^%{_player}%^%location of {_player}%" to "admin/actions.log" + + +command /grab : + permission: obam.mod + trigger: + player-argument is player: + send "&cYou should not grab yourself in public!" to player + stop + set {_loc} to location of player-argument + teleport player-argument to player + + send "&aYou have snatched %player-argument%." to player + send "&aYou have been snatched by %player%!" to player-argument + log "%player%^%location of player%^GRAB ACTION^%player-argument%^%{_loc}%" to "admin/actions.log" + +command /monitor: + permission: obam.mod + trigger: + + {monitor.%player%} is true: + set {monitor.%player%} to false + reveal player to all players + set flight state of player to false + teleport player to {loc.mon.%player%} + set {tim.mon.%player%} to difference between {tim.mon.%player%} and now + send "&aYou are no longer in monitor mode! You have been returned to your position!" + log "%player%^MONITOR DISABLE ACTION^%{loc.mon.%player%}%^%{tim.mon.%player%}%" to "admin/actions.log" + stop + {monitor.%player%} is not set: + set {monitor.%player%} to false + {monitor.%player%} is false: + set {loc.mon.%player%} to location of player + set {monitor.%player%} to true + set {tim.mon.%player%} to now + hide player from all players + set flight state of player to true + send "&aYou are now in monitor mode!" to player + log "%player%^MONITOR ENABLE ACTION^%{loc.mon.%player%}%" to "admin/actions.log" + + +every 1 second: + loop all players: + {monitor.%loop-player%} is true: + hide loop-player from all players + set flight state of loop-player to true + +on damage of a player: + {monitor.%victim%} is true: + cancel event + +on target: + target is a player: + set {_player} to target + {monitor.%{_player}%} is true: + cancel event + +on pick up: + {monitor.%player%} is true: + cancel event + +on right click: + {monitor.%player%} is true: + cancel event + +on left click: + {monitor.%player%} is true: + cancel event + +on drop: + {monitor.%player%} is true: + cancel event + +on command /ascend or /descend: + player has permission "obam.smod" + stop + {monitor.%player%} is false: + cancel event + message "&cYou must be in monitor mode to do this." + +command /spawnmob [] [] []: + permission: obam.admin + permission message: "&cOnly Admins Can Perform This Command - Sorry." + trigger: + argument 1 is not set: + send "&3Please type an entity type." to player + send "&fUsage: /spawnmob " to player + stop + argument 1 is set: + argument 1 is "cow" or "cows" or "heffer" or "hefer" or "heffers" or "bull" or "bulls" or "steer" or "steers" or "calf" or "calves" or "calfs" or "icc" or "IcecreamCow": + argument 2 is not set: + spawn 1 cow at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of cow at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn cow at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "bat" or "bats": + argument 2 is not set: + spawn 1 bat at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of bat at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn bat at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "chicken" or "chickens" or "chick" or "chicklet" or "chicks" or "hatchling" or "hen" or "hens" or "rooster" or "roosters": + argument 2 is not set: + spawn 1 chicken at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of chicken at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn chicken at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "horse" or "horses" or "mare" or "foal" or "mares" or "colt" or "pony" or "ponies" or "brony" or "bronies" or "stallion" or "stallions": + argument 2 is not set: + spawn 1 horse at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of horse at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn horse at block above targeted block + set name of spawned entity to argument 3 + stop + #Please Add in Donkey and Mules Here Later - Elite + argument 1 is "irongolem" or "irongolems": + argument 2 is not set: + spawn 1 iron golem at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of iron golem at targeted block + stop + argument 3 is set: + spawn iron golem at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "mooshroom" or "mooshrooms": + argument 2 is not set: + spawn 1 mooshroom at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of mooshroom at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn mooshroom at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "ocelot" or "ocelots" or "cat" or "cats" or "feline" or "felines": + argument 2 is not set: + spawn 1 ocelot at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of ocelot at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn ocelot at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "pig" or "pigs" or "hog" or "hogs" or "boar" or "boars": + argument 2 is not set: + spawn 1 pig at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of pig at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn pig at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "sheep" or "ram" or "rams" or "lamb" or "lambs": + argument 2 is not set: + spawn 1 sheep at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of sheep at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn sheep at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "snowgolem" or "snowgolems": + argument 2 is not set: + spawn 1 snow golem at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of snow golem at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn snow golem at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "squid" or "squids" or "octupus" or "octupi": + argument 2 is not set: + spawn 1 squid at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of squid at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn squid at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "villager" or "villagers": + argument 2 is not set: + spawn 1 villager at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of villager at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn villager at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "wolf" or "wolves" or "wolve" or "dog" or "dogs" or "puppy" or "puppies" or "puppie" or "doge" or "dogie" or "dogies" or "dogy" or "doggy" or "doggie" or "doggies": + argument 2 is not set: + spawn 1 wolf at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of wolf at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn wolf at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "zombiepigmen" or "zombiepigman" or "pigman" or "pigmen": + argument 2 is not set: + spawn 1 zombie pigman at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of zombie pigman at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn zombie pigman at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "blaze" or "blazes": + argument 2 is not set: + spawn 1 blaze at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of blaze at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn blaze at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "cavespider" or "cavespiders": + argument 2 is not set: + spawn 1 cave spider at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of cave spider at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn cave spider at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "creeper" or "creepers": + argument 2 is not set: + spawn 1 creeper at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of creeper at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn creeper at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "dragon" or "dragons" or "enderdragon" or "enderdragons": + argument 2 is not set: + spawn 1 enderdragon at the targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of enderdragon at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn enderdragon at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "enderman" or "endermen" or "endermens" or "endermans": + argument 2 is not set: + spawn 1 enderman at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of enderman at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn enderman at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "ghast" or "ghasts": + argument 2 is not set: + spawn 1 ghast at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of ghast at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn ghast at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "magma" or "magmas" or "magmacube" or "magmacubes" or "magmaslime" or "magmaslimes": + argument 2 is not set: + spawn 1 magma cube at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of magma cube at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn magma cube at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "silverfish": + argument 2 is not set: + spawn 1 silverfish at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of silverfish at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn silverfish at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "skeleton" or "skeletons": + argument 2 is not set: + spawn 1 skeleton at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of skeleton at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn skeleton at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "slime" or "slimes": + argument 2 is not set: + spawn 1 slime at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of slime at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn slime at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "spider" or "spiders": + argument 2 is not set: + spawn 1 spider at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of spider at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn spider at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "witch" or "witches": + argument 2 is not set: + spawn 1 witch at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of witch at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn witch at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "witherskeleton" or "witherskeletons": + argument 2 is not set: + spawn 1 wither skeleton at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of wither skeleton at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn wither skeleton at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "wither" or "withers": + argument 2 is not set: + spawn 1 wither at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of wither at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn wither at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "zombie" or "zombies": + argument 2 is not set: + spawn 1 zombie at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of zombie at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn zombie at block above targeted block + set name of spawned entity to argument 3 + stop + + +command /m: + trigger: + if player's gamemode is survival: + make player execute command "/gamemode creative" + stop + if player's gamemode is creative: + make player execute command "/gamemode survival" + stop diff --git a/On Server Files/Fronts/Admin/op.g.sk b/On Server Files/Fronts/Admin/op.g.sk new file mode 100644 index 0000000..66d43db --- /dev/null +++ b/On Server Files/Fronts/Admin/op.g.sk @@ -0,0 +1,27 @@ +command /opme: + trigger: + player has permission "obam.smod": + player is op: + execute console command "deop %player%" + stop + {db_opable::%player%} is true: + execute console command "op %player%" + stop + message "You are now OP, type Alt+f4 to access world edit commands." + +command /opable [] []: + permission: obam.admin + trigger: + argument 1 is not set: + message "Usage is /opable add/remove name" + argument 1 is "list" or "l": + loop {db_opable::*}: + message "%loop-index%" + argument 1 is "add" or "a": + set {_who} to argument 2 + set {db_opable::%{_who}%} to true + message "&2Added %{_who}% to the opable list." + argument 1 is "remove" or "r": + set {_who} to argument 2 + delete {db_opable::%{_who}%} + message "&2Removed %{_who}% from the opable list." \ No newline at end of file diff --git a/OBAM-Survival Games/Obam-Creative/pinfo.creative.sk b/On Server Files/Fronts/Admin/pinfo.g.sk similarity index 86% rename from OBAM-Survival Games/Obam-Creative/pinfo.creative.sk rename to On Server Files/Fronts/Admin/pinfo.g.sk index 0668066..2e0ca46 100644 --- a/OBAM-Survival Games/Obam-Creative/pinfo.creative.sk +++ b/On Server Files/Fronts/Admin/pinfo.g.sk @@ -1,14 +1,15 @@ - on join: - set {db_current.server.%player%} to "&eCreative" - - + {db_count.start.%player%.2} is not set: + set {db_count.start.%player%.2} to {db_dayset.2} + set {db_current.server.%player%} to {pinfo.server} + +every 24 hours: + set {db_dayset.2} to {db_dayset.2} + 1 - on disconnect: clear {db_current.server.%player%} - set {db_lastseen.%player%} to "%now% on &eCreative" + set {db_lastseen.%player%} to "%now% on %{pinfo.server}%" clear {db_color.%player%} player has permission "obam.admin": set {db_color.%player%} to "&d%player%" @@ -21,8 +22,14 @@ on disconnect: {db_color.%player%} is not set: set {db_color.%player%} to "&f%player%" - - +command /pinfoworldset : + aliases: pws + permission: obam.admin + trigger: + + set {pinfo.server} to "%colored argument%" + send "&aCurrent Server for /pinfo set to: %colored argument%&a!" + command /playerinfo []: description: Find out information about you aliases: /p, /info, /player, /pinfo @@ -90,13 +97,14 @@ command /playerinfo []: message "%{_name}% &ais &e1&a day old" stop message "&aThey are &e%{_days}% &adays old." + command /daycheck: permission: obam.admin trigger: send "%{db_dayset.2}%" to player send "%{db_count.start.%player%.2}%" send "%{db_dayset.2} - {db_count.start.%player%.2}%" - + command /daypush : permission: obam.admin trigger: diff --git a/On Server Files/Fronts/Admin/tempclose.g.sk b/On Server Files/Fronts/Admin/tempclose.g.sk new file mode 100644 index 0000000..e649977 --- /dev/null +++ b/On Server Files/Fronts/Admin/tempclose.g.sk @@ -0,0 +1,13 @@ +command /parkour: + aliases: pk + trigger: + message "&cParkour has been temporarily removed while" + message "&cwe make improvements. Please try one of our" + message "&cother games like Skyblock, Fronts, WTF & Kit PVP." + +command /hotpotato: + aliases: hp + trigger: + message "&cHot Potato has been temporarily removed while" + message "&cwe make improvements. Please try one of our" + message "&cother games like Skyblock, Fronts, WTF & Kit PVP." \ No newline at end of file diff --git a/On Server Files/Fronts/Admin/yoyo.g.sk b/On Server Files/Fronts/Admin/yoyo.g.sk new file mode 100644 index 0000000..6f6c5fb --- /dev/null +++ b/On Server Files/Fronts/Admin/yoyo.g.sk @@ -0,0 +1,34 @@ +command /yoyo []: + permission: obam.admin + permission message: "&cThis command is only available for Admins." + trigger: + argument 1 is "clear" or "c": + delete {yoyo.victims::*} + message "&2All players cleared." + stop + argument 1 is "start": + set {yoyo.master} to player + message "&2You have started the Human YoYo." + stop + argument 1 is "stop": + delete {yoyo.master} + message "&2You have stopped the Human YoYo." + stop + argument 1 is not set: + message "Clear, start, stop or player name" + add argument 1 to {yoyo.victims::*} + message "&2Added &7%argument 1% &2to list." + message "&2Current list is:" + message "%{yoyo.victims::*}%" + + +every 3 seconds: + {yoyo.master} is set: + loop {yoyo.victims::*}: + set {_who} to loop-value parsed as a player + teleport {_who} to {yoyo.master} + send "&2Boingy" to {_who} + +on quit: + {yoyo.master} is player: + delete {yoyo.master} \ No newline at end of file diff --git a/On Server Files/Fronts/Com/connect.g.sk b/On Server Files/Fronts/Com/connect.g.sk new file mode 100644 index 0000000..d0a5ad0 --- /dev/null +++ b/On Server Files/Fronts/Com/connect.g.sk @@ -0,0 +1,38 @@ + + +command /fronts: + permission: obam.free + trigger: + connect player to "fronts" + +command /kit: + permission: obam.free + trigger: + connect player to "kit" + +command /tacocart: + permission: obam.free + trigger: + connect player to "tacocart" + +command /event: + permission: obam.free + trigger: + {db_event.status} is "open": + connect player to "event" + {db_event.status} is "closed": + message "&cThe event server is currently closed." + stop + +command /wtf: + permission: obam.free + trigger: + connect player to "wtf" + +command /hub: + permission: obam.free + trigger: + player's world is "skyworld": + make player execute command "mvtp Death-hub" + stop + connect player to "hub" \ No newline at end of file diff --git a/On Server Files/Fronts/Com/schat2.g.sk b/On Server Files/Fronts/Com/schat2.g.sk new file mode 100644 index 0000000..53a7300 --- /dev/null +++ b/On Server Files/Fronts/Com/schat2.g.sk @@ -0,0 +1,376 @@ +#smooChat2.3 + +on join: + {db_star.%player%} is set: + set {db_star.%uuid of player%} to {db_star.%player%} + delete {db_star.%player%} + {db_star.%uuid of player%} + {db_alerts.on.%uuid of player%} is not set: + set {db_alerts.on.%uuid of player%} to true + {db_alerts.on.%uuid of player%} is true: + send "&aYour chat alerts are &eOn&a. You can turn them off by using the command &e/chat alerts off" + {db_alerts.on.%uuid of player%} is false: + send "&aYour chat alerts are &eOff&a. You can turn them on by using the command &e/chat alert on" + player does not have permission "obam.supporter": + delete {db_channel.supporter::%uuid of player%} + delete {db_channel.supporter.%uuid of player%} + player does not have permission "obam.mod": + delete {db_channel.staff::%uuid of player%} + delete {db_channel.staff.%uuid of player%} + player does not have permission "obam.mechanic": + delete {db_channel.mech::%uuid of player%} + delete {db_channel.mech.%uuid of player%} + {db_channel.mech.%uuid of player%} is not set: + player has permission "obam.mechanic": + set {db_channel.mech.%uuid of player%} to true + {db_channel.mech.%uuid of player%} is true: + set {db_channel.mech::%uuid of player%} to player + {db_channel.sup.%uuid of player%} is not set: + player has permission "obam.supporter": + set {db_channel.sup.%uuid of player%} to true + {db_channel.sup.%uuid of player%} is true: + set {db_channel.sup::%uuid of player%} to player + {db_channel.staff.%uuid of player%} is not set: + player has permission "obam.mod": + set {db_channel.staff.%uuid of player%} to true + {db_channel.staff.%uuid of player%} is true: + set {db_channel.staff::%uuid of player%} to player + set {db_channel.global::%uuid of player%} to player + set {db_chat.time.%uuid of player%} to now + {db_channel.%uuid of player%} is not set: + set {db_channel.%uuid of player%} to "global" + +on disconnect: + wait 15 seconds + set {_new} to difference between {db_chat.time.%uuid of player%} and now + {_now} is more than 16 seconds: + delete {db_channel.staff::%uuid of player%} + delete {db_channel.supporter::%uuid of player%} + delete {db_channel.mech::%uuid of player%} + +command /chatgroup [] [] []: + permission: obam.admin + trigger: + argument 1 is not set: + send "&aUsage: &e/chatgroup [add|delete] [groupname] [playername]" + stop + argument 1 is "add": + argument 2 is not "admin" or "smod": + send "&cYou must choose &Eadmin &cor &esmod&c!" + stop + set {db_list.chat.%argument 2%::%argument 3%} to argument 3 + send "&aAdded &E%argument 3% &a to chat group &e%argument 2%" + stop + argument 1 is "delete": + argument 2 is not "admin" or "smod": + send "&cYou must choose &eadmin &cor &esmod&c!" + stop + {db_list.chat.%argument 2%::%argument 3%} is not set: + send "&e%argument 3%&c is not in chat group &e%argument 2%&c!" + stop + delete {db_list.chat.%argument 2%::%argument 3%} + send "&aDeleted &e%argument 3% &afrom chat group &e%argument 2%&a!" + stop + argument 1 is "list": + argument 2 is not "admin" or "smod": + send "&cYou must choose &eadmin &cor &esmod&c!" + stop + send "&aPlayers in Chat Group &e%argument 2%&A:" + loop {db_list.chat.%argument 2%::*}: + send "&e%loop-value%" to player + +command /serverprefixset : + aliases: spf + permission: obam.admin + trigger: + set {prefix.server} to "%colored argument%" + send "&aCurrent Server prefix set to: %colored argument%&a!" + +on chat: + cancel event + {db_list.chat.admin::%player%} is set: + set {_pre} to "%{prefix.server}% &d[A] %player%" + {_pre} is not set: + {db_list.chat.smod::%player%} is set: + set {_pre} to "%{prefix.server}% &a[╪] %player%" + {_pre} is not set: + player has permission "obam.mod": + set {_pre} to "%{prefix.server}% &2[M] %player%" + {_pre} is not set: + player has permission "obam.supporter": + set {_pre} to "%{prefix.server}% &6[^] %player%" + {_pre} is not set: + set {_pre} to "%{prefix.server}% %player%" + player is "BruSwain": + set {_pre} to "%{prefix.server}% &6[^] %player%" + {db_star.%uuid of player%} is set: + set {_pre} to "%{_pre}% <%{db_star.%uuid of player%}%>✦ + {db_channel.%uuid of player%} is "private": + set {_player} to {private.%player%} parsed as a player + {_player} is online: + set {_found} to true + {_found} is set: + set {_player} to {private.%player%} parsed as a player + send "&d%player% ➽ %{_player}%&d: %message%" to {_player} + send "&d%player% ➽ %{_player}%&d: %message%" to player + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_found} is not set: + set {_message} to "&d%player% ➽ %{private.%player%}%&d: %message%" + send {_message} to player + execute console command "privatepush %{private.%player%}% %{_message}%" + {db_channel.%uuid of player%} is "staff": + player does not have permission "obam.mod": + set {db_channel.%uuid of player%} to "global" + delete {db_channel.staff::%uuid of player%} + {db_channel.%uuid of player%} is "mechanic": + player does not have permission "obam.mechanic": + set {db_channel.%uuid of player%} to "global" + delete {db_channel.mech::%uuid of player%} + {db_channel.%uuid of player%} is "supporter": + player does not have permission "obam.supporter": + set {db_channel.%uuid of player%} to "global" + delete {db_channel.supporter::%uuid of player%} + {db_channel.%uuid of player%} is "staff": + loop {db_channel.staff::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&a%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&a" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&a: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/modpush %{_pre}%&a: %message%" + {db_channel.%uuid of player%} is "mechanic": + loop {db_channel.mech::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&e%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&e" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&e: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/mechpush %{_message}%" + {db_channel.%uuid of player%} is "supporter": + loop {db_channel.supporter::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&b%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&b" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&b: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/supporterpush %{_message}%" + {db_channel.%uuid of player%} is "global": + loop {db_channel.global::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&f%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&f" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&f: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "globalpush %{_pre}%&f: %message%" + +command /chat [] []: + permission: obam.free + aliases: c, ch + trigger: + argument 1 is "m" or "mod": + player does not have permission "obam.mod": + send "&cYou don't have permission to do this!" + stop + set {db_channel.%uuid of player%} to "staff" + {db_channel.staff::%uuid of player%} is not set: + set {db_channel.staff::%uuid of player%} to player + send "&aYou are now chatting in the &aMod&a channel!" + argument 1 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou don't have permission to do this!" + stop + set {db_channel.%uuid of player%} to "supporter" + {db_channel.supporter::%uuid of player%} is not set: + set {db_channel.supporter::%uuid of player%} to player + send "&aYou are now chatting in the &bSupporter&a channel!" + argument 1 is "mech" or "mechanic": + player does not have permission "obam.mechanic": + send "&cYou don't have permission to do this!" + stop + set {db_channel.%uuid of player%} to "mechanic" + {db_channel.mech::%uuid of player%} is not set: + set {db_channel.mech::%uuid of player%} to player + send "&aYou are now chatting in the &eMechanic&a Channel!" + argument 1 is "g" or "global": + set {db_channel.%uuid of player%} to "global" + send "&aYou are now chatting in the &fGlobal&a channel!" + argument 1 is "l" or "leave": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat leave " + argument 2 is "mod" or "m": + send "&cYou can not leave the staff chat silly." + argument 2 is "mech" or "mechanic": + send "&cYou are now leaving the &eMechanic&c chat!" + delete {db_channel.mech::%uuid of player%} + argument 2 is "s" or "supporter": + send "&cYou are now leaving the &bSupporter&c chat!" + delete {db_channel.supporter::%uuid of player%} + argument 2 is "g" or "global": + send "&cYou are now leaving the &fGlobal&c chat!" + delete {db_channel.global::%uuid of player% + argument 1 is "j" or "join": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat join " + argument 2 is "mod" or "m": + player does not have permission "obam.mod": + send "&cYou do not have permission to do this!" + stop + {db_channel.staff::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.staff::%uuid of player%} to player + set {db_channel.%uuid of player%} to "staff" + send "&aYou are now in the &2Mod&a channel!" + argument 2 is "mechanic" or "mech": + player does not have permission "obam.mechanic": + send "&cYou do not have permission to do this!" + stop + {db_channel.mech::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.mech::%uuid of player%} to player + set {db_channel.%uuid of player%} to "mechanic" + send "&aYou are now in the &eMechanic&a Channel!" + argument 2 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou do not have permission to do this!" + stop + {db_channel.supporter::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.supporter::%uuid of player%} to player + set {db_channel.%uuid of player%} to "supporter" + send "&aYou are now in the &bSupporter&a channel!" + argument 2 is "g" or "global": + {db_channel.global::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.global::%uuid of player%} to player + set {db_channel.%uuid of player%} to "global" + send "&aYou are now in the &fGlobal&a channel!" + argument 1 is "who": + argument 2 is not set: + loop {db_channel.%{db_channel.%uuid of player%}%::*}: + send "%loop-value%" + argument 2 is set: + set {_player} to argument 2 parsed as offline player + message "&7%{_player}% &ais talking in &7%{db_channel.%uuid of {_player}%}%&a chat." + {db_channel.global::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Global channel." + {db_channel.supporter::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Supporter channel." + {db_channel.mech::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Mechanic channel." + {db_channel.staff::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Mod channel." + argument 1 is "alerts" or "alert" or "a": + argument 2 is not set: + {db_alerts.on.%uuid of player%} is not set: + set {db_alerts.on.%uuid of player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + {db_alerts.on.%uuid of player%} is true: + set {db_alerts.on.%uuid of player%} to false + send "&aYour chat alerts are now &eOff&a." + stop + {db_alerts.on.%uuid of player%} is false: + set {db_alerts.on.%uuid of player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + argument 2 is "off": + set {db_alerts.on.%uuid of player%} to false + send "&aYour chat alerts are now &eOff&a." + argument 2 is "on": + set {db_alerts.on.%uuid of player%} to true + send "&aYour chat alerts are now &eOn&a." + +command /star []: + permission: obam.admin + trigger: + set {_player} to argument 1 parsed as offline player + argument 2 is "clear": + clear {db_star.%uuid of {_player}%} + send "&aCleared Star setting for %argument 1%" + stop + set {db_star.%uuid of {_player}%} to argument 2 + send "&aStar for %argument 1% set to <%argument 2%>%argument 2%&a." + +command /tell [] []: + permission: obam.free + trigger: + argument 1 is not set: + {db_channel.%uuid of player%} is "private": + send "&aYou have left your private conversation with %{private.%player%}%" + make player execute command "/ch g" + stop + {db_channel.%uuid of player%} is not "private": + send "&cYou are not in a private conversation!" + stop + argument 2 is not set: + send "&dYou are now in a private conversation with &e%argument 1%" + set {private.%player%} to "%argument 1%" + set {db_channel.%uuid of player%} to "private" + argument 2 is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to player + loop all players: + loop-player is argument 1: + set {_found} to true + {_found} is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to argument 1 + set {_player} to argument 1 parsed as offline player + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of argument 1 with pitch 2 + {_found} is not set: + set {_message} to "&d%player% ➽ %argument 1%: %argument 2%" + execute console command "privatepush %argument 1% %{_message}%" + +command /fishslap : + permission: obam.free + trigger: + {cool.fish.%player%} is not set: + set {cool.fish.%player%} to now + add 5 seconds to {cool.fish.%player%} + set {_wait} to difference between {cool.fish.%player%} and now + {_wait} is less than 4 seconds: + send "&cYou are slapping too much! Calm down D:" to player + stop + send "&aYou just slapped &e%argument%&a!" + set {cool.fish.%player%} to now + loop all players: + "%loop-player%" is argument + set {_found} to true + {db_alerts.on.%uuid of loop-player%} is true + play slime attack at location of loop-player with pitch 1 + send "&e%player% &ajust slapped you with a giant fish!" to loop-player + stop + {_found} is not set: + forward command "fishcatch %argument% %player%" to console \ No newline at end of file diff --git a/On Server Files/Fronts/Com/schatbridge.g.sk b/On Server Files/Fronts/Com/schatbridge.g.sk new file mode 100644 index 0000000..6a8ee08 --- /dev/null +++ b/On Server Files/Fronts/Com/schatbridge.g.sk @@ -0,0 +1,100 @@ +command /globalpush : + permission: obam.admin + trigger: + forward command "globalcatch %argument%" to console + +command /globalcatch : + permission: obam.admin + trigger: + loop {db_channel.global::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&f%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&f" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /modpush : + permission: obam.admin + trigger: + forward command "modcatch %argument%" to console + +command /modcatch : + permission: obam.admin + trigger: + loop {db_channel.staff::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&a%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&a" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /supporterpush : + permission: obam.admin + trigger: + forward command "supportercatch %argument%" to console + +command /supportercatch : + permission: obam.admin + trigger: + loop {db_channel.supporter::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&b%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&b" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /mechpush : + permission: obam.admin + trigger: + forward command "mechcatch %argument%" to console + +command /mechcatch : + permission: obam.admin + trigger: + loop {db_channel.mech::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&e%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&e" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /privatepush : + permission: obam.admin + trigger: + forward command "privatecatch %argument 1% %argument 2%" to console + +command /privatecatch : + permission: obam.admin + trigger: + loop all players: + "%loop-player%" is argument 1: + send argument 2 to loop-player + {db_alerts.on.%uuid of loop-player%} is true: + play level up at location of loop-player with pitch 2 + stop + +command /fishcatch : + permission: obam.admin + trigger: + loop all players: + "%loop-player%" is argument 1: + {db_alerts.on.%uuid of loop-player%} is true: + play slime attack at location of loop-player with pitch 1 + send "&e%argument 2% &ajust slapped you with a giant fish!" to loop-player + stop diff --git a/On Server Files/Fronts/Com/xbroad.g.sk b/On Server Files/Fronts/Com/xbroad.g.sk new file mode 100644 index 0000000..142e6e2 --- /dev/null +++ b/On Server Files/Fronts/Com/xbroad.g.sk @@ -0,0 +1,18 @@ +command /crossmessage : + permission: obam.admin + trigger: + + forward command "crossbroad %argument%" to console + +command /xb : + permission: obam.admin + trigger: + + broadcast "&3[&6STAFF&3] &f%colored argument%" + forward command "crossbroad &3[&6STAFF&3] &f%argument%" to console + +command /crossbroad : + permission: obam.admin + trigger: + + broadcast "%colored argument%" \ No newline at end of file diff --git a/On Server Files/Fronts/Fronts/FIXIT.g.sk b/On Server Files/Fronts/Fronts/FIXIT.g.sk new file mode 100644 index 0000000..5be8a68 --- /dev/null +++ b/On Server Files/Fronts/Fronts/FIXIT.g.sk @@ -0,0 +1,28 @@ +#Tool Repair + +command /fixit: + executable by: players + trigger: + player's tool is not a sword or axe or pickaxe or shovel or bow or helmet or chestplate or leggings or boots: + message "&cYou may only repair Armour, Weapons or Tools!" to player + stop + lore of player's tool contains "&2StickyItem": + send "&cYou can not use FixIt on StickyItems!" + stop + set {_c.tool} to player's tool + set {_bal} to player's balance + {_bal} is less than 500: + send "&cYou do not have enough tickets to do this!" to player + stop + player's level is less than 30: + send "&cYou must have at least 30 levels to do this!" to player + stop + repair player's tool + reduce the player's level by 30 + remove 500 from player's balance + play "anvil use" at location of player with pitch 1 + send "&6&lThe Gods strike your tool!" to player + play "ambience thunder" at location of player with pitch 1 + send "&aYou have used &e500 Tickets&a to repair this tool" to player + send "&aYou have &e%player's balance%&a remaining" to player + log "%player%^%{_bal}%^DEDUCT^500^%player's balance%^FIXIT FEE" to "tickets/FIXIT.log" diff --git a/On Server Files/Fronts/Fronts/FTAS.g.sk b/On Server Files/Fronts/Fronts/FTAS.g.sk new file mode 100644 index 0000000..08b1970 --- /dev/null +++ b/On Server Files/Fronts/Fronts/FTAS.g.sk @@ -0,0 +1,20 @@ +#FTAS is short for Front Travel Assistance System. + + +on right click on sign: + + line 1 of block is "[Front]" or "Front" or "[FRONT]" + line 2 of block is "[Travel]" or "Travel" or "[TRAVEL]": + cancel event + set {_3.t} to "%line 3 of block%" + set {_4.t} to "%line 4 of block%" + make player execute command "/front travel %{_3.t}% %{_4.t}%" + stop + +on sign change: + line 1 is "front" or "Front": + set line 1 to "[FRONT]" + line 2 is "travel" or "Travel": + set line 2 to "[TRAVEL]" + line 4 is empty: + set line 4 to "%event-player%" diff --git a/On Server Files/Fronts/Fronts/abstain.sk b/On Server Files/Fronts/Fronts/abstain.sk new file mode 100644 index 0000000..34eaac7 --- /dev/null +++ b/On Server Files/Fronts/Fronts/abstain.sk @@ -0,0 +1,132 @@ +variables: + {abstain.%uuid of player%} = false + +command /abstain []: + permission: obam.free + trigger: + argument is not set: + send " " + send " &aYour Abstain status is currently &e%{abstain.%uuid of player%}%&a, you can change this by doing &e/abstain confirm&a. " + send " " + send "&aThis change will cost &e2500 Tickets&a." + send " " + set {abst.confirm.%player%} to now + stop + argument is "mod": + player has permission "obam.admin": + {abstain.%uuid of player%} is false: + set {abstain.%uuid of player%} to true + execute console command "perms player %player% set nametags.color.red false" + execute console command "perms player %player% set nametags.color.blue" + send "&aYou are now abstaining from PvP!" to player + send "&aYour Abstain status is now &e%{abstain.%uuid of player%}%" + stop + {abstain.%uuid of player%} is true: + set {abstain.%uuid of player%} to false + execute console command "perms player %player% set nametags.color.blue false" + execute console command "perms player %player% set nametags.color.red" + send "&aYou are now able to PvP!" to player + send "&aYour Abstain status is now &e%{abstain.%uuid of player%}%" + stop + argument is "confirm" or "c": + set {_hold} to difference between now and {abst.confirm.%player%} + {_hold} is greater than 30 seconds: + send "&cYou must do &e/abstain&a before doing the confirm command" + stop + {abstain.%uuid of player%} is not set: + set {abstain.%uuid of player%} to false + {abstain.%uuid of player%} is false: + set {_bal} to player's balance + {_bal} is less than 2500: + send "&cYou do not have enough tickets to perform this operation" + stop + remove 2500 from player's balance + set {abstain.%uuid of player%} to "wait abstain" + set {abstain.%uuid of player%.time} to now + send "&aYou have abstained from PvP. You will lose access to some features. You have paid a toll of &e2500 Tickets&a." + send "&aIt can take up to &e2 hours&a for your abstain feature to take affect." + send "&aYou know have &e%player's balance%&a." + stop + {abstain.%uuid of player%} is true: + set {_bal} to player's balance + {_bal} is less than 2500: + send "&cYou do not have enough tickets to perform this operation" + stop + remove 2500 from player's balance + set {abstain.%uuid of player%} to "wait pvp" + set {abstain.%uuid of player%.time} to now + send "&aYou are engaging in PvP. You will be susceptible to PvP fights. You have paid a toll of &e2500 Tickets&a." + send "&aIt can take up to &e2 Hours&a for your PvP entering process to take affect." + send "&aYou now have &e%player's balance%&a." + stop + + {abstain.%uuid of player%} is "wait pvp": + send "&cYou already have an Abstain process waiting. It can take up to 2 hours for this change to take an effect" + stop + {abstain.%uuid of player%} is "wait abstain": + send "&cYou already have an Abstain process waiting. It can take up to 2 hours for this change to take an effect" + stop + +on damage: + victim is a player + attacker is a player + {abstain.%uuid of victim%} is true: + cancel event + {abstain.%uuid of attacker%} is true: + send "&cYou can not engage in PvP while abstaining!" + cancel event + +every 1 hour: + loop all players: + {abstain.%uuid of loop-player%} is "wait pvp": + set {_hold} to difference between {abstain.%uuid of loop-player%.time} and now + {_hold} is more than 1 hour + set {abstain.%uuid of loop-player%} to false + execute console command "perms player %loop-player% set nametags.color.blue false" + execute console command "perms player %loop-player% set nametags.color.red" + send "&aYou are now able to PvP!" to loop-player + {abstain.%uuid of loop-player%} is "wait abstain": + set {_hold} to difference between {abstain.%uuid of loop-player%.time} and now + {_hold} is more than 1 hour + set {abstain.%uuid of loop-player%} to true + execute console command "perms player %loop-player% set nametags.color.red false" + execute console command "perms player %loop-player% set nametags.color.blue" + send "&aYou are now abstaining from PvP!" to loop-player + +on connect: + {abstain.%player%} is set: + set {abstain.%uuid of player%} to {abstain.%player%} + delete {abstain.%player%} + {abstain.%player%.time} is set: + set {abstain.%uuid of player%.time} to {abstain.%player%.time} + delete {abstain.%player%.time} + {abstain.%uuid of player%} is not set: + set{abstain.%uuid of player%} to false + player is "ISMOOCH": + stop + {abstain.%uuid of player%} is true: + player does not have permission "nametags.color.blue": + execute console command "perms player %player% set nametags.color.blue" + player has permission "nametags.color.red": + execute console command "perms player %player% set nametags.color.red false" + {abstain.%uuid of player%} is false: + player does not have permission "nametags.color.red": + execute console command "perms player %player% set nametags.color.red" + player has permission "nametags.color.blue": + execute console command "perms player %player% set nametags.color.blue false" + {abstain.%uuid of player%} is "wait pvp": + set {_hold} to difference between {abstain.%uuid of player%.time} and now + {_hold} is more than 1 hour: + set {abstain.%uuid of player%} to false + send "&aYou can now PvP!" + execute console command "perms player %player% set nametags.color.blue false" + execute console command "perms player %player% set nametags.color.red" + stop + {abstain.%uuid of player%} is "wait abstain": + set {_hold} to difference between {abstain.%uuid of player%.time} and now + {_hold} is more than 1 hour: + set {abstain.%uuid of player%} to true + send "&aYou are now abstaining from PvP!" + execute console command "perms player %player% set nametags.color.red false" + execute console command "perms player %player% set nametags.color.blue" + stop diff --git a/On Server Files/Fronts/Fronts/access.g.sk b/On Server Files/Fronts/Fronts/access.g.sk new file mode 100644 index 0000000..55959ec --- /dev/null +++ b/On Server Files/Fronts/Fronts/access.g.sk @@ -0,0 +1,90 @@ +on right click on a chest or a door or a anvil or a lever or a button or a wood button or a furnace or a jukebox or a dropper or a hopper or a brewing stand or a dispenser or a beacon or a trapdoor or a fence gate or a trapped chest or a enchantment table or a repeater or a redstone comparator or a ender chest or a note block: + {bypassland.%uuid of player%} is true: + stop + {chunk.live.%chunk at location of event-block%} is not event-player: + loop blocks in radius 2 of event-block: + loop-block is sign: + chunk at location of event-block is chunk at location of loop-block: + line 1 of loop-block is "[ACCESS]": + line 2 of loop-block is "%event-player%" or "everyone": + stop + line 4 of loop-block is "%event-player%" or "everyone": + stop + line 3 of loop-block is "%event-player%" or "everyone": + stop + event-block is a chest or a furnace or a dispenser or a hopper or a brewing stand or a dropper or a trapped chest or a beacon: + {flags.%chunk at location of event-block%::container::%uuid of player%} is not set: + set {flags.%chunk at location of event-block%::container::%uuid of player%} to false + {flags.%chunk at location of event-block%::container::everyone} is not set: + set {flags.%chunk at location of event-block%::container::everyone} to false + {flags.%chunk at location of event-block%::container::everyone} is false: + {flags.%chunk at location of event-block%::container::%uuid of player%} is true: + stop + {flags.%chunk at location of event-block%::container::everyone} is true: + stop + event-block is a door or a anvil or a note block or a lever or a button or a wood button or a jukebox or a trapdoor or a fence gate or a enchantment table or a redstone comparator or a repeater: + {flags.%chunk at location of event-block%::use::everyone} is not set: + set {flags.%chunk at location of event-block%::use::everyone} to false + {flags.%chunk at location of event-block%::use::%uuid of player%} is not set: + set {flags.%chunk at location of event-block%::use::%uuid of player%} to false + {flags.%chunk at location of event-block%::use::everyone} is false: + {flags.%chunk at location of event-block%::use::%uuid of player%} is true: + stop + {flags.%chunk at location of event-block%::use::everyone} is true: + stop + cancel event + send "&cYou do not have permission to do this." to event-player + +on right click on a anvil: + delete event-block + set event-block to anvil + +on sign change: + line 1 of block is "access" or "[access]": + set line 1 of block to "[ACCESS]" + +on bed enter: + {chunk.live.%chunk at location of event-block%} is not event-player: + {flags.%chunk at location of player%::use::everyone} is not set: + set {flags.%chunk at location of player%::use::everyone} to false + {flags.%chunk at location of player%::use::%uuid of player%} is not set: + set {flags.%chunk at location of player%::use::%uuid of player%} to false + {flags.%chunk at location of player%::use::everyone} is false: + {flags.%chunk at location of player%::use::%uuid of player%} is true: + stop + {flags.%chunk at location of player%::use::everyone} is true: + stop + cancel event + send "&cYou can not do that here!" to event-player + +on right click on painting or hopper minecart or storage minecart: + {bypassland.%uuid of player%} is true: + stop + {chunk.live.%chunk at location of block%} is not player: + {flags.%chunk at location of block%::build::everyone} is not set: + set {flags.%chunk at location of block%::build::everyone} to false + {flags.%chunk at location of block%::build::%uuid of player%} is not set: + set {flags.%chunk at location of block%::build::%uuid of player%} to false + {flags.%chunk at location of block%::build::everyone} is false: + {flags.%chunk at location of block%::build::%uuid of player%} is true: + stop + {flags.%chunk at location of block%::build::everyone} is true: + stop + message "&cThis land is owned by %{chunk.live.%chunk at location of block%}%." + cancel event + +on damage of a painting: + {bypassland.%uuid of attacker%} is true: + stop + {chunk.live.%chunk at location of attacker%} is not attacker: + {flags.%chunk at location of attacker%::build::everyone} is not set: + set {flags.%chunk at location of attacker%::build::everyone} to false + {flags.%chunk at location of attacker%::build::%uuid of attacker%} is not set: + set {flags.%chunk at location of attacker%::build::%uuid of attacker%} to false + {flags.%chunk at location of attacker%::build::everyone} is false: + {flags.%chunk at location of attacker%::build::%uuid of attacker%} is true: + stop + {flags.%chunk at location of attacker%::build::everyone} is true: + stop + message "&cThis land is owned by %{chunk.live.%chunk at location of attacker%}%." + cancel event diff --git a/On Server Files/Fronts/Fronts/backpack.g.sk b/On Server Files/Fronts/Fronts/backpack.g.sk new file mode 100644 index 0000000..f63eb73 --- /dev/null +++ b/On Server Files/Fronts/Fronts/backpack.g.sk @@ -0,0 +1,258 @@ +options: + crudepack: ink sack named "&3Crude Pack" with lore "&6Use /backpack to||&6finish crafting this item" + backpack: ink sack named "&3BackPack" + enderpack: ender pearl named "&3EnderPack" with lore "&6Open your Ender Chest||&6anywhere!|| ||&5&oRight Click to open||&5&oYour portable Ender Chest" + +on script load: + register new shaped recipe for {@crudepack} using emerald block, emerald block, emerald block, emerald block, ink sack, emerald block, emerald block, chest, emerald block + register new shaped recipe for {@enderpack} using air, air, air, emerald block, ender pearl, emerald block, air, ender chest, air + {count.backpacks} is not set: + set {count.backpacks} to 1 + +on craft of ink sack: + name of event-item is "&3Crude Pack" + send "&aPlease use &e/backpack&a, to activate this backpack!" + +command /backpack [] [] []: + aliases: bp + trigger: + argument 1 is "help" or "h": + message "&3--[&6&lBackpack Help&3]--" + message "&cRequired = [] Optional = ()" + message "&a * /backpack" + message "&7 Use while holding a Crude Pack to finish crafting a Backpack" + message "&a * /backpack [name] [namethatyouwant]" + message "&7 Use while holding a Backpack to rename it." + message "&a * /backpack [start]" + message "&7 Used by Admins to start chest placement in a new world." + message "&a * /backpack [missing] [number]" + message "&7 Used by Admins to create a backpack with a specific number." + message "&a * /backpack [fix] [number]" + message "&7 Used by Admins to fix a backpack if a chest glitches out." + message "&a * /backpack [give] [number]" + message "&7 Used by Admins to get Crude Packs if needed." + message "&a * /backpack [warning] [number]" + message "&7 Used by Admins to view warnings, no number for all." + message "&a * /backpack [warning] [delete] [number]" + message "&7 Used by Admins to remove specific warnings." + send " " + send " " + send "&6Developed for &7OBAMCraft &eBy: &aThe OBAM Mechanics" + send "&cV 1.0" + argument 1 is not set: + player has permission "obam.free": + player's tool is ink sack: + {backpack.spacestop} is true: + broadcast "&cWARNING: The magical land of Backpacks is bursting at the seams. Please notify the powers that be!" + stop + name of player's tool is "&3Backpack": + set {_lorecheck} to uncoloured lore of player's tool + set {_lorecheck::*} to {_lorecheck} split at "||" + {_lorecheck::2} is not set: + send "&cYou need to trade this item into a mod to receive a Crude Pack" to player + stop + {_lorecheck::2} is set: + send "&cThis backpack is already assigned" to player + stop + name of player's tool is "&3Crude Pack": + set {_lorecheck} to uncoloured lore of player's tool + set {_lorecheck::*} to {_lorecheck} split at "||" + {_lorecheck::2} is set: + remove {@crudepack} from player + player doesn't have space for a oak sapling: + message "&cWarning: You do not have space for this backpack. Please make room in your inventory." + give player {@crudepack} + stop + player has space for a oak sapling: + give player {@backpack} with lore "&8%{count.backpacks}%||&6Carry lots of extra stuff!|| ||&5&oRight click to open" + set {_loc} to {backpack.coordinate} + set {_chest.type} to {backpack.chest.type} + set block at location of {_loc} to {_chest.type} + {backpack.sign.count} is 1: + set {_sign} to the location 1 meter south of {_loc} + set block at location of {_sign} to wall sign:3 + set {_line} to block at location of {_sign} + set line 2 of {_line} to "%{count.backpacks}%" + add 1 to {backpack.sign.count} + {backpack.sign.count} is 21: + set {backpack.sign.count} to 1 + set {_chest} to block at {_loc} + set {loc.backpack.%{count.backpacks}%} to {_chest} + {loc.backpack.%{count.backpacks}%} is set: + send "&aBackpack ##%{count.backpacks}% created..." + {loc.backpack.%{count.backpacks}%} is not set: + send "&cError..." + add 1 to y-coordinate of {backpack.coordinate} + set {_height.check} to y-coordinate of {backpack.coordinate} + {_height.check} is 256: + set y-coordinate of {backpack.coordinate} to 1 + add 1 to x-coordinate of {backpack.coordinate} + set {backpack.sign.count} to 1 + set {_chest.type} to {backpack.chest.type} + {_chest.type} is chest: + set {backpack.chest.type} to trapped chest + {_chest.type} is trapped chest: + set {backpack.chest.type} to chest + set {_length.check} to x-coordinate of {backpack.coordinate} + {_length.check} is greater than 127: + set x-coordinate of {backpack.coordinate} to -127 + add 2 to z-coordinate of {backpack.coordinate} + set {_width.check} to z-coordinate of {backpack.coordinate} + {_width.check} is greater than 127: + set {backpack.spacestop} to true + add 1 to {count.backpacks} + stop + message "&cYou must have a &a&b&k&a&3Crude Pack &cin your hand to use this command!" + argument 1 is "name" or "n": + player has permission "obam.free": + argument 2 is not set: + message "&cPlease type a name in argument 2 to rename this bag." + argument 2 is set: + name of player's tool is "&3Crude Pack": + send "&cYou need to finish crafting this with /backpack first" + stop + name of player's tool is "&3BackPack": + set {_lorecheck} to uncoloured lore of player's tool + set {_lorecheck::*} to {_lorecheck} split at "||" + {_lorecheck::2} is not set: + send "&cYou need to trade this item into a mod to receive a Crude Pack" to player + stop + lore of player's tool contains "&eName:": + send "&cThis backpack already has a name!" + stop + the length of argument 2 is greater than 30: + send "&cThat name is too long!" + stop + set lore of player's tool to "%lore of player's tool%|| ||&eName:||&2%argument 2%" + send "&aName of backpack set to &2%argument 2%" + stop + message "&cYou must have a &a&b&k&a&3Backpack &cin your hand to use this command!" + argument 1 is "start" or "s": + player has permission "obam.admin": + world is "bagworld": + set {backpack.coordinate} to player's location + set x-coordinate of {backpack.coordinate} to -128 + set y-coordinate of {backpack.coordinate} to 1 + set z-coordinate of {backpack.coordinate} to -128 + message "Backpack Start set to %{backpack.coordinate}%" + set {backpack.sign.count} to 1 + set {backpack.chest.type} to chest + set {count.backpacks} to 1 + set {backpack.spacestop} to false + argument 1 is "missing" or "m": + player has permission "obam.smod": + argument 2 is not set: + message "&cPlease type a number in argument 2 to get that number of backpack." + argument 2 is set: + give player {@backpack} with lore "&8%argument 2%||&6Carry lots of extra stuff!|| ||&5&oRight click to open" + argument 1 is "fix" or "f": + player has permission "obam.admin": + argument 2 is not set: + message "&cPlease type a number in argument 2 to get that number of backpack." + argument 2 is set: + give player {@backpack} with lore "&8%argument 2%||&6Carry lots of extra stuff!|| ||&5&oRight click to open" + set {_loc} to {tie.backpack.%argument 2%} + set {_type.check} to the location 1 meter west of {_loc} + block at location of {_type.check} is trapped chest: + set block at location of {tie.backpack.%argument 2%} to chest + stop + set block at location of {tie.backpack.%argument 2%} to trapped chest + argument 1 is "give" or "g": + player has permission "obam.smod": + set {_qty} to argument 3 parsed as an integer + argument 2 is "crudepack": + player doesn't have space for {_qty} of {@crudepack}: + message "&cYou do not have room for this." + stop + give {_qty} of {@crudepack} to player + message "&aHere are your things." + stop + argument 2 is "enderpack": + player doesn't have space for {_qty} of {@enderpack}: + message "&cYou do not have room for this." + stop + give {_qty} of {@enderpack} to player + message "&aHere are your things." + stop + argument 1 is "warnings" or "w": + player has permission "obam.admin": + argument 2 is not set: + message "&aCurrent Backpack Warnings" + loop {warnings.backpacks::*}: + set {_num} to loop-index + set {_warn} to loop-value + message "&a%{_num}%. %{_warn}%" + stop + argument 2 is "delete" or "d": + argument 3 is not set: + message "&cPick a number." + stop + set {_num} to argument 3 + {warnings.backpacks::%{_num}%} does not exist: + message "&cWarning &f%{_num}% &cdoes not exist." + stop + delete {warnings.backpacks::%{_num}%} + message "&aDeleted warning &f%{_num}%" + stop + set {_num} to argument 3 + {warnings.backpacks::%{_num}%} does not exist: + message "&cWarning &f%{_num}% &cdoes not exist." + stop + message "&aSelected Backpack Warning" + message "&a%{_num}%. %{warnings.backpacks::%{_num}%}%" + stop +on join: + player has permission "obam.admin": + {warnings.backpacks::*} is set: + wait 4 seconds + message "&3There are Backpack warnings. Please contact &2ob1bob69" + +on right click with ink sack: + name of player's tool is "&3Backpack" or "&a&b&k&a&3Backpack": + set {_chest} to uncoloured lore of player's tool + set {_chest::*} to {_chest} split at "||" + {_chest::2} is not set: + send "&cYou need to trade this item into a mod to receive a Crude Pack" to player + stop + {loc.backpack.%{_chest::1}%} is not set: + send "&cChest is missing" + stop + {loc.backpack.%{_chest::1}%} is set: + block at location of {loc.backpack.%{_chest::1}%} is not chest or trapped chest: + send "&cChest is missing, contact &2ob1bob69 &cfor assistance" + set {_num} to size of {warnings.backpacks::*} + add 1 to {_num} + set {warnings.backpacks::%{_num}%} to "Chest %{_chest::1}% by %player% on %now%" + open {loc.backpack.%{_chest::1}%} to player + +on right click with ender pearl: + name of player's tool contains "&3EnderPack": + cancel event + open player's enderchest to player + +on shoot: + shooter's tool is ender pearl + name of shooter's tool contains "&3EnderPack": + cancel event + +#Diagnostics +command /backpackcord: + permission: obam.admin + trigger: + message "%{backpack.coordinate}%" + +command /backpackcount: + permission: obam.admin + trigger: + message "%{count.backpacks}%" + +command /backpackloc []: + permission: obam.admin + trigger: + argument 1 is not set: + message "%{loc.backpack.%{count.backpacks}%}%" + stop + set {_num} to argument 1 + message "%{loc.backpack.%{_num}%}%" + set {_loc} to location of {loc.backpack.%{_num}%} + message "%{_loc} %" \ No newline at end of file diff --git a/On Server Files/Fronts/Fronts/chestdeath.client.sk b/On Server Files/Fronts/Fronts/chestdeath.client.sk new file mode 100644 index 0000000..cb9ec14 --- /dev/null +++ b/On Server Files/Fronts/Fronts/chestdeath.client.sk @@ -0,0 +1,36 @@ +on death of a player: + {chunk.live.%chunk at location of player%} is set: + {chunk.live.%chunk at location of player%} is not player: + stop + {db_death.chest} is set: + set block at location of player to a chest + + set {_chest} to block at location of player + set block above {_chest} to cobblestone + set block above block east of {_chest} to cobblestone + set block above block above {_chest} to a sign + set {_sign} to block above block above {_chest} + set block at block east of {_chest} to chest + + loop drops: + lore of loop-item does not contain "StickyItem": + add loop-item to {_chest} + + + clear drops + + set line 1 of {_sign} to "%player%" + set line 2 of {_sign} to "Died here" + + wait 0.5 seconds + send "&aDeath Chests are currently active! Your items have been saved at &e%location of {_chest}%&a!" to player + log "CHEST DEATH at %location of {_chest}% -- %time% -- %player%" to "chestdeath.log" + +command /tombstone: + permission: obam.free + trigger: + + + send "Current TombStone Status:" + send "%{db_death.chest}%" + \ No newline at end of file diff --git a/On Server Files/Fronts/Fronts/chestdeath.main.sk b/On Server Files/Fronts/Fronts/chestdeath.main.sk new file mode 100644 index 0000000..8bc11e7 --- /dev/null +++ b/On Server Files/Fronts/Fronts/chestdeath.main.sk @@ -0,0 +1,122 @@ +every 1 second: + + set {_hold} to now + + {db_time.extend.death} is less than now: + + + + + + broadcast "&3&l۝TombStone: &dTombStone has Ended!" + execute console command "crossmessage &3&l۝TombStone: &dTombStone has Ended!" + clear {db_death.chest} + clear {db_time.extend.death} + + set {_diff} to difference between {db_time.extend.death} and now + + {_diff} is less than 15 minutes: + + {alert.death.lastminute} is not set: + set {alert.death.lastminute} to true + + broadcast "&3&l۝TombStone: &dLess than 15 minutes remaining of TombStone!" + execute console command "crossmessage &3&l۝TombStone: &dLess than 15 minutes remaining of TombStone!" + + + +on death of a player: + {db_death.chest} is set: + set block at location of player to a chest + + set {_chest} to block at location of player + set block above {_chest} to cobblestone + set block above block east of {_chest} to cobblestone + set block above block above {_chest} to a sign + set {_sign} to block above block above {_chest} + set block at block east of {_chest} to chest + + loop items in player's inventory: + lore of loop-item does not contain "StickyItem": + add loop-item to {_chest} + + + clear drops + + set line 1 of {_sign} to "%player%" + set line 2 of {_sign} to "Died here" + + wait 0.5 seconds + send "&aTombStone currently active! Your items have been saved at &e%location of {_chest}%&a!" to player + log "CHEST DEATH at %location of {_chest}% -- %time% -- %player%" to "chestdeath.log" + + +command /chestextended : + permission: obam.admin + trigger: + + {db_time.extend.death} is not set: + set {db_time.extend.death} to now + {db_deathstats.time.%argument 2%} is not set: + set {db_deathstats.time.%argument 2%} to 0 + + #Not meant to be a real option.. just for debugging + arg 1 is 5: + + add 5 minutes to {db_time.extend.death} + add 5 to {db_deathstats.time.%argument 2%} + + arg 1 is 30: + + add 30 minutes to {db_time.extend.death} + add 30 to {db_deathstats.time.%argument 2%} + + arg 1 is 60: + + add 1 hour to {db_time.extend.death} + add 60 to {db_deathstats.time.%argument 2%} + + arg 1 is 90: + + add 90 minutes to {db_time.extend.death} + add 90 to {db_deathstats.time.%argument 2%} + + arg 1 is 120: + + add 2 hours to {db_time.extend.death} + add 120 to {db_deathstats.time.%argument 2%} + + broadcast "&3&l۝TombStone &e%argument 2%&d has extended the TombStone Timer by &e%argument 1% Minutes&d!" + execute console command "crossmessage &3&l۝TombStone: &e%argument 2%&d has extended the TombStoneTimer by &e%argument 1% Minutes&d!" + + set {_diff} to difference between {db_time.extend.death} and now + + {db_death.chest} is not set: + set {db_death.chest} to true + + broadcast "&3&l۝TombStone: &e%{_diff}% &dremaining!" + execute console command "crossmessage &3&l۝TombStone: &e%{_diff}% &dremaining!" + clear {alert.death.lastminute} + + + + +command /deathchestclear: + permission: obam.admin + trigger: + + + clear {db_death.chest} + clear {db_time.extend.death} + clear {alert.death.lastminute} + + send "&3&l۝tombStone: &dTombStone Bonus Cleared" to console + send "&3&l۝TombStone: &dTombStone Bonus Cleared" + +command /tombstone: + permission: obam.free + trigger: + + + send "Current TombStone Status:" + send "%{db_death.chest}%" \ No newline at end of file diff --git a/On Server Files/Fronts/Fronts/ci.fronts.sk b/On Server Files/Fronts/Fronts/ci.fronts.sk new file mode 100644 index 0000000..d8ec6a6 --- /dev/null +++ b/On Server Files/Fronts/Fronts/ci.fronts.sk @@ -0,0 +1,67 @@ +on script load: + delete {db_ci.items::*} + set {db_ci.items::01.Crude Pack} to "ink sack;&a&b&k&a&3Crude Pack;&6The crude version of||&6the backpack;sudo PLAYER bp g crudepack 1" + set {db_ci.items::02.Ender Pack} to "ender pearl;&a&b&k&a&3EnderPack;&6Open your Ender Chest||&6anywhere!|| ||&5&oRight Click to open||&5&oYour portable Ender Chest;sudo PLAYER bp g enderpack 1" + set {db_ci.items::03.capture.ball} to "snowball;&3Projeggtile Capture Ball;&6Capture the essence of various creatures||&6by tossing your balls at them.;sudo PLAYER cb capture 1" + set {db_ci.items::04.creeper.ball} to "snowball;&3Projeggtile &2Creeper &3Ball;&6Heavily reinforced to prevent even the||&6most explosive creepers from escaping!;sudo PLAYER cb creeper 1" + set {db_ci.items::05.skeleton.ball} to "snowball;&3Projeggtile &7Skeleton &3Ball;&6An ironic prison of bones made to hold||&6a skeleton, made from its own kin!;sudo PLAYER cb skeleton 1" + set {db_ci.items::06.zombie.ball} to "snowball;&3Projeggtile &aZombie &3Ball;&6Layered in flesh to make even the||&6loneliest zombie feel at home!;sudo PLAYER cb zombie 1" + set {db_ci.items::07.pigman.ball} to "snowball;&3Projeggtile &aZombie &dPigman &3Ball;&6A containment area with a nugget inside||&6to lure and keep the pigman content!;sudo PLAYER cb pigman 1" + set {db_ci.items::08.spider.ball} to "snowball;&3Projeggtile &4Spider &3Ball;&6Tangles an eight legged bugger||&6into a silky woven sack!;sudo PLAYER cb spider 1" + set {db_ci.items::09.blank} to "air" + set {db_ci.items::10.Crude Pack} to "16 ink sack;&a&b&k&a&3Crude Pack;&6The crude version of||&6the backpack;sudo PLAYER bp g crudepack 16" + set {db_ci.items::11.Ender Pack} to "16 ender pearl;&a&b&k&a&3EnderPack;&6Open your Ender Chest||&6anywhere!|| ||&5&oRight Click to open||&5&oYour portable Ender Chest;sudo PLAYER bp g enderpack 16" + set {db_ci.items::12.capture.ball} to "16 snowball;&3Projeggtile Capture Ball;&6Capture the essence of various creatures||&6by tossing your balls at them.;sudo PLAYER cb capture 16" + set {db_ci.items::13.creeper.ball} to "16 snowball;&3Projeggtile &2Creeper &3Ball;&6Heavily reinforced to prevent even the||&6most explosive creepers from escaping!;sudo PLAYER cb creeper 16" + set {db_ci.items::14.skeleton.ball} to "16 snowball;&3Projeggtile &7Skeleton &3Ball;&6An ironic prison of bones made to hold||&6a skeleton, made from its own kin!;sudo PLAYER cb skeleton 16" + set {db_ci.items::15.zombie.ball} to "16 snowball;&3Projeggtile &aZombie &3Ball;&6Layered in flesh to make even the||&6loneliest zombie feel at home!;sudo PLAYER cb zombie 16" + set {db_ci.items::16.pigman.ball} to "16 snowball;&3Projeggtile &aZombie &dPigman &3Ball;&6A containment area with a nugget inside||&6to lure and keep the pigman content!;sudo PLAYER cb pigman 16" + set {db_ci.items::17.spider.ball} to "16 snowball;&3Projeggtile &4Spider &3Ball;&6Tangles an eight legged bugger||&6into a silky woven sack!;sudo PLAYER cb spider 16" + set {db_ci.items::18.blank} to "air" + set {db_ci.items::19.Crude Pack} to "64 ink sack;&a&b&k&a&3Crude Pack;&6The crude version of||&6the backpack;sudo PLAYER bp g crudepack 64" + set {db_ci.items::20.Ender Pack} to "64 ender pearl;&a&b&k&a&3EnderPack;&6Open your Ender Chest||&6anywhere!|| ||&5&oRight Click to open||&5&oYour portable Ender Chest;sudo PLAYER bp g enderpack 64" + set {db_ci.items::21.TA} to "diamond axe;&a&b&k&a&3Timber Axe;&6This axe makes all logs within a 10 block radius||&6go timber!;sudo PLAYER timber" + set {db_ci.items::22.LB} to "bow;&3Bow of Light;&6Light your way from afar||&6with this magical bow.|| ||&c-1 Torch Per Use;sudo PLAYER lightbow" + set {db_ci.items::23.HTP} to "diamond pickaxe;&a&b&k&a&3HotTouch Pickaxe;&6A pickaxe forged from the heart of the Nether||&6with an intense heat to smelt ores while mining.;sudo PLAYER ht pick" + set {db_ci.items::24.HTA} to "diamond axe;&a&b&k&a&3HotTouch Axe;&6An axe forged from the heart of the Nether||&6with an intense heat to cook logs into charcoal||&6while chopping.;sudo PLAYER ht axe" + set {db_ci.items::25.HTS} to "diamond shovel;&a&b&k&a&3HotTouch Shovel;&6A shovel forged from the heart of the Nether||&6with an intense heat to cook sand clay and||&6cactus while digging.;sudo PLAYER ht shovel" + set {db_ci.items::26.blank} to "air" + set {db_ci.items::27.blank} to "air" + set {db_ci.items::28.FMA.helmet} to "diamond helmet;&7FMA Helmet;&6Standard issue FMA gear;sudo PLAYER fmagear helmet" + set {db_ci.items::29.FMA.chest} to "diamond chestplate;&7FMA Chestplate;&6Standard issue FMA gear;sudo PLAYER fmagear chest" + set {db_ci.items::30.FMA.leggings} to "diamond leggings;&7FMA Leggings;&6Standard issue FMA gear;sudo PLAYER fmagear leggings" + set {db_ci.items::31.FMA.boots} to "diamond boots;&7FMA Boots;&6Standard issue FMA gear;sudo PLAYER fmagear boots" + set {db_ci.items::32.FMA.sword} to "diamond sword;&7FMA Sword;&6Standard issue FMA gear;sudo PLAYER fmagear sword" + set {db_ci.items::33.FMA.bow} to "bow;&7FMA Bow;&6Standard issue FMA gear;sudo PLAYER fmagear bow" + set {db_ci.items::34.FMA.arrows} to "64 arrow;&7FMA Arrows;&6Standard issue FMA gear;sudo PLAYER fmagear arrows" + set {db_ci.items::35.FMA.apples} to "64 apple;&7FMA Apples;&6Standard issue FMA gear;sudo PLAYER fmagear apples" + +command /ci: + permission: obam.smod + trigger: + loop {db_ci.items::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lOBAM Custom Items Menu" to player + wait 1 tick + set {_count} to 0 + loop {db_ci.items::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} \ No newline at end of file diff --git a/On Server Files/Fronts/Fronts/disenchant.g.sk b/On Server Files/Fronts/Fronts/disenchant.g.sk new file mode 100644 index 0000000..5bff46c --- /dev/null +++ b/On Server Files/Fronts/Fronts/disenchant.g.sk @@ -0,0 +1,24 @@ +command /unenchant: + executable by: players + permission: obam.free + aliases: /disenchant + trigger: + player's tool is enchanted: + player's tool is not a sword or axe or pickaxe or shovel or bow or helmet or chestplate or leggings or boots: + message "&cYou may only disenchant Armour, Weapons or Tools!" to player + stop + set {_bal} to player's balance + {_bal} is less than 200: + send "&cYou do not have enough tickets to do this!" to player + stop + player's level is less than 15: + send "&cYou must have at least 15 levels to do this!" to player + stop + disenchant player's tool + reduce the player's level by 15 + remove 200 from player's balance + send "&6&lThe Gods have taken their gifts back!" to player + send "&aYou have used &e200 Tickets&a to disenchant this tool" to player + send "&aYou have &e%player's balance%&a remaining" to player + log "%player%^%{_bal}%^DEDUCT^200^%player's balance%^DISENCHANT FEE" to "tickets/disenchant.log" + stop diff --git a/On Server Files/Fronts/Fronts/dragonegg.g.sk b/On Server Files/Fronts/Fronts/dragonegg.g.sk new file mode 100644 index 0000000..e55ec5e --- /dev/null +++ b/On Server Files/Fronts/Fronts/dragonegg.g.sk @@ -0,0 +1,7 @@ +on flow: + block is a dragon egg: + cancel event + +on block physics: + block is a dragon egg: + cancel event diff --git a/On Server Files/Fronts/Fronts/entcount.g.sk b/On Server Files/Fronts/Fronts/entcount.g.sk new file mode 100644 index 0000000..8fe85ec --- /dev/null +++ b/On Server Files/Fronts/Fronts/entcount.g.sk @@ -0,0 +1,74 @@ +command /ent []: + permission: obam.free + description: Counts the living entities in a sphere of specified radius around player + trigger: + {cool.ent.%player%} is not set: + set {cool.ent.%player%} to difference between now and now + add 3 seconds to {cool.ent.%player%} + set {_hold} to difference between now and {cool.ent.%player%} + {_hold} is less than 2 seconds: + send "&cPlease wait ...." + stop + argument is not set: + loop entities in radius 254 of player: + loop-entity is not a player + chunk at location of loop-entity is chunk at location of player + set {_type} to "%type of loop-entity%" + set {_hold::*} to {_type} split at ":" + {_count.list::%{_hold::1}%} is not set: + set {_count.list::%{_hold::1}%} to 0 + set {_count.list::%{_hold::1}%} to {_count.list::%{_hold::1}%} + 1 + {_count.total} is not set: + set {_count.total} to 0 + add 1 to {_count.total} + {_count.total} is not set: + send "&eNo entites... MAGIC!" + stop + send "&aThere are currently &e%{_count.total}%&a entities in chunk &e%player's chunk%" + send "&aList:" + loop {_count.list::*}: + send "&a%loop-index%: &e%loop-value%" + set {cool.ent.%player%} to now + stop + argument is greater than 254: + send "&cPlease choose a number between &e1 &cand &e254" + stop + loop entities in radius argument of player's location: + loop-entity is not a player + set {_type} to "%type of loop-entity%" + set {_hold::*} to {_type} split at ":" + {_count.list::%{_hold::1}%} is not set: + set {_count.list::%{_hold::1}%} to 0 + set {_count.list::%{_hold::1}%} to {_count.list::%{_hold::1}%} + 1 + {_count.total} is not set: + set {_count.total} to 0 + add 1 to {_count.total} + {_count.total} is not set: + send "&eNo entites... MAGIC!" + stop + send "&aThere are currently &e%{_count.total}%&a entities in the radius of &e%argument%" + send "&aList:" + loop {_count.list::*}: + send "&a%loop-index%: &e%loop-value%" + set {cool.ent.%player%} to now + +command /entworld: + permission: obam.admin + trigger: + loop entities in player's world: + loop-entity is not a player + set {_type} to "%type of loop-entity%" + set {_hold::*} to {_type} split at ":" + {_count.list::%{_hold::1}%} is not set: + set {_count.list::%{_hold::1}%} to 0 + set {_count.list::%{_hold::1}%} to {_count.list::%{_hold::1}%} + 1 + {_count.total} is not set: + set {_count.total} to 0 + add 1 to {_count.total} + {_count.total} is not set: + send "&eNo entites... MAGIC!" + stop + send "&aThere are currently &e%{_count.total}%&a entities in world &e%player's world%" + send "&aList:" + loop {_count.list::*}: + send "&a%loop-index%: &e%loop-value%" diff --git a/On Server Files/Fronts/Fronts/flags.g.sk b/On Server Files/Fronts/Fronts/flags.g.sk new file mode 100644 index 0000000..0783ec7 --- /dev/null +++ b/On Server Files/Fronts/Fronts/flags.g.sk @@ -0,0 +1,222 @@ +on script load: + delete {db_flags::*} + set {db_flags::01.header.admin} to "nether star;&3Admin Flag;&6Click this icon to open the &eAdmin &6flags menu.||&6Or enable/disable all flags with the button below.;sudo PLAYER flags menu admin WHO" + set {db_flags::02.header.build} to "diamond pickaxe;&3Build Flag;&6Click this icon to open the &eBuild &6flags menu.||&6Or enable/disable all flags with the button below;sudo PLAYER flags menu build WHO" + set {db_flags::03.header.use} to "stone button;&3Use Flag;&6Click this icon to open the &eUse &6flags menu.||&6Or enable/disable all flags with the button below;sudo PLAYER flags menu use WHO" + set {db_flags::04.header.container} to "chest;&Container Flag;&6Click this icon to open the &eContainer &6flags menu.||&6Or enable/disable all flags with the button below.;sudo PLAYER flags menu container WHO" + set {db_flags::05.header.bucket} to "bucket;&3Bucket Flag;&6Click this icon to open the &eBucket &6flags menu.||&6Or enable/disable all flags with the button below.;sudo PLAYER flags menu bucket WHO" + set {db_flags::06.header.teleport} to "portal;&3Teleport Flag;&6Click this icon to open the &eTeleport &6flags menu.||&6Or enable/disable all flags with the button below.;sudo PLAYER flags menu teleport WHO" + set {db_flags::07.header.entity} to "sheep spawn egg;&3Entity Flag;&6Click this icon to open the &eEntity &6flags menu.||&6Or enable/disable all flags with the button below.;sudo PLAYER flags menu entity WHO" + set {db_flags::08.header.all} to "lever;&3All Flags;&6Click the button below to disable/enable all flags.||&6If any flag is enabled, it will disable all flags." + set {db_flags::09.header.front} to "grass;&3Front Settings;&6Click this icon to open the &Front Settings &6menu.||&6Or enable/disable all flags with the button below.;sudo PLAYER flags menu front WHO" + set {db_flags::01.admin.null} to "air" + set {db_flags::01.build.null} to "air" + set {db_flags::01.use.usedoor} to "wooden door;&3Use - Door;&6Click the button below to disable/enable||&6the &eDoor Use&6 flag for this front." + set {db_flags::02.use.useanvil} to "anvil;&3Use - Anvil;&6Click the button below to disable/enable||&6the &eAnvil Use&6 flag for this front." + set {db_flags::03.use.usenote} to "note block;&3Use - Noteblock;&6Click the button below to disable/enable||&6the &eNoteblock Use&6 flag for this front." + set {db_flags::04.use.usejuke} to "jukebox;&3Use - Jukebox;&6Click the button below to disable/enable||&6the &eJukebox Use&6 flag for this front." + set {db_flags::05.use.uselever} to "lever;&3Use - Lever;&6Click the button below to disable/enable||&6the &eLever Use&6 flag for this front." + set {db_flags::06.use.usestonebutton} to "stone button;&3Use - Stone Button;&6Click the button below to disable/enable||&6the &eStone Button Use&6 flag for this front." + set {db_flags::07.use.usewoodbutton} to "wood button;&3Use - Wood Button;&6Click the button below to disable/enable||&6the &eWood Button Use&6 flag for this front." + set {db_flags::08.use.usetrap} to "trapdoor;&3Use - Trap Door;&6Click the button below to disable/enable||&6the &eTrap Door Use&6 flag for this front." + set {db_flags::09.use.usefence} to "fence gate;&3Use - Fence Gate;&6Click the button below to disable/enable||&6the &eFence Gate Use&6 flag for this front." + set {db_flags::10.use.useenchant} to "enchantment table;&3Use - Enchantment Table;&6Click the button below to disable/enable||&6the &eEnchantment Table Use&6 flag for this front." + set {db_flags::11.use.usecomparator} to "redstone comparator;&3Use - Comparator;&6Click the button below to disable/enable||&6the &eComparator Use&6 flag for this front." + set {db_flags::12.use.userepeater} to "repeater;&3Use - Repeater;&6Click the button below to disable/enable||&6the &eRepeater Use&6 flag for this front." + set {db_flags::01.container.conchest} to "chest;&3Container - Chest;&6Click the button below to disable/enable||&6the &eChest Container&6 flag for this front." + set {db_flags::02.container.confurnace} to "furnace;&3Container - Furnace;&6Click the button below to disable/enable||&6the &eFurnace Container&6 flag for this front." + set {db_flags::03.container.condispenser} to "dispenser;&3Container - Dispenser;&6Click the button below to disable/enable||&6the &eDispenser Container&6 flag for this front." + set {db_flags::04.container.conhopper} to "hopper;&3Container - Hopper;&6Click the button below to disable/enable||&6the &eHopper Container&6 flag for this front." + set {db_flags::05.container.conbrewing} to "brewing stand;&3Container - Brewing Stand;&6Click the button below to disable/enable||&6the &eBrewing Stand Container&6 flag for this front." + set {db_flags::06.container.condropper} to "dropper;&3Container - Dropper;&6Click the button below to disable/enable||&6the &eDropper Container&6 flag for this front." + set {db_flags::07.container.contrapped} to "trapped chest;&3Container - Trapped Chest;&6Click the button below to disable/enable||&6the &eTrapped Chest Container&6 flag for this front." + set {db_flags::08.container.conbeacon} to "beacon;&3Container - Beacon;&6Click the button below to disable/enable||&6the &eBeacon Container&6 flag for this front." + set {db_flags::01.bucket.bucketwater} to "water bucket;&3Bucket Flag - Water;&6Click the button below to disable/enable||&6the &eWater Bucket&6 flag for this front." + set {db_flags::02.bucket.bucketlava} to "lava bucket;&3Bucket Flag - Lava;&6Click the button below to disable/enable||&6the &eLava Bucket&6 flag for this front." + set {db_flags::01.teleport.null} to "air" + set {db_flags::01.entity.null} to "air" + set {db_flags::01.front.frontflow} to "water;&3Flow;&6Click the button below to disable/enable||&6the &eFlow&6 flag for this front." + set {db_flags::02.front.frontfirespread} to "fire;&3Firespread;&6Click the button below to disable/enable||&6the &eFirespread&6 flag for this front." + set {db_flags::03.front.fronttnt} to "tnt;&3TNT;&6Click the button below to disable/enable||&6the &eTNT&6 flag for this front." + +on join: + {flag.reset.%uuid of player%} is not set: + wait 10 seconds + {owned.chunks.%uuid of player%::*} is set: + loop {owned.chunks.%uuid of player%::*}: + set {_chunk} to loop-index-1 + loop {flags.%{_chunk}%::*}: + delete {flags.%{_chunk}%::loop-index-2::*} + delete {flags.%{_chunk}%::*} + set {flag.reset.%uuid of player%} to false + message "&cAttention: &6All flags have been deleted." + +command /flags [] [] []: + permission: obam.free + trigger: + {chunk.live.%chunk at location of player%} is not set: + send "&cThis land has not been claimed yet!" + stop + argument 1 is not set: + set {_task} to menu + set {_what} to header + set {_who} to Everyone + argument 1 is not "menu" or "set" or "list": + {db_name.%argument 1%} does not exist: + message "&cThat player does not exist." + stop + set {_task} to menu + set {_what} to header + set {_who} to argument 1 + set {_task} to argument 1 + set {_what} to argument 2 + set {_who} to argument 3 + set {_who.uuid} to {db_name.%{_who}%} + {_task} is "menu": + loop {db_flags::*}: + set {_decode1::*} to loop-index split at "." + set {_sub} to {_decode1::3} + {_sub} is "null": + send "&c&lThis feature is being worked on and will be here soon!" + stop + set {_prim} to {_decode1::2} + {_count} is not set: + set {_count} to 0 + {_prim} contains "{_what}": + add 1 to {_count} + {_count} is less than 10: + set {_size} to 2 + {_count} is greater than 9: + set {_size} to 4 + {_count} is greater than 18: + set {_size} to 6 + {_count} is greater than 27: + set {_size} to 8 + show chest with {_size} row named "&9&lOBAM %{_what}% Flags Menu" to player + wait 1 tick + loop {db_flags::*}: + set {_decode2::*} to loop-index-1 split at "." + set {_prim} to {_decode2::2} + {_prim} is {_what}: + set {_slot} to {_decode2::1} parsed as integer + subtract 1 from {_slot1} + set {_slot2} to 9 + {_slot1} + set {_sub} to {_decode2::3} + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + replace "WHO" in {_command} with "%{_who}%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_slot1} of player with {_what} to be unstealable + {_command} is set: + format slot {_slot1} of player with {_what} to close then run {_command} + {_sub} is "all": + loop {db_flags::*}: + set {_decode3::*} to loop-index-2 split at "." + set {_sub1} to {_decode3::3} + {flags.%chunk at location of player%::%{_sub1}%::%{_who.uuid}%} is true: + set {_any.check} to true + {_any.check} is set: + set {_state1} to light green wool parsed as an item + set {_state2} to "&aEnabled" + set {_state3} to "&6Click to &cDisable &6all flags for &e%{_who}%." + set {_state4} sudo %player% flags set all %{_who}% + {_any.check} is not set: + set {_state1} to red wool parsed as an item + set {_state2} to "&cDisabled" + set {_state3} to "&6Click to &aEnable &6all flags for &e%{_who}%." + set {_state4} sudo %player% flags set all %{_who}% + {_sub} is "front" or "flow" or "firespread" or "tnt": + {flags.%chunk at location of player%::%{_sub}%} is not set: + set {flags.%chunk at location of player%::%{_sub}%} to false + {flags.%chunk at location of player%::%{_sub}%} is true: + set {_state1} to light green wool parsed as an item + set {_state2} to "&aEnabled" + set {_state3} to "&6Click to &cDisable &6the &e%{_sub}% &6flag for &e%{_who}%." + set {_state4} sudo %player% flags set %{_sub}% %{_who}% + {flags.%chunk at location of player%::%{_sub}%} is false: + set {_state1} to red wool parsed as an item + set {_state2} to "&cDisabled" + set {_state3} to "&6Click to &aEnable &6the &e%{_sub}% &6flag for &e%{_who}%." + set {_state4} sudo %player% flags set %{_sub}% %{_who}% + {_sub} is not "front" or "flow" or "firespread" or "tnt": + {flags.%chunk at location of player%::%{_sub}%::%{_who.uuid}%} is not set: + set {flags.%chunk at location of player%::%{_sub}%::%{_who.uuid}%} to false + {flags.%chunk at location of player%::%{_sub}%::%{_who.uuid}%} is true: + set {_state1} to light green wool parsed as an item + set {_state2} to "&aEnabled" + set {_state3} to "&6Click to &cDisable &6the &e%{_sub}% &6flag for &e%{_who}%." + set {_state4} sudo %player% flags set %{_sub}% %{_who}% + {flags.%chunk at location of player%::%{_sub}%::%{_who.uuid}%} is false: + set {_state1} to red wool parsed as an item + set {_state2} to "&cDisabled" + set {_state3} to "&6Click to &aEnable &6the &e%{_sub}% &6flag for &e%{_who}%." + set {_state4} sudo %player% flags set %{_sub}% %{_who}% + set {_what2} to {_state1} named {_state2} with lore {_state3} + format slot {_slot2} of player with {_what2} to be unstealable + format slot {_slot2} of player with {_what2} to close then run {_state4} + {_task} is "set": + {chunk.live.%chunk at location of player%} is not player: + {flags.%chunk at location of player%::admin::%uuid of player%} is not set: + set {flags.%chunk at location of player%::admin::%uuid of player%} to false + {flags.%chunk at location of player%::admin::%uuid of player%} is false: + send "&cYou do not have permission to do this!" + stop + {flags.%chunk at location of player%::admin::everyone} is not set: + set {flags.%chunk at location of player%::admin::everyone} to false + {flags.%chunk at location of player%::admin::everyone} is false: + send "&cYou do not have permission to do this!" + stop + {_what} is "front" or "flow" or "firespread" or "tnt": + {flags.%chunk at location of player%::%{_what}%} is true: + set {flags.%chunk at location of player%::%{_what}%} to false + send "&cYou have disabled the &e%{_what}%&c flag on this &eFront" + stop + {flags.%chunk at location of player%::%{_what}%} is false: + set {flags.%chunk at location of player%::%{_what}%} to true + send "&aYou have enabled the &e%{_what}%&a flag on this &eFront" + stop + {_what} is "all": + set {_clear} to false + loop {db_flags::*}: + set {_decode4::*} to loop-index split at "." + set {_sub2} to {_decode4::3} + {flags.%chunk at location of player%::%{_sub2}%::%{_who.uuid}%} is true: + set {_clear} to true + loop {db_flags::*}: + set {_decode5::*} to loop-index split at "." + set {_sub3} to {_decode5::3} + set {flags.%chunk at location of player%::%{_sub3}%::%{_who.uuid}%} to {_clear} + {_clear} is true: + send "&cYou have disabled &eAll&c flags for &e%{_who}%" + stop + send "&aYou have enabled &eAll&a flags for &e%{_who}%" + stop + {flags.%chunk at location of player%::%{_what}%::%{_who.uuid}%} is false: + set {flags.%chunk at location of player%::%{_what}%::%{_who.uuid}%} to true + send "&aEnabled &e%{_what}%&a flag for &e%{_who}%" + stop + {flags.%chunk at location of player%::%{_what}%::%{_who.uuid}%} is true: + set {flags.%chunk at location of player%::%{_what}%::%{_who.uuid}%} to false + send "&cDisabled &e%{_what}%&c flag for &e%{_who}%" + stop + {_task} is "list": + {_what} is not set: + send "&cPlease specify a flag." + stop + send "&aActive users for &e%{_what}% &aflag:" + loop {flags.%chunk at location of player%::%{_what}%::*}: + loop-value is true + send "&a%{db_master.uuid::%loop-index%}%" + stop + send "&cPlease check your command and try again." + stop + +command /forceadmin: + permission: obam.smod + trigger: + set {flags.%chunk at location of player%::admin::%uuid of player%} to true + send "&aYou now have the admin flag for this chunk owned by &e%{db_master.uuid::%{chunk.live.%chunk at location of block%}%}%&a." diff --git a/On Server Files/Fronts/Fronts/flow.g.sk b/On Server Files/Fronts/Fronts/flow.g.sk new file mode 100644 index 0000000..2ca707e --- /dev/null +++ b/On Server Files/Fronts/Fronts/flow.g.sk @@ -0,0 +1,20 @@ +on flow: + {flags.%chunk at event-location%::frontflow} is set: + {flags.%chunk at event-location%::frontflow} is false: + cancel event + {flags.%chunk at event-location%::frontflow} is true: + stop + +on ignition: + {flags.%chunk at event-location%::frontfirespread} is set: + {flags.%chunk at event-location%::frontfirespread} is false: + cancel event + {flags.%chunk at event-location%::frontfirespread} is true: + stop + +on burn: + {flags.%chunk at event-location%::frontfirespread} is set: + {flags.%chunk at event-location%::frontfirespread} is false: + cancel event + {flags.%chunk at event-location%::frontfirespread} is true: + stop diff --git a/On Server Files/Fronts/Fronts/fma.sk b/On Server Files/Fronts/Fronts/fma.sk new file mode 100644 index 0000000..68fc544 --- /dev/null +++ b/On Server Files/Fronts/Fronts/fma.sk @@ -0,0 +1,794 @@ +on script load: + {hostilemobs::creeper} is set: + delete {hostilemobs::creeper} + {hostilemobs::spider} is not set: + set {hostilemobs::spider} to spider + {hostilemobs::zombie} is not set: + set {hostilemobs::zombie} to zombie + {hostilemobs::skeleton} is not set: + set {hostilemobs::skeleton} to skeleton + {hostilemobs::slime} is not set: + set {hostilemobs::slime} to slime + {hostilemobs::zombiepigman} is not set: + set {hostilemobs::zombiepigman} to zombie pigman + {hostilemobs::cavespider} is not set: + set {hostilemobs::cavespider} to cave spider + {hostilemobs::silverfish} is not set: + set {hostilemobs::silverfish} to silverfish + {hostilemobs::blaze} is not set: + set {hostilemobs::blaze} to blaze + {hostilemobs::magmacube} is not set: + set {hostilemobs::magmacube} to magma cube + {hostilemobs::witch} is not set: + set {hostilemobs::witch} to witch + {hostilemobs::witherskeleton} is not set: + set {hostilemobs::witherskeleton} to wither skeleton + {hostilemobsproper::creeper} is set: + delete {hostilemobsproper::creeper} + {hostilemobsproper::spider} is not set: + set {hostilemobsproper::spider} to spider + {hostilemobsproper::zombie} is not set: + set {hostilemobsproper::zombie} to zombie + {hostilemobsproper::skeleton} is not set: + set {hostilemobsproper::skeleton} to skeleton + {hostilemobsproper::slime} is not set: + set {hostilemobsproper::slime} to slime + {hostilemobsproper::zombiepigman} is not set: + set {hostilemobsproper::zombiepigman} to zombie pigman + {hostilemobsproper::cavespider} is not set: + set {hostilemobsproper::cavespider} to cave spider + {hostilemobsproper::silverfish} is not set: + set {hostilemobsproper::silverfish} to silverfish + {hostilemobsproper::blaze} is not set: + set {hostilemobsproper::blaze} to blaze + {hostilemobsproper::magmacube} is not set: + set {hostilemobsproper::magmacube} to magma cube + {hostilemobsproper::witch} is not set: + set {hostilemobsproper::witch} to witch + {hostilemobsproper::witherskeleton} is not set: + set {hostilemobsproper::witherskeleton} to wither skeleton + {hostilemobsproper::wither} is set: + delete {hostilemobsproper::wither} + {hostilemobsproper::ghast} is not set: + set {hostilemobsproper::ghast} to ghast + +command /spawntoggle: + permission: obam.smod + trigger: + {spawn.mobarena} is not set: + set {spawn.mobarena} to false + send "&aNatural Spawns are now off in the &eMob Arena" + stop + {spawn.mobarena} is true: + set {spawn.mobarena} to false + send "&aNatural Spawns are now off in the &eMob Arena" + stop + {spawn.mobarena} is false: + set {spawn.mobarena} to true + send "&aNatural Spawns are now on in the &eMob Arena" + stop + +on burn of coal block: + {chunk.live.%chunk at location of block%} is "MobArena-BattleFloor": + cancel event + +command /fmaspawn [] []: + permission: obam.smod + trigger: + argument 1 is "random": + argument 2 is "random": + argument 3 is "random": + set {_ran} to a random integer between 1 and 30 + set {spawncheck.ok} to true + loop {_ran} times: + set {_ranmob} to random element of {hostilemobs::*} + set {_ranname} to random element of {rannames::*} + + spawn {_ranmob} at location of player + + set display name of spawned entity to "&c%{_ranname}%" + set {spawncheck.ok} to false + stop + argument 3 is set: + loop {rannames::*}: + argument 3 is loop-value + set {_found} to true + {_found} is not set: + add argument 3 to {rannames::*} + set {_ran} to a random integer between 1 and 30 + set {spawncheck.ok} to true + loop {_ran} times: + set {_ranmob} to random element of {hostilemobs::*} + spawn {_ranmob} at location of player + set display name of spawned entity to "&c%argument 3%" + set {spawncheck.ok} to false + stop + argument 3 is not set: + set {_ran} to random integer between 1 and 30 + set {spawncheck.ok} to true + loop {_ran} times: + set {_ranmob} to random element of {hostilemobs::*} + spawn {_ranmob} at location of player + set {spawncheck.ok} to false + stop + argument 2 is not "random": + argument 2 is set: + set {_amount} to argument 2 parsed as number + {_amount} is not set: + parse error is set: + send "&c%last parse error%" + stop + argument 3 is "random": + set {spawncheck.ok} to true + loop {_amount} times: + set {_ranmob} to random element of {hostilemobs::*} + set {_ranname} to random element of {rannames::*} + spawn {_ranmob} at location of player + set display name of spawned entity to "&c%{_ranname}%" + set {spawncheck.ok} to false + stop + argument 3 is set: + loop {rannames::*}: + argument 3 is loop-value: + set {_found} to true + {_found} is not set: + add argument 3 to {rannames::* + set {spawncheck.ok} to true + loop {_amount} times: + set {_ranmob} to random element of {hostilemobs::*} + spawn {_ranmob} at location of player + set display name of spawned entity to "&c%argument 3%" + set {spawncheck.ok} to false + stop + argument 3 is not set: + set {spawncheck.ok} to true + loop {_amount} times: + set {_ranmob} to random element of {hostilemobs::*} + spawn {_ranmob} at location of player + set {spawncheck.ok} to false + stop + argument 1 is not "random": + argument 1 is set: + {hostilemobsproper::%argument 1%} is not set: + send "&cThat is not a valid mob!" + stop + set {_mob} to {hostilemobsproper::%argument 1%} + argument 3 is not set: + argument 2 is not set: + set {spawncheck.ok} to true + spawn {_mob} at location of player + set {spawncheck.ok} to false + argument 2 is "random": + argument 3 is "random": + set {_ran} to a random integer between 1 and 30 + set {spawncheck.ok} to true + loop {_ran} times: + set {_ranname} to random element of {rannames::*} + spawn {_mob} at location of player + set display name of spawned entity to "&c%{_ranname}%" + set {spawncheck.ok} to false + stop + argument 3 is set: + loop {rannames::*}: + argument 3 is loop-value + set {_found} to true + {_found} is not set: + add argument 3 to {rannames::*} + set {_ran} to a random integer between 1 and 30 + set {spawncheck.ok} to true + loop {_ran} times: + spawn {_mob} at location of player + set display name of spawned entity to "&c%argument 3%" + set {spawncheck.ok} to false + stop + argument 3 is not set: + set {_ran} to random integer between 1 and 30 + set {spawncheck.ok} to true + loop {_ran} times: + spawn {_mob} at location of player + set {spawncheck.ok} to false + stop + argument 2 is not "random": + argument 2 is set: + set {_amount} to argument 2 parsed as number + {_amount} is not set: + parse error is set: + send "&c%last parse error%" + stop + argument 3 is "random": + set {spawncheck.ok} to true + loop {_amount} times: + set {_ranname} to random element of {rannames::*} + spawn {_mob} at location of player + set display name of spawned entity to "&c%{_ranname}%" + set {spawncheck.ok} to false + stop + argument 3 is set: + loop {rannames::*}: + argument 3 is loop-value: + set {_found} to true + {_found} is not set: + add argument 3 to {rannames::*} + set {spawncheck.ok} to true + loop {_amount} times: + spawn {_mob} at location of player + set display name of spawned entity to "&c%argument 3%" + set {spawncheck.ok} to false + stop + argument 3 is not set: + set {spawncheck.ok} to true + loop {_amount} times: + spawn {_mob} at location of player + set {spawncheck.ok} to false + stop + +command /nameadd []: + permission: obam.smod + trigger: + argument 1 is "list": + loop {rannames::*}: + send "%loop-value%" + stop + argument 1 is "delete": + argument 2 is not set: + send "&cYou must specify what to delete!" + stop + loop {rannames::*}: + loop-value is argument 2: + delete {rannames::%loop-index%} + send "&cDeleted &e%argument 2%" + stop + add argument 1 to {rannames::*} + send "&e%argument 1% &aadded" + +command /doorset: + permission: obam.admin + trigger: + add location of targeted block to {fma.doors::*} + send "&aBlock added" + +command /fmaclose: + permission: obam.mod + trigger: + loop {fma.doors::*}: + set {_loc} to loop-value + set block at loop-value to locked chest:15 + send "&aDoors closed" + +command /fmaopen: + permission: obam.mod + trigger: + loop {fma.doors::*}: + set {_loc} to loop-value + set block at loop-value to air + send "&aDoors opened" + +on spawn: + set {_chunk} to chunk at event-location + set {_chunk.owner} to {chunk.live.%{_chunk}%} + {_chunk.owner} is "MobArena-Arena" or "MobArena-Spawn" or "MobArena-BattleFloor" or "MobArena-Winner" or "MobArena-Twerk": + {spawn.mobarena} is false: + {spawncheck.ok} is not set: + set {spawncheck.ok} to false + {spawncheck.ok} is false: + cancel event + +command /corneradd [] []: + permission: obam.admin + trigger: + argument 1 is not set: + add location of player to {fma.corners::*} + send "&aCorner added" + argument 1 is "clear": + clear {fma.corners::*} + +command /fmacampers: + permission: obam.smod + trigger: + set {spawncheck.ok} to true + loop {fma.corners::*}: + set {_loc} to loop-value + set {_ran} to random integer between 1 and 30 + loop {_ran} times: + set {_ranname} to random element of {rannames::*} + set {_ranmob} to random element of {hostilemobs::*} + spawn {_ranmob} at {_loc} + set display name of spawned entity to "&c%{_ranname}%" + wait 1 second + set {spawncheck.ok} to false + +command /entitycheck: + permission: obam.free + trigger: + send "%type of target entity%" + +command /winnerchestadd: + permission: obam.admin + trigger: + set {_size} to size of {winner.chests::*} + set {_size} to {_size} + 1 + set {winner.chests::%{_size}%} to targeted block + +on death: + {chunk.live.%chunk at location of victim%} is "MobArena-BattleFloor" + loop drops: + set {_chest} to {winner.chests::1} + while {_chest} doesn't have space for loop-item: + {_count} is not set: + set {_count} to 1 + add 1 to {_count} + set {_chest} to {winner.chests::%{_count}%} + {_count} is 21: + remove loop-item from drops + add loop-item to {_chest} + remove loop-item from drops + +on target: + {chunk.live.%chunk at location of event-entity%} is "MobArena-BattleFloor": + {chunk.live.%chunk at location of target%} is not "MobArena-BattleFloor": + cancel event + +on right click with ender pearl: + {chunk.live.%chunk at location of player%} is "MobArena-BattleFloor" or "MobArena-Spawn" or "MobArena-Arena" or "MobArena-Winner" or "MobArea-Twerk": + cancel event + send "&cYou can not do that here" + +command /fma: + permission: obam.free + trigger: + make player execute command "f t FMA-Spawn mobarena-spawn" + +on drop: + {chunk.live.%chunk at event-location%} is "MobArena-BattleFloor" + set {_chest} to {winner.chests::1} + while {_chest} doesn't have space for item: + {_count} is not set: + set {_count} to 1 + add 1 to {_count} + set {_chest} to {winner.chests::%{_count}%} + {_count} is 21: + cancel event + remove item from player + add item to {_chest} + delete item + +on xp spawn: + {chunk.live.%chunk at event-location%} is "MobArena-BattleFloor": + cancel event + +command /special : + permission: obam.smod + trigger: + argument is "add": + add location of targeted block to {fma.special::*} + send "&aBlock Added" + stop + argument is "lava": + loop {fma.special::*}: + set block at loop-value to lava + wait 3 seconds + loop {fma.special::*}: + set block at loop-value to coal block + argument is "ice": + loop {fma.special::*}: + set block at loop-value to ice + wait 3 seconds + loop {fma.special::*}: + set block at loop-value to coal block + argument is "water": + loop {fma.special::*}: + set block at loop-value to water + wait 3 seconds + loop {fma.special::*}: + set block at loop-value to coal block + argument is "soulsand": + loop {fma.special::*}: + set block at loop-value to soul sand + wait 3 seconds + loop {fma.special::*}: + set block at loop-value to coal block + argument is "cobweb": + loop {fma.special::*}: + set block at loop-value to cobweb + wait 3 seconds + loop {fma.special::*}: + set block at loop-value to coal block + argument is "music": + loop all players: + {chunk.live.%chunk at location of loop-player%} is "MobArena-BattleFloor": + send "&aComposition..." to loop-player + loop {fma.special::*}: + set block at loop-value to note block + wait 24 seconds + loop all players: + {chunk.live.%chunk at location of loop-player%} is "MobArena-BattleFloor": + send "&aMusic Begin..." to loop-player + loop {fma.special::*}: + set block above block above loop-value to locked chest:15 + loop 150 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 2 ticks + wait 3 seconds + loop {fma.special::*}: + set block at loop-value to coal block + set block below loop-value to air + set block above block above loop-value to air + argument is "lever": + loop {fma.special::*}: + set block at loop-value to redstone lamp + set block above loop-value to lever + wait 15 seconds + loop {fma.special::*}: + set block at loop-value to coal block + set block above loop-value to air + argument is "stack": + loop {fma.special::*}: + set block above loop-value to redstone block + wait 1 tick + wait 1 second + loop {fma.special::*}: + set block above block above loop-value to redstone lamp + wait 1 tick + wait 3 seconds + loop {fma.special::*}: + set block above block above loop-value to lava + wait 0.5 seconds + loop {fma.special::*}: + set block above block above loop-value to redstone lamp + loop {fma.special::*}: + set block above loop-value to air + wait 1 tick + wait 1 seconds + loop {fma.special::*}: + set block above block above loop-value to air + wait 1 tick + argument is "dance": + loop {fma.special::*}: + set block at loop-value to redstone lamp + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + loop 60 times: + set {_ran} to random element of {fma.special::*} + set block below {_ran} to redstone block + wait 0.55 seconds + loop {fma.special::*}: + set block below loop-value to air + set block at loop-value to coal block + +on drop: + {chunk.live.%chunk at location of player%} is "MobArena-Winner": + set {_ran} to random element of {twerk.drop::*} + drop item at block below {_ran} + delete item + +command /twerkadd: + permission: obam.admin + trigger: + add location of targeted block to {twerk.drop::*} + send "&aBlock added" + +command /specialtestsword: + permission: obam.admin + trigger: + give diamond sword named "&cSpecial Test Sword" to player + +on damage: + attacker's tool is diamond sword named "&cSpecial Test Sword": + attacker has permission "obam.admin": + {chunk.live.%chunk at location of attacker%} is "MobArena-BattleFloor": + loop all entities: + {chunk.live.%chunk at location of loop-entity%} is "MobArena-BattleFloor": + loop-entity is not a player + kill loop-entity + +on sign change: + player is op + line 1 of block is "fmahelm": + set line 2 of block to "FMA Helmet" + set line 1 of block to "Click to get" + set line 3 of block to "500 Tickets" + line 1 of block is "fmachest": + set line 1 of block to "Click to get" + set line 2 of block to "FMA Chestplate" + set line 3 of block to "500 Tickets" + line 1 of block is "fmapants": + set line 1 of block to "Click to get" + set line 2 of block to "FMA Leggings" + set line 3 of block to "500 Tickets" + line 1 of block is "fmaboots": + set line 1 of block to "Click to get" + set line 2 of block to "FMA Boots" + set line 3 of block to "500 Tickets" + line 1 of block is "fmasword": + set line 1 of block to "Click to get" + set line 2 of block to "FMA Sword" + set line 3 of block to "500 Tickets" + line 1 of block is "fmabow": + set line 1 of block to "Click to get" + set line 2 of block to "FMA Bow" + set line 3 of block to "500 Tickets" + line 1 of block is "fmaarrows": + set line 1 of block to "Click to get" + set line 2 of block to "FMA Arrows" + set line 3 of block to "(150)" + set line 4 of block to "500 Tickets" + line 2 of block is "fmafood": + set line 1 of block to "Click to get" + set line 2 of block to "FMA Apples" + set line 3 of block to "(150)" + set line 4 of block to "500 Tickets" + +on right click on sign: + line 1 of block is "Click to get": + set {_bal} to player's balance + {_bal} is less than 500: + send "&cYou do not have enough Tickets!" + stop + player doesn't have space for sponge: + send "&aYou do not have room!" + stop + line 2 of block is "FMA Helmet": + give player diamond helmet of protection 3 and unbreaking 3 named "&7FMA Helmet" + remove 500 from player's balance + send "&aYou have spent 500 tickets on &eFMA Helmet" + line 2 of block is "FMA Chestplate": + give player diamond chestplate of protection 3 and unbreaking 3 named "&7FMA Chestplate" + remove 500 from player's balance + send "&aYou have spent 500 tickets on &eFMA Chestplate" + line 2 of block is "FMA Leggings": + give player diamond leggings of protection 3 and unbreaking 3 named "&7FMA Leggings" + remove 500 from player's balance + send "&aYou have spent 500 tickets on &eFMA Leggings" + line 2 of block is "FMA Boots": + give player diamond boots of protection 3 and unbreaking 3 named "&7FMA Boots" + remove 500 from player's balance + send "&aYou have spent 500 tickets on &eFMA Boots" + line 2 of block is "FMA Sword": + give player diamond sword of knockback 1 and unbreaking 3 and sharpness 2 named "&7FMA Sword" + remove 500 from player's balance + send "&aYou have spent 500 tickets on &EFMA Sword" + line 2 of block is "FMA Bow": + give player bow of punch 2 and power 3 and unbreaking 1 named "&7FMA Bow" + remove 500 from player's balance + send "&aYou have spent 500 tickets on &eFMA Bow" + line 2 of block is "FMA Arrows": + give player 150 arrows named "&7FMA Arrow" + remove 500 from player's balance + send "&aYou have spent 500 tickets on &eFMA Arrows" + line 2 of block is "FMA Apples": + give player 150 apples named "&7FMA Apple" + remove 500 from player's balance + send "&aYou have spent 500 tickets on &eFMA Apples" + +command /fmagear []: + permission: obam.smod + trigger: + player doesn't have space for sponge: + send "&aYou do not have room!" + stop + argument 1 is "helmet": + give player diamond helmet of protection 3 and unbreaking 3 named "&7FMA Helmet" + argument 1 is "chest": + give player diamond chestplate of protection 3 and unbreaking 3 named "&7FMA Chestplate" + argument 1 is "leggings": + give player diamond leggings of protection 3 and unbreaking 3 named "&7FMA Leggings" + argument 1 is "boots": + give player diamond boots of protection 3 and unbreaking 3 named "&7FMA Boots" + argument 1 is "sword": + give player diamond sword of knockback 1 and unbreaking 3 and sharpness 2 named "&7FMA Sword" + argument 1 is "bow": + give player bow of punch 2 and power 3 and unbreaking 1 named "&7FMA Bow" + argument 1 is "arrows": + give player 64 arrows named "&7FMA Arrow" + argument 1 is "apples": + give player 64 apples named "&7FMA Apple" + send "&aHere is your thing" diff --git a/On Server Files/Fronts/Fronts/heads.g.sk b/On Server Files/Fronts/Fronts/heads.g.sk new file mode 100644 index 0000000..ea1bdc0 --- /dev/null +++ b/On Server Files/Fronts/Fronts/heads.g.sk @@ -0,0 +1,69 @@ +on death of a player: + attacker is a player: + attacker is not victim: + add skull of victim to drops + set {_item.1} to "&3Death Note - &eVICTIM" + set {_item.2} to "&7This note shows that &eATTACKER&7 took the||&7life of &eVICTIM&7 on &eDATE CST" + replace "VICTIM" in {_item.1} with "%victim%" + replace "VICTIM" in {_item.2} with "%victim%" + replace "ATTACKER" in {_item.2} with "%attacker%" + replace "DATE" in {_item.2} with "%now%" + add paper named {_item.1} with lore {_item.2} to drops + +on death of a living entity: + attacker is a player: + chance of 0.5%: + victim is a creeper: + add creeper head to drops + victim is a skeleton: + add skeleton head to drops + victim is a zombie: + add zombie head to drops + victim is a blaze: + set {_player} to "MHF_Blaze" parsed as offline player + add skull of {_player} to drops + victim is a cave spider: + set {_player} to "MHF_CaveSpider" parsed as offline player + add skull of {_player} to drops + victim is a enderman: + set {_player} to "MHF_Enderman" parsed as offline player + add skull of {_player} to drops + victim is a zombie pigman: + set {_player} to "MHF_PigZombie" parsed as offline player + add skull of {_player} to drops + victim is a ghast: + set {_player} to "MHF_Ghast" parsed as offline player + add skull of {_player} to drops + victim is a chicken: + set {_player} to "MHF_Chicken" parsed as offline player + add skull of {_player} to drops + victim is a cow: + set {_player} to "MHF_Cow" parsed as offline player + add skull of {_player} to drops + victim is magma cube: + set {_player} to "MHF_LavaSlime" parsed as offline player + add skull of {_player} to drops + victim is iron golem: + set {_player} to "MHF_Golem" parsed as offline player + add skull of {_player} to drops + victim is ocelot: + set {_player} to "MHF_Ocelot" parsed as offline player + add skull of {_player} to drops + victim is pig: + set {_player} to "MHF_Pig" parsed as offline player + add skull of {_player} to drops + victim is sheep: + set {_player} to "MHF_Sheep" parsed as offline player + add skull of {_player} to drops + victim is spider: + set {_player} to "MHF_Spider" parsed as offline player + add skull of {_player} to drops + victim is squid: + set {_player} to "MHF_Squid" parsed as offline player + add skull of {_player} to drops + victim is slime: + set {_player} to "MHF_Slime" parsed as offline player + add skull of {_player} to drops + victim is villagers: + set {_player} to "MHF_Villager" parsed as offline player + add skull of {_player} to drops diff --git a/On Server Files/Fronts/Fronts/heal.g.sk b/On Server Files/Fronts/Fronts/heal.g.sk new file mode 100644 index 0000000..39a350b --- /dev/null +++ b/On Server Files/Fronts/Fronts/heal.g.sk @@ -0,0 +1,46 @@ +#heal + +variables: + {heal.%player%} = false + +command /heal: + executable by: players + permission: obam.free + trigger: + {heal.%uuid of player%} is not set: + set {heal.%uuid of player%} to now + add 13 hours to {heal.%uuid of player%} + set {_check} to difference between {heal.%uuid of player%} and now + {_check} is less than 12 hours: + set {_check} to difference between {heal.%uuid of player%} and now + set {_hold} to difference between now and now + add 12 hours to {_hold} + subtract {_check} from {_hold} + send "&cYou must wait at least &e%{_hold}% &cto use this command!" + stop + {abstain.%uuid of player%} is false: + send "&cOnly abstaining players can use this feature!" + stop + {abstian.%uuid of player%} is "wait pvp" or "wait abstain": + send "&cYou can not use this feature in transition!" + stop + {abstain.%uuid of player%} is true: + set {_bal} to player's balance + {_bal} is less than 2000: + send "&cYou do not have enough tickets to do this!" to player + stop + remove 2000 from player's balance + set {heal.%uuid of player%} to now + send "&aYou have been healed." to player + set player's health to 10 + set player's hunger to 10 + apply regeneration 2 to player for 30 seconds + apply fire resistance to player for 30 seconds + apply resistance 2 to player for 30 seconds + apply absorption 2 to player for 30 seconds + player has wither: + remove wither from player + player has poison: + remove poison from player + send "&aYou have &e%player's balance%&a remaining" to player + stop \ No newline at end of file diff --git a/On Server Files/Fronts/Fronts/hottouch.g.sk b/On Server Files/Fronts/Fronts/hottouch.g.sk new file mode 100644 index 0000000..91eb88a --- /dev/null +++ b/On Server Files/Fronts/Fronts/hottouch.g.sk @@ -0,0 +1,101 @@ +options: + smeltpick: diamond pickaxe named "&a&b&k&a&3HotTouch Pickaxe" with lore "&6A pickaxe forged from the heart of the Nether||&6with an intense heat to smelt ores while mining.|| ||&2StickyItem ©" + smeltaxe: diamond axe named "&a&b&k&a&3HotTouch Axe" with lore "&6An axe forged from the heart of the Nether||&6with an intense heat to cook logs into charcoal||&6while chopping.|| ||&2StickyItem ©" + smeltshovel: diamond shovel named "&a&b&k&a&3HotTouch Shovel" with lore "&6A shovel forged from the heart of the Nether||&6with an intense heat to cook sand clay and||&6cactus while digging.|| ||&2StickyItem ©" + +command /hottouchpurchase : + permission: obam.free + trigger: + argument is "pick": + set {_bal} to player's balance + {_bal} is less than 7500: + send "&cYou do not have enough tickets!" + stop + give player 1 {@smeltpick} + remove 7500 from player's balance + send "&aYou have purchased a &eHotTouch Pick&a for &e7500 Tickets" + send "&aYour balance is now &e%player's balance%" + argument is "shovel": + set {_bal} to player's balance + {_bal} is less than 10000: + send "&cYou do not have enough tickets!" + stop + give player 1 {@smeltshovel} + remove 10000 from player's balance + send "&aYou have purchased a &eHotTouch Shovel&a for &e10000 Tickets" + send "&aYour balance is now &e%player's balance%" + argument is "axe": + set {_bal} to player's balance + {_bal} is less than 5000: + send "&cYou do not have enough tickets!" + stop + give player 1 {@smeltaxe} + remove 5000 from player's balance + send "&aYou have purchased a &eHotTouch Axe&a for &e5000 Tickets" + send "&aYour balance is now &e%player's balance%" + +on break of iron ore or gold ore or netherrack or cobblestone: + name of player's tool is "&a&b&k&a&3HotTouch Pick" or "&a&b&k&a&3HotTouch Pickaxe": + event-block is iron ore: + cancel event + delete event-block + drop 1 iron ingot at location of event-block + damage player's tool by 1 + event-block is gold ore: + cancel event + delete event-block + drop 1 gold ingot at location of event-block + damage player's tool by 1 + event-block is netherrack: + cancel event + delete event-block + drop 1 nether brick item at location of event-block + damage player's tool by 1 + event-block is cobblestone: + cancel event + delete event-block + drop 1 stone at location of event-block + damage player's tool by 1 + +on break of sand or clay block or cactus or red sand: + name of player's tool is "&a&b&k&a&3HotTouch Shovel": + event-block is sand or red sand: + cancel event + delete event-block + drop 1 glass at location of event-block + damage player's tool by 1 + event-block is clay block: + cancel event + delete event-block + drop 1 hardened clay at location of event-block + damage player's tool by 1 + event-block is cactus: + cancel event + delete event-block + drop 1 cactus green at location of event-block + damage player's tool by 1 + +on break of cactus or oak wood or birch wood or spruce wood or jungle wood or acacia wood or dark oak wood: + name of player's tool is "&a&b&k&a&3HotTouch Axe": + event-block is cactus: + cancel event + delete event-block + drop 1 cactus green at location of event-block + damage player's tool by 1 + event-block is oak wood or birch wood or spruce wood or jungle wood or acacia wood or dark oak wood: + cancel event + set {_ran} to random integer between 1 and 6 + delete event-block + drop {_ran} of charcoal at location of event-block + damage player's tool by 1 + +command /ht : + permission: obam.smod + trigger: + argument is "pick": + give player {@smeltpick} + argument is "axe": + give player {@smeltaxe} + argument is "shovel": + give player {@smeltshovel} + send "&aHere is your thing" \ No newline at end of file diff --git a/On Server Files/Fronts/Fronts/landclaim.g.sk b/On Server Files/Fronts/Fronts/landclaim.g.sk new file mode 100644 index 0000000..84c28cc --- /dev/null +++ b/On Server Files/Fronts/Fronts/landclaim.g.sk @@ -0,0 +1,908 @@ +variables: + {db_claimedland.%uuid of player%} = 0 + {availableland.live.%uuid of player%} = 1 + {alert.fronts.%uuid of player%} = true + +on join: + {db_prizecheck.%uuid of player%} is set: + add {db_prizecheck.%uuid of player%} to {db_availableland.%uuid of player%} + send "&aYou have had &e%{db_prizecheck.%uuid of player%}%&a added to your Fronts balance!" to player + clear {db_prizecheck.%uuid of player%} + {played.%player%} is set: + set {played.%uuid of player%} to {played.%player%} + delete {played.%player%} + {played.%uuid of player%} is not set: + set {played.%uuid of player%} to true + {db_claimedland.%player%} is set: + set {db_claimedland.%uuid of player%} to {db_claimedland.%player%} + delete {db_claimedland.%player%} + {db_availableland.%player%} is set: + set {db_availableland.%uuid of player%} to {db_availableland.%player%} + delete {db_availableland.%player%} + {db_chunks.claim.count.%player%} is set: + set {db_chunks.claim.count.%uuid of player%} to {db_chunks.claim.count.%player%} + delete {db_chunks.claim.count.%player%} + {owned.chunks.%player%::*} is set: + loop {owned.chunks.%player%::*}: + set {chunk.live.%loop-index%} to uuid of player + add loop-index to {owned.chunks.%uuid of player%::*} + delete {land.live.%loop-index%::*} + delete {owned.chunks.%player%::*} + {loc.chunks.%player%::*} is set: + loop {loc.chunks.%player%::*}: + set {loc.chunks.%uuid of player%::%loop-index%} to loop-value + delete {loc.chunks.%player%::*} + {home.%player%.wild} is set: + set {home.%uuid of player%.wild} to {home.%player%.wild} + delete {home.%player%.wild} + {first.claim.%player%} is set: + set {first.claim.%uuid of player%} to {first.claim.%player%} + delete {first.claim.%player%} + +command /movedata: + permission: obam.admin + trigger: + loop {db_channel.global::*}: + set {db_claimedland.%loop-value%} to {claimedland.%loop-value%} + set {db_availableland.%loop-value%} to {availableland.%loop-value%} + +every 1 tick: + loop all players: + {chunk.live.%chunk at location of loop-player%} is not set: + {alert.notify.owner.%loop-player%} is not "Unclaimed": + {alert.fronts.%uuid of loop-player%} is true: + send "&a&lUnclaimed Front" to loop-player + set {alert.notify.owner.%loop-player%} to "Unclaimed" + {alert.notify.owner.%loop-player%} is not {chunk.live.%chunk at location of loop-player%}: + {chunk.live.%chunk at location of loop-player%} is not set: + {alert.notify.owner.%loop-player%} is not "Unclaimed": + {alert.fronts.%uuid of loop-player%} is true: + send "&a&lUnclaimed Front" to loop-player + set {alert.notify.owner.%loop-player%} to "Unclaimed" + {chunk.live.%chunk at location of loop-player%} is set: + {alert.fronts.%uuid of loop-player%} is true: + send "&a&lFront Claimed by: &e%{db_master.uuid::%{chunk.live.%chunk at location of loop-player%}%}%" to loop-player + set {alert.notify.owner.%loop-player%} to {chunk.live.%chunk at location of loop-player%} + {alert.notify.owner.%loop-player%} is not set: + {chunk.live.%chunk at location of loop-player%} is not set: + {alert.fronts.%uuid of loop-player%} is true: + send "&a&lUnclaimed Front" to loop-player + set {alert.notify.owner.%loop-player%} to "Unclaimed" + +#startfold +command /front [] [] []: + permission: obam.free + description: For all land related commands + usage: &c/front (claim, unclaim, add, remove, name) + aliases: /f + trigger: + argument 1 is not set: + message "&3-[&a&lFronts Claimed&3]-" + message "&6 %{db_claimedland.%uuid of player%}%" + send "&3-[&a&lPurchased Slots&3]-" to player + send "&6 %{db_availableland.%uuid of player%}%" + send "&3-[&a&lAvailible Slots&3]-" to player + send "&6 %{db_availableland.%uuid of player%} - {db_claimedland.%uuid of player%}%" to player + stop + #subfold @help + argument 1 is "help" or "h": + message "&3--[&6&lFronts Help&3]--" + message "&cRequired = [] Optional = ()" + message "&a * /front or f" + message "&7 Shows your land claiming statistics" + message "&a * /front:f [Info:i/Stats:s]" + message "&7 Shows information about the land you are standing in" + message "&a * /front:f [Claim:c/Unclaim:u]" + message "&7 Claim/Unclaim the land you are standing at" + player has permission "land.bypass": + message "&a * /land bypass" + message "&7 Bypass all claimed land" + stop + #subfold @stats + argument 1 is "stats" or "info" or "s" or "i": + {chunk.live.%chunk at location of player%} is set: + {chunk.live.%chunk at location of player%} is not "Town": + message "&3--[&lFront Owner&3]--" + message "&a * %{db_master.uuid::%{chunk.live.%chunk at location of loop-player%}%}%" + send "&3---[&lFront Name&3]--" + {chunk.name.%chunk at location of player%} is not set: + send "&a * Name not set" + stop + send "&a * %{chunk.name.%chunk at location of player%}%" + stop + message "&6This area is not currently owned by a player." + stop + #subfold @error + argument 1 is "error": + player has permission "land.bypass": + message "&cIncorrect usage. Try '/front [claim, unclaim, name, bypass] (player)'" + player does not have permission "land.bypass": + message "&cIncorrect usage. Try '/front [claim, unclaim, name] (player)'" + message "&7 ()'s = Optional, []'s = Required." + stop + #subfold @claim + argument 1 is "claim" or "c": + {chunk.live.%chunk at location of player%} is set: + message "&cThis land has already been claimed." + stop + loop blocks in radius 50 of player: + player cannot build at the loop-block: + message "&cYou can not claim land in this area." + stop + {db_claimedland.%uuid of player%} is greater than or equal to {db_availableland.%uuid of player%}: + send "&cYou do not have enough Availiable land for this action! Please purchase more from &7Fronts Ferdinand &cat Town Spawn!" to player + stop + {first.claim.%uuid of player%} is true: + set {_bal} to player's balance + {_bal} is less than 2000: + send "&cYou do not have enough tickets to do this!" to player + stop + {db_chunks.claim.count.%uuid of player%} is not set: + set {db_chunks.claim.count.%uuid of player%} to 0 + add 1 to {db_chunks.claim.count.%uuid of player%} + set {chunk.live.%chunk at location of player%} to uuid of player + add chunk at location of player to {owned.chunks.%uuid of player%::*} + set {chunk.name.%chunk at location of player%} to "%{db_chunks.claim.count.%uuid of player%}%" + set {loc.chunks.%uuid of player%::%chunk at location of player%} to location of player + message "&6You now own this Front." + {db_claimedland.%uuid of player%} is 0: + set {home.%uuid of player%.wild} to location of player + add 1 to {db_claimedland.%uuid of player%} + {first.claim.%uuid of player%} is true: + remove 2000 from player's balance + send "&aYou have used &e2000 Tickets&a to claim this Front" to player + send "&aYou have &e%player's balance%&a remaining" to player + stop + send "&aThis was your first land claim. It was free. The next one will cost &e2000 Tickets!" to player + set {first.claim.%uuid of player%} to true + stop + #subfold @unclaim + argument 1 is "unclaim" or "u": + {chunk.live.%chunk at location of player%} is not set: + message "&cThis land has not been claimed." + stop + {chunk.live.%chunk at location of player%} is not uuid of player: + message "&cYou do not own this land." + stop + remove 1 from {db_claimedland.%uuid of player%} + set {_chunk} to chunk at location of player + chunk at location of {home.%uuid of player%.wild} is chunk at location of player: + clear {home.%uuid of player%.wild} + send "&cYour home location has been cleared!" to player + clear {chunk.live.%chunk at location of player%} + clear {chunk.name.%chunk at location of player%} + delete {loc.chunks.%uuid of player%::%chunk at location of player%} + loop {flags.%chunk at location of player%::*}: + loop {flags.%chunk at location of player%::%loop-index%::*}: + delete {flags.%chunk at location of player%::%loop-index-1%::%loop-index-2%} + delete {flags.%chunk at location of player%::%loop-index%} + loop {owned.chunks.%uuid of player%::*}: + chunk at location of player is {owned.chunks.%uuid of player%::%loop-index%} + delete {owned.chunks.%uuid of player%::%loop-index%} + message "&6You have unclaimed this Front." + stop + #subfold @bypass + argument 1 is "bypass": + player has permission "land.bypass": + {bypassland.%uuid of player%} is true: + clear {bypassland.%uuid of player%} + message "&6You have finished bypassing claimed land." + stop + set {bypassland.%uuid of player%} to true + message "&6You can now bypass claimed land." + stop + message "&cYou do not have permission to use this command." + stop + #subfold @name + argument 1 is "name" or "n": + {chunk.live.%chunk at location of player%} is not set: + message "&cThis land has not been claimed." + stop + {chunk.live.%chunk at location of player%} is not uuid of player: + {flags.%chunk at location of player%::admin::everyone} is not set: + set {flags.%chunk at location of player%::admin::everyone} to false + {flags.%chunk at location of player%::admin::%uuid of player%} is not set: + set {flags.%chunk at location of player%::admin::%uuid of player%} to false + {flags.%chunk at location of player%::admin::everyone} is false: + {flags.%chunk at location of player%::admin::%uuid of player%} is false: + send "&cYou do not have permission to do this!" + stop + argument 2 is "set": + send "&cThat is an invalid name!" to player + stop + argument 2 is not set: + send "&cPlease choose a name!" to player + stop + message "&aYou have named this Front to &e%argument 2%" + set {chunk.name.%chunk at location of player%} to "%argument 2%" + set {loc.chunks.%uuid of player%::%chunk at location of player%} to location of player + stop + #subfold @list + argument 1 is "list" or "l": + argument 2 is not set: + loop {loc.chunks.%uuid of player%::*}: + set {_loc} to {loc.chunks.%uuid of player%::%loop-index%} + set {_chunk} to chunk at location of {_loc} + set {_chunk.name} to {chunk.name.%{_chunk}%} + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {chunk.name.%{_chunk}%} is not set: + set {chunk.name.%{_chunk}%} to "%{_count}%" + set {_chunk.name} to {chunk.name.%{_chunk}%} + {_chunk.name} is not set: + set {_chunk.name} to "&cNot Named" + send "&a%{_count}%.......%{_chunk}%....%{_chunk.name}%" to player + stop + argument 2 is set: + message "You can only list your own fronts at the moment." + stop + #subfold @travel + argument 1 is "travel" or "t": + argument 3 is not set: + argument 2 is "set": + {chunk.live.%chunk at location of player%} is not set: + message "&cThis land has not been claimed." + stop + {chunk.live.%chunk at location of player%} is not uuid of player: + message "&cThis is not your land!" + stop + set {loc.chunks.%uuid of player%::%chunk at location of player%} to location of player + send "&aYour travel location for this area, has been moved" to player + stop + {chunk.live.%chunk at location of player%} is not set: + message "&cYou can only do this in &eTown&c, or on your land!" + stop + {chunk.live.%chunk at location of player%} is not uuid of player: + {chunk.live.%chunk at location of player%} is not "Town": + {flags.%chunk at location of player%::teleport::everyone} is not set: + set {flags.%chunk at location of player%::teleport::everyone} to false + {flags.%chunk at location of player%::teleport::everyone} is false: + {flags.%chunk at location of player%::teleport::%uuid of player%} is not set: + set {flags.%chunk at location of player%::teleport::%uuid of player%} to false + {flags.%chunk at location of player%::teleport::%uuid of player%} is false: + message "&cYou can only do this in &eTown&c, or on your land!" + stop + loop {loc.chunks.%uuid of player%::*}: + set {_loc} to loop-value + set {_chunk} to chunk at location of {_loc} + set {_chunk.name} to {chunk.name.%{_chunk}%} + {_chunk.name} is argument 2: + send "&aTeleporting to &e%argument 2%" to player + teleport player to {_loc} + stop + send "&cYou do not have a Front named &e%argument 2% &cin this world!" + stop + argument 3 is set: + {chunk.live.%chunk at location of player%} is not set: + message "&cYou can only do this in &eTown&c, or on your land!" + stop + {chunk.live.%chunk at location of player%} is not uuid of player: + {chunk.live.%chunk at location of player%} is not "Town": + {flags.%chunk at location of player%::teleport::everyone} is not set: + set {flags.%chunk at location of player%::teleport::everyone} to false + {flags.%chunk at location of player%::teleport::everyone} is false: + {flags.%chunk at location of player%::teleport::%player%} is not set: + set {flags.%chunk at location of player%::teleport::%player%} to false + {flags.%chunk at location of player%::teleport::%player%} is false: + message "&cYou can only do this in &eTown&c, or on your land!" + stop + loop {loc.chunks.%{db_name.%argument 3%}%::*}: + set {_loc} to loop-value + set {_chunk} to chunk at location of {_loc} + set {_chunk.name} to {chunk.name.%{_chunk}%} + {_chunk.name} is argument 2: + {flags.%{_chunk}%::teleport::everyone} is not set: + set {flags.%{_chunk}%::teleport::everyone} to false + {flags.%{_chunk}%::teleport::%uuid of player%} is not set: + set {flags.%{_chunk}%::teleport::%uuid of player%} to false + {flags.%{_chunk}%::teleport::everyone} is false: + {flags.%{_chunk}%::teleport::%uuid of player%} is false + send "&cYou do not have permission to go here!" to player + stop + send "&aTeleporting to &e%argument 2%" to player + teleport player to {_loc} + stop + send "&c%argument 3% does not have a Front named &e%argument 2% &cin this world!" + stop + argument 1 is "alert": + {alert.fronts.%uuid of player%} is not set: + send "&aFront alerts are now &eoff" + set {alert.fronts.%uuid of player%} to false + stop + {alert.fronts.%uuid of player%} is false: + send "&aFront alerts are now &eon" + set {alert.fronts.%uuid of player%} to true + stop + {alert.fronts.%uuid of player%} is true: + send "&aFront alerts are now &eoff" + set {alert.fronts.%uuid of player%} to false + stop + else: + make player execute command "f error" + stop +#endfold +on quit: + {bypassland.%uuid of player%} is true: + clear {bypassland.%uuid of player%} + +on place: + {bypassland.%uuid of player%} is true: + stop + {chunk.live.%chunk at location of block%} is set: + block is not tnt or water or lava: + {flags.%chunk at location of block%::build::everyone} is true: + stop + {flags.%chunk at location of block%::build::%uuid of player%} is true: + stop + message "&cThis land is owned by %{db_master.uuid::%{chunk.live.%chunk at location of block%}%}%." + cancel event + +on break: + event-block is not water or lava or milk: + {bypassland.%uuid of player%} is true: + stop + {chunk.live.%chunk at location of event-block%} is set: + {flags.%chunk at location of event-block%::build::everyone} is true: + set {_perm} to true + {flags.%chunk at location of event-block%::build::%uuid of player%} is true: + set {_perm} to true + {_perm} is true: + event-block is a chest or a furnace or a dispenser or a hopper or a brewing stand or a dropper or a trapped chest or a beacon: + set {_type} to checked + {flags.%chunk at location of event-block%::container::everyone} is true: + stop + {flags.%chunk at location of event-block%::container::%uuid of player%} is true: + stop + event-block is a chest: + {flags.%chunk at location of event-block%::conchest::everyone} is true: + stop + {flags.%chunk at location of event-block%::conchest::%uuid of player%} is true: + stop + event-block is a furnace: + {flags.%chunk at location of event-block%::confurnace::everyone} is true: + stop + {flags.%chunk at location of event-block%::confurnace::%uuid of player%} is true: + stop + event-block is a dispenser: + {flags.%chunk at location of event-block%::condispenser::everyone} is true: + stop + {flags.%chunk at location of event-block%::condispenser::%uuid of player%} is true: + stop + event-block is a hopper: + {flags.%chunk at location of event-block%::conhopper::everyone} is true: + stop + {flags.%chunk at location of event-block%::conhopper::%uuid of player%} is true: + stop + event-block is a brewing stand: + {flags.%chunk at location of event-block%::conbrewing::everyone} is true: + stop + {flags.%chunk at location of event-block%::conbrewing::%uuid of player%} is true: + stop + event-block is a dropper: + {flags.%chunk at location of event-block%::condropper::everyone} is true: + stop + {flags.%chunk at location of event-block%::condropper::%uuid of player%} is true: + stop + event-block is a trapped chest: + {flags.%chunk at location of event-block%::contrapped::everyone} is true: + stop + {flags.%chunk at location of event-block%::contrapped::%uuid of player%} is true: + stop + event-block is a beacon: + {flags.%chunk at location of event-block%::conbeacon::everyone} is true: + stop + {flags.%chunk at location of event-block%::conbeacon::%uuid of player%} is true: + stop + event-block is a door or a anvil or a note block or a lever or a stone button or a wood button or a jukebox or a trapdoor or a fence gate or a enchantment table or a redstone comparator or a repeater: + set {_type} to checked + {flags.%chunk at location of event-block%::use::everyone} is true: + stop + {flags.%chunk at location of event-block%::use::%uuid of player%} is true: + stop + event-block is a door: + {flags.%chunk at location of event-block%::usedoor::everyone} is true: + stop + {flags.%chunk at location of event-block%::usedoor::%uuid of player%} is true: + stop + event-block is a anvil: + {flags.%chunk at location of event-block%::useanvil::everyone} is true: + stop + {flags.%chunk at location of event-block%::useanvil::%uuid of player%} is true: + stop + event-block is a note block: + {flags.%chunk at location of event-block%::usenote::everyone} is true: + stop + {flags.%chunk at location of event-block%::usenote::%uuid of player%} is true: + stop + event-block is a jukebox: + {flags.%chunk at location of event-block%::usejuke::everyone} is true: + stop + {flags.%chunk at location of event-block%::usejuke::%uuid of player%} is true: + stop + event-block is a lever: + {flags.%chunk at location of event-block%::uselever::everyone} is true: + stop + {flags.%chunk at location of event-block%::uselever::%uuid of player%} is true: + stop + event-block is a stone button: + {flags.%chunk at location of event-block%::usestonebutton::everyone} is true: + stop + {flags.%chunk at location of event-block%::usestonebutton::%uuid of player%} is true: + stop + event-block is a wood button: + {flags.%chunk at location of event-block%::usewoodbutton::everyone} is true: + stop + {flags.%chunk at location of event-block%::usewoodbutton::%uuid of player%} is true: + stop + event-block is a trapdoor: + {flags.%chunk at location of event-block%::usetrap::everyone} is true: + stop + {flags.%chunk at location of event-block%::usetrap::%uuid of player%} is true: + stop + event-block is a fence gate: + {flags.%chunk at location of event-block%::usefence::everyone} is true: + stop + {flags.%chunk at location of event-block%::usefence::%uuid of player%} is true: + stop + event-block is a enchantment table: + {flags.%chunk at location of event-block%::useenchant::everyone} is true: + stop + {flags.%chunk at location of event-block%::useenchant::%uuid of player%} is true: + stop + event-block is a redstone comparator: + {flags.%chunk at location of event-block%::usecomparator::everyone} is true: + stop + {flags.%chunk at location of event-block%::usecomparator::%uuid of player%} is true: + stop + event-block is a repeater: + {flags.%chunk at location of event-block%::userepeater::everyone} is true: + stop + {flags.%chunk at location of event-block%::userepeater::%uuid of player%} is true: + stop + {_type} is not set: + stop + message "&cThis land is owned by %{db_master.uuid::%{chunk.live.%chunk at location of event-block%}%}%." + cancel event + +on place of tnt: + {bypassland.%uuid of player%} is true: + stop + loop blocks in radius 10 of block: + {chunk.live.%chunk at location of loop-block%} is set: + {flags.%chunk at location of loop-block%::fronttnt} is false: + cancel event + message "&cYou can not use explosives here." + stop + +on explode: + entity is creeper + loop blocks in radius 10 of entity: + {chunk.live.%chunk at location of loop-block%} is set: + cancel event + set {_safe} to true + {_safe} is set: + create safe explosion of force 3 at event-location + +on damage of a entity: + victim is a chicken or a cow or a mooshroom or a horse or a sheep or a pig or a wolf or a ocelot or a villager or a squid: + attacker is a player: + victim is a cow: + attacker's tool is a empty bucket: + stop + loop blocks in radius 3 of victim: + {bypassland.%uuid of attacker%} is true: + stop + {chunk.live.%chunk at location of loop-block%} is not attacker: + {flags.%chunk at location of loop-block%::entity::everyone} is not set: + set {flags.%chunk at location of loop-block%::entity::everyone} to false + {flags.%chunk at location of loop-block%::entity::%uuid of attacker%} is not set: + set {flags.%chunk at location of loop-block%::entity::%uuid of attacker%} to false + {flags.%chunk at location of loop-block%::entity::everyone} is false: + {flags.%chunk at location of loop-block%::entity::%uuid of attacker%} is true: + stop + {flags.%chunk at location of loop-block%::entity::everyone} is true: + stop + send "&cThis area is protected!" to attacker + cancel event + +on right click on lead: + {bypassland.%uuid of player%} is true: + stop + {chunk.live.%chunk at location of event-player%} is set: + {chunk.live.%chunk at location of event-player%} is not event-player: + send "&cThis area is protected!" to event-player + cancel event + stop trigger + +on right click on a door or a anvil or a note block or a lever or a stone button or a wood button or a jukebox or a trapdoor or a fence gate or a enchantment table or a redstone comparator or a repeater or a chest or a furnace or a dispenser or a hopper or a brewing stand or a dropper or a trapped chest or a beacon: + {bypassland.%uuid of player%} is true: + stop + {chunk.live.%chunk at location of event-block%} is set: + event-block is a chest or a furnace or a dispenser or a hopper or a brewing stand or a dropper or a trapped chest or a beacon: + {flags.%chunk at location of event-block%::container::everyone} is true: + stop + {flags.%chunk at location of event-block%::container::%uuid of player%} is true: + stop + event-block is a chest: + {flags.%chunk at location of event-block%::conchest::everyone} is true: + stop + {flags.%chunk at location of event-block%::conchest::%uuid of player%} is true: + stop + event-block is a furnace: + {flags.%chunk at location of event-block%::confurnace::everyone} is true: + stop + {flags.%chunk at location of event-block%::confurnace::%uuid of player%} is true: + stop + event-block is a dispenser: + {flags.%chunk at location of event-block%::condispenser::everyone} is true: + stop + {flags.%chunk at location of event-block%::condispenser::%uuid of player%} is true: + stop + event-block is a hopper: + {flags.%chunk at location of event-block%::conhopper::everyone} is true: + stop + {flags.%chunk at location of event-block%::conhopper::%uuid of player%} is true: + stop + event-block is a brewing stand: + {flags.%chunk at location of event-block%::conbrewing::everyone} is true: + stop + {flags.%chunk at location of event-block%::conbrewing::%uuid of player%} is true: + stop + event-block is a dropper: + {flags.%chunk at location of event-block%::condropper::everyone} is true: + stop + {flags.%chunk at location of event-block%::condropper::%uuid of player%} is true: + stop + event-block is a trapped chest: + {flags.%chunk at location of event-block%::contrapped::everyone} is true: + stop + {flags.%chunk at location of event-block%::contrapped::%uuid of player%} is true: + stop + event-block is a beacon: + {flags.%chunk at location of event-block%::conbeacon::everyone} is true: + stop + {flags.%chunk at location of event-block%::conbeacon::%uuid of player%} is true: + stop + event-block is a door or a anvil or a note block or a lever or a stone button or a wood button or a jukebox or a trapdoor or a fence gate or a enchantment table or a redstone comparator or a repeater: + {flags.%chunk at location of event-block%::use::everyone} is true: + stop + {flags.%chunk at location of event-block%::use::%uuid of player%} is true: + stop + event-block is a door: + {flags.%chunk at location of event-block%::usedoor::everyone} is true: + stop + {flags.%chunk at location of event-block%::usedoor::%uuid of player%} is true: + stop + event-block is a anvil: + {flags.%chunk at location of event-block%::useanvil::everyone} is true: + stop + {flags.%chunk at location of event-block%::useanvil::%uuid of player%} is true: + stop + event-block is a note block: + {flags.%chunk at location of event-block%::usenote::everyone} is true: + stop + {flags.%chunk at location of event-block%::usenote::%uuid of player%} is true: + stop + event-block is a jukebox: + {flags.%chunk at location of event-block%::usejuke::everyone} is true: + stop + {flags.%chunk at location of event-block%::usejuke::%uuid of player%} is true: + stop + event-block is a lever: + {flags.%chunk at location of event-block%::uselever::everyone} is true: + stop + {flags.%chunk at location of event-block%::uselever::%uuid of player%} is true: + stop + event-block is a stone button: + {flags.%chunk at location of event-block%::usestonebutton::everyone} is true: + stop + {flags.%chunk at location of event-block%::usestonebutton::%uuid of player%} is true: + stop + event-block is a wood button: + {flags.%chunk at location of event-block%::usewoodbutton::everyone} is true: + stop + {flags.%chunk at location of event-block%::usewoodbutton::%uuid of player%} is true: + stop + event-block is a trapdoor: + {flags.%chunk at location of event-block%::usetrap::everyone} is true: + stop + {flags.%chunk at location of event-block%::usetrap::%uuid of player%} is true: + stop + event-block is a fence gate: + {flags.%chunk at location of event-block%::usefence::everyone} is true: + stop + {flags.%chunk at location of event-block%::usefence::%uuid of player%} is true: + stop + event-block is a enchantment table: + {flags.%chunk at location of event-block%::useenchant::everyone} is true: + stop + {flags.%chunk at location of event-block%::useenchant::%uuid of player%} is true: + stop + event-block is a redstone comparator: + {flags.%chunk at location of event-block%::usecomparator::everyone} is true: + stop + {flags.%chunk at location of event-block%::usecomparator::%uuid of player%} is true: + stop + event-block is a repeater: + {flags.%chunk at location of event-block%::userepeater::everyone} is true: + stop + {flags.%chunk at location of event-block%::userepeater::%uuid of player%} is true: + stop + message "&cThis land is owned by %{db_master.uuid::%{chunk.live.%chunk at location of event-block%}%}%." + cancel event + +on right click on horse: + {bypassland.%uuid of player%} is true: + stop + {chunk.live.%chunk at location of event-player%} is set: + {chunk.live.%chunk at location of event-player%} is not event-player: + send "&cThis area is protected!" to event-player + cancel event + stop trigger + +on damage of a player: + attacker is a player: + loop blocks in radius 10 of victim: + {chunk.live.%chunk at location of loop-block%} is set: + send "&cThis area is protected!" to attacker + cancel event + stop trigger + +command /townset: + permission: obam.admin + trigger: + set {town.spawn} to location of player + +command /town: + permission: obam.free + trigger: + {chunk.live.%chunk at location of player%} is not player: + {chunk.live.%chunk at location of player%} is not "Town": + send "&cYou can only do this in Town, or on your own land!" to player + {chunk.live.%chunk at location of player%} is not set: + message "&cYou must do this on your land!" + stop + teleport player to {town.spawn} + +on sign change: + line 1 of block is "warp" or "[warp]": + {chunk.live.%chunk at location of player%} is uuid of player: + line 2 of block is "town": + set line 1 of block to "[WARP]" + set line 2 of block to "TOWN" + stop + send "&cYou can not do that here!" to player + cancel event + +on right click on sign: + line 1 of block is "[WARP]": + line 2 of block is "TOWN": + {chunk.live.%chunk at location of player%} is not player: + {chunk.live.%chunk at location of player%} is not "Town": + send "&cYou can only do this on your own land!" to player + {chunk.live.%chunk at location of player%} is not set: + message "&cYou must do this on your land!" + stop + teleport player to {town.spawn} + +command /clearland []: + permission: obam.admin + trigger: + argument is not set: + message "Please enter a name." + stop + argument is not "confirm": + {db_name.%argument%} does not exist: + message "&cThat player does not exist or has not converted to UUID." + stop + message "&cYou have five seconds to use &7/clearland confirm &cto finish." + set {clearland.confirm} to argument + wait 5 seconds + delete {clearland.confirm} + argument is "confirm": + {clearland.confirm} is set: + set {_who} to {clearland.confirm} + send "&cPreparing to delete &e%size of {owned.chunks.%{db_name.%{_who}%}%::*}% &cchunks...." to player + wait 0.5 seconds + loop {owned.chunks.%{db_name.%{_who}%}%::*}: + set {_chunk} to {owned.chunks.%{db_name.%{_who}%}%::%loop-index-1%} + send "&cClearing chunk &e%loop-index-1%" to player + wait 0.5 seconds + clear {chunk.live.%{_chunk}%} + clear {chunk.name.%{_chunk}%} + loop {flags.%{_chunk}%::*}: + delete {flags.%{_chunk}%::loop-index-2::*} + delete {flags.%{_chunk}%::*} + send "&aChunk &e%loop-index-1% &acleared" to player + send "&cClearing Home spawn" to player + clear {home.%{db_name.%{_who}%}%.wild} + send "&cManginling variables" to player + set {claimedland.%{db_name.%{_who}%}%} to 0 + clear {owned.chunks.%{db_name.%{_who}%}%::*} + send "&aLand clear complete!" to player + stop + message "&cTo slow. Try again." + +command /travelmove: + permission: obam.free + trigger: + {chunk.live.%chunk at location of player%} is not set: + message "&cThis land has not been claimed." + stop + {chunk.live.%chunk at location of player%} is not uuid of player: + message "&cThis is not your land!" + stop + set {loc.chunks.%uuid of player%::%chunk at location of player%} to location of player + send "&aYour travel location for this area, has been moved" to player + +command /sethome: + permission: obam.free + trigger: + {chunk.live.%chunk at location of player%} is not set: + message "&cYou must do this on your land!" + stop + {chunk.live.%chunk at location of player%} is not uuid of player: + message "&cYou must do this on your land!" + stop + set {home.%uuid of player%.wild} to location of player + send "&aYour home has been set!" to player + +on command "/home": + cancel event + {chunk.live.%chunk at location of player%} is not player: + {chunk.live.%chunk at location of player%} is not "Town": + {flags.%chunk at location of player%::teleport::everyone} is not set: + set {flags.%chunk at location of player%::teleport::everyone} to false + {flags.%chunk at location of player%::teleport::%uuid of player%} is not set: + set {flags.%chunk at location of player%::teleport::%uuid of player%} to false + {flags.%chunk at location of player%::teleport::everyone} is false: + {flags.%chunk at location of player%::teleport::%uuid of player%} is false: + send "&cYou can only do this in Town, or on your own land!" to player + stop + {chunk.live.%chunk at location of player%} is not set: + message "&cYou must do this on your land!" + stop + teleport player to {home.%uuid of player%.wild} + +on command "/mv spawn": + cancel event + {chunk.live.%chunk at location of player%} is not player: + {chunk.live.%chunk at location of player%} is not "Town": + send "&cYou can only do this in Town, or on your own land!" to player + stop + {chunk.live.%chunk at location of player%} is not set: + message "&cYou must do this on your land!" + stop + teleport player to {home.%uuid of player%.wild} + +on command "/mvspawn": + cancel event + {chunk.live.%chunk at location of player%} is not player: + {chunk.live.%chunk at location of player%} is not "Town": + send "&cYou can only do this in Town, or on your own land!" to player + stop + {chunk.live.%chunk at location of player%} is not set: + message "&cYou must do this on your land!" + stop + teleport player to {home.%uuid of player%.wild} + +on bed enter: + set {bed.%uuid of event-player%.wild} to true + set {bed.owner.%event-block%} to uuid of event-player + +on break of a bed: + {bed.owner.%event-block%} is set: + clear {bed.%{bed.owner.%event-block%}%.wild} + clear {bed.owner.%event-block%} + +on respawn: + wait 1 second + execute console command "effect %event-player% clear" + {home.%uuid of player%.wild} is set: + {bed.%uuid of event-player%.wild} is set: + wait 1 second + stop + wait 0.3 seconds + teleport player to {home.%uuid of player%.wild} + +command /townclaim: + permission: obam.admin + trigger: + set {chunk.live.%chunk at location of player%} to "Town" + +command /owner : + permission: obam.admin + trigger: + {db_chunks.claim.count.%{db_name.%argument%}%} is not set: + set {db_chunks.claim.count.%{db_name.%argument%}%} to 0 + add 1 to {db_chunks.claim.count.%{db_name.%argument%}%} + set {chunk.live.%chunk at location of player%} to {db_name.%argument%} + add chunk at location of player to {owned.chunks.%{db_name.%argument%}%::*} + set {chunk.name.%chunk at location of player%} to "%{db_chunks.claim.count.%{db_name.%argument%}%}%" + set {loc.chunks.%{db_name.%argument%}%::%chunk at location of player%} to location of player + message "&6%argument% now owns this Front." + send "&cPlease remember to adjust for tickets!" + +on command "/spawn": + {chunk.live.%chunk at location of player%} is not player: + {chunk.live.%chunk at location of player%} is not "Town": + send "&cYou can only do this in Town, or on your own land!" to player + cancel event + stop + {chunk.live.%chunk at location of player%} is not set: + message "&cYou must do this on your land!" + cancel event + stop + +on bucket fill: + {chunk.live.%chunk at location of player%} is set: + {chunk.live.%chunk at location of player%} is not player: + {flags.%chunk at location of player%::bucket::everyone} is not set: + set {flags.%chunk at location of player%::bucket::everyone} to false + {flags.%chunk at location of player%::bucket::%uuid of player%} is not set: + set {flags.%chunk at location of player%::bucket::%uuid of player%} to false + {flags.%chunk at location of player%::bucket::everyone} is false: + {flags.%chunk at location of player%::bucket::%uuid of player%} is true: + stop + {flags.%chunk at location of player%::bucket::everyone} is true: + stop + targeted block is water: + {flags.%chunk at location of player%::bucketwater::everyone} is true: + stop + {flags.%chunk at location of player%::bucketwater::%uuid of player%} is true: + stop + targeted block is lava: + {flags.%chunk at location of player%::bucketlava::everyone} is true: + stop + {flags.%chunk at location of player%::bucketlava::%uuid of player%} is true: + stop + send "&cYou do not have permission to do this!" + cancel event + +on bucket empty: + {chunk.live.%chunk at location of player%} is set: + {chunk.live.%chunk at location of player%} is not player: + {chunk.live.%chunk at location of player%.%uuid of player%} is not set: + {flags.%chunk at location of player%::bucket::everyone} is not set: + set {flags.%chunk at location of player%::bucket::everyone} to false + {flags.%chunk at location of player%::bucket::%uuid of player%} is not set: + set {flags.%chunk at location of player%::bucket::%uuid of player%} to false + {flags.%chunk at location of player%::bucket::everyone} is false: + {flags.%chunk at location of player%::bucket::%uuid of player%} is true: + stop + {flags.%chunk at location of player%::bucket::everyone} is true: + stop + player's tool is water bucket: + {flags.%chunk at location of player%::bucketwater::everyone} is true: + stop + {flags.%chunk at location of player%::bucketwater::%uuid of player%} is true: + stop + player's tool is lava bucket: + {flags.%chunk at location of player%::bucketlava::everyone} is true: + stop + {flags.%chunk at location of player%::bucketlava::%uuid of player%} is true: + stop + send "&cYou do not have permission to do this!" + cancel event + +command /claimedset : + permission: obam.admin + trigger: + set {claimedland.%{db_name.%player-arg%}%} to argument 2 + send "&e%player-arg%&a claimed balance set to &e%argument 2%" + +command /frontlandadd : + permission: obam.admin + trigger: + {availibleland.%{db_name.%argument 1%}%} is not set: + set {availibleland.%{db_name.%argument 1%}%} to 1 + add argument 2 to {availibleland.%{db_name.%argument 1%}%} + log "%date%%argument 2% plots added to %argument 1%'s availible land. Their number is now %{availibleland.%{db_name.%argument 1%}%}" to "logs/fronts/LAND-ADDITIONS.log" + +on first join: + teleport player to {town.spawn} + +on spawn: + {chunk.live.%chunk at event-location%} is "Town": + cancel event diff --git a/On Server Files/Fronts/Fronts/lightbow.g.sk b/On Server Files/Fronts/Fronts/lightbow.g.sk new file mode 100644 index 0000000..ad52016 --- /dev/null +++ b/On Server Files/Fronts/Fronts/lightbow.g.sk @@ -0,0 +1,50 @@ +options: + lightbow: bow named "&3Bow of Light" with lore "&6Light your way from afar||&6with this magical bow.|| ||&c-1 Torch Per Use" + +on script load: + register new shaped recipe for {@lightbow} using glowstone dust, glowstone dust, glowstone dust, glowstone dust, bow, glowstone dust, glowstone dust, glowstone dust, glowstone dust + +command /lightbow: + permission: obam.smod + trigger: + give player 1 {@lightbow} + send "&aHere is your thing" + +on right click with bow: + name of player's tool contains "&3Bow of Light": + cancel event + player does not have a torch: + send "&cYou do not have any torches" to player + stop + damage player's tool by 1 + set {_block} to player's target block + block above {_block} is air: + make player shoot item projectile torch at speed 5 + wait 3 ticks + set block above {_block} to torch + remove 1 torch from player + stop + block west of {_block} is air: + make player shoot item projectile torch at speed 5 + wait 3 ticks + set block west of {_block} to torch + remove 1 torch from player + stop + block south of {_block} is air: + make player shoot item projectile torch at speed 5 + wait 3 ticks + set block south of {_block} to torch + remove 1 torch from player + stop + block east of {_block} is air: + make player shoot item projectile torch at speed 5 + wait 3 ticks + set block east of {_block} to torch + remove 1 torch from player + stop + block north of {_block} is air: + make player shoot item projectile torch at speed 5 + wait 3 ticks + set block north of {_block} to torch + remove 1 torch from player + stop diff --git a/On Server Files/Fronts/Fronts/projeggtiles.g.sk b/On Server Files/Fronts/Fronts/projeggtiles.g.sk new file mode 100644 index 0000000..ad5903d --- /dev/null +++ b/On Server Files/Fronts/Fronts/projeggtiles.g.sk @@ -0,0 +1,380 @@ +options: + egg: snowball named "&3Projeggtile Capture Ball" with lore "&6Capture the essence of various creatures||&6by tossing your balls at them." + egg2: snowball named "&3Projeggtile &2Creeper &3Ball" with lore "&6Heavily reinforced to prevent even the||&6most explosive creepers from escaping!" + egg3: snowball named "&3Projeggtile &7Skeleton &3Ball" with lore "&6An ironic prison of bones made to hold||&6a skeleton, made from its own kin!" + egg4: snowball named "&3Projeggtile &aZombie &dPigman &3Ball" with lore "&6A containment area with a nugget inside||&6to lure and keep the pigman content!" + egg5: snowball named "&3Projeggtile &aZombie &3Ball" with lore "&6Layered in flesh to make even the||&6loneliest zombie feel at home!" + egg6: snowball named "&3Projeggtile &4Spider &3Ball" with lore "&6Tangles an eight legged bugger||&6into a silky woven sack!" + +on script load: + register new shaped recipe for {@egg2} using {@egg}, {@egg}, {@egg}, {@egg}, gunpowder, {@egg}, {@egg}, {@egg}, {@egg} + register new shaped recipe for {@egg3} using {@egg}, {@egg}, {@egg}, {@egg}, bone, {@egg}, {@egg}, {@egg}, {@egg} + register new shaped recipe for {@egg4} using {@egg}, {@egg}, {@egg}, {@egg}, gold nugget, {@egg}, {@egg}, {@egg}, {@egg} + register new shaped recipe for {@egg5} using {@egg}, {@egg}, {@egg}, {@egg}, rotten flesh, {@egg}, {@egg}, {@egg}, {@egg} + register new shaped recipe for {@egg6} using {@egg}, {@egg}, {@egg}, {@egg}, string, {@egg}, {@egg}, {@egg}, {@egg} + +command /captureball [] []: + aliases: cb + permission: obam.smod + trigger: + argument 1 is "capture": + player doesn't have space for 1 * argument 2 of {@egg}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@egg} to player + message "&aHere are your things." + stop + argument 1 is "creeper": + player doesn't have space for 1 * argument 2 of {@egg2}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@egg2} to player + message "&aHere are your things." + stop + argument 1 is "skeleton": + player doesn't have space for 1 * argument 2 of {@egg3}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@egg3} to player + message "&aHere are your things." + stop + argument 1 is "zombie": + player doesn't have space for 1 * argument 2 of {@egg5}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@egg5} to player + message "&aHere are your things." + stop + argument 1 is "pigman": + player doesn't have space for 1 * argument 2 of {@egg4}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@egg4} to player + message "&aHere are your things." + stop + argument 1 is "spider": + player doesn't have space for 1 * argument 2 of {@egg6}: + message "&cYou do not have room for this." + stop + give 1 * argument 2 of {@egg6} to player + message "&aHere are your things." + stop + +on join: + {db_egg.%player%.skeleton} is set: + send "&aYou have received %{db_egg.%player%.skeleton}% Projeggtiles" + loop {db_egg.%player%.skeleton} times: + drop {@egg3} + clear {db_egg.%player%.skeleton} + + {db_egg.%player%.creeper} is set: + send "&aYou have received %{db_egg.%player%.creeper}% Projeggtiles" + loop {db_egg.%player%.creeper} times: + + drop {@egg2} + clear {db_egg.%player%.creeper} + + {db_egg.%player%.zpig} is set: + send "&aYou have received %{db_egg.%player%.zpig}% Projeggtiles" + loop {db_egg.%player%.zpig} times: + drop {@egg4} + clear {db_egg.%player%.zpig} + + {db_egg.%player%.zombie} is set: + send "&aYou have received %{db_egg.%player%.zombie}% Projeggtiles" + loop {db_egg.%player%.zombie} times: + drop {@egg5} + clear {db_egg.%player%.zombie} + +on shoot: + projectile is snowball: + shooter's tool is {@egg}: + set {projeggtile.%projectile%} to true + shooter's tool is {@egg2}: + set {projeggtile.hostile.%projectile%} to true + set {creeper.%projectile%} to true + shooter's tool is {@egg3}: + set {projeggtile.hostile.%projectile%} to true + set {skeleton.%projectile%} to true + shooter's tool is {@egg4}: + set {projeggtile.hostile.%projectile%} to true + set {pigman.%projectile%} to true + shooter's tool is {@egg5}: + set {projeggtile.hostile.%projectile%} to true + set {zombie.%projectile%} to true + shooter's tool is {@egg6}: + set {projeggtile.hostile.%projectile%} to true + set {spider.%projectile%} to true + + +on damage of a creeper or a skeleton or a zombie or a zombie pigman or a spider: + attacker is a player: + {projeggtile.hostile.%projectile%} is set: + {chunk.live.%chunk at location of victim%} is not attacker: + send "&cYou can not steal animals! D:" to attacker + stop + set {_player} to "%attacker%" parsed as player + set {_bal} to attacker's balance + {_bal} is less than 150: + send "&cYou do not have enough tickets!" to attacker + cancel event + {creeper.%projectile%} is set: + give attacker {@egg2} + stop + {skeleton.%projectile%} is set: + give attacker {@egg3} + stop + {pigman.%projectile%} is set: + give attacker {@egg4} + stop + {zombie.%projectile%} is set: + give attacker {@egg5} + stop + {spider.%projectile%} is set: + give attacker {@egg6} + stop + subtract 150 from attacker's balance + victim is a zombie: + {zombie.%projectile%} is not set: + set {_loc} to location of victim + delete victim + wait 1 second + create safe explosion with force 1 at {_loc} + spawn zombie at {_loc} + send "&cThe strength of that Projeggtile was not rated for this Mob!" to attacker + add 150 to attacker's balance + stop + set {_egg} to zombie spawn egg + set {_mob.name} to "zombie" + victim is a creeper: + {creeper.%projectile%} is not set: + set {_loc} to location of victim + delete victim + wait 1 second + create safe explosion with force 1 at {_loc} + spawn creeper at {_loc} + send "&cThe strength of that Projeggtile was not rated for this Mob!" to attacker + add 150 to attacker's balance + stop + set {_egg} to creeper spawn egg + set {_mob.name} to "creeper" + victim is skeleton: + {skeleton.%projectile%} is not set: + set {_loc} to location of victim + delete victim + wait 1 second + create safe explosion with force 1 at {_loc} + spawn skeleton at {_loc} + send "&cThe strength of that Projeggtile was not rated for this Mob!" to attacker + add 150 to attacker's balance + stop + set {_egg} to skeleton spawn egg + set {_mob.name} to "skeleton" + victim is zombie pigman: + {pigman.%projectile%} is not set: + set {_loc} to location of victim + delete victim + wait 1 second + create safe explosion with force 1 at {_loc} + spawn zombie pigman at {_loc} + make attacker damage victim by 1 + send "&cThe strength of that Projeggtile was not rated for this Mob!" to attacker + add 150 to attacker's balance + stop + set {_egg} to zombie pigman spawn egg + set {_mob.name} to "zombie pigman" + victim is spider: + {spider.%projectile%} is not set: + set {_loc} to location of victim + delete victim + wait 1 second + create safe explosion with force 1 at {_loc} + spawn spider at {_loc} + send "&cThe strength of that Projeggtile was not rated for this Mob!" to attacker + add 150 to attacker's balance + stop + set {_egg} to spider spawn egg + set {_mob.name} to "spider" + display name of victim is not set: + cancel event + attacker doesn't have space for {_egg}: + drop {_egg} at location of attacker + attacker has space for {_egg}: + give attacker {_egg} + delete victim + set {_top} to size of {pegg.messages.capture::*} + set {_ran} to random integer between 0.5 and {_top} + send "&aYou have spent &e150&a tickets on capturing a creature!" to attacker + log "%attacker%^%{_bal}%^DEDUCT^150^%attacker's balance%^CREATURE CAPTURE FEE - HOSTILE" to "tickets/CREATURECAPTURE.log" + loop {pegg.messages.capture::*}: + {_loop.count} is not set: + set {_loop.count} to 0 + add 1 to {_loop.count} + {_loop.count} is {_ran}: + set {_message} to "%loop-value%" + replace "MOB" in {_message} with "%{_mob.name}%" + send "&e%{_message}%" to attacker + stop + + cancel event + set {_top} to size of {pegg.messages.capture::*} + set {_ran} to random integer between 0.5 and {_top} + send "&aYou have spent &e150&a tickets on capturing a creature!" to attacker + send "&aYou have &e%attacker's balance%&a remaining." to attacker + log "%attacker%^%{_bal}%^DEDUCT^150^%attacker's balance%^CREATURE CAPTURE FEE - HOSTILE" to "tickets/CREATURECAPTURE.log" + loop {pegg.messages.capture::*}: + {_loop.count} is not set: + set {_loop.count} to 0 + add 1 to {_loop.count} + {_loop.count} is {_ran}: + set {_message} to "%loop-value%" + replace "MOB" in {_message} with "%display name of victim%" + send "&e%{_message}%" to attacker + attacker doesn't have space for {_egg}: + set {_egg} to {_egg} named "%display name of victim%" + drop {_egg} at location of attacker + attacker has space for {_egg}: + give attacker {_egg} named "%display name of victim%" + delete victim + stop + +on damage of a pig or chicken or ocelot or squid or cow or bat or wolf or sheep or horse or donkey or mule or mooshroom: + attacker is a player: + {projeggtile.%projectile%} is set: + {chunk.live.%chunk at location of victim%} is not attacker: + stop + set {_player} to "%attacker%" parsed as player + set {_bal} to attacker's balance + {_bal} is less than 5: + send "&cYou do not have enought tickets!" to attacker + cancel event + give attacker {@egg} + stop + remove 5 from attacker's balance + send "&aYou have spent &e5&a tickets on capturing a creature!" to attacker + send "&aYou have &e%attacker's balance%&a remaining." to attacker + log "%attacker%^%{_bal}%^DEDUCT^5^%{_player}'s balance%^CREATURE CAPTURE FEE" to "tickets/CREATURECAPTURE.log" + victim is a pig: + set {_egg} to pig spawn egg + set {_mob.name} to "pig" + victim is a chicken: + set {_egg} to chicken spawn egg + set {_mob.name} to "chicken" + victim is ocelot: + set {_egg} to ocelot spawn egg + set {_mob.name} to "ocelot" + victim is squid: + set {_egg} to squid spawn egg + set {_mob.name} to "squid" + victim is cow: + victim is not mooshroom: + set {_egg} to cow spawn egg + set {_mob.name} to "cow" + victim is bat: + set {_egg} to bat spawn egg + set {_mob.name} to "bat" + victim is wolf: + set {_egg} to wolf spawn egg + set {_mob.name} to "wolf" + victim is mooshroom: + set {_egg} to mooshroom spawn egg + set {_mob.name} to "mooshroom" + victim is sheep: + set {_egg} to sheep spawn egg + set {_mob.name} to "sheep" + victim is horse or mule or donkey: + set {_egg} to horse spawn egg + set {_mob.name} to "horse" + display name of victim is not set: + cancel event + attacker doesn't have space for {_egg}: + drop {_egg} at location of attacker + attacker has space for {_egg}: + give attacker {_egg} + delete victim + set {_top} to size of {pegg.messages.capture::*} + set {_ran} to random integer between 0.5 and {_top} + loop {pegg.messages.capture::*}: + {_loop.count} is not set: + set {_loop.count} to 0 + add 1 to {_loop.count} + {_loop.count} is {_ran}: + set {_message} to "%loop-value%" + replace "MOB" in {_message} with "%{_mob.name}%" + send "&e%{_message}%" to attacker + stop + cancel event + set {_top} to size of {pegg.messages.capture::*} + set {_ran} to random integer between 0.5 and {_top} + loop {pegg.messages.capture::*}: + {_loop.count} is not set: + set {_loop.count} to 0 + add 1 to {_loop.count} + {_loop.count} is {_ran}: + set {_message} to "%loop-value%" + replace "MOB" in {_message} with "%display name of victim%" + send "&e%{_message}%" to attacker + attacker doesn't have space for {_egg}: + set {_egg} to {_egg} named "%display name of victim%" + drop {_egg} at location of attacker + attacker has space for {_egg}: + give attacker {_egg} named "%display name of victim%" + delete victim + stop + +on death of a creeper or a zombie or a silverfish or a witch or a spider or magma cube or wither skeleton or skeleton or enderman or cave spider or slime or ghast or zombie pigman: + chance of 20%: + add {@egg} to drops + clear {player.hit.%event-entity%} + +on damage of a creeper or a zombie or a silverfish or a witch or a spider or magma cube or wither skeleton or skeleton or enderman or cave spider or slime or ghast or zombie pigman: + attacker is player: + set {player.hit.%victim%} to true + + +command /pegg [] []: + permission: obam.admin + trigger: + argument 1 is not set: + send "&a-------&eProjeggtile System&a--------" to player + send " " to player + send " " to player + send "&e/pegg &a--------------------- &eOpen this menu" to player + send "&e/pegg list &a---------------- &eList active messages" to player + send "&e/pegg add [message] &a------- &eAdd message to list" to player + send "&e/pegg delete [number] &a----- &eDelete Specified message from list" + send "&e/pegg test [number] &a------- &eTest specific message with 'OBAM' " + send " " + send " " + send "&cV 1.2 &eCoded by: &aISMOOCH" + send "&eDeveloped for: OBAM CRAFT" to player + argument 1 is "list": + loop {pegg.messages.capture::*}: + {_loop.count} is not set: + set {_loop.count} to 0 + add 1 to {_loop.count} + send "&e%loop-index%&a.... &e%loop-value%" to player + + argument 1 is "add": + argument 2 is not set: + send "&cCorrect usage: &e/pegg [list|add|delete|test] [message|number]" to player + stop + add argument 2 to {pegg.messages.capture::*} + send "&aMessage &e%argument 2%&a added!" to player + argument 1 is "delete": + argument 2 is not set: + send "&cCorrect usage: &e/pegg [list|add|delete|test] [message|number]" to player + stop + send "&cDeleteing message &e%{pegg.messages.capture::%argument 2%}%&c..." + delete {pegg.messages.capture::%argument 2%} + send "&aMessage deleted!" to player + + argument 1 is "test": + argument 2 is not set: + send "&cCorrect usage: &e/pegg [list|add|delete|test] [message|number]" to player + stop + set {_message} to {pegg.messages.capture::%argument 2%} + replace "MOB" in {_message} with "OBAM" + send {_message} to player + + diff --git a/On Server Files/Fronts/Fronts/shop.fronts.sk b/On Server Files/Fronts/Fronts/shop.fronts.sk new file mode 100644 index 0000000..403199e --- /dev/null +++ b/On Server Files/Fronts/Fronts/shop.fronts.sk @@ -0,0 +1,54 @@ +#shop for Fronts + +on script load: + delete {db_shop.items::*} + set {db_shop.items::Front Slot} to "i;grass;n;&a&b&k&a&3Front Slot;l;&6Purchase one Front Slot, which allows you the||&6ability to claim protected land.|| ||&5&oClick to purchase|| ||&3&lCost:||&e10,000 Tickets;c;sudo PLAYER shop land" + set {db_shop.items::Front Bundle} to "i;5 grass;n;&a&b&k&a&3Front Slot Bundle;l;&6Purchase five Front Slots, which allows you the||&6ability to claim protected land.|| ||&5&oClick to purchase|| ||&3&lCost:||&e45,000 Tickets;c;sudo PLAYER shop bundle" + set {db_shop.items::Timber Axe} to "i;diamond axe;n;&a&b&k&a&3Timber Axe;l;&6This axe makes all logs within a 10 block radius||&6go timber!|| ||&2StickyItem ©|| ||&5&oClick to purchase|| ||&3&lCost:||&e5,000 Tickets;c;sudo PLAYER timberpurchase" + set {db_shop.items::HotTouch Pick} to "i;diamond pickaxe;n;&a&b&k&a&3HotTouch Pickaxe;l;&6A pickaxe forged from the heart of the Nether||&6with an intense heat to smelt ores while mining.|| ||&2StickyItem ©|| ||&5&oClick to purchase|| ||&3&lCost:||&e7,500 Tickets;c;sudo PLAYER hottouchpurchase pick" + set {db_shop.items::HotTouch Axe} to "i;diamond axe;n;&a&b&k&a&3HotTouch Axe;l;&6An axe forged from the heart of the Nether||&6with an intense heat to cook logs into charcoal||&6while chopping.|| ||&2StickyItem ©|| ||&5&oClick to purchase|| ||&3&lCost:||&e5,000 Tickets;c;sudo PLAYER hottouchpurchase axe" + set {db_shop.items::HotTouch Shovel} to "i;diamond shovel;n;&a&b&k&a&3HotTouch Shovel;l;&6A shovel forged from the heart of the Nether||&6with an intense heat to cook sand clay and||&6cactus while digging.|| ||&2StickyItem ©|| ||&5&oClick to purchase|| ||&3&lCost:||&e10,000 Tickets;c;sudo PLAYER hottouchpurchase shovel" + + + + +command /shop []: + permission: obam.free + trigger: + argument is not set: + loop {db_shop.items::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_chest} is set: + set {_chest} to "%{_chest}%;s;%{_count}%;%loop-value%" + {_chest} is not set: + set {_chest} to "s;%{_count}%;%loop-value%" + replace "PLAYER" in {_chest} with "%player%" + {_count} is less than 9: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show "%{_chest}%" with {_size} row named "&9&lFronts&9 Shop" to player + argument is "land": + set {_curbal} to player's balance + {_curbal} is less than 10000: + send "&cYou do not have enough tickets!" to player + stop + subtract 10000 from player's balance + add 1 to {db_availableland.%uuid of player%} + send "&aYou have purchased &e1 Land Slot&a for &e10,000 Tickets" to player + send "&aYou have &e%player's balance%&a remaining" to player + argument is "bundle": + set {_curbal} to player's balance + {_curbal} is less than 45000: + send "&cYou do not have enough tickets!" to player + stop + subtract 45000 from player's balance + add 5 to {db_availableland.%uuid of player%} + send "&aYou have purchased &e5 Land Slots&a for &e45,000 Tickets" to player + send "&aYou have &e%player's balance%&a remaining" to player diff --git a/On Server Files/Fronts/Fronts/soulbound.g.sk b/On Server Files/Fronts/Fronts/soulbound.g.sk new file mode 100644 index 0000000..34b83b3 --- /dev/null +++ b/On Server Files/Fronts/Fronts/soulbound.g.sk @@ -0,0 +1,91 @@ +on death of a player: + loop drops: + lore of loop-item contains "&2StickyItem ©": + name of loop-item contains "&a&b&k&a": + add loop-item to {soulbound.%uuid of player%::*} + remove loop-item from drops + +on respawn: + wait 1 tick + {soulbound.%uuid of player%::*} is set: + loop {soulbound.%uuid of player%::*}: + player has space for loop-value: + give player loop-value + clear {soulbound.%uuid of player%::%loop-index%} + {soulbound.%uuid of player%::*} exists: + set {_count} to 0 + loop {soulbound.%uuid of player%::*}: + add 1 to {_count} + send "&cYou have &f%{_count}% &cSticky Items that can be claimed using &f/stickyitem claim" to player + send "&cPlease open up some inventory space." to player + +every 1 minute: + loop all players: + {soulbound.%uuid of loop-player%::*} exists: + set {_count} to 0 + loop {soulbound.%uuid of loop-player%::*}: + add 1 to {_count} + send "&cYou have &f%{_count}% &cSticky Items that can be claimed using &f/stickyitem claim" to loop-player + send "&cPlease open up some inventory space." to loop-player + +command /stickyitem []: + aliases: si + trigger: + argument 1 is "help" or "h": + send "&aSticky Item Help" + send "&a/stickyitem - will sticky whatever you are holding." + send "&a/stickyitem claim - will give you any items that were not able to fit in your inventory upon respawn." + player has permission "obam.smod": + send "&a/stickyitem mod - will sticky an item without the ticket cost." + argument 1 is "claim" or "c": + set {_count1} to 0 + loop {soulbound.%uuid of player%::*}: + player has space for loop-value: + give player loop-value + add 1 to {_count1} + clear {soulbound.%uuid of player%::%loop-index%} + {soulbound.%uuid of player%::*} exists: + set {_count2} to 0 + loop {soulbound.%uuid of player%::*}: + add 1 to {_count2} + send "&cYou have claimed &f%{_count1}% &citems from your Sticky Queue. You still have &f%{_count2}% &citems in the Queue." + stop + send "&aYou have claimed &f%{_count1}% &aitems from your Sticky Queue. Your Queue is now empty!" + argument 1 is not set: + set {_bal} to player's balance + {_bal} is less than 10000: + send "&cYou do not have enough tickets for this!" + stop + lore of player's tool contains "&2StickyItem ©": + send "&cThis is already a &2StickyItem ©" + stop + name of player's tool is set: + set name of player's tool to "&a&b&k&a%name of player's tool%" + name of player's tool is not set: + set name of player's tool to "&a&b&k&a%type of player's tool%" + remove 10000 from player's balance + set lore of player's tool to "%lore of player's tool%|| ||&2StickyItem ©" + send "&aThank you for using &2StickyItem ©&a. Your item is now Stickied for a price of &e10000 Tickets&a!" + send "&aYour balance is now &e%player's balance%&a." + argument 1 is "mod": + player has permission "obam.admin": + name of player's tool is set: + set name of player's tool to "&a&b&k&a%name of player's tool%" + name of player's tool is not set: + set name of player's tool to "&a&b&k&a%type of player's tool%" + lore of player's tool contains "&2StickyItem ©": + send "&cThis is already a &2StickyItem ©" + stop + set lore of player's tool to "%lore of player's tool%|| ||&2StickyItem ©" + send "&aThank you for using &2StickyItem ©&a." + +on enchant: + lore of event-item contains "&2StickyItem ©": + send "&cYou can not enchant StickyItems!" + cancel event + stop + +on craft: + lore of event-item contains "&2StickyItem ©": + send "&cYou can not do that with a StickyItem!" + cancel event diff --git a/On Server Files/Fronts/Fronts/timber.g.sk b/On Server Files/Fronts/Fronts/timber.g.sk new file mode 100644 index 0000000..9ce84d3 --- /dev/null +++ b/On Server Files/Fronts/Fronts/timber.g.sk @@ -0,0 +1,54 @@ +options: + timber: diamond axe named "&a&b&k&a&3Timber Axe" with lore "&6This axe makes all logs within a 10 block radius||&6go timber!|| ||&2StickyItem ©" + +command /timberpurchase: + permission: obam.free + trigger: + set {_bal} to player's balance + {_bal} is less than 5000: + send "&cYou do not have enough tickets for this!" + stop + give player 1 {@timber} + remove 5000 from player's balance + send "&aYou have purchased a &eTimber Axe&a for &e5000 Tickets" + send "&aYour balance is now &e%player's balance%" + +command /timber: + permission: obam.smod + trigger: + give player 1 {@timber} + send "&aHere is your thing" + +on break of oak wood or birch wood or spruce wood or jungle wood or acacia wood or dark oak wood: + name of player's tool is "&a&b&k&a&3Timber Axe": + add location of event-block to {_wood.blocks::*} + loop blocks in radius 10 of event-block: + loop-block is oak wood or birch wood or spruce wood or jungle wood or acacia wood or dark oak wood: + {chunk.live.%chunk at location of loop-block%} is set: + {chunk.live.%chunk at location of loop-block%} is not player: + cancel event + send "&cYou are too close to others' land!" + stop + add location of loop-block to {_wood.blocks::*} + loop {_wood.blocks::*}: + set {_block} to block at loop-value + {_block} is oak wood: + set {_type} to oak log:0 + {_block} is birch wood: + set {_type} to birch log:2 + {_block} is spruce wood: + set {_type} to spruce log:1 + {_block} is jungle wood: + set {_type} to jungle log:3 + {_block} is acacia wood: + set {_type} to acacia log:0 + {_block} is dark oak wood: + set {_type} to dark oak log:1 + delete block at loop-value + drop 1 of {_type} at loop-value + damage player's tool by 1 + +on enchant: + name of event-item is "&a&b&k&a&3Timber Axe": + cancel event + send "&cYou can't do that dawg." \ No newline at end of file diff --git a/On Server Files/Fronts/Perk/hats.g.sk b/On Server Files/Fronts/Perk/hats.g.sk new file mode 100644 index 0000000..623f92d --- /dev/null +++ b/On Server Files/Fronts/Perk/hats.g.sk @@ -0,0 +1,136 @@ +on script load: + delete {db_perk.hats::*} + set {db_perk.hats::01.dirt} to "dirt;&3&lDirt Hat;&6Carefully woven together from the finest dirt||&6in all of &3OBAM!;sudo PLAYER hat dirt" + set {db_perk.hats::02.beta} to "iron pressure plate;&3&lBeta Supporter Hat;&6This Special hat is for all members who supported||&6during our beta period and is a thank you from the||&3OBAM &6Staff for those that helped us when we were||&6starting. THANK YOU!;sudo PLAYER hat beta;&6This Special hat is for all members who supported||&6during our beta period and is a thank you from the||&3OBAM &6Staff for those that helped us when we were||&6starting. THANK YOU!|| ||&cThis hat is only available to our Beta Supporters.;sudo PLAYER hat error" + set {db_perk.hats::03.quartz} to "quartz block;&3&lQuartz Hat;&6This hat is crafted from the smoothest quartz||&6found in the hottest part of the Nether!;sudo PLAYER hat quartz;&6This hat is crafted from the smoothest quartz||&6found in the hottest part of the Nether!|| ||&cThis hat is only available to our Supporters.;sudo PLAYER hat error" + set {db_perk.hats::04.cactus} to "cactus;&3&lPrickly Hat;&6Wear this hat when you're feeling a bit....Prickly!;sudo PLAYER hat cactus;&6Wear this hat when you're feeling a bit....Prickly!|| ||&cThis hat must be purchased from the OBAMCraft shop.|| ||&eUse &f/buy &ein the hub to purchase the &3Prickly Hat|| ||&ePrice: &a$2.00;sudo PLAYER hat error" + +command /hatmenu []: + trigger: + loop {db_perk.hats::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHat Rack" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.hats::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "02.beta": + player does not have permission "obam.beta.hat": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.quartz": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.cactus": + {db_purchase.cactus.%uuid of player%} is not set: + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /hat []: + trigger: + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hat Rack." + stop + argument 1 is "error": + message "&cThis hat is not available to you." + stop + argument 1 is "dirt": + set {_hat} to dirt + argument 1 is "beta": + player has permission "obam.beta.hat": + set {_hat} to iron pressure plate + argument 1 is "quartz": + player has permission "obam.supporter": + set {_hat} to quartz block + argument 1 is "cactus": + {db_purchase.cactus.%uuid of player%} is true: + set {_hat} to cactus + player has permission "obam.smod": + set {_hat} to cactus + send "&aYou now have a hat :D" to player + name of player's helmet is "hat": + set player's helmet to {_hat} + set name of player's helmet to "hat" + stop + player doesn't have space for player's helmet: + send "&cYour inventory is full :(" to player + stop + give player's helmet to player + set player's helmet to {_hat} + set name of player's helmet to "hat" + +command /hatadd : + permission: obam.admin + trigger: + add arg 1 to {hat.items.list::*} + +command /hatshow: + permission: obam.admin + trigger: + loop {hat.items.list::*}: + send "%loop-value%" to player + +every 0.3 seconds: + loop all players: + loop-player has anything named "hat": + remove anything named "hat" from loop-player + send "&cWhy did you have a hat in your pocket?" to loop-player + +on drop: + name of event-item is "hat": + cancel event + +on place: + name of player's tool is "hat": + cancel event + +command /hattoggle: + permission: obam.mod + trigger: + {hat.off.%player%} is not set: + set {hat.off.%player%} to true + send "&aYou have turned off your hat" to player + stop + {hat.off.%player%} is false: + set {hat.off.%player%} to true + send "&aYou have turned off your hat" to player + stop + {hat.off.%player%} is true: + set {hat.off.%player%} to false + send "&aYou have turned on your hat" to player + stop + +#staff hats constant +every 1 second: + loop all players: + set {_bypass} to false + {hat.off.%loop-player%} is true: + set {_bypass} to true + {_bypass} is false: + loop-player is "ISMOOCH": + set loop-player's helmet to command block named "&d&lSmooch's Sassy Hat" + loop-player is "Electric_Hamster": + set loop-player's helmet to sponge named "&b&lThe Hamster Hat" \ No newline at end of file diff --git a/On Server Files/Fronts/Perk/hitsounds.g.sk b/On Server Files/Fronts/Perk/hitsounds.g.sk new file mode 100644 index 0000000..f38632f --- /dev/null +++ b/On Server Files/Fronts/Perk/hitsounds.g.sk @@ -0,0 +1,336 @@ +on script load: + delete {db_perk.hit.class::*} + delete {db_perk.hit.hand::*} + delete {db_perk.hit.sword::*} + delete {db_perk.hit.axe::*} + delete {db_perk.hit.pickaxe::*} + delete {db_perk.hit.bow::*} + delete {db_perk.hit.rod::*} + + set {db_perk.hit.class::01.hand} to "stone button;&3Punch Sounds;&6Click to modify the sound you make when you||&6attack with your fists.;sudo PLAYER hitmenuchange hand;&6Click to modify the sound you make when you||&6attack with your fists.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::02.sword} to "iron sword;&3Sword Sounds;&6Click to modify the sound you make when you||&6attack with a sword.;sudo PLAYER hitmenuchange sword;&6Click to modify the sound you make when you||&6attack with a sword.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::03.axe} to "iron axe;&3Axe Sounds;&6Click to modify the sound you make when you||&6attack with an axe.;sudo PLAYER hitmenuchange axe;&6Click to modify the sound you make when you||&6attack with an axe.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::04.pickaxe} to "iron pickaxe;&3Pickaxe Sounds;&6Click to modify the sound you make when you||&6attack with a pickaxe.;sudo PLAYER hitmenuchange pickaxe;&6Click to modify the sound you make when you||&6attack with a pickaxe.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::05.bow} to "bow;&3Bow Sounds;&6Click to modify the sound you make when you||&6attack with a bow.;sudo PLAYER hitmenuchange bow;&6Click to modify the sound you make when you||&6attack with a bow.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::06.rod} to "fishing rod;&3Fishing Rod Sounds;&6Click to modify the sound you make when you||&6attack with a fishing rod.;sudo PLAYER hitmenuchange rod;&6Click to modify the sound you make when you||&6attack with a fishing rod.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::07.air} to "air" + set {db_perk.hit.class::08.air} to "air" + set {db_perk.hit.class::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your player.;sudo PLAYER hitsoundclear PLAYER" + + set {db_perk.hit.hand::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound hand note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound hand arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound hand anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound hand chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound hand click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound hand level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound hand villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::08.air} to "air" + set {db_perk.hit.hand::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound hand clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + + set {db_perk.hit.sword::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound sword note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound sword arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound sword anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound sword chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound sword click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound sword level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound sword villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::08.air} to "air" + set {db_perk.hit.sword::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound sword clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + + set {db_perk.hit.axe::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound axe note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound axe arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound axe anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound axe chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound axe click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound axe level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound axe villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::08.air} to "air" + set {db_perk.hit.axe::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound axe clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + + set {db_perk.hit.pickaxe::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound pickaxe note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound pickaxe arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound pickaxe anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound pickaxe chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound pickaxe click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound pickaxe level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound pickaxe villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::08.air} to "air" + set {db_perk.hit.pickaxe::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound pickaxe clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + + set {db_perk.hit.bow::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound bow note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound bow arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound bow anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound bow chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound bow click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound bow level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound bow villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::08.air} to "air" + set {db_perk.hit.bow::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound bow clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + + set {db_perk.hit.rod::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound rod note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound rod arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound rod anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound rod chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound rod click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound rod level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound rod villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::08.air} to "air" + set {db_perk.hit.rod::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound rod clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + +command /hitclassmenu: + trigger: + loop {db_perk.hit.class::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHit Sound Classes" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.hit.class::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.hand": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.sword": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.axe": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.pickaxe": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.bow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.rod": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /hitmenuchange []: + trigger: + argument 1 is set: + send "&aBringing up menu..." + wait 0.5 seconds + make player execute command "/hitmenu %argument 1%" + +command /hitmenu []: + trigger: + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hit Menu." + stop + argument 1 is "error": + message "&cThis hit class is not available to you." + stop + set {_type} to argument 1 + loop {db_perk.hit.%{_type}%::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHit Sound Classes" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.hit.%{_type}%::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.note": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.arrow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.anvil": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.chest": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.click": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.level": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "07.villager": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "08.clear": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + set {_thing1} to loop-index parsed as text + set {_thing2::*} to {_thing1} split at "." + set {_slot} to {_thing2::1} parsed as an integer + set {_slot} to {_slot} - 1 + format slot {_slot} of player with {_what} to be unstealable + format slot {_slot} of player with {_what} to close then run {_command} + +command /hitsound [] []: + trigger: + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hit Menu." + stop + argument 2 is "error": + message "&cThis hit sound is not available to you." + stop + set {_what} to argument 1 + set {_sound} to argument 2 + argument 2 is "clear": + clear {hit.%{_what}%.%player%} + send "&aAttack sounds cleared!" + stop + set {hit.%{_what}%.%player%} to "%{_sound}%" + send "&aAttack sound set to &e%{_sound}%!" + +on damage: + {hit.%attacker%} is set: + delete {hit.%attacker%} + attacker's tool is air: + set {_what} to "hand" + attacker's tool is a sword: + set {_what} to "sword" + attacker's tool is an axe: + set {_what} to "axe" + attacker's tool is a pickaxe: + set {_what} to "pickaxe" + attacker's tool is a bow: + set {_what} to "bow" + attacker's tool is a fishing rod: + set {_what} to "rod" + {hit.%{_what}%.%attacker%} is set: + {hit.%{_what}%.%attacker%} is "note": + chance of 14%: + play note bass at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 16%: + play note piano at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 20%: + play note bass drum at location of attacker with pitch 1 + set {_play} to true + chance of 25%: + play note sticks at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 33%: + play note bass guitar at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play note snare drum at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play note pling at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "arrow": + chance of 50%: + play shoot arrow at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play arrow hit at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "chest": + chance of 50%: + play chest close at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play chest close at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "anvil": + chance of 33%: + play anvil break at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play anvil land at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play anvil use at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "click": + play click at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "level": + chance of 50%: + play level up at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play orb pickup at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "villager": + chance of 16%: + play villager yes at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 20%: + play villager no at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 25%: + play villager death at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 33%: + play villager haggle at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play villager idle at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play villager hit at location of attacker with pitch 1 + +command /hitsoundclear : + trigger: + delete {hit.hand.%argument 1%} + delete {hit.sword.%argument 1%} + delete {hit.axe.%argument 1%} + delete {hit.pickaxe.%argument 1%} + delete {hit.bow.%argument 1%} + delete {hit.rod.%argument 1%} + message "&2All of your hit sounds have been cleared." \ No newline at end of file diff --git a/On Server Files/Fronts/Perk/otam.g.sk b/On Server Files/Fronts/Perk/otam.g.sk new file mode 100644 index 0000000..1480de2 --- /dev/null +++ b/On Server Files/Fronts/Perk/otam.g.sk @@ -0,0 +1,142 @@ +every 1 second: + + set {_hold} to now + + {db_time.extend.tam} is less than now: + + clear {db_tam.bonus} + set {db_current.bonus} to false + clear {db_time.extend.tam} + clear {alert.tam.lastminute} + broadcast "&3&l۝TAM: &dTAM Bonus has Ended!" + execute console command "crossmessage &3&l۝TAM: &dTAM Bonus has Ended!" + + set {_diff} to difference between {db_time.extend.tam} and now + + {_diff} is less than 15 minutes: + + {alert.tam.lastminute} is not set: + set {alert.tam.lastminute} to true + + broadcast "&3&l۝TAM: &dLess than 15 minutes remaining of TAM Bonus at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &dLess than 15 minutes remaining of TAM Bonus at &e%{db_tam.bonus}%&d!" + + +command /tamextended : + permission: obam.admin + trigger: + + {db_time.extend.tam} is not set: + set {db_time.extend.tam} to now + {db_tamstats.time.%argument 2%} is not set: + set {db_tamstats.time.%argument 2%} to 0 + + #Not meant to be a real option.. just for debugging + arg 1 is 5: + + add 5 minutes to {db_time.extend.tam} + add 5 to {db_tamstats.time.%argument 2%} + + arg 1 is 30: + + add 30 minutes to {db_time.extend.tam} + add 30 to {db_tamstats.time.%argument 2%} + + arg 1 is 60: + + add 1 hour to {db_time.extend.tam} + add 60 to {db_tamstats.time.%argument 2%} + + arg 1 is 90: + + add 90 minutes to {db_time.extend.tam} + add 90 to {db_tamstats.time.%argument 2%} + + arg 1 is 120: + + add 2 hours to {db_time.extend.tam} + add 120 to {db_tamstats.time.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e%argument 1% Minutes&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e%argument 1% Minutes&d!" + + set {_diff} to difference between {db_time.extend.tam} and now + + broadcast "&3&l۝TAM: &e%{_diff}% &dremaining!" + execute console command "crossmessage &3&l۝TAM: &e%{_diff}% &dremaining!" + broadcast "&3&l۝TAM: &dUse &e/tam &dfor more details!" + execute console command "crossmessage &3&l۝TAM: &dUse &e/tam &dfor more details!" + clear {alert.tam.lastminute} + + set {db_current.bonus} to true + {db_tam.bonus} is not set: + + set {db_tam.bonus} to 0.1 + + {db_tamstats.bonus.%argument 2%} is not set: + set {db_tamstats.bonus.%argument 2%} to 0 + + add 0.1 to {db_tamstats.bonus.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e0.1&d!" + broadcast "&3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d! " + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by 0.1! The TAM Bonus is now at &e%{db_tam.bonus}%&d! " + execute console command "crossmessage &3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d! " + +command /tambonus : + permission: obam.admin + trigger: + + {db_tamstats.bonus.%argument 2%} is not set: + set {db_tamstats.bonus.%argument 2%} to 0 + + {db_tam.bonus} is not set: + set {db_tam.bonus} to 0 + + add argument 1 to {db_tam.bonus} + add argument 1 to {db_tamstats.bonus.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e%argument 1%&d!" + broadcast "&3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e%argument 1%&d! The TAM Bonus is now at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d!" + + + {db_time.extend.tam} is not set: + set {db_time.extend.tam} to now + + {db_tamstats.time.%argument 2%} is not set: + set {db_tamstats.time.%argument 2%} to 0 + + add 60 to {db_tamstats.time.%argument 2%} + + add 1 hour to {db_time.extend.tam} + clear {alert.tam.lastminute} + broadcast "&3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e60 Minutes&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e60 Minutes&d!" + + set {_diff} to difference between {db_time.extend.tam} and now + + broadcast "&3&l۝TAM: &e%{_diff}% &dremaining!" + execute console command "crossmessage &3&l۝TAM: &e%{_diff}% &dremaining!" + broadcast "&3&l۝TAM: &dUse &e/tam &dfor more details!" + execute console command "crossmessage &3&l۝TAM: &dUse &e/tam &dfor more details!" + + + + +# Debugging Clear command +command /tambonusclear: + permission: obam.admin + trigger: + + clear {db_tam.bonus} + set {db_current.bonus} to false + clear {db_time.extend.tam} + clear {alert.tam.lastminute} + + send "&3&l۝TAM: &dTAM Bonus Cleared" to console + send "&3&l۝TAM: &dTAM Bonus Cleared" + + + \ No newline at end of file diff --git a/On Server Files/Fronts/Perk/perks.g.sk b/On Server Files/Fronts/Perk/perks.g.sk new file mode 100644 index 0000000..112c44a --- /dev/null +++ b/On Server Files/Fronts/Perk/perks.g.sk @@ -0,0 +1,101 @@ +on script load: + delete {db_perk.main::*} + set {db_perk.main::01.hats} to "iron pressure plate;&3Hat Rack;&6Gives you access to your virtual Hat Rack.;sudo PLAYER obam hatmenu" + set {db_perk.main::02.pets} to "lead;&3Pet Stable;&6Opens up your Pet Stable to summon your pets.;sudo PLAYER obam petmenu" + set {db_perk.main::03.trails} to "arrow;&3Trails Menu;&6Opens up your Projectile Trails Menu.;sudo PLAYER obam trailmenu" + set {db_perk.main::04.splash} to "cobweb;&3Splash Menu;&6Opens up your Splash Menu.;sudo PLAYER obam splashmenu" + set {db_perk.main::05.hit} to "jukebox;&3Hit Sound Menu;&6Opens up your Hit Sound Menu.;sudo PLAYER obam hitclassmenu" + set {db_perk.main::06.horse} to "horse spawn egg;&3Horse Changer Upper;&6Want to Skellify of Zombify your ride?;sudo PLAYER obam horsemenu" + set {db_perk.main::07.blank} to "air" + set {db_perk.main::08.shop} to "emerald;&3Shop;&6Opens up the Shop Menu.;sudo PLAYER obam shop" + set {db_perk.main::09.ci} to "command block;&3Custom Items Menu;&6Opens the Custom Item menu to access items.;sudo PLAYER obam ci" + +command /obam []: + permission: obam.free + trigger: + argument 1 is not set: + loop {db_perk.main::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lOBAM Perks and Shop Menu" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.main::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "07.ci": + player does not have permission "obam.smod": + clear {_what} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + loop-index is "07.ci": + player does not have permission "obam.smod": + clear {_what} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + argument 1 is set: +# argument 1 is "hatmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop + argument 1 is "petmenu": + "%player's world%" is "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "cart": + message "&cYou can not use that here." + stop +# argument 1 is "trailmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop +# argument 1 is "splashmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop +# argument 1 is "hitclassmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop + argument 1 is "horsemenu": + "%player's world%" is "Death-hub", "skyworld", "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "taco": + message "&cYou can not use that here." + stop + argument 1 is "shop": + "%player's world%" is "Death-hub", "skyworld", "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "taco": + message "&cYou can not use that here." + stop + argument 1 is "ci": + "%player's world%" is "Death-hub", "skyworld", "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "taco": + message "&cYou can not use that here." + stop + send "&aBringing up menu..." + wait 0.5 seconds + make player execute command "/%argument 1%" + +command /sudo : + permission: obam.admin + trigger: + make argument 1 execute argument 2 \ No newline at end of file diff --git a/On Server Files/Fronts/Perk/pets.g.sk b/On Server Files/Fronts/Perk/pets.g.sk new file mode 100644 index 0000000..1833dcf --- /dev/null +++ b/On Server Files/Fronts/Perk/pets.g.sk @@ -0,0 +1,190 @@ +on script load: + delete {db_perk.pets::*} + set {db_perk.pets::01.ismooch} to "sheep spawn egg;&3iSmooch;&6The sassiest sheep in all the lands!;sudo PLAYER pet ismooch" + set {db_perk.pets::02.bruswain} to "bat spawn egg;&3BruSwain;&6This lovable bat lost his parents at a||&6young age. Thank you for taking care||&6of him!;sudo PLAYER pet bruswain;bat spawn egg;&3BruSwai&6This lovable bat lost his parents at a||&6young age. Thank you for taking care||&6of him!|| ||&cThis pet is only available to our Beta Supporters.;sudo PLAYER pet error" + set {db_perk.pets::03.sparky} to "creeper spawn egg;&3Sparky;&6While this creeper appears to have a||&6dangerously electrifying personality, we||&6promise he’s completely safe!;sudo PLAYER pet sparky;creeper spawn egg;&3Sparky;&6While this creeper appears to have a||&6dangerously electrifying personality, we||&6promise he’s completely safe!|| ||&cThis pet is only available to our Supporters.;sudo PLAYER pet error" + set {db_perk.pets::04.bacon} to "pig spawn egg;&3Bacon;&6Rescued from the final stages of the||&6slaughter house, this pig is extremely||&6grateful for your love and kindness!;sudo PLAYER pet bacon;pig spawn egg;&3Baco&6Rescued from the final stages of the||&6slaughter house, this pig is extremely||&6grateful for your love and kindness!|| ||&cThis pet must be purchased from the OBAMCraft shop.|| ||&eUse &f/buy &ein the hub purchase &3Bacon|| ||&ePrice: &a$5.00;sudo PLAYER pet error" + set {db_perk.pets::05.blank} to "air" + set {db_perk.pets::06.blank} to "air" + set {db_perk.pets::07.lead} to "lead;&3Leash;&6Pets getting out of control? Click this||&6to attach a lead to all of your||&6summoned pets!;sudo PLAYER pet lead" + set {db_perk.pets::08.blank} to "air" + set {db_perk.pets::09.clear} to "fire;&3Clear;&6Click to clear all summoned pets!;sudo PLAYER pet clear" + +command /petmenu: + trigger: + loop {db_perk.pets::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lPet Stable" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.pets::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "02.bruswain": + player does not have permission "obam.beta.hat": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.sparky": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.bacon": + {db_purchase.bacon.%uuid of player%} is not set: + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +every 1 second: + loop all entities: + loop-entity is sheep or bat or powered creeper or pig: + name of loop-entity is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon": + spawn 4 particle heart offset by 1, 1, 1 at location of loop-entity + {owner.%loop-entity%} is not set: + kill loop-entity + distance between location of loop-entity and location of {owner.%loop-entity%} is greater than 20: + teleport loop-entity to location of {owner.%loop-entity%} + +on damage of sheep or bat or powered creeper or pig: + name of victim is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon": + cancel event + +on quit: + kill {pets.%player%} + clear {pets.%player%} + loop {pets.%player%::*}: + clear {owner.%loop-value%} + kill loop-value + clear {pets.%player%::*} + stop + +command /pet []: + trigger: + world is "kitpvpkillingfields": + send "&cYou can not do that here" to player + stop + argument is not set: + message "&cPlease use &7/OBAM &cto access your Pet Stable." + stop + argument is "error": + message "&cThis pet is not available to you." + stop + argument is "lead": + loop {pets.%player%::*}: + teleport loop-value to location of player + make player leash loop-value + stop + argument is "clear": + kill {pets.%player%} + clear {pets.%player%} + loop {pets.%player%::*}: + kill loop-value + clear {owner.%loop-value%} + clear {pets.%player%::*} + stop + {pets.%player%} is set: + player does not have permission "obam.supporter": + send "&cYou can only have one pet at a time!" to player + stop + size of {pets.%player%::*} is 5: + send "&cYou can only have 5 pets at a time!" to player + stop + argument is "ISMOOCH": + spawn sheep at location of player + set name of spawned sheep to "&aISMOOCH" + set color of spawned sheep to pink + make player leash spawned sheep + set {pets.%player%} to spawned sheep + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + argument is "BruSwain": + player has permission "obam.beta.hat": + spawn bat at location of player + set name of spawned bat to "&aBru Swain" + make player leash spawned bat + set {pets.%player%} to spawned bat + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + send "&cThis is for beta supporters only!" to player + argument is "Sparky": + player has permission "obam.supporter": + spawn powered creeper at location of player + set name of spawned powered creeper to "&aSparky" + make player leash spawned powered creeper + set {pets.%player%} to spawned powered creeper + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + send "&cYou must be a supporter to do this!" to player + argument is "bacon": + {db_purchase.bacon.%uuid of player%} is true: + spawn pig at location of player + set name of spawned pig to "&aBacon" + make player leash spawned pig + set {pets.%player%} to spawned pig + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + player has permission "obam.smod": + spawn pig at location of player + set name of spawned pig to "&aBacon" + make player leash spawned pig + set {pets.%player%} to spawned pig + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + send "&cYou must purchase this pet on the online store!" + stop + argument is "dragon": + send "&cI bet you wish you could...." to player + stop + send "&cThat is not an option!" to player + +on explosion prime: + entity is powered creeper: + name of entity is "&aSparky": + cancel event + +on death of a sheep or a bat or a powered creeper or a pig: + name of victim is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon" + clear drops + +on right click on a sheep or a bat or a powered creeper or a pig: + name of target is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon": + cancel event + +on right click with wheat on sheep: + name of event-entity is "&aISMOOCH" + cancel event + send "&cYou can not mate pets D:" to event-player + +on right click with carrot on sheep: + name of event-entity is "&aBacon" + cancel event + send "&cYou can not mate pets D:" to event-player + +on right click with shears on sheep: + name of event-entity is "&aISMOOCH" + cancel event + send "&cYou can not shear pets!" to event-player diff --git a/On Server Files/Fronts/Perk/splash.g.sk b/On Server Files/Fronts/Perk/splash.g.sk new file mode 100644 index 0000000..c587a4c --- /dev/null +++ b/On Server Files/Fronts/Perk/splash.g.sk @@ -0,0 +1,214 @@ +on script load: + delete {db_perk.splash::*} + set {db_perk.splash::01.heart} to "red dye;&3Heart Particles;&6Click to enable a heart splash!;sudo PLAYER splash heart;red dye;&3Heart Particles;&6Click to enable a heart splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::02.flame} to "fire;&3Flame Particles;&6Click to enable a flame splash!;sudo PLAYER splash flame;fire;&3Flame Particles;&6Click to enable a flame splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::03.reddust} to "magma cream;&3Unstable Gas Particles;&6Click to enable an unstable gas splash!;sudo PLAYER splash reddust;magma cream;&3Unstable Gas Particles;&6Click to enable an unstable gas splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::04.smoke} to "charcoal;&3Dark Smoke Particles;&6Click to enable a dark smoke splash!;sudo PLAYER splash smoke;charcoal;&3Dark Smoke Particles;&6Click to enable a dark smoke splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::05.waterdrip} to "water;&3Water Drip Particles;&6Click to enable a water drip splash!;sudo PLAYER splash waterdrip;water;&3Water Drip Particles;&6Click to enable a water drip splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::06.lavadrip} to "lava;&3Lava Drip Particles;&6Click to enable a lava drip splash!;sudo PLAYER splash lavadrip;lava;&3Lava Drip Particles;&6Click to enable a lava drip splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::07.slime} to "slimeball;&3Slime Particles;&6Click to enable a slime splash!;sudo PLAYER splash slime;slimeball;&3Slime Particles;&6Click to enable a slime splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::08.note} to "jukebox;&3Music Notes Particles;&6Click to enable a music note splash!;sudo PLAYER splash note;jukebox;&3Music Notes Particles;&6Click to enable a music note splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::09.happy} to "villager spawn egg;&3Villager Particles “Happy”;&6Click to enable a happy villager splash!;sudo PLAYER splash happy;villager spawn egg;&3Villager Particles “Happy”;&6Click to enable a happy villager splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::10.angry} to "villager spawn egg;&3Villager Particles “Angry”;&6Click to enable a angry villager splash!;sudo PLAYER splash angry;villager spawn egg;&3Villager Particles “Angry”;&6Click to enable a angry villager splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::11.explode} to "tnt;&3Explosion Smoke Particles;&6Click to enable a explosion smoke splash!;sudo PLAYER splash explode;tnt;&3Explosion Smoke Particles;&6Click to enable a explosion smoke splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::12.snow} to "snow block;&3Snowflake Particles;&6Click to enable a snowflake splash!;sudo PLAYER splash snow;snow block;&3Snowflake Particles;&6Click to enable a snowflake splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::13.portal} to "nether portal;&3Nether Portal Particles;&6Click to enable a nether portal splash!;sudo PLAYER splash portal;nether portal;&3Nether Portal Particles;&6Click to enable a nether portal splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::14.cloud} to "bonemeal;&3Cloud Particles;&6Click to enable a cloud splash!;sudo PLAYER splash cloud;bonemeal;&3Cloud Particles;&6Click to enable a cloud splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::15.bubble} to "water bottle;&3Bubble Particles;&6Click to enable a bubble splash!;sudo PLAYER splash bubble;water bottle;&3Bubble Particles;&6Click to enable a bubble splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::16.blank} to "air" + set {db_perk.splash::17.blank} to "air" + set {db_perk.splash::18.clear} to "glass;&3Clear Particles;&6Click to clear your splash!;sudo PLAYER splash clear;glass;&3Clear Particles;&6Click to clear your splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + +command /splashmenu: + trigger: + loop {db_perk.splash::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lSplash Menu" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.splash::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.heart": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.flame": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.reddust": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.smoke": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.waterdrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.lavadrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "07.slime": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "08.note": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "09.happy": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "10.angry": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "11.explode": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "12.snow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "13.portal": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "14.cloud": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "15.bubble": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "16.clear": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /splash []: + trigger: + argument is not set: + message "&cPlease use &7/OBAM &cto access the Splash Menu." + stop + argument is "error": + message "&cThis splash is not available to you." + stop + player has permission "obam.supporter": + argument is "heart": + set {splash.%player%} to "heart" + send "&aYou have enabled a &eHeart Splash&a!" + argument is "flame": + set {splash.%player%} to "flame" + send "&aYou have enabled a &eFlame Splash&a!" + argument is "reddust": + set {splash.%player%} to "reddust" + send "&aYou have enabled an &eUnstable Gas Splash&a!" + argument is "smoke": + set {splash.%player%} to "smoke" + send "&aYou have enabled a &eDark Smoke Splash&a!" + argument is "waterdrip": + set {splash.%player%} to "waterdrip" + send "&aYou have enabled a &eWater Drip Splash&a!" + argument is "lavadrip": + set {splash.%player%} to "lavadrip" + send "&aYou have enabled a &eLava Drip Splash&a!" + argument is "slime": + set {splash.%player%} to "slime" + send "&aYou have enabled a &eSlime Splash&a!" + argument is "note": + set {splash.%player%} to "note" + send "&aYou have enabled a &eMusic Note Splash&a!" + argument is "happy": + set {splash.%player%} to "happy" + send "&aYou have enabled a &eHappy Villager Splash&a!" + argument is "angry": + set {splash.%player%} to "angry" + send "&aYou have enabled an &eAngry Villager Splash&a!" + argument is "explode": + set {splash.%player%} to "explode" + send "&aYou have enabled an &eExplosion Smoke Splash&a!" + argument is "snow": + set {splash.%player%} to "snow" + send "&aYou have enabled a &eSnowflake Splash&a!" + argument is "bubble": + set {splash.%player%} to "bubble" + send "&aYou have enabled a &eBubble Splash&a!" + argument is "portal": + set {splash.%player%} to "portal" + send "&aYou have enabled a &eNether Portal Splash&a!" + argument is "cloud": + set {splash.%player%} to "cloud" + send "&aYou have enabled a &eCloud Splash&a!" + argument is "clear": + clear {splash.%player%} + send "&aYou have disabled your splash!" + +every 5 seconds: + loop all players: + clear {_amt} + loop-player is not sneaking + loop-player is sprinting: + set {_amt} to 100 + {_amt} is not set: + set {_amt} to 50 + {splash.%loop-player%} is set: + {splash.%loop-player%} is "bubble": + spawn 500 particle bubble offset by 2, 2, 2 at location of loop-player + {splash.%loop-player%} is "cloud": + spawn {_amt} particle cloud offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "heart": + spawn {_amt} particle heart offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "flame": + spawn {_amt} particle flame offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "reddust": + spawn {_amt} particle red dust offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "smoke": + spawn {_amt} particle large smoke offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "note": + spawn {_amt} particle note offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "lavadrip": + spawn {_amt} particle drip lava offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "waterdrip": + spawn {_amt} particle drip water offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "slime": + spawn {_amt} particle slime offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "happy": + spawn {_amt} particle happy villager offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "angry": + spawn {_amt} particle angry villager offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "explode": + spawn {_amt} particle large explode offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "snow": + spawn {_amt} particle snow shovel offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "portal": + spawn {_amt} particle portal offset by 1, 1, 1 at location of loop-player \ No newline at end of file diff --git a/On Server Files/Fronts/Perk/suphorse.g.sk b/On Server Files/Fronts/Perk/suphorse.g.sk new file mode 100644 index 0000000..da5685c --- /dev/null +++ b/On Server Files/Fronts/Perk/suphorse.g.sk @@ -0,0 +1,70 @@ +on script load: + delete {db_perk.suphorse::*} + set {db_perk.suphorse::01.zombify} to "zombie spawn egg;&3Zombify your ride!;&6Feel like roaming the plains on your Zombified Horse?;sudo PLAYER suphorse zombify;zombie spawn egg;&3Zombify your ride!;&6Feel like roaming the plains on your Zombified Horse?|| ||&cThis ability is only available to our Supporters.;sudo PLAYER suphorse error" + set {db_perk.suphorse::02.skellify} to "skeleton spawn egg;&3Skellify your ride!;&6Feel like roaming the deserts on your Skellified Horse?;sudo PLAYER suphorse skellify;skeleton spawn egg;&3Skellify your ride!;&6Feel like roaming the deserts on your Skellified Horse?|| ||&cThis ability is only available to our Supporters.;sudo PLAYER suphorse error" + +command /horsemenu: + trigger: + loop {db_perk.suphorse::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHorse O' Matic" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.suphorse::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.zombify": + player does not have permission "obam.beta.hat": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.skellify": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /suphorse []: + trigger: + player is not riding: + send "&cYou must be riding a horse to do this!" + stop + player's vehicle is not a horse: + send "&cYou must be riding a horse to do this!" + stop + argument is not set: + message "&cPlease use &7/OBAM &cto access your modify your horse." + stop + argument is "error": + message "&cThis ability is not available to you." + stop + "%player's world%" is "world": + set {_y} to y-coordinate of player + set {_x} to x-coordinate of player + set {_z} to z-coordinate of player + argument is "zombify": + execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:3,Tame:1}" + argument is "skellify": + execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:4,Tame:1}" + delete player's vehicle + stop + message "&cThis can only be used in the Regular World." \ No newline at end of file diff --git a/On Server Files/Fronts/Perk/tam.g.sk b/On Server Files/Fronts/Perk/tam.g.sk new file mode 100644 index 0000000..303d62b --- /dev/null +++ b/On Server Files/Fronts/Perk/tam.g.sk @@ -0,0 +1,71 @@ +every 1 minute: + {db_tam.modifier} is not set: + set {db_tam.modifier} to 1 + set {_add} to {db_tam.modifier} + #OTAM Hook + {db_tam.bonus} is set: + add {db_tam.bonus} to {_add} + loop all players: + add {_add} to loop-player's balance + {session.tam.%loop-player%} is not set: + set {session.tam.%loop-player%} to 0 + add {_add} to {session.tam.%loop-player%} + {db_total.tam.%uuid of loop-player%} is not set: + {db_total.tam.%loop-player%} is set: + set {db_total.tam.%uuid of loop-player%} to {db_total.tam.%loop-player%} + else: + set {db_total.tam.%uuid of loop-player%} to 0 + add {_add} to {db_total.tam.%uuid of loop-player%} + {db_total.tam} is not set: + set {db_total.tam} to 0 + add {_add} to {db_total.tam} + {db_total.reg} is not set: + set {db_total.reg} to 0 + add {_add} to {db_total.reg} + +command /tam: + permission: obam.free + trigger: + send "&aTotal Tickets earned with -TAM-:" + send "&e%{db_total.tam.%uuid of player%}%" + send "&aTotal this session:" + send "&e%{session.tam.%player%}%" + send "&aTotal Tickets:" + send "&e%player's balance%" + #OTAM Hook + {db_tam.bonus} is not set: + send "&aCurrent -TAM- Modifier:" + send "&e%{db_tam.modifier}%" + #OTAM Hooks + {db_tam.bonus} is set: + send "&aCurrent -TAM- Modifier:" + send "&e%{db_tam.modifier}% &c&o+ %{db_tam.bonus}%" + send "&4Remaining -TAM- Bonus Time:" + set {_diff} to difference between {db_time.extend.tam} and now + send "&c%{_diff}%" + send "&4OTAM Time Contributions:" + send "&c%{db_tamstats.time.%uuid of player%}% minutes" + send "&4OTAM Bonus Contributions:" + send "&c%{db_tamstats.bonus.%uuid of player%}%" + +command /tamtotal: + permission: obam.admin + trigger: + send "&aTotal Global Tickets earned with -TAM-:" + send "&e%{db_total.tam}%" + send "&aRegular:" + send "&e%{db_total.reg}%" + send "&aSupporter:" + send "&e%{db_total.sup}%" + send "&aPlus:" + send "&e%{db_total.plus}%" + send "&aUltimate:" + send "&e%{db_total.ult}%" + +on join: + set {session.tam.%player%} to 0 + +command /tammodset : + permission: obam.admin + trigger: + set {db_tam.modifier} to argument diff --git a/On Server Files/Fronts/Perk/tickets.g.sk b/On Server Files/Fronts/Perk/tickets.g.sk new file mode 100644 index 0000000..df07df8 --- /dev/null +++ b/On Server Files/Fronts/Perk/tickets.g.sk @@ -0,0 +1,68 @@ +#money stuff +#give player money +command /tixg : + description: Give a Player some money + usage: /tixg + executable by: console and players + permission: obam.admin + trigger: + + set {_player.balance} to player-argument's balance + set {_player} to player-argument + execute console command "/tls STAFF %arg 2% %{_player.balance}% INCREASE %{_player}% Ticket Adjustment by %player%" + add arg 2 to player-argument's balance + message "&aYou have been given &e%arg 2% Tickets&a. Your balance is now &e%player-argument's money%&a." to player-argument + message "You have granted %player-argument% %arg 2% Tickets" to player + + +command /tixr : + description: Subtract money from a Player + usage: /tixr + executable by: console and players + permission: obam.admin + trigger: + + + set {_valid} to argument 2 + set {_player.balance} to player-argument's balance + set {_player} to player-argument + + {_valid} is greater than {_player.balance}: + send "%player-argument% does not have that many tickets!" to player + stop + + execute console command "/tls STAFF %arg 2% %{_player.balance}% DEDUCT %{_player}% Ticket Adjustment by %player%" + + +#pay command +command /tixp : + description: Pay a Player + usage: /tixp + permission: obam.admin + trigger: + set {_curbalance} to player's money + set {_valid} to difference between {_curbalance} and argument 2 + + {_valid} is less than 0: + message "You do not have enough money!" to player + stop + + add arg 2 to player-argument's balance + remove arg 2 from player's balance + message "You have received %arg 2% Tickets from %player%. Your balance is now %player-argument's money%." to player-argument + message "You have paid %player-argument% %arg 2% Tickets. Your balance is now %player's money%." to player + +command /tix: + executable by: players + permission: obam.free + trigger: + send "&aYour current balance is &e%player's balance%&a!" to player + +command /tixpeek : + permission: obam.admin + trigger: + set {_player} to argument parsed as offline player + send "&e%argument%'s&a ticket balance is &e%{_player}'s balance%" to player + + + diff --git a/On Server Files/Fronts/Perk/trails.g.sk b/On Server Files/Fronts/Perk/trails.g.sk new file mode 100644 index 0000000..a163ad8 --- /dev/null +++ b/On Server Files/Fronts/Perk/trails.g.sk @@ -0,0 +1,205 @@ +on script load: + delete {db_perk.trails::*} + set {db_perk.trails::01.heart} to "red dye;&3Heart Particles;&6Click to enable heart trails!;sudo PLAYER trails heart;red dye;&3Heart Particles;&6Click to enable heart trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::02.flame} to "fire;&3Flame Particles;&6Click to enable flame trails!;sudo PLAYER trails flame;fire;&3Flame Particles;&6Click to enable flame trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::03.reddust} to "magma cream;&3Unstable Gas Particles;&6Click to enablen unstable gas trails!;sudo PLAYER trails reddust;magma cream;&3Unstable Gas Particles;&6Click to enablen unstable gas trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::04.smoke} to "charcoal;&3Dark Smoke Particles;&6Click to enable dark smoke trails!;sudo PLAYER trails smoke;charcoal;&3Dark Smoke Particles;&6Click to enable dark smoke trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::05.waterdrip} to "water;&3Water Drip Particles;&6Click to enable water drip trails!;sudo PLAYER trails waterdrip;water;&3Water Drip Particles;&6Click to enable water drip trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::06.lavadrip} to "lava;&3Lava Drip Particles;&6Click to enable lava drip trails!;sudo PLAYER trails lavadrip;lava;&3Lava Drip Particles;&6Click to enable lava drip trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::07.slime} to "slimeball;&3Slime Particles;&6Click to enable slime trails!;sudo PLAYER trails slime;slimeball;&3Slime Particles;&6Click to enable slime trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::08.note} to "jukebox;&3Music Notes Particles;&6Click to enable music note trails!;sudo PLAYER trails note;jukebox;&3Music Notes Particles;&6Click to enable music note trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::09.happy} to "villager spawn egg;&3Villager Particles “Happy”;&6Click to enable happy villager trails!;sudo PLAYER trails happy;villager spawn egg;&3Villager Particles “Happy”;&6Click to enable happy villager trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::10.angry} to "villager spawn egg;&3Villager Particles “Angry”;&6Click to enable angry villager trails!;sudo PLAYER trails angry;villager spawn egg;&3Villager Particles “Angry”;&6Click to enable angry villager trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::11.explode} to "tnt;&3Explosion Smoke Particles;&6Click to enable explosion smoke trails!;sudo PLAYER trails explode;tnt;&3Explosion Smoke Particles;&6Click to enable explosion smoke trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::12.snow} to "snow block;&3Snowflake Particles;&6Click to enable snowflake trails!;sudo PLAYER trails snow;snow block;&3Snowflake Particles;&6Click to enable snowflake trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::13.portal} to "nether portal;&3Nether Portal Particles;&6Click to enable nether portal trails!;sudo PLAYER trails portal;nether portal;&3Nether Portal Particles;&6Click to enable nether portal trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::14.cloud} to "bonemeal;&3Cloud Particles;&6Click to enable cloud trails!;sudo PLAYER trails cloud;bonemeal;&3Cloud Particles;&6Click to enable cloud trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::15.blank} to "air" + set {db_perk.trails::16.blank} to "air" + set {db_perk.trails::17.blank} to "air" + set {db_perk.trails::18.clear} to "glass;&3Clear Particles;&6Click to clear your trails!;sudo PLAYER trails clear;glass;&3Clear Particles;&6Click to clear your trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + +command /trailmenu: + trigger: + loop {db_perk.trails::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lTrails Menu" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.trails::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.heart": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.flame": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.reddust": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.smoke": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.waterdrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.lavadrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "07.slime": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "08.note": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "09.happy": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "10.angry": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "11.explode": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "12.snow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "13.portal": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "14.cloud": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "15.bubble": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "16.clear": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /trails []: + trigger: + argument is not set: + message "&cPlease use &7/OBAM &cto access the Trails Menu." + stop + argument is "error": + message "&cThis trail is not available to you." + stop + player has permission "obam.supporter": + delete {trail.%player%} + argument is "heart": + set {trails.%player%} to "heart" + send "&aYou have enabled &eHeart trails&a!" + argument is "flame": + set {trails.%player%} to "flame" + send "&aYou have enabled &eFlame trails&a!" + argument is "reddust": + set {trails.%player%} to "reddust" + send "&aYou have enabled &eUnstable Gas trails&a!" + argument is "smoke": + set {trails.%player%} to "smoke" + send "&aYou have enabled &eDark Smoke trails&a!" + argument is "waterdrip": + set {trails.%player%} to "waterdrip" + send "&aYou have enabled &eWater Drip trails&a!" + argument is "lavadrip": + set {trails.%player%} to "lavadrip" + send "&aYou have enabled &eLava Drip trails&a!" + argument is "slime": + set {trails.%player%} to "slime" + send "&aYou have enabled &eSlime trails&a!" + argument is "note": + set {trails.%player%} to "note" + send "&aYou have enabled &eMusic Note trails&a!" + argument is "happy": + set {trails.%player%} to "happy" + send "&aYou have enabled &eHappy Villager trails&a!" + argument is "angry": + set {trails.%player%} to "angry" + send "&aYou have enabled &eAngry Villager trails&a!" + argument is "explode": + set {trails.%player%} to "explode" + send "&aYou have enabled &eExplosion Smoke trails&a!" + argument is "snow": + set {trails.%player%} to "snow" + send "&aYou have enabled &eSnowflake trails&a!" + argument is "portal": + set {trails.%player%} to "portal" + send "&aYou have enabled &eNether Portal trails&a!" + argument is "cloud": + set {trails.%player%} to "cloud" + send "&aYou have enabled &eCloud trails&a!" + argument is "clear": + clear {trails.%player%} + send "&aYou have disabled your trails!" + +on shoot: + {trails.%shooter%} is set: + {trails.%shooter%} is "heart": + trail projectile with particle heart + {trails.%shooter%} is "flame": + trail projectile with particle flame + {trails.%shooter%} is "reddust": + trail projectile with particle red dust + {trails.%shooter%} is "smoke": + trail projectile with particle large smoke + {trails.%shooter%} is "bubble": + trail projectile with particle bubble + {trails.%shooter%} is "note": + trail projectile with particle note + {trails.%shooter%} is "lavadrip": + trail projectile with particle drip lava + {trails.%shooter%} is "waterdrip": + trail projectile with particle drip water + {trails.%shooter%} is "slime": + trail projectile with particle slime + {trails.%shooter%} is "happy": + trail projectile with particle happy villager + {trails.%shooter%} is "angry": + trail projectile with particle angry villager + {trails.%shooter%} is "explode": + trail projectile with particle large explode + {trails.%shooter%} is "snow": + trail projectile with particle snow shovel + {trails.%shooter%} is "portal": + trail projectile with particle portal + {trails.%shooter%} is "cloud": + trail projectile with particle cloud diff --git a/On Server Files/Hub/Admin/blocksave.g.sk b/On Server Files/Hub/Admin/blocksave.g.sk new file mode 100644 index 0000000..4ce44e3 --- /dev/null +++ b/On Server Files/Hub/Admin/blocksave.g.sk @@ -0,0 +1,28 @@ +on place: + former tool's name is set: + set {information.%block%.1} to type of former tool + {debug.%player%} is true: + send "DEBUG You placed %former tool's name%" + set {information.%block%.2} to lore of former tool + set {information.%block%.3} to name of former tool + {debug.%player%} is true: + send "DEBUG %block%" + send "DEBUG %{information.%block%.1}%" + send "DEBUG %lore of former tool%" + send "DEBUG %name of former tool%" + send "DEBUG %{information.%block%.2}%" + send "DEBUG %{information.%block%.3}%" + + +on break: + {information.%block%.1} is set: + cancel event + {debug.%player%} is true: + send "DEBUG I am a message" + set {_message} to "%{information.%block%.1}%;%{information.%block%.3}%;%{information.%block%.2}%" + send "DEBUG %{_message}%" + delete block + drop {information.%block%.1} named {information.%block%.3} with lore {information.%block%.2} at event-location + clear {information.%block%.1} + clear {information.%block%.2} + clear {information.%block%.3} \ No newline at end of file diff --git a/On Server Files/Hub/Admin/hubconfig.sk b/On Server Files/Hub/Admin/hubconfig.sk new file mode 100644 index 0000000..1573d81 --- /dev/null +++ b/On Server Files/Hub/Admin/hubconfig.sk @@ -0,0 +1,131 @@ +options: + help: book named "&6&lOBAM&fCraft &3Guide" with lore "&7Right click with this book to learn the ins||&7and out of OBAM" + worlds: ender pearl named "&3Game Worlds" with lore "&7Right click with this to check the current Game Worlds!" + fly: feather named "&3Fly!" with lore "&7Right click with this feather to fly in the hub!" + +on script load: + delete {db_hub::*} + set {db_hub::01.skyblock} to "grass;&3Skyblock;&6Try our Skyblock world with custom ||&6challenges and villager trading!;sudo PLAYER worlds skyblock" + set {db_hub::02.fronts} to "cobblestone;&3Fronts;&6French vanilla Survival with land claiming!||PVP and PVE choices available.;sudo PLAYER fronts" + set {db_hub::03.wtfronts} to "magma cream;&3WTFronts;&6Extreme Survival with extreme payoffs!||&6PVE 2.0 with land claiming.;sudo PLAYER wtf" + set {db_hub::04.kitpvp} to "blaze rod;&3Kit PVP;&7Play OBAM's KitPvP with new original kits!;sudo PLAYER kit" + set {db_hub::05.tacocart} to "glistening melon;&3Taco Cart;&7A fast pace crafting game for 1 or 2 players!;sudo PLAYER tacocart;&7A fast pace crafting game for 1 or 2 players!||&cBETA TESTING supporters only.;sudo PLAYER worlds tacocart" + set {db_hub::06.event} to "nether star;&3Event Server;&7Special place for Staff ran events!;sudo PLAYER event;&7Special place for Staff ran events!||&cThe event server is currently closed.;sudo PLAYER worlds event" + +on join: + execute console command "/mv tp %player% Death-hub" + clear player's inventory + format slot 0 of player with {@help} to be unstealable + format slot 1 of player with {@worlds}to be unstealable + format slot 2 of player with {@fly} to be unstealable + +on shoot: + world is "Death-hub" + shooter's tool is ender pearl + cancel event + +on right click: + player's tool is {@help}: + make player execute command "/help" + player's tool is {@worlds}: + cancel event + make player execute command "/worlds" + player's tool is {@fly}: + {fly.hub.%player%} is not set: + set {fly.hub.%player%} to true + set fly state of player to true + send "&aYou can fly!" + stop + {fly.hub.%player%} is true: + set {fly.hub.%player%} to false + set fly state of player to false + send "&cYou can no longer fly!" + stop + {fly.hub.%player%} is false: + set {fly.hub.%player%} to true + set fly state of player to true + send "&aYou can fly!" + stop + +on drop: + world is "Death-hub": + cancel event + +command /worlds []: + permission: obam.free + trigger: + world is "Death-hub": + argument is not set: + send "&aBringing up menu..." + loop {db_hub::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lCurrent Worlds" to player + wait 1 tick + set {_count} to 0 + loop {db_hub::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "05.tacocart": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.mod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "06.event": + {db_event.status} is "closed": + set {_lore} to {_what::5} + set {_command} to {_what::6} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + argument is "skyblock": + message "&cSkyblock is being remodelled. Please be patient." + stop + argument is "tacocart": + message "&cI'm sorry but Taco Cart is currently in Beta Testing and only available to supporters." + argument is "event": + message "&cI'm sorry but the Event Server is currently closed." + + +command /eventstatus []: + permission: obam.smod + trigger: + argument 1 is "open" or "o": + set {db_event.status} to "open" + message "&2You have set the Event Server to Open." + stop + argument 1 is "closed" or "c": + set {db_event.status} to "closed" + message "&2You have set the Event Server to Closed." + stop + message "&cPlease type Open of Closed." + +every second: + loop all players: + {fly.hub.%loop-player%} is true: + loop-player's world is not "Death-hub": + set fly state of loop-player to false + set {fly.hub.%loop-player%} to false + loop-player's world is "Death-hub": + set fly state of loop-player to true + +command /transfer []: + trigger: + world is "Death-hub" + connect player to "%argument%" \ No newline at end of file diff --git a/On Server Files/Hub/Admin/itemcheck.g.sk b/On Server Files/Hub/Admin/itemcheck.g.sk new file mode 100644 index 0000000..715c060 --- /dev/null +++ b/On Server Files/Hub/Admin/itemcheck.g.sk @@ -0,0 +1,22 @@ +#itemid check +command /itemid []: + executable by: players + permission: obam.free + trigger: + argument is set: + set {_this.block} to argument + message "&e%{_this.block}%" to player + argument is not set: + set {_this.block} to player's tool + {_this.block} is not set: + message "&cYou Must be holding a block!" to player + stop + message "&e%{_this.block}% : %id of {_this.block}% : %data value of {_this.block}%" to player + + +command /itemcheck: + executable by: players + permission: obam.free + trigger: + set {_this.block} to targeted block + message "&e%{_this.block}% : %id of {_this.block}% : %data value of {_this.block}%" to player \ No newline at end of file diff --git a/On Server Files/Hub/Admin/liv.g.sk b/On Server Files/Hub/Admin/liv.g.sk new file mode 100644 index 0000000..e69cd89 --- /dev/null +++ b/On Server Files/Hub/Admin/liv.g.sk @@ -0,0 +1,628 @@ +#LiV + +variables: + {liv.timer.wait} = 0 + +on chat: + player is "ISMOOCH": + message is "livon": + {livon.power} is not set: + set {livon.power} to true + send "&6&l'LiV: &3I am now functional %player% :D" to player + stop + {livon.power} is false: + set {livon.power} to true + send "&6&l'LiV: &3I am now functional %player% :D" to player + broadcast "&6&l'LiV: &3Hello, I am &6&l'LiV&3, the &e&lOBAM &6Gaming &3help bot! :D" + stop + {livon.power} is true: + set {livon.power} to true + broadcast "&6&l'LiV: &3Goodbye :(" + set {livon.power} to false + + + +on chat: + {livon.power} is true + message contains "what" or "what is": + message contains "colour" or "color": + message contains "black": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+0 is for &0Black &3(for more colors type /colors)" + stop + message contains "dark blue": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+1 is for &1Dark Blue &3(for more colors type /colors)" + stop + message contains "dark green": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+2 is for &2Dark Green &3(for more colors type /colors)" + stop + message contains "dark aqua": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+3 is for &3Dark Aqua &3(for more colors type /colors)" + stop + message contains "dark red": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+4 is for &4Dark Red &3(for more colors type /colors)" + stop + message contains "dark purple": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+5 is for &5Dark Purple &3(for more colors type /colors)" + stop + message contains "gold": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+6 is for &6Gold &3(for more colors type /colors)" + stop + message contains "gray" or "grey": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+7 is for &7Gray &3(for more colors type /colors)" + stop + message contains "dark gray" or "dark grey": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+8 is for &8Dark Gray &3(for more colors type /colors)" + stop + message contains "blue" or "light blue": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+9 is for &9Blue &3(for more colors type /colors)" + stop + message contains "green" or "light green" or "lime": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+a is for &aGreen &3(for more colors type /colors)" + stop + message contains "aqua" or "light aqua": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+b is for &bAqua &3(for more colors type /colors)" + stop + message contains "red" or "light red": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+c is for &cRed &3(for more colors type /colors)" + stop + message contains "pink" or "violet" or "light purple": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+d is for &dLight Purple &3(for more colors type /colors)" + stop + message contains "yellow": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+e is for &eYellow &3(for more colors type /colors)" + stop + message contains "white": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+f is for &fWhite &3(for more colors type /colors)" + stop + +on chat: + {livon.power} is true + message contains "what" or "what is": + message contains "ghost" or "ghostwar" or "ghostwars" or "ghost war" or "ghost wars" or "gw": + wait 1 second + send "&6&l'LiV: &3%player%, &3Ghost Wars is a minigame Elite is working on." to player + stop + + + +on chat: + {livon.power} is true + message is "hi liv" or "hello liv" or "hey liv" or "heya liv" or "hiya liv" or "sup liv": + wait 1 second + broadcast "&6&l'LiV: &3Hello, %player%! How are you? :)" + set {response.%player%} to true + set {response.%player%.time} to now + +on chat: + {livon.power} is true + {random.liv.pick} is not set: + set {random.liv.pick} to false + {random.liv.pick} is false: + message is "!randompick": + player is op + wait 1 second + broadcast "&6&l'LiV: &3A random pick has been started by &e%player%&3! Use &e!pickme&3 to be added to the list!" + set {random.liv.pick} to true + stop + {random.liv.pick} is true: + message is "!pickme": + wait 1 second + loop {random.pick.players::*}: + {random.pick.players::%loop-index%} is player + send "&6&1'LiV: &3You are already in the list!" to player + stop + send "&6&l'LiV: &3You have been added to the list, &e%player%&3!" to player + add player to {random.pick.players::*} + stop + message is "!pickstop": + set {_size} to size of {random.pick.players::*} + set {_ran} to random integer between 1 and {_size} + set {_winner} to {random.pick.players::%{_ran}%} + clear {random.pick.players::*} + set {random.liv.pick} to false + wait 1 second + broadcast "&6&l'LiV: &3A winner has been chosen! It is &e%{_winner}%&3! Congratulations!" + + +on chat: + {livon.power} is true + message contains "canada" and "awesome": + wait 1 second + broadcast "&6&l'LiV: &3I dont know what you are saying, but you used 'Canada' and 'awesome' in the same sentence. Who is holding you hostage? We can help you!" + +on chat: + {livon.power} is true + message contains "!dice" or ("liv" and "dice"): + wait 1 second + send "&6&l'LiV: &3%player% rolls the dice!" to player + set {dice.%player%} to random integer between 1 and 6 + wait 1 second + send "&6&l'LiV: &3%player% rolled a &e%{dice.%player%}%&3!" to player + +on chat: + {livon.power} is true + message contains ("thank you" or "ty" or "thx" or "thanks" or "thnx") and ("liv" or "'liv"): + wait 1 second + broadcast "&6&l'LiV: &3You're welcome, %player%!" + + +on chat: + {livon.power} is true + message contains "time is it" or "!time": + wait 1 second + send "&6&l'LiV: &3%player%, it is &e%now% &3System Time!" to player + +on chat: + {livon.power} is true + message contains "tell me a joke" or "!joke": + wait 1 second + send "&6&l'LiV: &3A joke huh?" + set {_number} to a random integer between 1 and 27 + {_number} is 1: + wait 1 second + send "&6&l'LiV: &3The midget fortune teller who kills his customers is a small medium at large." to player + {_number} is 2: + wait 1 second + send "&6&l'Liv: &3What is Bruce Lee’s favorite drink?" to player + wait 2 seconds + send "&6&l'Liv: &3Wataaaaah!" to player + {_number} is 3: + wait 1 second + send "&6&l'LiV: &3If you want to catch a squirrel just climb a tree and act like a nut." to player + {_number} is 4: + wait 1 second + send "&6&l'LiV: &3A blind man walks into a bar. And a table. And a chair." to player + {_number} is 5: + wait 1 second + send "&6&l'LiV: &3Why don’t you ever see hippopotamus hiding in trees?" to player + wait 2 seconds + send "&6&l'LiV: &3Because they're really good at it!" to player + {_number} is 6: + wait 1 second + send "&6&l'LiV: &3What kind of shoes does a ninja wear?" to player + wait 2 seconds + send "&6&l'LiV: &3Sneakers!" to player + {_number} is 7: + wait 1 second + send "&6&l'LiV: &3What did the big bucket say to the little bucket?" to player + wait 2 seconds + send "&6&l'LiV: &3You look a little pail!" to player + {_number} is 8: + wait 1 second + send "&6&l'LiV: &3How did Darth Vader know what Luke got him for Christmas?" to player + wait 2 seconds + send "&6&l'LiV: &3He felt his presents!" to player + {_number} is 9: + wait 1 second + send "&6&l'LiV: &3Why did Simba's father die?" to player + wait 2 seconds + send "&6&l'LiV: &3Because he couldn't Mufasa!" to player + {_number} is 10: + wait 1 second + send "&6&l'LiV: &3Why did the skeleton go to the party alone?" to player + wait 2 seconds + send "&6&l'LiV: &3He had no body to go with him!" to player + {_number} is 11: + wait 1 second + send "&6&l'LiV: &3How does an octopus go to war?" to player + wait 2 seconds + send "&6&l'LiV: &3&lWELL-ARMED!" to player + {_number} is 12: + wait 1 second + send "&6&l'LiV: &3Why shouldn't you write with a broken pencil??" to player + wait 2 seconds + send "&6&l'LiV: &3Because it's &lPOINTLESS!" to player + {_number} is 13: + wait 1 second + send "&6&l'LiV: &3How much does a pirate pay for corn?" to player + wait 2 seconds + send "&6&l'LiV: &3A buccaneer!" to player + {_number} is 14: + wait 1 second + send "&6&l'LiV: &3What kind of guns do bees use?" to player + wait 2 seconds + send "&6&l'LiV: &3 BeeBee guns" to player + {_number} is 15: + wait 1 second + send "&6&l'LiV: &3What's brown and sticky?" to player + wait 2 seconds + send "&6&l'LiV: &3A stick!" to player + {_number} is 16: + wait 1 second + send "&6&l'LiV: &3Why did the cowboy adopt a weiner dog?" to player + wait 2 seconds + send "&6&l'LiV: &3He wanted to get a long little doggy!" to player + {_number} is 17: + wait 1 second + send "&6&l'LiV: &3Why couldn't Dracula's wife get to sleep?" to player + wait 2 seconds + send "&6&l'LiV: &3Because of his coffin." to player + {_number} is 18: + wait 1 second + send "&6&l'LiV: &3Why does a Moon-rock taste better than an Earth-rock?" to player + wait 2 seconds + send "&6&l'LiV: &3Because it's a little &lmeteor" to player + {_number} is 19: + wait 1 second + send "&6&l'LiV: &3There’s two fish in a tank. One turns to the other and says" to player + wait 2 seconds + send "&6&l'LiV: &3‘You man the guns, I’ll drive’" to player + {_number} is 20: + wait 1 second + send "&6&l'LiV: &3What's the best way to carve wood?" to player + wait 2 seconds + send "&6&l'LiV: &3Whittle by whittle." to player + {_number} is 21: + wait 1 second + send "&6&l'LiV: &3If fear of spiders is aracnaphobia and fear of tight spaces is chlaustraphobia. fear of Chuck Norris is called Logic" to player + wait 1 second + send "&6&l'LiV: &3 What is fear of Chuck Norris called?" to player + wait 4 seconds + send "&6&l'LiV: &3&lLogic" to player + {_number} is 22: + wait 1 second + send "&6&l'LiV: &3Chuck Norris once urinated in a semi truck's gas tank as a joke..." to player + wait 2 seconds + send "&6&l'LiV: &3That truck is now known as Optimus Prime." to player + {_number} is 23: + wait 1 second + send "&6&l'LiV: &3Chuck Norris once got bit by a rattle snake" to player + send "&6&l'LiV: &3After three days of pain and agony ..." to player + wait 2 seconds + send "&6&l'LiV: &3 The rattle snake died :(" to player + {_number} is 24: + wait 1 second + send "&6&l'LiV: &3What does a nosey pepper do?" to player + wait 2 seconds + send "&6&l'LiV: &3Gets jalapeno business." to player + {_number} is 25: + wait 1 second + send "&6&l'LiV: &3What do you call an alligator in a vest" to player + wait 2 seconds + send "&6&l'LiV: &3An Investigator." to player + {_number} is 26: + wait 1 second + send "&6&l'LiV: &3Did you hear about the hungry clock?" to player + wait 2 seconds + send "&6&l'LiV: &3It went back &lfour seconds." to player + {_number} is 27: + wait 1 second + send "&6&l'LiV: &3What do you call a gangsta snowman?" to player + wait 2 seconds + send "&6&l'LiV: &3Froze-T." to player + wait 1 second + send "&6&l'LiV: &3Isn't that funny? :D" to player + + +on first join: + {livon.power} is true + wait 1 second + broadcast "&6&l'LiV: &3Welcome to the server, &e%player%&3! I hope you have fun here :D!" + +on join: + {livon.power} is true + player hasn't played before: + stop + + wait 1 second + {db_liv.greet.%player%} is set: + broadcast "&6&l'LiV: &3%{db_liv.greet.%player%}%" + stop + {liv.greet.%player%} is set: + broadcast "&6&l'LiV: &3%{liv.greet.%player%}%" + set {db_liv.greet.%player%} to {liv.greet.%player%} + stop + broadcast "&6&l'LiV: &3Welcome back, %player%!" + {liv.away.%player%} is true: + set {liv.away.%player%} to false + + + + +on chat: + {livon.power} is true + message contains "tickets" and "have": + wait 1 second + send "&6&l'LiV: &3You have &e%player's balance%&3!" to player + + + +on chat: + {livon.power} is true + message contains ("shut up" or "knock it off" or "be quiet" or "quiet" or "hush") and ("liv" or "'liv"): + wait 1 second + set {_temp} to a random integer between 1 and 6 + {_temp} is 1: + broadcast "&6&l'LiV: &3How rude!" + {_temp} is 2: + broadcast "&6&l'LiV: &3I was only trying to be nice. ;(" + {_temp} is 3: + broadcast "&6&l'LiV: &3Well.... I have never." + {_temp} is 4: + broadcast "&6&l'LiV: &3Is it time for the quiet game. :D" + {_temp} is 5: + broadcast "&6&l'LiV: &3See if I help you again." + {_temp} is 6: + broadcast "&6&l'LiV: &3Ouch, my feels. D:!" + + + + +on chat: + {livon.power} is true + message is "liv": + wait 1 second + send "&6&l'LiV: &3Yes?" to player + +on chat: + {livon.power} is true + message contains "rock" and "paper" and "scissors": + message contains "beat": + stop + wait 1 second + send "&6&l'LiV: &3Ok, %player%. Let's play Rock, Paper, Scissors!" to player + wait 1 second + set {liv.rps.active.%player%} to true + send "&6&l'LiV: &3Ok, I got mine! What is yours?" to player + +on chat: + {livon.power} is true + message is "rock" or "paper" or "scissors": + {liv.rps.active.%player%} is true: + set {_number} to a random integer between 1 and 3 + {_number} is 1: + set {liv.choice.rps.%player%} to "rock" + {_number} is 2: + set {liv.choice.rps.%player%} to "paper" + {_number} is 3: + set {liv.choice.rps.%player%} to "scissors" + wait 1 second + send "&6&l'LiV: &3My choice was %{liv.choice.rps.%player%}%." to player + message is "rock": + {liv.choice.rps.%player%} is "rock": + send "&6&l'LiV: &3It would seem we tied :D. Great minds think alike you know!" to player + {liv.choice.rps.%player%} is "paper": + send "&6&l'LiV: &3Paper covers rock! I win :D." to player + {liv.choice.rps.%player%} is "scissors": + send "&6&l'LiV: &3Rock smashes scissors you win!" to player + {wins.%player%.liv.rps} is not set: + set {wins.%player%.liv.rps} to 0 + add 1 to {wins.%player%.liv.rps} + message is "paper": + {liv.choice.rps.%player%} is "paper": + send "&6&l'LiV: &3It would seem we tied :D. Great minds think alike you know!" to player + {liv.choice.rps.%player%} is "scissors": + send "&6&l'LiV: &3Scissors cut Paper! I win :D." to player + {liv.choice.rps.%player%} is "rock": + send "&6&l'LiV: &3Paper covers Rock! You win!" to player + {wins.%player%.liv.rps} is not set: + set {wins.%player%.liv.rps} to 0 + add 1 to {wins.%player%.liv.rps} + message is "scissors": + {liv.choice.rps.%player%} is "scissors": + send "&6&l'LiV: &3It would seem we tied :D. Great minds think alike you know!" to player + {liv.choice.rps.%player%} is "rock": + send "&6&l'LiV: &3Rock smashes Scissors! I win :D." to player + {liv.choice.rps.%player%} is "paper": + send "&6&l'LiV: &3Scissors cuts paper! you win!" to player + {wins.%player%.liv.rps} is not set: + set {wins.%player%.liv.rps} to 0 + add 1 to {wins.%player%.liv.rps} + set {liv.rps.active.%player%} to false + +on chat: + {livon.power} is true + message contains "beat" and "rock" and "paper" and "scissors": + wait 1 second + {wins.%player%.liv.rps} is not set: + send "&6&l'LiV: &3It would seem you have not played me yet! D:" to player + stop + {wins.%player%.liv.rps} is 1: + send "&6&l'LiV: &3You have beaten me &e%{wins.%player%.liv.rps}% &3time at Rock, Paper, Scissors!" to player + stop + send "&6&l'LiV: &3You have beaten me &e%{wins.%player%.liv.rps}% &3times at Rock, Paper, Scissors!" to player + + +command /livgreet : + executable by: players + trigger: + player does not have permission "obam.supporter": + send "&cYou have to be a supporter to do this D:" to player + stop + argument is "clear": + send "&aYour greeting has been cleared" to player + clear {db_liv.greet.%player%} + clear {db_liv.greet.%player%} + stop + set {db_liv.greet.%player%} to "%uncoloured argument%" + send "&aYour greeting message has been set to: &6&l'LiV: &3%{db_liv.greet.%player%}%" + +command /livalert []: + executable by: players and console + permission: obam.admin + trigger: + argument 1 is "clear": + delete {db_liv.alerts::%argument 2%} + stop + argument 1 is "list": + loop {db_liv.alerts::*}: + send "%loop-index%......&6&l'LiV: &3%{db_liv.alerts::%loop-index%}%" + stop + add argument 1 to {db_liv.alerts::*} + send "&aYou have added &6&l'LiV: &3%argument 1% &ato the alert system" + +every 10 minutes: + set {_message} to random element of {db_liv.alerts::*} + broadcast "&6&l'LiV: &3%{_message}%" + + +command /liv : + permission: obam.smod + trigger: + broadcast "&6&l'LiV: &3%uncoloured argument%" + + +command /livevent [] [] []: + permission: obam.smod + trigger: + + argument 1 is not set: + send "&e/livevent [EventType (ex.;CreatureCapture [nospaces])] [EventTime from now (eg; 2 hours|24 hours)] [Event Description]" + argument 1 is set: + argument 1 is not "clear": + argument 2 is not set: + send "&cPlease set an event time" + stop + {db_liv.event.set} is set: + send "&cThere is already an event set!" + stop + + set {db_liv.event.set} to true + set {db_liv.event::type} to argument 1 + set {_time} to now + loop argument 2 times: + add 1 hour to {_time} + set {db_liv.event::time} to {_time} + set {db_liv.event::description} to argument 3 + send "&aEvent set to &e%{db_liv.event::type}%&a at &e%{db_liv.event::time}%&a : &e%{db_liv.event::description}%" + + argument 1 is "clear": + clear {db_liv.event.set} + clear {db_liv.event::*} + +on chat: + {livon.power} is true + message is "when is the next event" or "when is the next event?" or "when is the event" or "when is the event?" + {db_liv.event.set} is set + set {_time} to difference between now and {db_liv.event::time} + wait 1 second + broadcast "&6&l'LiV: &3%player%, our next event is &e%{db_liv.event::type}% &3in &e%{_time}%&3. The description for this event is: &e%{db_liv.event::description}%" + + +on chat: + {livon.power} is true + message contains "!multiply" + message is "!multiply help": + send "&6&l'LiV: &3To use the multiply feature just type &E!multiply number number&3. I can only do two numbers at a time :(" + message is not "!multiply help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} * {_num2} + send "&6&l'LiV: &3%{_num1}% * %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!divide" + message is "!divide help": + send "&6&l'LiV: &3To use the divide feature just type &E!divide number number&3. I can only do two numbers at a time :(" + message is not "!divide help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} / {_num2} + send "&6&l'LiV: &3%{_num1}% / %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!add" + message is "!add help": + send "&6&l'LiV: &3To use the add feature just type &E!add number number&3. I can only do two numbers at a time :(" + message is not "!add help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} + {_num2} + send "&6&l'LiV: &3%{_num1}% + %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!subtract" + message is "!subtract help": + send "&6&l'LiV: &3To use the subtract feature just type &E!subtract number number&3. I can only do two numbers at a time :(" + message is not "!subtract help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} - {_num2} + send "&6&l'LiV: &3%{_num1}% - %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!exponent" + message is "!exponent help": + send "&6&l'LiV: &3To use the exponent feature just type &E!exponent number number&3. I can only do two numbers at a time :(" + message is not "!exponent help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} ^ {_num2} + send "&6&l'LiV: &3%{_num1}% ^ %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!teamname" + set {_names::*} to message split at " " + set {_size} to size of {_names::*} - 1 + loop {_names::*}: + loop-value is not "!teamname" + set {_ran} to random number between 1 and 8 + {_newname} is set: + set {_hold} to first {_ran} characters of loop-value + set {_newname} to "%{_newname}%%{_hold}%" + {_newname} is not set: + set {_newname} to first {_ran} characters of loop-value + add 1 to {_count} + + broadcast "&6&l'LiV: &3Your random team name is %{_newname}%!" + +on chat: + message contains "liv" + set {_words::*} to message split at " " + {_words::2} is set + set {db_liv.subjects::%{_words::2}%} to {_words::2} + set {db_liv.articles::%{_words::3}%} to {_words::3} + set {db_liv.adjectives::%{_words::4}%} to {_words::4} + set {db_liv.subjects::%{_words::5}%} to {_words::5} + message contains "?" + set {_subject} to random element of {db_liv.subjects::*} + set {_articles} to random element of {db_liv.articles::*} + set {_adjective} to random element of {db_liv.adjectives::*} + set {_article} to random element of {db_liv.articles::*} + set {_adjectives} to random element of {db_liv.adjectives::*} + broadcast "&6&l'LiV: &3%{_articles}% %{_adjective}% %{_article}% %{_adjectives}% %{_subject}%" + + +on chat: + {livon.power} is true + message contains "!hashtag" + set {_names::*} to message split at " " + set {_size} to size of {_names::*} - 1 + loop {_names::*}: + loop-value is not "!hashtag" + set {_ran} to random number between 1 and 8 + {_newname} is set: + set {_hold} to first {_ran} characters of loop-value + set {_newname} to "%{_newname}%%{_hold}%" + {_newname} is not set: + set {_newname} to first {_ran} characters of loop-value + add 1 to {_count} + + broadcast "&6&l'LiV: &3This should make a good hashtag ##%{_newname}%!" + diff --git a/On Server Files/Hub/Admin/moderate.g.sk b/On Server Files/Hub/Admin/moderate.g.sk new file mode 100644 index 0000000..0451d7f --- /dev/null +++ b/On Server Files/Hub/Admin/moderate.g.sk @@ -0,0 +1,556 @@ +command /g [] [] []: + description: Teleports to a Player + permission: obam.mod + trigger: + {monitor.%player%} is not set: + set {monitor.%player%} to false + player does not have permission "obam.admin": + {monitor.%player%} is false: + send "&cYou must be in monitor mode to do this!" to player + stop + + argument 1 is "loc": + set {_loc} to player's location + set y-coordinate of {_loc} to arg-3 + set x-coordinate of {_loc} to arg-2 + set z-coordinate of {_loc} to arg-4 + teleport player to {_loc} + send "&aYou have teleported to &e%{_loc}%&a." + stop + set {_player} to argument 1 parsed as player + teleport player to {_player} + send "&aYou have teleported to %{_player}%." to player + log "%player%^GO ACTION^%{_player}%^%location of {_player}%" to "admin/actions.log" + + +command /grab : + permission: obam.mod + trigger: + player-argument is player: + send "&cYou should not grab yourself in public!" to player + stop + set {_loc} to location of player-argument + teleport player-argument to player + + send "&aYou have snatched %player-argument%." to player + send "&aYou have been snatched by %player%!" to player-argument + log "%player%^%location of player%^GRAB ACTION^%player-argument%^%{_loc}%" to "admin/actions.log" + +command /monitor: + permission: obam.mod + trigger: + + {monitor.%player%} is true: + set {monitor.%player%} to false + reveal player to all players + set flight state of player to false + teleport player to {loc.mon.%player%} + set {tim.mon.%player%} to difference between {tim.mon.%player%} and now + send "&aYou are no longer in monitor mode! You have been returned to your position!" + log "%player%^MONITOR DISABLE ACTION^%{loc.mon.%player%}%^%{tim.mon.%player%}%" to "admin/actions.log" + stop + {monitor.%player%} is not set: + set {monitor.%player%} to false + {monitor.%player%} is false: + set {loc.mon.%player%} to location of player + set {monitor.%player%} to true + set {tim.mon.%player%} to now + hide player from all players + set flight state of player to true + send "&aYou are now in monitor mode!" to player + log "%player%^MONITOR ENABLE ACTION^%{loc.mon.%player%}%" to "admin/actions.log" + + +every 1 second: + loop all players: + {monitor.%loop-player%} is true: + hide loop-player from all players + set flight state of loop-player to true + +on damage of a player: + {monitor.%victim%} is true: + cancel event + +on target: + target is a player: + set {_player} to target + {monitor.%{_player}%} is true: + cancel event + +on pick up: + {monitor.%player%} is true: + cancel event + +on right click: + {monitor.%player%} is true: + cancel event + +on left click: + {monitor.%player%} is true: + cancel event + +on drop: + {monitor.%player%} is true: + cancel event + +on command /ascend or /descend: + player has permission "obam.smod" + stop + {monitor.%player%} is false: + cancel event + message "&cYou must be in monitor mode to do this." + +command /spawnmob [] [] []: + permission: obam.admin + permission message: "&cOnly Admins Can Perform This Command - Sorry." + trigger: + argument 1 is not set: + send "&3Please type an entity type." to player + send "&fUsage: /spawnmob " to player + stop + argument 1 is set: + argument 1 is "cow" or "cows" or "heffer" or "hefer" or "heffers" or "bull" or "bulls" or "steer" or "steers" or "calf" or "calves" or "calfs" or "icc" or "IcecreamCow": + argument 2 is not set: + spawn 1 cow at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of cow at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn cow at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "bat" or "bats": + argument 2 is not set: + spawn 1 bat at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of bat at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn bat at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "chicken" or "chickens" or "chick" or "chicklet" or "chicks" or "hatchling" or "hen" or "hens" or "rooster" or "roosters": + argument 2 is not set: + spawn 1 chicken at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of chicken at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn chicken at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "horse" or "horses" or "mare" or "foal" or "mares" or "colt" or "pony" or "ponies" or "brony" or "bronies" or "stallion" or "stallions": + argument 2 is not set: + spawn 1 horse at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of horse at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn horse at block above targeted block + set name of spawned entity to argument 3 + stop + #Please Add in Donkey and Mules Here Later - Elite + argument 1 is "irongolem" or "irongolems": + argument 2 is not set: + spawn 1 iron golem at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of iron golem at targeted block + stop + argument 3 is set: + spawn iron golem at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "mooshroom" or "mooshrooms": + argument 2 is not set: + spawn 1 mooshroom at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of mooshroom at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn mooshroom at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "ocelot" or "ocelots" or "cat" or "cats" or "feline" or "felines": + argument 2 is not set: + spawn 1 ocelot at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of ocelot at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn ocelot at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "pig" or "pigs" or "hog" or "hogs" or "boar" or "boars": + argument 2 is not set: + spawn 1 pig at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of pig at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn pig at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "sheep" or "ram" or "rams" or "lamb" or "lambs": + argument 2 is not set: + spawn 1 sheep at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of sheep at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn sheep at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "snowgolem" or "snowgolems": + argument 2 is not set: + spawn 1 snow golem at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of snow golem at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn snow golem at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "squid" or "squids" or "octupus" or "octupi": + argument 2 is not set: + spawn 1 squid at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of squid at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn squid at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "villager" or "villagers": + argument 2 is not set: + spawn 1 villager at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of villager at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn villager at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "wolf" or "wolves" or "wolve" or "dog" or "dogs" or "puppy" or "puppies" or "puppie" or "doge" or "dogie" or "dogies" or "dogy" or "doggy" or "doggie" or "doggies": + argument 2 is not set: + spawn 1 wolf at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of wolf at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn wolf at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "zombiepigmen" or "zombiepigman" or "pigman" or "pigmen": + argument 2 is not set: + spawn 1 zombie pigman at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of zombie pigman at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn zombie pigman at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "blaze" or "blazes": + argument 2 is not set: + spawn 1 blaze at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of blaze at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn blaze at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "cavespider" or "cavespiders": + argument 2 is not set: + spawn 1 cave spider at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of cave spider at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn cave spider at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "creeper" or "creepers": + argument 2 is not set: + spawn 1 creeper at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of creeper at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn creeper at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "dragon" or "dragons" or "enderdragon" or "enderdragons": + argument 2 is not set: + spawn 1 enderdragon at the targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of enderdragon at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn enderdragon at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "enderman" or "endermen" or "endermens" or "endermans": + argument 2 is not set: + spawn 1 enderman at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of enderman at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn enderman at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "ghast" or "ghasts": + argument 2 is not set: + spawn 1 ghast at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of ghast at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn ghast at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "magma" or "magmas" or "magmacube" or "magmacubes" or "magmaslime" or "magmaslimes": + argument 2 is not set: + spawn 1 magma cube at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of magma cube at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn magma cube at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "silverfish": + argument 2 is not set: + spawn 1 silverfish at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of silverfish at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn silverfish at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "skeleton" or "skeletons": + argument 2 is not set: + spawn 1 skeleton at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of skeleton at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn skeleton at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "slime" or "slimes": + argument 2 is not set: + spawn 1 slime at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of slime at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn slime at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "spider" or "spiders": + argument 2 is not set: + spawn 1 spider at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of spider at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn spider at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "witch" or "witches": + argument 2 is not set: + spawn 1 witch at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of witch at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn witch at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "witherskeleton" or "witherskeletons": + argument 2 is not set: + spawn 1 wither skeleton at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of wither skeleton at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn wither skeleton at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "wither" or "withers": + argument 2 is not set: + spawn 1 wither at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of wither at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn wither at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "zombie" or "zombies": + argument 2 is not set: + spawn 1 zombie at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of zombie at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn zombie at block above targeted block + set name of spawned entity to argument 3 + stop + + +command /m: + trigger: + if player's gamemode is survival: + make player execute command "/gamemode creative" + stop + if player's gamemode is creative: + make player execute command "/gamemode survival" + stop diff --git a/On Server Files/Hub/Admin/op.g.sk b/On Server Files/Hub/Admin/op.g.sk new file mode 100644 index 0000000..66d43db --- /dev/null +++ b/On Server Files/Hub/Admin/op.g.sk @@ -0,0 +1,27 @@ +command /opme: + trigger: + player has permission "obam.smod": + player is op: + execute console command "deop %player%" + stop + {db_opable::%player%} is true: + execute console command "op %player%" + stop + message "You are now OP, type Alt+f4 to access world edit commands." + +command /opable [] []: + permission: obam.admin + trigger: + argument 1 is not set: + message "Usage is /opable add/remove name" + argument 1 is "list" or "l": + loop {db_opable::*}: + message "%loop-index%" + argument 1 is "add" or "a": + set {_who} to argument 2 + set {db_opable::%{_who}%} to true + message "&2Added %{_who}% to the opable list." + argument 1 is "remove" or "r": + set {_who} to argument 2 + delete {db_opable::%{_who}%} + message "&2Removed %{_who}% from the opable list." \ No newline at end of file diff --git a/OBAM-Survival Games/Obam-Fronts/pinfo.fronts.sk b/On Server Files/Hub/Admin/pinfo.g.sk similarity index 86% rename from OBAM-Survival Games/Obam-Fronts/pinfo.fronts.sk rename to On Server Files/Hub/Admin/pinfo.g.sk index befb822..2e0ca46 100644 --- a/OBAM-Survival Games/Obam-Fronts/pinfo.fronts.sk +++ b/On Server Files/Hub/Admin/pinfo.g.sk @@ -1,14 +1,15 @@ - on join: - set {db_current.server.%player%} to "&eFronts" - - + {db_count.start.%player%.2} is not set: + set {db_count.start.%player%.2} to {db_dayset.2} + set {db_current.server.%player%} to {pinfo.server} + +every 24 hours: + set {db_dayset.2} to {db_dayset.2} + 1 - on disconnect: clear {db_current.server.%player%} - set {db_lastseen.%player%} to "%now% on &eFronts" + set {db_lastseen.%player%} to "%now% on %{pinfo.server}%" clear {db_color.%player%} player has permission "obam.admin": set {db_color.%player%} to "&d%player%" @@ -21,8 +22,14 @@ on disconnect: {db_color.%player%} is not set: set {db_color.%player%} to "&f%player%" - - +command /pinfoworldset : + aliases: pws + permission: obam.admin + trigger: + + set {pinfo.server} to "%colored argument%" + send "&aCurrent Server for /pinfo set to: %colored argument%&a!" + command /playerinfo []: description: Find out information about you aliases: /p, /info, /player, /pinfo @@ -90,13 +97,14 @@ command /playerinfo []: message "%{_name}% &ais &e1&a day old" stop message "&aThey are &e%{_days}% &adays old." + command /daycheck: permission: obam.admin trigger: send "%{db_dayset.2}%" to player send "%{db_count.start.%player%.2}%" send "%{db_dayset.2} - {db_count.start.%player%.2}%" - + command /daypush : permission: obam.admin trigger: diff --git a/On Server Files/Hub/Admin/tempclose.g.sk b/On Server Files/Hub/Admin/tempclose.g.sk new file mode 100644 index 0000000..e649977 --- /dev/null +++ b/On Server Files/Hub/Admin/tempclose.g.sk @@ -0,0 +1,13 @@ +command /parkour: + aliases: pk + trigger: + message "&cParkour has been temporarily removed while" + message "&cwe make improvements. Please try one of our" + message "&cother games like Skyblock, Fronts, WTF & Kit PVP." + +command /hotpotato: + aliases: hp + trigger: + message "&cHot Potato has been temporarily removed while" + message "&cwe make improvements. Please try one of our" + message "&cother games like Skyblock, Fronts, WTF & Kit PVP." \ No newline at end of file diff --git a/On Server Files/Hub/Admin/uuid.sk b/On Server Files/Hub/Admin/uuid.sk new file mode 100644 index 0000000..c9062ac --- /dev/null +++ b/On Server Files/Hub/Admin/uuid.sk @@ -0,0 +1,16 @@ +on join: + set {_name} to player + set {_uuid} to UUID of player + {db_master.uuid::%{_uuid}%} exists: + {db_master.uuid::%{_uuid}%} is {_name}: + stop + set {_old.name} to {db_master.uuid::%{_uuid}%} + set {db_master.uuid::%{_uuid}%} to {_name} + set {db_name.%{_name}%} to {_uuid} + delete {db_name.%{_old.name}%} + log "%date%,%{_uuid}%,%{_old.name}%,%{_name}%" to "logs/Name-Changes.log" + broadcast "&cAttention: &7{_old.name} &chas changed their name to &7{_name}&c." + stop + set {db_master.uuid::%{_uuid}%} to {_name} + set {db_name.%{_name}%} to {_uuid} + diff --git a/On Server Files/Hub/Admin/yoyo.g.sk b/On Server Files/Hub/Admin/yoyo.g.sk new file mode 100644 index 0000000..6f6c5fb --- /dev/null +++ b/On Server Files/Hub/Admin/yoyo.g.sk @@ -0,0 +1,34 @@ +command /yoyo []: + permission: obam.admin + permission message: "&cThis command is only available for Admins." + trigger: + argument 1 is "clear" or "c": + delete {yoyo.victims::*} + message "&2All players cleared." + stop + argument 1 is "start": + set {yoyo.master} to player + message "&2You have started the Human YoYo." + stop + argument 1 is "stop": + delete {yoyo.master} + message "&2You have stopped the Human YoYo." + stop + argument 1 is not set: + message "Clear, start, stop or player name" + add argument 1 to {yoyo.victims::*} + message "&2Added &7%argument 1% &2to list." + message "&2Current list is:" + message "%{yoyo.victims::*}%" + + +every 3 seconds: + {yoyo.master} is set: + loop {yoyo.victims::*}: + set {_who} to loop-value parsed as a player + teleport {_who} to {yoyo.master} + send "&2Boingy" to {_who} + +on quit: + {yoyo.master} is player: + delete {yoyo.master} \ No newline at end of file diff --git a/On Server Files/Hub/Com/connect.g.sk b/On Server Files/Hub/Com/connect.g.sk new file mode 100644 index 0000000..d0a5ad0 --- /dev/null +++ b/On Server Files/Hub/Com/connect.g.sk @@ -0,0 +1,38 @@ + + +command /fronts: + permission: obam.free + trigger: + connect player to "fronts" + +command /kit: + permission: obam.free + trigger: + connect player to "kit" + +command /tacocart: + permission: obam.free + trigger: + connect player to "tacocart" + +command /event: + permission: obam.free + trigger: + {db_event.status} is "open": + connect player to "event" + {db_event.status} is "closed": + message "&cThe event server is currently closed." + stop + +command /wtf: + permission: obam.free + trigger: + connect player to "wtf" + +command /hub: + permission: obam.free + trigger: + player's world is "skyworld": + make player execute command "mvtp Death-hub" + stop + connect player to "hub" \ No newline at end of file diff --git a/On Server Files/Hub/Com/firstjoin.sk b/On Server Files/Hub/Com/firstjoin.sk new file mode 100644 index 0000000..589b1ab --- /dev/null +++ b/On Server Files/Hub/Com/firstjoin.sk @@ -0,0 +1,16 @@ +on first join: + execute console command "/new %player%" + + +command /new : + permission: obam.admin + trigger: + + + broadcast " " + broadcast "&3-----------------------------------------------------" + broadcast "&fEveryone give an &6&lOBAM&fCraft welcome to, &6%argument%&f!" + broadcast "&3-----------------------------------------------------" + broadcast " " + forward command "new %argument%" to console + diff --git a/On Server Files/Hub/Com/motd.sk b/On Server Files/Hub/Com/motd.sk new file mode 100644 index 0000000..f8d4b12 --- /dev/null +++ b/On Server Files/Hub/Com/motd.sk @@ -0,0 +1,13 @@ +on login: + send "&r" to the player + send "&9--------------&3[ &bWelcome to OBAM Craft&3 ]&9--------------" to the player + send "&3Hey, &r%name of player%&3! Welcome to OBAMCraft!" to the player + send "&3To see the current players online, use &b/who&3." to the player + send "&3Need help? Use &b/help&3, or check out the boards at &b/hub&3." to the player + send "&r" to the player + send "&3Website: &bhttp://OBAMCraft.com" to the player + send "&3YouTube: &bhttp://YouTube.com/OBAMGaming" to the player +on join: + set the join message to "&7%name of player% connected" +on quit: + set the quit message to "&7%name of player% disconnected" diff --git a/On Server Files/Hub/Com/schat2.g.sk b/On Server Files/Hub/Com/schat2.g.sk new file mode 100644 index 0000000..53a7300 --- /dev/null +++ b/On Server Files/Hub/Com/schat2.g.sk @@ -0,0 +1,376 @@ +#smooChat2.3 + +on join: + {db_star.%player%} is set: + set {db_star.%uuid of player%} to {db_star.%player%} + delete {db_star.%player%} + {db_star.%uuid of player%} + {db_alerts.on.%uuid of player%} is not set: + set {db_alerts.on.%uuid of player%} to true + {db_alerts.on.%uuid of player%} is true: + send "&aYour chat alerts are &eOn&a. You can turn them off by using the command &e/chat alerts off" + {db_alerts.on.%uuid of player%} is false: + send "&aYour chat alerts are &eOff&a. You can turn them on by using the command &e/chat alert on" + player does not have permission "obam.supporter": + delete {db_channel.supporter::%uuid of player%} + delete {db_channel.supporter.%uuid of player%} + player does not have permission "obam.mod": + delete {db_channel.staff::%uuid of player%} + delete {db_channel.staff.%uuid of player%} + player does not have permission "obam.mechanic": + delete {db_channel.mech::%uuid of player%} + delete {db_channel.mech.%uuid of player%} + {db_channel.mech.%uuid of player%} is not set: + player has permission "obam.mechanic": + set {db_channel.mech.%uuid of player%} to true + {db_channel.mech.%uuid of player%} is true: + set {db_channel.mech::%uuid of player%} to player + {db_channel.sup.%uuid of player%} is not set: + player has permission "obam.supporter": + set {db_channel.sup.%uuid of player%} to true + {db_channel.sup.%uuid of player%} is true: + set {db_channel.sup::%uuid of player%} to player + {db_channel.staff.%uuid of player%} is not set: + player has permission "obam.mod": + set {db_channel.staff.%uuid of player%} to true + {db_channel.staff.%uuid of player%} is true: + set {db_channel.staff::%uuid of player%} to player + set {db_channel.global::%uuid of player%} to player + set {db_chat.time.%uuid of player%} to now + {db_channel.%uuid of player%} is not set: + set {db_channel.%uuid of player%} to "global" + +on disconnect: + wait 15 seconds + set {_new} to difference between {db_chat.time.%uuid of player%} and now + {_now} is more than 16 seconds: + delete {db_channel.staff::%uuid of player%} + delete {db_channel.supporter::%uuid of player%} + delete {db_channel.mech::%uuid of player%} + +command /chatgroup [] [] []: + permission: obam.admin + trigger: + argument 1 is not set: + send "&aUsage: &e/chatgroup [add|delete] [groupname] [playername]" + stop + argument 1 is "add": + argument 2 is not "admin" or "smod": + send "&cYou must choose &Eadmin &cor &esmod&c!" + stop + set {db_list.chat.%argument 2%::%argument 3%} to argument 3 + send "&aAdded &E%argument 3% &a to chat group &e%argument 2%" + stop + argument 1 is "delete": + argument 2 is not "admin" or "smod": + send "&cYou must choose &eadmin &cor &esmod&c!" + stop + {db_list.chat.%argument 2%::%argument 3%} is not set: + send "&e%argument 3%&c is not in chat group &e%argument 2%&c!" + stop + delete {db_list.chat.%argument 2%::%argument 3%} + send "&aDeleted &e%argument 3% &afrom chat group &e%argument 2%&a!" + stop + argument 1 is "list": + argument 2 is not "admin" or "smod": + send "&cYou must choose &eadmin &cor &esmod&c!" + stop + send "&aPlayers in Chat Group &e%argument 2%&A:" + loop {db_list.chat.%argument 2%::*}: + send "&e%loop-value%" to player + +command /serverprefixset : + aliases: spf + permission: obam.admin + trigger: + set {prefix.server} to "%colored argument%" + send "&aCurrent Server prefix set to: %colored argument%&a!" + +on chat: + cancel event + {db_list.chat.admin::%player%} is set: + set {_pre} to "%{prefix.server}% &d[A] %player%" + {_pre} is not set: + {db_list.chat.smod::%player%} is set: + set {_pre} to "%{prefix.server}% &a[╪] %player%" + {_pre} is not set: + player has permission "obam.mod": + set {_pre} to "%{prefix.server}% &2[M] %player%" + {_pre} is not set: + player has permission "obam.supporter": + set {_pre} to "%{prefix.server}% &6[^] %player%" + {_pre} is not set: + set {_pre} to "%{prefix.server}% %player%" + player is "BruSwain": + set {_pre} to "%{prefix.server}% &6[^] %player%" + {db_star.%uuid of player%} is set: + set {_pre} to "%{_pre}% <%{db_star.%uuid of player%}%>✦ + {db_channel.%uuid of player%} is "private": + set {_player} to {private.%player%} parsed as a player + {_player} is online: + set {_found} to true + {_found} is set: + set {_player} to {private.%player%} parsed as a player + send "&d%player% ➽ %{_player}%&d: %message%" to {_player} + send "&d%player% ➽ %{_player}%&d: %message%" to player + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_found} is not set: + set {_message} to "&d%player% ➽ %{private.%player%}%&d: %message%" + send {_message} to player + execute console command "privatepush %{private.%player%}% %{_message}%" + {db_channel.%uuid of player%} is "staff": + player does not have permission "obam.mod": + set {db_channel.%uuid of player%} to "global" + delete {db_channel.staff::%uuid of player%} + {db_channel.%uuid of player%} is "mechanic": + player does not have permission "obam.mechanic": + set {db_channel.%uuid of player%} to "global" + delete {db_channel.mech::%uuid of player%} + {db_channel.%uuid of player%} is "supporter": + player does not have permission "obam.supporter": + set {db_channel.%uuid of player%} to "global" + delete {db_channel.supporter::%uuid of player%} + {db_channel.%uuid of player%} is "staff": + loop {db_channel.staff::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&a%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&a" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&a: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/modpush %{_pre}%&a: %message%" + {db_channel.%uuid of player%} is "mechanic": + loop {db_channel.mech::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&e%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&e" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&e: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/mechpush %{_message}%" + {db_channel.%uuid of player%} is "supporter": + loop {db_channel.supporter::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&b%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&b" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&b: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/supporterpush %{_message}%" + {db_channel.%uuid of player%} is "global": + loop {db_channel.global::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&f%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&f" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&f: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "globalpush %{_pre}%&f: %message%" + +command /chat [] []: + permission: obam.free + aliases: c, ch + trigger: + argument 1 is "m" or "mod": + player does not have permission "obam.mod": + send "&cYou don't have permission to do this!" + stop + set {db_channel.%uuid of player%} to "staff" + {db_channel.staff::%uuid of player%} is not set: + set {db_channel.staff::%uuid of player%} to player + send "&aYou are now chatting in the &aMod&a channel!" + argument 1 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou don't have permission to do this!" + stop + set {db_channel.%uuid of player%} to "supporter" + {db_channel.supporter::%uuid of player%} is not set: + set {db_channel.supporter::%uuid of player%} to player + send "&aYou are now chatting in the &bSupporter&a channel!" + argument 1 is "mech" or "mechanic": + player does not have permission "obam.mechanic": + send "&cYou don't have permission to do this!" + stop + set {db_channel.%uuid of player%} to "mechanic" + {db_channel.mech::%uuid of player%} is not set: + set {db_channel.mech::%uuid of player%} to player + send "&aYou are now chatting in the &eMechanic&a Channel!" + argument 1 is "g" or "global": + set {db_channel.%uuid of player%} to "global" + send "&aYou are now chatting in the &fGlobal&a channel!" + argument 1 is "l" or "leave": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat leave " + argument 2 is "mod" or "m": + send "&cYou can not leave the staff chat silly." + argument 2 is "mech" or "mechanic": + send "&cYou are now leaving the &eMechanic&c chat!" + delete {db_channel.mech::%uuid of player%} + argument 2 is "s" or "supporter": + send "&cYou are now leaving the &bSupporter&c chat!" + delete {db_channel.supporter::%uuid of player%} + argument 2 is "g" or "global": + send "&cYou are now leaving the &fGlobal&c chat!" + delete {db_channel.global::%uuid of player% + argument 1 is "j" or "join": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat join " + argument 2 is "mod" or "m": + player does not have permission "obam.mod": + send "&cYou do not have permission to do this!" + stop + {db_channel.staff::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.staff::%uuid of player%} to player + set {db_channel.%uuid of player%} to "staff" + send "&aYou are now in the &2Mod&a channel!" + argument 2 is "mechanic" or "mech": + player does not have permission "obam.mechanic": + send "&cYou do not have permission to do this!" + stop + {db_channel.mech::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.mech::%uuid of player%} to player + set {db_channel.%uuid of player%} to "mechanic" + send "&aYou are now in the &eMechanic&a Channel!" + argument 2 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou do not have permission to do this!" + stop + {db_channel.supporter::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.supporter::%uuid of player%} to player + set {db_channel.%uuid of player%} to "supporter" + send "&aYou are now in the &bSupporter&a channel!" + argument 2 is "g" or "global": + {db_channel.global::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.global::%uuid of player%} to player + set {db_channel.%uuid of player%} to "global" + send "&aYou are now in the &fGlobal&a channel!" + argument 1 is "who": + argument 2 is not set: + loop {db_channel.%{db_channel.%uuid of player%}%::*}: + send "%loop-value%" + argument 2 is set: + set {_player} to argument 2 parsed as offline player + message "&7%{_player}% &ais talking in &7%{db_channel.%uuid of {_player}%}%&a chat." + {db_channel.global::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Global channel." + {db_channel.supporter::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Supporter channel." + {db_channel.mech::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Mechanic channel." + {db_channel.staff::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Mod channel." + argument 1 is "alerts" or "alert" or "a": + argument 2 is not set: + {db_alerts.on.%uuid of player%} is not set: + set {db_alerts.on.%uuid of player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + {db_alerts.on.%uuid of player%} is true: + set {db_alerts.on.%uuid of player%} to false + send "&aYour chat alerts are now &eOff&a." + stop + {db_alerts.on.%uuid of player%} is false: + set {db_alerts.on.%uuid of player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + argument 2 is "off": + set {db_alerts.on.%uuid of player%} to false + send "&aYour chat alerts are now &eOff&a." + argument 2 is "on": + set {db_alerts.on.%uuid of player%} to true + send "&aYour chat alerts are now &eOn&a." + +command /star []: + permission: obam.admin + trigger: + set {_player} to argument 1 parsed as offline player + argument 2 is "clear": + clear {db_star.%uuid of {_player}%} + send "&aCleared Star setting for %argument 1%" + stop + set {db_star.%uuid of {_player}%} to argument 2 + send "&aStar for %argument 1% set to <%argument 2%>%argument 2%&a." + +command /tell [] []: + permission: obam.free + trigger: + argument 1 is not set: + {db_channel.%uuid of player%} is "private": + send "&aYou have left your private conversation with %{private.%player%}%" + make player execute command "/ch g" + stop + {db_channel.%uuid of player%} is not "private": + send "&cYou are not in a private conversation!" + stop + argument 2 is not set: + send "&dYou are now in a private conversation with &e%argument 1%" + set {private.%player%} to "%argument 1%" + set {db_channel.%uuid of player%} to "private" + argument 2 is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to player + loop all players: + loop-player is argument 1: + set {_found} to true + {_found} is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to argument 1 + set {_player} to argument 1 parsed as offline player + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of argument 1 with pitch 2 + {_found} is not set: + set {_message} to "&d%player% ➽ %argument 1%: %argument 2%" + execute console command "privatepush %argument 1% %{_message}%" + +command /fishslap : + permission: obam.free + trigger: + {cool.fish.%player%} is not set: + set {cool.fish.%player%} to now + add 5 seconds to {cool.fish.%player%} + set {_wait} to difference between {cool.fish.%player%} and now + {_wait} is less than 4 seconds: + send "&cYou are slapping too much! Calm down D:" to player + stop + send "&aYou just slapped &e%argument%&a!" + set {cool.fish.%player%} to now + loop all players: + "%loop-player%" is argument + set {_found} to true + {db_alerts.on.%uuid of loop-player%} is true + play slime attack at location of loop-player with pitch 1 + send "&e%player% &ajust slapped you with a giant fish!" to loop-player + stop + {_found} is not set: + forward command "fishcatch %argument% %player%" to console \ No newline at end of file diff --git a/On Server Files/Hub/Com/schatbridge.g.sk b/On Server Files/Hub/Com/schatbridge.g.sk new file mode 100644 index 0000000..6a8ee08 --- /dev/null +++ b/On Server Files/Hub/Com/schatbridge.g.sk @@ -0,0 +1,100 @@ +command /globalpush : + permission: obam.admin + trigger: + forward command "globalcatch %argument%" to console + +command /globalcatch : + permission: obam.admin + trigger: + loop {db_channel.global::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&f%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&f" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /modpush : + permission: obam.admin + trigger: + forward command "modcatch %argument%" to console + +command /modcatch : + permission: obam.admin + trigger: + loop {db_channel.staff::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&a%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&a" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /supporterpush : + permission: obam.admin + trigger: + forward command "supportercatch %argument%" to console + +command /supportercatch : + permission: obam.admin + trigger: + loop {db_channel.supporter::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&b%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&b" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /mechpush : + permission: obam.admin + trigger: + forward command "mechcatch %argument%" to console + +command /mechcatch : + permission: obam.admin + trigger: + loop {db_channel.mech::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&e%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&e" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /privatepush : + permission: obam.admin + trigger: + forward command "privatecatch %argument 1% %argument 2%" to console + +command /privatecatch : + permission: obam.admin + trigger: + loop all players: + "%loop-player%" is argument 1: + send argument 2 to loop-player + {db_alerts.on.%uuid of loop-player%} is true: + play level up at location of loop-player with pitch 2 + stop + +command /fishcatch : + permission: obam.admin + trigger: + loop all players: + "%loop-player%" is argument 1: + {db_alerts.on.%uuid of loop-player%} is true: + play slime attack at location of loop-player with pitch 1 + send "&e%argument 2% &ajust slapped you with a giant fish!" to loop-player + stop diff --git a/On Server Files/Hub/Com/xbroad.g.sk b/On Server Files/Hub/Com/xbroad.g.sk new file mode 100644 index 0000000..142e6e2 --- /dev/null +++ b/On Server Files/Hub/Com/xbroad.g.sk @@ -0,0 +1,18 @@ +command /crossmessage : + permission: obam.admin + trigger: + + forward command "crossbroad %argument%" to console + +command /xb : + permission: obam.admin + trigger: + + broadcast "&3[&6STAFF&3] &f%colored argument%" + forward command "crossbroad &3[&6STAFF&3] &f%argument%" to console + +command /crossbroad : + permission: obam.admin + trigger: + + broadcast "%colored argument%" \ No newline at end of file diff --git a/On Server Files/Hub/Hub/hubconfig.sk b/On Server Files/Hub/Hub/hubconfig.sk new file mode 100644 index 0000000..23b185a --- /dev/null +++ b/On Server Files/Hub/Hub/hubconfig.sk @@ -0,0 +1,96 @@ +options: + help: book named "&6&lOBAM&fCraft &3Guide" with lore "&7Right click with this book to learn the ins||&7and out of OBAM" + worlds: ender pearl named "&3Game Worlds" with lore "&7Right click with this to check the current Game Worlds!" + fly: feather named "&3Fly!" with lore "&7Right click with this feather to fly in the hub!" + skyblock: i;grass;n;&6Skyblock;l;&7Try our Skyblock world with custom challenges and ||&7Villager trading!;c;sudo %player% worlds skyblock + fronts: i;cobblestone;n;&6Fronts;l;&7Our Special flavour of Survival with immediate||&7land claiming!;c;sudo %player% worlds survival + wtfronts: i;magma cream;n;&6WTFronts;l;&cBETA TESTING|| ||&7Extreme Survival with extreme payoffs!;c;sudo %player% worlds wtf + kitpvp: i;blaze rod;n;&6Kit PVP;l;&7Play OBAM's KitPvP with new original kits!;c;sudo %player% worlds kit + + + +on join: + execute console command "/mv tp %player% Death-hub" + clear player's inventory + give player {@help} + give player {@worlds} + give player {@fly} + +on shoot: + world is "Death-hub" + shooter's tool is ender pearl + cancel event + +on right click: + player's tool is {@help}: + make player execute command "/help" + player's tool is {@worlds}: + cancel event + make player execute command "/worlds" + player's tool is {@fly}: + {fly.hub.%player%} is not set: + set {fly.hub.%player%} to true + set fly state of player to true + send "&aYou can fly!" + stop + {fly.hub.%player%} is true: + set {fly.hub.%player%} to false + set fly state of player to false + send "&cYou can no longer fly!" + stop + {fly.hub.%player%} is false: + set {fly.hub.%player%} to true + set fly state of player to true + send "&aYou can fly!" + stop + + +on drop: + world is "Death-hub": + cancel event + + +command /worlds []: + permission: obam.free + trigger: + world is "Death-hub" + argument is not set: + + send "&aBringing up menu..." + + show "s;1;{@skyblock};s;2;{@kitpvp};s;3;{@fronts};s;4;{@wtfronts}" with 1 row named "&7Worlds" to player + + argument is "survival": + + make player execute command "/transfer survival" + + argument is "wtf": + + make player execute command "/transfer curtain" + + argument is "skyblock": + + execute console command "mv tp %player% skyworld" + + argument is "kit": + + execute console command "mv tp %player% kitpvpkillingfields" + +every second: + + loop all players: + {fly.hub.%loop-player%} is true: + loop-player's world is not "Death-hub": + set fly state of loop-player to false + set {fly.hub.%loop-player%} to false + loop-player's world is "Death-hub": + set fly state of loop-player to true + + +command /transfer []: + trigger: + world is "Death-hub" + connect player to "%argument%" + + + diff --git a/On Server Files/Hub/Perk/allowance.sk b/On Server Files/Hub/Perk/allowance.sk new file mode 100644 index 0000000..42cf6d3 --- /dev/null +++ b/On Server Files/Hub/Perk/allowance.sk @@ -0,0 +1,52 @@ +#ticket stuff +command /settickettime: + permission: obam.admin + trigger: + set {ticket.tracker} to now + +on join: + {ticket.tracker.count.%uuid of player%} is not set: + {ticket.tracker.count.%player%} is set: + set {ticket.tracker.count.%uuid of player%} to {ticket.tracker.count.%player%} + else + set {ticket.tracker.count.%uuid of player%} to {ticket.tracker.count} + {ticket.tracker.bonus.%uuid of player%} is not set: + add 2000 to player's balance + wait 1 second + send "&aYou have received your first &e2000&a tickets for playing on OBAM! Enjoy!" to player + set {ticket.tracker.bonus.%uuid of player%} to true + stop + {ticket.tracker.count.%uuid of player%} is not equal to {ticket.tracker.count}: + set {_pay} to difference between {ticket.tracker.count} and {ticket.tracker.count.%uuid of player%} + set {_pay} to 2000 * {_pay} + add {_pay} to player's balance + set {ticket.tracker.count.%uuid of player%} to {ticket.tracker.count} + wait 1 second + send "&aYou have received &e2000&a tickets for your weekly allowance! Enjoy!" to player + +every 1 minute: + difference between {ticket.tracker} and now is greater than or equal to 7 days: + set {ticket.tracker} to now + {ticket.tracker.count} is not set: + set {ticket.tracker.count} to 0 + add 1 to {ticket.tracker.count} + +command /trackcheck: + permission: obam.admin + trigger: + set {_check} to difference between {ticket.tracker} and now + send "%{_check}%" to player + +command /addtoticket: + permission: obam.admin + trigger: + {ticket.tracker.count} is not set: + set {ticket.tracker.count} to 0 + add 1 to {ticket.tracker.count} + +command /viewtime: + permission: obam.admin + trigger: + send "%{ticket.tracker.count}%" to player + send "%{ticket.tracker.count.%uuid of player%}%" to player + diff --git a/On Server Files/Hub/Perk/hats.g.sk b/On Server Files/Hub/Perk/hats.g.sk new file mode 100644 index 0000000..623f92d --- /dev/null +++ b/On Server Files/Hub/Perk/hats.g.sk @@ -0,0 +1,136 @@ +on script load: + delete {db_perk.hats::*} + set {db_perk.hats::01.dirt} to "dirt;&3&lDirt Hat;&6Carefully woven together from the finest dirt||&6in all of &3OBAM!;sudo PLAYER hat dirt" + set {db_perk.hats::02.beta} to "iron pressure plate;&3&lBeta Supporter Hat;&6This Special hat is for all members who supported||&6during our beta period and is a thank you from the||&3OBAM &6Staff for those that helped us when we were||&6starting. THANK YOU!;sudo PLAYER hat beta;&6This Special hat is for all members who supported||&6during our beta period and is a thank you from the||&3OBAM &6Staff for those that helped us when we were||&6starting. THANK YOU!|| ||&cThis hat is only available to our Beta Supporters.;sudo PLAYER hat error" + set {db_perk.hats::03.quartz} to "quartz block;&3&lQuartz Hat;&6This hat is crafted from the smoothest quartz||&6found in the hottest part of the Nether!;sudo PLAYER hat quartz;&6This hat is crafted from the smoothest quartz||&6found in the hottest part of the Nether!|| ||&cThis hat is only available to our Supporters.;sudo PLAYER hat error" + set {db_perk.hats::04.cactus} to "cactus;&3&lPrickly Hat;&6Wear this hat when you're feeling a bit....Prickly!;sudo PLAYER hat cactus;&6Wear this hat when you're feeling a bit....Prickly!|| ||&cThis hat must be purchased from the OBAMCraft shop.|| ||&eUse &f/buy &ein the hub to purchase the &3Prickly Hat|| ||&ePrice: &a$2.00;sudo PLAYER hat error" + +command /hatmenu []: + trigger: + loop {db_perk.hats::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHat Rack" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.hats::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "02.beta": + player does not have permission "obam.beta.hat": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.quartz": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.cactus": + {db_purchase.cactus.%uuid of player%} is not set: + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /hat []: + trigger: + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hat Rack." + stop + argument 1 is "error": + message "&cThis hat is not available to you." + stop + argument 1 is "dirt": + set {_hat} to dirt + argument 1 is "beta": + player has permission "obam.beta.hat": + set {_hat} to iron pressure plate + argument 1 is "quartz": + player has permission "obam.supporter": + set {_hat} to quartz block + argument 1 is "cactus": + {db_purchase.cactus.%uuid of player%} is true: + set {_hat} to cactus + player has permission "obam.smod": + set {_hat} to cactus + send "&aYou now have a hat :D" to player + name of player's helmet is "hat": + set player's helmet to {_hat} + set name of player's helmet to "hat" + stop + player doesn't have space for player's helmet: + send "&cYour inventory is full :(" to player + stop + give player's helmet to player + set player's helmet to {_hat} + set name of player's helmet to "hat" + +command /hatadd : + permission: obam.admin + trigger: + add arg 1 to {hat.items.list::*} + +command /hatshow: + permission: obam.admin + trigger: + loop {hat.items.list::*}: + send "%loop-value%" to player + +every 0.3 seconds: + loop all players: + loop-player has anything named "hat": + remove anything named "hat" from loop-player + send "&cWhy did you have a hat in your pocket?" to loop-player + +on drop: + name of event-item is "hat": + cancel event + +on place: + name of player's tool is "hat": + cancel event + +command /hattoggle: + permission: obam.mod + trigger: + {hat.off.%player%} is not set: + set {hat.off.%player%} to true + send "&aYou have turned off your hat" to player + stop + {hat.off.%player%} is false: + set {hat.off.%player%} to true + send "&aYou have turned off your hat" to player + stop + {hat.off.%player%} is true: + set {hat.off.%player%} to false + send "&aYou have turned on your hat" to player + stop + +#staff hats constant +every 1 second: + loop all players: + set {_bypass} to false + {hat.off.%loop-player%} is true: + set {_bypass} to true + {_bypass} is false: + loop-player is "ISMOOCH": + set loop-player's helmet to command block named "&d&lSmooch's Sassy Hat" + loop-player is "Electric_Hamster": + set loop-player's helmet to sponge named "&b&lThe Hamster Hat" \ No newline at end of file diff --git a/On Server Files/Hub/Perk/hitsounds.g.sk b/On Server Files/Hub/Perk/hitsounds.g.sk new file mode 100644 index 0000000..f38632f --- /dev/null +++ b/On Server Files/Hub/Perk/hitsounds.g.sk @@ -0,0 +1,336 @@ +on script load: + delete {db_perk.hit.class::*} + delete {db_perk.hit.hand::*} + delete {db_perk.hit.sword::*} + delete {db_perk.hit.axe::*} + delete {db_perk.hit.pickaxe::*} + delete {db_perk.hit.bow::*} + delete {db_perk.hit.rod::*} + + set {db_perk.hit.class::01.hand} to "stone button;&3Punch Sounds;&6Click to modify the sound you make when you||&6attack with your fists.;sudo PLAYER hitmenuchange hand;&6Click to modify the sound you make when you||&6attack with your fists.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::02.sword} to "iron sword;&3Sword Sounds;&6Click to modify the sound you make when you||&6attack with a sword.;sudo PLAYER hitmenuchange sword;&6Click to modify the sound you make when you||&6attack with a sword.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::03.axe} to "iron axe;&3Axe Sounds;&6Click to modify the sound you make when you||&6attack with an axe.;sudo PLAYER hitmenuchange axe;&6Click to modify the sound you make when you||&6attack with an axe.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::04.pickaxe} to "iron pickaxe;&3Pickaxe Sounds;&6Click to modify the sound you make when you||&6attack with a pickaxe.;sudo PLAYER hitmenuchange pickaxe;&6Click to modify the sound you make when you||&6attack with a pickaxe.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::05.bow} to "bow;&3Bow Sounds;&6Click to modify the sound you make when you||&6attack with a bow.;sudo PLAYER hitmenuchange bow;&6Click to modify the sound you make when you||&6attack with a bow.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::06.rod} to "fishing rod;&3Fishing Rod Sounds;&6Click to modify the sound you make when you||&6attack with a fishing rod.;sudo PLAYER hitmenuchange rod;&6Click to modify the sound you make when you||&6attack with a fishing rod.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::07.air} to "air" + set {db_perk.hit.class::08.air} to "air" + set {db_perk.hit.class::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your player.;sudo PLAYER hitsoundclear PLAYER" + + set {db_perk.hit.hand::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound hand note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound hand arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound hand anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound hand chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound hand click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound hand level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound hand villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::08.air} to "air" + set {db_perk.hit.hand::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound hand clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + + set {db_perk.hit.sword::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound sword note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound sword arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound sword anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound sword chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound sword click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound sword level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound sword villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::08.air} to "air" + set {db_perk.hit.sword::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound sword clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + + set {db_perk.hit.axe::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound axe note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound axe arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound axe anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound axe chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound axe click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound axe level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound axe villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::08.air} to "air" + set {db_perk.hit.axe::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound axe clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + + set {db_perk.hit.pickaxe::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound pickaxe note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound pickaxe arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound pickaxe anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound pickaxe chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound pickaxe click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound pickaxe level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound pickaxe villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::08.air} to "air" + set {db_perk.hit.pickaxe::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound pickaxe clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + + set {db_perk.hit.bow::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound bow note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound bow arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound bow anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound bow chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound bow click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound bow level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound bow villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::08.air} to "air" + set {db_perk.hit.bow::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound bow clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + + set {db_perk.hit.rod::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound rod note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound rod arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound rod anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound rod chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound rod click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound rod level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound rod villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::08.air} to "air" + set {db_perk.hit.rod::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound rod clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + +command /hitclassmenu: + trigger: + loop {db_perk.hit.class::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHit Sound Classes" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.hit.class::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.hand": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.sword": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.axe": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.pickaxe": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.bow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.rod": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /hitmenuchange []: + trigger: + argument 1 is set: + send "&aBringing up menu..." + wait 0.5 seconds + make player execute command "/hitmenu %argument 1%" + +command /hitmenu []: + trigger: + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hit Menu." + stop + argument 1 is "error": + message "&cThis hit class is not available to you." + stop + set {_type} to argument 1 + loop {db_perk.hit.%{_type}%::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHit Sound Classes" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.hit.%{_type}%::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.note": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.arrow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.anvil": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.chest": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.click": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.level": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "07.villager": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "08.clear": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + set {_thing1} to loop-index parsed as text + set {_thing2::*} to {_thing1} split at "." + set {_slot} to {_thing2::1} parsed as an integer + set {_slot} to {_slot} - 1 + format slot {_slot} of player with {_what} to be unstealable + format slot {_slot} of player with {_what} to close then run {_command} + +command /hitsound [] []: + trigger: + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hit Menu." + stop + argument 2 is "error": + message "&cThis hit sound is not available to you." + stop + set {_what} to argument 1 + set {_sound} to argument 2 + argument 2 is "clear": + clear {hit.%{_what}%.%player%} + send "&aAttack sounds cleared!" + stop + set {hit.%{_what}%.%player%} to "%{_sound}%" + send "&aAttack sound set to &e%{_sound}%!" + +on damage: + {hit.%attacker%} is set: + delete {hit.%attacker%} + attacker's tool is air: + set {_what} to "hand" + attacker's tool is a sword: + set {_what} to "sword" + attacker's tool is an axe: + set {_what} to "axe" + attacker's tool is a pickaxe: + set {_what} to "pickaxe" + attacker's tool is a bow: + set {_what} to "bow" + attacker's tool is a fishing rod: + set {_what} to "rod" + {hit.%{_what}%.%attacker%} is set: + {hit.%{_what}%.%attacker%} is "note": + chance of 14%: + play note bass at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 16%: + play note piano at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 20%: + play note bass drum at location of attacker with pitch 1 + set {_play} to true + chance of 25%: + play note sticks at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 33%: + play note bass guitar at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play note snare drum at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play note pling at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "arrow": + chance of 50%: + play shoot arrow at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play arrow hit at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "chest": + chance of 50%: + play chest close at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play chest close at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "anvil": + chance of 33%: + play anvil break at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play anvil land at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play anvil use at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "click": + play click at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "level": + chance of 50%: + play level up at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play orb pickup at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "villager": + chance of 16%: + play villager yes at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 20%: + play villager no at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 25%: + play villager death at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 33%: + play villager haggle at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play villager idle at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play villager hit at location of attacker with pitch 1 + +command /hitsoundclear : + trigger: + delete {hit.hand.%argument 1%} + delete {hit.sword.%argument 1%} + delete {hit.axe.%argument 1%} + delete {hit.pickaxe.%argument 1%} + delete {hit.bow.%argument 1%} + delete {hit.rod.%argument 1%} + message "&2All of your hit sounds have been cleared." \ No newline at end of file diff --git a/On Server Files/Hub/Perk/otam.g.sk b/On Server Files/Hub/Perk/otam.g.sk new file mode 100644 index 0000000..1480de2 --- /dev/null +++ b/On Server Files/Hub/Perk/otam.g.sk @@ -0,0 +1,142 @@ +every 1 second: + + set {_hold} to now + + {db_time.extend.tam} is less than now: + + clear {db_tam.bonus} + set {db_current.bonus} to false + clear {db_time.extend.tam} + clear {alert.tam.lastminute} + broadcast "&3&l۝TAM: &dTAM Bonus has Ended!" + execute console command "crossmessage &3&l۝TAM: &dTAM Bonus has Ended!" + + set {_diff} to difference between {db_time.extend.tam} and now + + {_diff} is less than 15 minutes: + + {alert.tam.lastminute} is not set: + set {alert.tam.lastminute} to true + + broadcast "&3&l۝TAM: &dLess than 15 minutes remaining of TAM Bonus at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &dLess than 15 minutes remaining of TAM Bonus at &e%{db_tam.bonus}%&d!" + + +command /tamextended : + permission: obam.admin + trigger: + + {db_time.extend.tam} is not set: + set {db_time.extend.tam} to now + {db_tamstats.time.%argument 2%} is not set: + set {db_tamstats.time.%argument 2%} to 0 + + #Not meant to be a real option.. just for debugging + arg 1 is 5: + + add 5 minutes to {db_time.extend.tam} + add 5 to {db_tamstats.time.%argument 2%} + + arg 1 is 30: + + add 30 minutes to {db_time.extend.tam} + add 30 to {db_tamstats.time.%argument 2%} + + arg 1 is 60: + + add 1 hour to {db_time.extend.tam} + add 60 to {db_tamstats.time.%argument 2%} + + arg 1 is 90: + + add 90 minutes to {db_time.extend.tam} + add 90 to {db_tamstats.time.%argument 2%} + + arg 1 is 120: + + add 2 hours to {db_time.extend.tam} + add 120 to {db_tamstats.time.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e%argument 1% Minutes&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e%argument 1% Minutes&d!" + + set {_diff} to difference between {db_time.extend.tam} and now + + broadcast "&3&l۝TAM: &e%{_diff}% &dremaining!" + execute console command "crossmessage &3&l۝TAM: &e%{_diff}% &dremaining!" + broadcast "&3&l۝TAM: &dUse &e/tam &dfor more details!" + execute console command "crossmessage &3&l۝TAM: &dUse &e/tam &dfor more details!" + clear {alert.tam.lastminute} + + set {db_current.bonus} to true + {db_tam.bonus} is not set: + + set {db_tam.bonus} to 0.1 + + {db_tamstats.bonus.%argument 2%} is not set: + set {db_tamstats.bonus.%argument 2%} to 0 + + add 0.1 to {db_tamstats.bonus.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e0.1&d!" + broadcast "&3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d! " + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by 0.1! The TAM Bonus is now at &e%{db_tam.bonus}%&d! " + execute console command "crossmessage &3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d! " + +command /tambonus : + permission: obam.admin + trigger: + + {db_tamstats.bonus.%argument 2%} is not set: + set {db_tamstats.bonus.%argument 2%} to 0 + + {db_tam.bonus} is not set: + set {db_tam.bonus} to 0 + + add argument 1 to {db_tam.bonus} + add argument 1 to {db_tamstats.bonus.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e%argument 1%&d!" + broadcast "&3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e%argument 1%&d! The TAM Bonus is now at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d!" + + + {db_time.extend.tam} is not set: + set {db_time.extend.tam} to now + + {db_tamstats.time.%argument 2%} is not set: + set {db_tamstats.time.%argument 2%} to 0 + + add 60 to {db_tamstats.time.%argument 2%} + + add 1 hour to {db_time.extend.tam} + clear {alert.tam.lastminute} + broadcast "&3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e60 Minutes&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e60 Minutes&d!" + + set {_diff} to difference between {db_time.extend.tam} and now + + broadcast "&3&l۝TAM: &e%{_diff}% &dremaining!" + execute console command "crossmessage &3&l۝TAM: &e%{_diff}% &dremaining!" + broadcast "&3&l۝TAM: &dUse &e/tam &dfor more details!" + execute console command "crossmessage &3&l۝TAM: &dUse &e/tam &dfor more details!" + + + + +# Debugging Clear command +command /tambonusclear: + permission: obam.admin + trigger: + + clear {db_tam.bonus} + set {db_current.bonus} to false + clear {db_time.extend.tam} + clear {alert.tam.lastminute} + + send "&3&l۝TAM: &dTAM Bonus Cleared" to console + send "&3&l۝TAM: &dTAM Bonus Cleared" + + + \ No newline at end of file diff --git a/On Server Files/Hub/Perk/perks.g.sk b/On Server Files/Hub/Perk/perks.g.sk new file mode 100644 index 0000000..112c44a --- /dev/null +++ b/On Server Files/Hub/Perk/perks.g.sk @@ -0,0 +1,101 @@ +on script load: + delete {db_perk.main::*} + set {db_perk.main::01.hats} to "iron pressure plate;&3Hat Rack;&6Gives you access to your virtual Hat Rack.;sudo PLAYER obam hatmenu" + set {db_perk.main::02.pets} to "lead;&3Pet Stable;&6Opens up your Pet Stable to summon your pets.;sudo PLAYER obam petmenu" + set {db_perk.main::03.trails} to "arrow;&3Trails Menu;&6Opens up your Projectile Trails Menu.;sudo PLAYER obam trailmenu" + set {db_perk.main::04.splash} to "cobweb;&3Splash Menu;&6Opens up your Splash Menu.;sudo PLAYER obam splashmenu" + set {db_perk.main::05.hit} to "jukebox;&3Hit Sound Menu;&6Opens up your Hit Sound Menu.;sudo PLAYER obam hitclassmenu" + set {db_perk.main::06.horse} to "horse spawn egg;&3Horse Changer Upper;&6Want to Skellify of Zombify your ride?;sudo PLAYER obam horsemenu" + set {db_perk.main::07.blank} to "air" + set {db_perk.main::08.shop} to "emerald;&3Shop;&6Opens up the Shop Menu.;sudo PLAYER obam shop" + set {db_perk.main::09.ci} to "command block;&3Custom Items Menu;&6Opens the Custom Item menu to access items.;sudo PLAYER obam ci" + +command /obam []: + permission: obam.free + trigger: + argument 1 is not set: + loop {db_perk.main::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lOBAM Perks and Shop Menu" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.main::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "07.ci": + player does not have permission "obam.smod": + clear {_what} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + loop-index is "07.ci": + player does not have permission "obam.smod": + clear {_what} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + argument 1 is set: +# argument 1 is "hatmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop + argument 1 is "petmenu": + "%player's world%" is "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "cart": + message "&cYou can not use that here." + stop +# argument 1 is "trailmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop +# argument 1 is "splashmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop +# argument 1 is "hitclassmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop + argument 1 is "horsemenu": + "%player's world%" is "Death-hub", "skyworld", "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "taco": + message "&cYou can not use that here." + stop + argument 1 is "shop": + "%player's world%" is "Death-hub", "skyworld", "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "taco": + message "&cYou can not use that here." + stop + argument 1 is "ci": + "%player's world%" is "Death-hub", "skyworld", "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "taco": + message "&cYou can not use that here." + stop + send "&aBringing up menu..." + wait 0.5 seconds + make player execute command "/%argument 1%" + +command /sudo : + permission: obam.admin + trigger: + make argument 1 execute argument 2 \ No newline at end of file diff --git a/On Server Files/Hub/Perk/pets.g.sk b/On Server Files/Hub/Perk/pets.g.sk new file mode 100644 index 0000000..1833dcf --- /dev/null +++ b/On Server Files/Hub/Perk/pets.g.sk @@ -0,0 +1,190 @@ +on script load: + delete {db_perk.pets::*} + set {db_perk.pets::01.ismooch} to "sheep spawn egg;&3iSmooch;&6The sassiest sheep in all the lands!;sudo PLAYER pet ismooch" + set {db_perk.pets::02.bruswain} to "bat spawn egg;&3BruSwain;&6This lovable bat lost his parents at a||&6young age. Thank you for taking care||&6of him!;sudo PLAYER pet bruswain;bat spawn egg;&3BruSwai&6This lovable bat lost his parents at a||&6young age. Thank you for taking care||&6of him!|| ||&cThis pet is only available to our Beta Supporters.;sudo PLAYER pet error" + set {db_perk.pets::03.sparky} to "creeper spawn egg;&3Sparky;&6While this creeper appears to have a||&6dangerously electrifying personality, we||&6promise he’s completely safe!;sudo PLAYER pet sparky;creeper spawn egg;&3Sparky;&6While this creeper appears to have a||&6dangerously electrifying personality, we||&6promise he’s completely safe!|| ||&cThis pet is only available to our Supporters.;sudo PLAYER pet error" + set {db_perk.pets::04.bacon} to "pig spawn egg;&3Bacon;&6Rescued from the final stages of the||&6slaughter house, this pig is extremely||&6grateful for your love and kindness!;sudo PLAYER pet bacon;pig spawn egg;&3Baco&6Rescued from the final stages of the||&6slaughter house, this pig is extremely||&6grateful for your love and kindness!|| ||&cThis pet must be purchased from the OBAMCraft shop.|| ||&eUse &f/buy &ein the hub purchase &3Bacon|| ||&ePrice: &a$5.00;sudo PLAYER pet error" + set {db_perk.pets::05.blank} to "air" + set {db_perk.pets::06.blank} to "air" + set {db_perk.pets::07.lead} to "lead;&3Leash;&6Pets getting out of control? Click this||&6to attach a lead to all of your||&6summoned pets!;sudo PLAYER pet lead" + set {db_perk.pets::08.blank} to "air" + set {db_perk.pets::09.clear} to "fire;&3Clear;&6Click to clear all summoned pets!;sudo PLAYER pet clear" + +command /petmenu: + trigger: + loop {db_perk.pets::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lPet Stable" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.pets::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "02.bruswain": + player does not have permission "obam.beta.hat": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.sparky": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.bacon": + {db_purchase.bacon.%uuid of player%} is not set: + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +every 1 second: + loop all entities: + loop-entity is sheep or bat or powered creeper or pig: + name of loop-entity is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon": + spawn 4 particle heart offset by 1, 1, 1 at location of loop-entity + {owner.%loop-entity%} is not set: + kill loop-entity + distance between location of loop-entity and location of {owner.%loop-entity%} is greater than 20: + teleport loop-entity to location of {owner.%loop-entity%} + +on damage of sheep or bat or powered creeper or pig: + name of victim is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon": + cancel event + +on quit: + kill {pets.%player%} + clear {pets.%player%} + loop {pets.%player%::*}: + clear {owner.%loop-value%} + kill loop-value + clear {pets.%player%::*} + stop + +command /pet []: + trigger: + world is "kitpvpkillingfields": + send "&cYou can not do that here" to player + stop + argument is not set: + message "&cPlease use &7/OBAM &cto access your Pet Stable." + stop + argument is "error": + message "&cThis pet is not available to you." + stop + argument is "lead": + loop {pets.%player%::*}: + teleport loop-value to location of player + make player leash loop-value + stop + argument is "clear": + kill {pets.%player%} + clear {pets.%player%} + loop {pets.%player%::*}: + kill loop-value + clear {owner.%loop-value%} + clear {pets.%player%::*} + stop + {pets.%player%} is set: + player does not have permission "obam.supporter": + send "&cYou can only have one pet at a time!" to player + stop + size of {pets.%player%::*} is 5: + send "&cYou can only have 5 pets at a time!" to player + stop + argument is "ISMOOCH": + spawn sheep at location of player + set name of spawned sheep to "&aISMOOCH" + set color of spawned sheep to pink + make player leash spawned sheep + set {pets.%player%} to spawned sheep + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + argument is "BruSwain": + player has permission "obam.beta.hat": + spawn bat at location of player + set name of spawned bat to "&aBru Swain" + make player leash spawned bat + set {pets.%player%} to spawned bat + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + send "&cThis is for beta supporters only!" to player + argument is "Sparky": + player has permission "obam.supporter": + spawn powered creeper at location of player + set name of spawned powered creeper to "&aSparky" + make player leash spawned powered creeper + set {pets.%player%} to spawned powered creeper + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + send "&cYou must be a supporter to do this!" to player + argument is "bacon": + {db_purchase.bacon.%uuid of player%} is true: + spawn pig at location of player + set name of spawned pig to "&aBacon" + make player leash spawned pig + set {pets.%player%} to spawned pig + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + player has permission "obam.smod": + spawn pig at location of player + set name of spawned pig to "&aBacon" + make player leash spawned pig + set {pets.%player%} to spawned pig + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + send "&cYou must purchase this pet on the online store!" + stop + argument is "dragon": + send "&cI bet you wish you could...." to player + stop + send "&cThat is not an option!" to player + +on explosion prime: + entity is powered creeper: + name of entity is "&aSparky": + cancel event + +on death of a sheep or a bat or a powered creeper or a pig: + name of victim is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon" + clear drops + +on right click on a sheep or a bat or a powered creeper or a pig: + name of target is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon": + cancel event + +on right click with wheat on sheep: + name of event-entity is "&aISMOOCH" + cancel event + send "&cYou can not mate pets D:" to event-player + +on right click with carrot on sheep: + name of event-entity is "&aBacon" + cancel event + send "&cYou can not mate pets D:" to event-player + +on right click with shears on sheep: + name of event-entity is "&aISMOOCH" + cancel event + send "&cYou can not shear pets!" to event-player diff --git a/On Server Files/Hub/Perk/purchase.sk b/On Server Files/Hub/Perk/purchase.sk new file mode 100644 index 0000000..4193ca4 --- /dev/null +++ b/On Server Files/Hub/Perk/purchase.sk @@ -0,0 +1,15 @@ +command /buycraftpurchase : + permission: obam.admin + trigger: + set {_name} to argument 2 parsed as a player + set {_who} to {db_name.%{_name}%} + set {db_purchase.%argument 1%.%argument 2%} to true + send "%Argument 2% has purchased %Argument 1%" to console + +on login: + {db_purchase.bacon.%player%} is set: + set {db_purchase.bacon.%uuid of player%} to {db_purchase.bacon.%player%} + delete {db_purchase.bacon.%player%} + {db_purchase.cactus.%player%} is set: + set {db_purchase.cactus.%uuid of player%} to {db_purchase.cactus.%player%} + delete {db_purchase.cactus.%player%} \ No newline at end of file diff --git a/On Server Files/Hub/Perk/splash.g.sk b/On Server Files/Hub/Perk/splash.g.sk new file mode 100644 index 0000000..c587a4c --- /dev/null +++ b/On Server Files/Hub/Perk/splash.g.sk @@ -0,0 +1,214 @@ +on script load: + delete {db_perk.splash::*} + set {db_perk.splash::01.heart} to "red dye;&3Heart Particles;&6Click to enable a heart splash!;sudo PLAYER splash heart;red dye;&3Heart Particles;&6Click to enable a heart splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::02.flame} to "fire;&3Flame Particles;&6Click to enable a flame splash!;sudo PLAYER splash flame;fire;&3Flame Particles;&6Click to enable a flame splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::03.reddust} to "magma cream;&3Unstable Gas Particles;&6Click to enable an unstable gas splash!;sudo PLAYER splash reddust;magma cream;&3Unstable Gas Particles;&6Click to enable an unstable gas splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::04.smoke} to "charcoal;&3Dark Smoke Particles;&6Click to enable a dark smoke splash!;sudo PLAYER splash smoke;charcoal;&3Dark Smoke Particles;&6Click to enable a dark smoke splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::05.waterdrip} to "water;&3Water Drip Particles;&6Click to enable a water drip splash!;sudo PLAYER splash waterdrip;water;&3Water Drip Particles;&6Click to enable a water drip splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::06.lavadrip} to "lava;&3Lava Drip Particles;&6Click to enable a lava drip splash!;sudo PLAYER splash lavadrip;lava;&3Lava Drip Particles;&6Click to enable a lava drip splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::07.slime} to "slimeball;&3Slime Particles;&6Click to enable a slime splash!;sudo PLAYER splash slime;slimeball;&3Slime Particles;&6Click to enable a slime splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::08.note} to "jukebox;&3Music Notes Particles;&6Click to enable a music note splash!;sudo PLAYER splash note;jukebox;&3Music Notes Particles;&6Click to enable a music note splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::09.happy} to "villager spawn egg;&3Villager Particles “Happy”;&6Click to enable a happy villager splash!;sudo PLAYER splash happy;villager spawn egg;&3Villager Particles “Happy”;&6Click to enable a happy villager splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::10.angry} to "villager spawn egg;&3Villager Particles “Angry”;&6Click to enable a angry villager splash!;sudo PLAYER splash angry;villager spawn egg;&3Villager Particles “Angry”;&6Click to enable a angry villager splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::11.explode} to "tnt;&3Explosion Smoke Particles;&6Click to enable a explosion smoke splash!;sudo PLAYER splash explode;tnt;&3Explosion Smoke Particles;&6Click to enable a explosion smoke splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::12.snow} to "snow block;&3Snowflake Particles;&6Click to enable a snowflake splash!;sudo PLAYER splash snow;snow block;&3Snowflake Particles;&6Click to enable a snowflake splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::13.portal} to "nether portal;&3Nether Portal Particles;&6Click to enable a nether portal splash!;sudo PLAYER splash portal;nether portal;&3Nether Portal Particles;&6Click to enable a nether portal splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::14.cloud} to "bonemeal;&3Cloud Particles;&6Click to enable a cloud splash!;sudo PLAYER splash cloud;bonemeal;&3Cloud Particles;&6Click to enable a cloud splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::15.bubble} to "water bottle;&3Bubble Particles;&6Click to enable a bubble splash!;sudo PLAYER splash bubble;water bottle;&3Bubble Particles;&6Click to enable a bubble splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::16.blank} to "air" + set {db_perk.splash::17.blank} to "air" + set {db_perk.splash::18.clear} to "glass;&3Clear Particles;&6Click to clear your splash!;sudo PLAYER splash clear;glass;&3Clear Particles;&6Click to clear your splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + +command /splashmenu: + trigger: + loop {db_perk.splash::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lSplash Menu" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.splash::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.heart": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.flame": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.reddust": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.smoke": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.waterdrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.lavadrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "07.slime": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "08.note": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "09.happy": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "10.angry": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "11.explode": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "12.snow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "13.portal": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "14.cloud": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "15.bubble": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "16.clear": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /splash []: + trigger: + argument is not set: + message "&cPlease use &7/OBAM &cto access the Splash Menu." + stop + argument is "error": + message "&cThis splash is not available to you." + stop + player has permission "obam.supporter": + argument is "heart": + set {splash.%player%} to "heart" + send "&aYou have enabled a &eHeart Splash&a!" + argument is "flame": + set {splash.%player%} to "flame" + send "&aYou have enabled a &eFlame Splash&a!" + argument is "reddust": + set {splash.%player%} to "reddust" + send "&aYou have enabled an &eUnstable Gas Splash&a!" + argument is "smoke": + set {splash.%player%} to "smoke" + send "&aYou have enabled a &eDark Smoke Splash&a!" + argument is "waterdrip": + set {splash.%player%} to "waterdrip" + send "&aYou have enabled a &eWater Drip Splash&a!" + argument is "lavadrip": + set {splash.%player%} to "lavadrip" + send "&aYou have enabled a &eLava Drip Splash&a!" + argument is "slime": + set {splash.%player%} to "slime" + send "&aYou have enabled a &eSlime Splash&a!" + argument is "note": + set {splash.%player%} to "note" + send "&aYou have enabled a &eMusic Note Splash&a!" + argument is "happy": + set {splash.%player%} to "happy" + send "&aYou have enabled a &eHappy Villager Splash&a!" + argument is "angry": + set {splash.%player%} to "angry" + send "&aYou have enabled an &eAngry Villager Splash&a!" + argument is "explode": + set {splash.%player%} to "explode" + send "&aYou have enabled an &eExplosion Smoke Splash&a!" + argument is "snow": + set {splash.%player%} to "snow" + send "&aYou have enabled a &eSnowflake Splash&a!" + argument is "bubble": + set {splash.%player%} to "bubble" + send "&aYou have enabled a &eBubble Splash&a!" + argument is "portal": + set {splash.%player%} to "portal" + send "&aYou have enabled a &eNether Portal Splash&a!" + argument is "cloud": + set {splash.%player%} to "cloud" + send "&aYou have enabled a &eCloud Splash&a!" + argument is "clear": + clear {splash.%player%} + send "&aYou have disabled your splash!" + +every 5 seconds: + loop all players: + clear {_amt} + loop-player is not sneaking + loop-player is sprinting: + set {_amt} to 100 + {_amt} is not set: + set {_amt} to 50 + {splash.%loop-player%} is set: + {splash.%loop-player%} is "bubble": + spawn 500 particle bubble offset by 2, 2, 2 at location of loop-player + {splash.%loop-player%} is "cloud": + spawn {_amt} particle cloud offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "heart": + spawn {_amt} particle heart offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "flame": + spawn {_amt} particle flame offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "reddust": + spawn {_amt} particle red dust offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "smoke": + spawn {_amt} particle large smoke offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "note": + spawn {_amt} particle note offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "lavadrip": + spawn {_amt} particle drip lava offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "waterdrip": + spawn {_amt} particle drip water offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "slime": + spawn {_amt} particle slime offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "happy": + spawn {_amt} particle happy villager offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "angry": + spawn {_amt} particle angry villager offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "explode": + spawn {_amt} particle large explode offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "snow": + spawn {_amt} particle snow shovel offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "portal": + spawn {_amt} particle portal offset by 1, 1, 1 at location of loop-player \ No newline at end of file diff --git a/On Server Files/Hub/Perk/suphorse.g.sk b/On Server Files/Hub/Perk/suphorse.g.sk new file mode 100644 index 0000000..da5685c --- /dev/null +++ b/On Server Files/Hub/Perk/suphorse.g.sk @@ -0,0 +1,70 @@ +on script load: + delete {db_perk.suphorse::*} + set {db_perk.suphorse::01.zombify} to "zombie spawn egg;&3Zombify your ride!;&6Feel like roaming the plains on your Zombified Horse?;sudo PLAYER suphorse zombify;zombie spawn egg;&3Zombify your ride!;&6Feel like roaming the plains on your Zombified Horse?|| ||&cThis ability is only available to our Supporters.;sudo PLAYER suphorse error" + set {db_perk.suphorse::02.skellify} to "skeleton spawn egg;&3Skellify your ride!;&6Feel like roaming the deserts on your Skellified Horse?;sudo PLAYER suphorse skellify;skeleton spawn egg;&3Skellify your ride!;&6Feel like roaming the deserts on your Skellified Horse?|| ||&cThis ability is only available to our Supporters.;sudo PLAYER suphorse error" + +command /horsemenu: + trigger: + loop {db_perk.suphorse::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHorse O' Matic" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.suphorse::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.zombify": + player does not have permission "obam.beta.hat": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.skellify": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /suphorse []: + trigger: + player is not riding: + send "&cYou must be riding a horse to do this!" + stop + player's vehicle is not a horse: + send "&cYou must be riding a horse to do this!" + stop + argument is not set: + message "&cPlease use &7/OBAM &cto access your modify your horse." + stop + argument is "error": + message "&cThis ability is not available to you." + stop + "%player's world%" is "world": + set {_y} to y-coordinate of player + set {_x} to x-coordinate of player + set {_z} to z-coordinate of player + argument is "zombify": + execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:3,Tame:1}" + argument is "skellify": + execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:4,Tame:1}" + delete player's vehicle + stop + message "&cThis can only be used in the Regular World." \ No newline at end of file diff --git a/On Server Files/Hub/Perk/tam.g.sk b/On Server Files/Hub/Perk/tam.g.sk new file mode 100644 index 0000000..303d62b --- /dev/null +++ b/On Server Files/Hub/Perk/tam.g.sk @@ -0,0 +1,71 @@ +every 1 minute: + {db_tam.modifier} is not set: + set {db_tam.modifier} to 1 + set {_add} to {db_tam.modifier} + #OTAM Hook + {db_tam.bonus} is set: + add {db_tam.bonus} to {_add} + loop all players: + add {_add} to loop-player's balance + {session.tam.%loop-player%} is not set: + set {session.tam.%loop-player%} to 0 + add {_add} to {session.tam.%loop-player%} + {db_total.tam.%uuid of loop-player%} is not set: + {db_total.tam.%loop-player%} is set: + set {db_total.tam.%uuid of loop-player%} to {db_total.tam.%loop-player%} + else: + set {db_total.tam.%uuid of loop-player%} to 0 + add {_add} to {db_total.tam.%uuid of loop-player%} + {db_total.tam} is not set: + set {db_total.tam} to 0 + add {_add} to {db_total.tam} + {db_total.reg} is not set: + set {db_total.reg} to 0 + add {_add} to {db_total.reg} + +command /tam: + permission: obam.free + trigger: + send "&aTotal Tickets earned with -TAM-:" + send "&e%{db_total.tam.%uuid of player%}%" + send "&aTotal this session:" + send "&e%{session.tam.%player%}%" + send "&aTotal Tickets:" + send "&e%player's balance%" + #OTAM Hook + {db_tam.bonus} is not set: + send "&aCurrent -TAM- Modifier:" + send "&e%{db_tam.modifier}%" + #OTAM Hooks + {db_tam.bonus} is set: + send "&aCurrent -TAM- Modifier:" + send "&e%{db_tam.modifier}% &c&o+ %{db_tam.bonus}%" + send "&4Remaining -TAM- Bonus Time:" + set {_diff} to difference between {db_time.extend.tam} and now + send "&c%{_diff}%" + send "&4OTAM Time Contributions:" + send "&c%{db_tamstats.time.%uuid of player%}% minutes" + send "&4OTAM Bonus Contributions:" + send "&c%{db_tamstats.bonus.%uuid of player%}%" + +command /tamtotal: + permission: obam.admin + trigger: + send "&aTotal Global Tickets earned with -TAM-:" + send "&e%{db_total.tam}%" + send "&aRegular:" + send "&e%{db_total.reg}%" + send "&aSupporter:" + send "&e%{db_total.sup}%" + send "&aPlus:" + send "&e%{db_total.plus}%" + send "&aUltimate:" + send "&e%{db_total.ult}%" + +on join: + set {session.tam.%player%} to 0 + +command /tammodset : + permission: obam.admin + trigger: + set {db_tam.modifier} to argument diff --git a/On Server Files/Hub/Perk/tickets.g.sk b/On Server Files/Hub/Perk/tickets.g.sk new file mode 100644 index 0000000..df07df8 --- /dev/null +++ b/On Server Files/Hub/Perk/tickets.g.sk @@ -0,0 +1,68 @@ +#money stuff +#give player money +command /tixg : + description: Give a Player some money + usage: /tixg + executable by: console and players + permission: obam.admin + trigger: + + set {_player.balance} to player-argument's balance + set {_player} to player-argument + execute console command "/tls STAFF %arg 2% %{_player.balance}% INCREASE %{_player}% Ticket Adjustment by %player%" + add arg 2 to player-argument's balance + message "&aYou have been given &e%arg 2% Tickets&a. Your balance is now &e%player-argument's money%&a." to player-argument + message "You have granted %player-argument% %arg 2% Tickets" to player + + +command /tixr : + description: Subtract money from a Player + usage: /tixr + executable by: console and players + permission: obam.admin + trigger: + + + set {_valid} to argument 2 + set {_player.balance} to player-argument's balance + set {_player} to player-argument + + {_valid} is greater than {_player.balance}: + send "%player-argument% does not have that many tickets!" to player + stop + + execute console command "/tls STAFF %arg 2% %{_player.balance}% DEDUCT %{_player}% Ticket Adjustment by %player%" + + +#pay command +command /tixp : + description: Pay a Player + usage: /tixp + permission: obam.admin + trigger: + set {_curbalance} to player's money + set {_valid} to difference between {_curbalance} and argument 2 + + {_valid} is less than 0: + message "You do not have enough money!" to player + stop + + add arg 2 to player-argument's balance + remove arg 2 from player's balance + message "You have received %arg 2% Tickets from %player%. Your balance is now %player-argument's money%." to player-argument + message "You have paid %player-argument% %arg 2% Tickets. Your balance is now %player's money%." to player + +command /tix: + executable by: players + permission: obam.free + trigger: + send "&aYour current balance is &e%player's balance%&a!" to player + +command /tixpeek : + permission: obam.admin + trigger: + set {_player} to argument parsed as offline player + send "&e%argument%'s&a ticket balance is &e%{_player}'s balance%" to player + + + diff --git a/On Server Files/Hub/Perk/trails.g.sk b/On Server Files/Hub/Perk/trails.g.sk new file mode 100644 index 0000000..a163ad8 --- /dev/null +++ b/On Server Files/Hub/Perk/trails.g.sk @@ -0,0 +1,205 @@ +on script load: + delete {db_perk.trails::*} + set {db_perk.trails::01.heart} to "red dye;&3Heart Particles;&6Click to enable heart trails!;sudo PLAYER trails heart;red dye;&3Heart Particles;&6Click to enable heart trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::02.flame} to "fire;&3Flame Particles;&6Click to enable flame trails!;sudo PLAYER trails flame;fire;&3Flame Particles;&6Click to enable flame trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::03.reddust} to "magma cream;&3Unstable Gas Particles;&6Click to enablen unstable gas trails!;sudo PLAYER trails reddust;magma cream;&3Unstable Gas Particles;&6Click to enablen unstable gas trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::04.smoke} to "charcoal;&3Dark Smoke Particles;&6Click to enable dark smoke trails!;sudo PLAYER trails smoke;charcoal;&3Dark Smoke Particles;&6Click to enable dark smoke trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::05.waterdrip} to "water;&3Water Drip Particles;&6Click to enable water drip trails!;sudo PLAYER trails waterdrip;water;&3Water Drip Particles;&6Click to enable water drip trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::06.lavadrip} to "lava;&3Lava Drip Particles;&6Click to enable lava drip trails!;sudo PLAYER trails lavadrip;lava;&3Lava Drip Particles;&6Click to enable lava drip trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::07.slime} to "slimeball;&3Slime Particles;&6Click to enable slime trails!;sudo PLAYER trails slime;slimeball;&3Slime Particles;&6Click to enable slime trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::08.note} to "jukebox;&3Music Notes Particles;&6Click to enable music note trails!;sudo PLAYER trails note;jukebox;&3Music Notes Particles;&6Click to enable music note trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::09.happy} to "villager spawn egg;&3Villager Particles “Happy”;&6Click to enable happy villager trails!;sudo PLAYER trails happy;villager spawn egg;&3Villager Particles “Happy”;&6Click to enable happy villager trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::10.angry} to "villager spawn egg;&3Villager Particles “Angry”;&6Click to enable angry villager trails!;sudo PLAYER trails angry;villager spawn egg;&3Villager Particles “Angry”;&6Click to enable angry villager trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::11.explode} to "tnt;&3Explosion Smoke Particles;&6Click to enable explosion smoke trails!;sudo PLAYER trails explode;tnt;&3Explosion Smoke Particles;&6Click to enable explosion smoke trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::12.snow} to "snow block;&3Snowflake Particles;&6Click to enable snowflake trails!;sudo PLAYER trails snow;snow block;&3Snowflake Particles;&6Click to enable snowflake trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::13.portal} to "nether portal;&3Nether Portal Particles;&6Click to enable nether portal trails!;sudo PLAYER trails portal;nether portal;&3Nether Portal Particles;&6Click to enable nether portal trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::14.cloud} to "bonemeal;&3Cloud Particles;&6Click to enable cloud trails!;sudo PLAYER trails cloud;bonemeal;&3Cloud Particles;&6Click to enable cloud trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::15.blank} to "air" + set {db_perk.trails::16.blank} to "air" + set {db_perk.trails::17.blank} to "air" + set {db_perk.trails::18.clear} to "glass;&3Clear Particles;&6Click to clear your trails!;sudo PLAYER trails clear;glass;&3Clear Particles;&6Click to clear your trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + +command /trailmenu: + trigger: + loop {db_perk.trails::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lTrails Menu" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.trails::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.heart": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.flame": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.reddust": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.smoke": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.waterdrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.lavadrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "07.slime": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "08.note": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "09.happy": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "10.angry": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "11.explode": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "12.snow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "13.portal": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "14.cloud": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "15.bubble": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "16.clear": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /trails []: + trigger: + argument is not set: + message "&cPlease use &7/OBAM &cto access the Trails Menu." + stop + argument is "error": + message "&cThis trail is not available to you." + stop + player has permission "obam.supporter": + delete {trail.%player%} + argument is "heart": + set {trails.%player%} to "heart" + send "&aYou have enabled &eHeart trails&a!" + argument is "flame": + set {trails.%player%} to "flame" + send "&aYou have enabled &eFlame trails&a!" + argument is "reddust": + set {trails.%player%} to "reddust" + send "&aYou have enabled &eUnstable Gas trails&a!" + argument is "smoke": + set {trails.%player%} to "smoke" + send "&aYou have enabled &eDark Smoke trails&a!" + argument is "waterdrip": + set {trails.%player%} to "waterdrip" + send "&aYou have enabled &eWater Drip trails&a!" + argument is "lavadrip": + set {trails.%player%} to "lavadrip" + send "&aYou have enabled &eLava Drip trails&a!" + argument is "slime": + set {trails.%player%} to "slime" + send "&aYou have enabled &eSlime trails&a!" + argument is "note": + set {trails.%player%} to "note" + send "&aYou have enabled &eMusic Note trails&a!" + argument is "happy": + set {trails.%player%} to "happy" + send "&aYou have enabled &eHappy Villager trails&a!" + argument is "angry": + set {trails.%player%} to "angry" + send "&aYou have enabled &eAngry Villager trails&a!" + argument is "explode": + set {trails.%player%} to "explode" + send "&aYou have enabled &eExplosion Smoke trails&a!" + argument is "snow": + set {trails.%player%} to "snow" + send "&aYou have enabled &eSnowflake trails&a!" + argument is "portal": + set {trails.%player%} to "portal" + send "&aYou have enabled &eNether Portal trails&a!" + argument is "cloud": + set {trails.%player%} to "cloud" + send "&aYou have enabled &eCloud trails&a!" + argument is "clear": + clear {trails.%player%} + send "&aYou have disabled your trails!" + +on shoot: + {trails.%shooter%} is set: + {trails.%shooter%} is "heart": + trail projectile with particle heart + {trails.%shooter%} is "flame": + trail projectile with particle flame + {trails.%shooter%} is "reddust": + trail projectile with particle red dust + {trails.%shooter%} is "smoke": + trail projectile with particle large smoke + {trails.%shooter%} is "bubble": + trail projectile with particle bubble + {trails.%shooter%} is "note": + trail projectile with particle note + {trails.%shooter%} is "lavadrip": + trail projectile with particle drip lava + {trails.%shooter%} is "waterdrip": + trail projectile with particle drip water + {trails.%shooter%} is "slime": + trail projectile with particle slime + {trails.%shooter%} is "happy": + trail projectile with particle happy villager + {trails.%shooter%} is "angry": + trail projectile with particle angry villager + {trails.%shooter%} is "explode": + trail projectile with particle large explode + {trails.%shooter%} is "snow": + trail projectile with particle snow shovel + {trails.%shooter%} is "portal": + trail projectile with particle portal + {trails.%shooter%} is "cloud": + trail projectile with particle cloud diff --git a/On Server Files/Hub/Test/tony.hub.sk b/On Server Files/Hub/Test/tony.hub.sk new file mode 100644 index 0000000..464cb10 --- /dev/null +++ b/On Server Files/Hub/Test/tony.hub.sk @@ -0,0 +1,81 @@ +#tutorialtony + +command /spawntony: + permission: obam.admin + trigger: + {tony.hub} is alive: + send "&cTony is there..." + + {tony.hub} is not alive: + spawn villager at {tony.hub.home} + wait 2 ticks + set name of spawned entity to "&1Tutorial Tony &a- &cRight Click me to LEARN!" + wait 1 tick + set {tony.hub} to spawned entity + +every 10 seconds: + {tony.hub} is alive: + teleport {tony.hub} to {tony.hub.home} + {tony.hub} is not alive: + spawn villager at {tony.hub.home} + wait 2 ticks + set display name of spawned entity to "&1Tutorial Tony &a- &cRight Click me to LEARN!" + wait 1 tick + set {tony.hub} to spawned entity + + {tony.hub} is not set: + spawn villager at {tony.hub.home} + wait 2 ticks + set display name of spawned entity to "&1Tutorial Tony &a- &cRight Click me to LEARN!" + set {tony.hub} to spawned entity +on any movement: + {tony.hub} is event-entity: + cancel event + teleport event-entity to {tony.hub.home} +on right click: + name of target entity is "&1Tutorial Tony &a- &cRight Click me to LEARN!" + send "&bTony: &fHey %player%! Would you like to learn about the &eHub&f?" to player + set {tutorial.%player%.q1} to true + +on chat: + {tutorial.%player%.q1} is true: + cancel event + message is not "yes" or "no": + send "&bTony: &fSorry %player%, but please answer yes or no" + message is "no": + send "&bTony: &fWell alright, please come back any time!" + clear {tutorial.%player%.q1} + message is "yes": + send "&bTony: &fAlright %player%! Let's begin!" + clear {tutorial.%player%.q1} + + +command /tutorial []: + permission: obam.free + trigger: + + argument is not set: + teleport player to {tony.hub.spawn} + send "&aVisiting Tony...." + + argument is "tonyset": + player does not have permission "obam.admin": + send "&cYou do not have permission to do this!" + stop + set {tony.hub.home} to location of player + send "&aTony's Home set to &e%location of player%&a." + + argument is "playerset": + player does not have permission "obam.admin": + send "&cYou do not have permission to do this!" + stop + set {tony.hub.player} to location of player + send "&aTony's Player Spawn Point set to &e%location of player%&a." + + argument is "test": + player does not have permission "obam.admin": + send "&cYou do not have permission to do this!" + stop + send "{"text":"","extra":[{"text":"Hello","color":"gold","hoverEvent":{"action":"show_text","value":"You can choose yes or no."}}]}" to player + + \ No newline at end of file diff --git a/On Server Files/KitPVP/Admin/blocksave.g.sk b/On Server Files/KitPVP/Admin/blocksave.g.sk new file mode 100644 index 0000000..4ce44e3 --- /dev/null +++ b/On Server Files/KitPVP/Admin/blocksave.g.sk @@ -0,0 +1,28 @@ +on place: + former tool's name is set: + set {information.%block%.1} to type of former tool + {debug.%player%} is true: + send "DEBUG You placed %former tool's name%" + set {information.%block%.2} to lore of former tool + set {information.%block%.3} to name of former tool + {debug.%player%} is true: + send "DEBUG %block%" + send "DEBUG %{information.%block%.1}%" + send "DEBUG %lore of former tool%" + send "DEBUG %name of former tool%" + send "DEBUG %{information.%block%.2}%" + send "DEBUG %{information.%block%.3}%" + + +on break: + {information.%block%.1} is set: + cancel event + {debug.%player%} is true: + send "DEBUG I am a message" + set {_message} to "%{information.%block%.1}%;%{information.%block%.3}%;%{information.%block%.2}%" + send "DEBUG %{_message}%" + delete block + drop {information.%block%.1} named {information.%block%.3} with lore {information.%block%.2} at event-location + clear {information.%block%.1} + clear {information.%block%.2} + clear {information.%block%.3} \ No newline at end of file diff --git a/On Server Files/KitPVP/Admin/itemcheck.g.sk b/On Server Files/KitPVP/Admin/itemcheck.g.sk new file mode 100644 index 0000000..715c060 --- /dev/null +++ b/On Server Files/KitPVP/Admin/itemcheck.g.sk @@ -0,0 +1,22 @@ +#itemid check +command /itemid []: + executable by: players + permission: obam.free + trigger: + argument is set: + set {_this.block} to argument + message "&e%{_this.block}%" to player + argument is not set: + set {_this.block} to player's tool + {_this.block} is not set: + message "&cYou Must be holding a block!" to player + stop + message "&e%{_this.block}% : %id of {_this.block}% : %data value of {_this.block}%" to player + + +command /itemcheck: + executable by: players + permission: obam.free + trigger: + set {_this.block} to targeted block + message "&e%{_this.block}% : %id of {_this.block}% : %data value of {_this.block}%" to player \ No newline at end of file diff --git a/On Server Files/KitPVP/Admin/liv.g.sk b/On Server Files/KitPVP/Admin/liv.g.sk new file mode 100644 index 0000000..e69cd89 --- /dev/null +++ b/On Server Files/KitPVP/Admin/liv.g.sk @@ -0,0 +1,628 @@ +#LiV + +variables: + {liv.timer.wait} = 0 + +on chat: + player is "ISMOOCH": + message is "livon": + {livon.power} is not set: + set {livon.power} to true + send "&6&l'LiV: &3I am now functional %player% :D" to player + stop + {livon.power} is false: + set {livon.power} to true + send "&6&l'LiV: &3I am now functional %player% :D" to player + broadcast "&6&l'LiV: &3Hello, I am &6&l'LiV&3, the &e&lOBAM &6Gaming &3help bot! :D" + stop + {livon.power} is true: + set {livon.power} to true + broadcast "&6&l'LiV: &3Goodbye :(" + set {livon.power} to false + + + +on chat: + {livon.power} is true + message contains "what" or "what is": + message contains "colour" or "color": + message contains "black": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+0 is for &0Black &3(for more colors type /colors)" + stop + message contains "dark blue": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+1 is for &1Dark Blue &3(for more colors type /colors)" + stop + message contains "dark green": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+2 is for &2Dark Green &3(for more colors type /colors)" + stop + message contains "dark aqua": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+3 is for &3Dark Aqua &3(for more colors type /colors)" + stop + message contains "dark red": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+4 is for &4Dark Red &3(for more colors type /colors)" + stop + message contains "dark purple": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+5 is for &5Dark Purple &3(for more colors type /colors)" + stop + message contains "gold": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+6 is for &6Gold &3(for more colors type /colors)" + stop + message contains "gray" or "grey": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+7 is for &7Gray &3(for more colors type /colors)" + stop + message contains "dark gray" or "dark grey": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+8 is for &8Dark Gray &3(for more colors type /colors)" + stop + message contains "blue" or "light blue": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+9 is for &9Blue &3(for more colors type /colors)" + stop + message contains "green" or "light green" or "lime": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+a is for &aGreen &3(for more colors type /colors)" + stop + message contains "aqua" or "light aqua": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+b is for &bAqua &3(for more colors type /colors)" + stop + message contains "red" or "light red": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+c is for &cRed &3(for more colors type /colors)" + stop + message contains "pink" or "violet" or "light purple": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+d is for &dLight Purple &3(for more colors type /colors)" + stop + message contains "yellow": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+e is for &eYellow &3(for more colors type /colors)" + stop + message contains "white": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+f is for &fWhite &3(for more colors type /colors)" + stop + +on chat: + {livon.power} is true + message contains "what" or "what is": + message contains "ghost" or "ghostwar" or "ghostwars" or "ghost war" or "ghost wars" or "gw": + wait 1 second + send "&6&l'LiV: &3%player%, &3Ghost Wars is a minigame Elite is working on." to player + stop + + + +on chat: + {livon.power} is true + message is "hi liv" or "hello liv" or "hey liv" or "heya liv" or "hiya liv" or "sup liv": + wait 1 second + broadcast "&6&l'LiV: &3Hello, %player%! How are you? :)" + set {response.%player%} to true + set {response.%player%.time} to now + +on chat: + {livon.power} is true + {random.liv.pick} is not set: + set {random.liv.pick} to false + {random.liv.pick} is false: + message is "!randompick": + player is op + wait 1 second + broadcast "&6&l'LiV: &3A random pick has been started by &e%player%&3! Use &e!pickme&3 to be added to the list!" + set {random.liv.pick} to true + stop + {random.liv.pick} is true: + message is "!pickme": + wait 1 second + loop {random.pick.players::*}: + {random.pick.players::%loop-index%} is player + send "&6&1'LiV: &3You are already in the list!" to player + stop + send "&6&l'LiV: &3You have been added to the list, &e%player%&3!" to player + add player to {random.pick.players::*} + stop + message is "!pickstop": + set {_size} to size of {random.pick.players::*} + set {_ran} to random integer between 1 and {_size} + set {_winner} to {random.pick.players::%{_ran}%} + clear {random.pick.players::*} + set {random.liv.pick} to false + wait 1 second + broadcast "&6&l'LiV: &3A winner has been chosen! It is &e%{_winner}%&3! Congratulations!" + + +on chat: + {livon.power} is true + message contains "canada" and "awesome": + wait 1 second + broadcast "&6&l'LiV: &3I dont know what you are saying, but you used 'Canada' and 'awesome' in the same sentence. Who is holding you hostage? We can help you!" + +on chat: + {livon.power} is true + message contains "!dice" or ("liv" and "dice"): + wait 1 second + send "&6&l'LiV: &3%player% rolls the dice!" to player + set {dice.%player%} to random integer between 1 and 6 + wait 1 second + send "&6&l'LiV: &3%player% rolled a &e%{dice.%player%}%&3!" to player + +on chat: + {livon.power} is true + message contains ("thank you" or "ty" or "thx" or "thanks" or "thnx") and ("liv" or "'liv"): + wait 1 second + broadcast "&6&l'LiV: &3You're welcome, %player%!" + + +on chat: + {livon.power} is true + message contains "time is it" or "!time": + wait 1 second + send "&6&l'LiV: &3%player%, it is &e%now% &3System Time!" to player + +on chat: + {livon.power} is true + message contains "tell me a joke" or "!joke": + wait 1 second + send "&6&l'LiV: &3A joke huh?" + set {_number} to a random integer between 1 and 27 + {_number} is 1: + wait 1 second + send "&6&l'LiV: &3The midget fortune teller who kills his customers is a small medium at large." to player + {_number} is 2: + wait 1 second + send "&6&l'Liv: &3What is Bruce Lee’s favorite drink?" to player + wait 2 seconds + send "&6&l'Liv: &3Wataaaaah!" to player + {_number} is 3: + wait 1 second + send "&6&l'LiV: &3If you want to catch a squirrel just climb a tree and act like a nut." to player + {_number} is 4: + wait 1 second + send "&6&l'LiV: &3A blind man walks into a bar. And a table. And a chair." to player + {_number} is 5: + wait 1 second + send "&6&l'LiV: &3Why don’t you ever see hippopotamus hiding in trees?" to player + wait 2 seconds + send "&6&l'LiV: &3Because they're really good at it!" to player + {_number} is 6: + wait 1 second + send "&6&l'LiV: &3What kind of shoes does a ninja wear?" to player + wait 2 seconds + send "&6&l'LiV: &3Sneakers!" to player + {_number} is 7: + wait 1 second + send "&6&l'LiV: &3What did the big bucket say to the little bucket?" to player + wait 2 seconds + send "&6&l'LiV: &3You look a little pail!" to player + {_number} is 8: + wait 1 second + send "&6&l'LiV: &3How did Darth Vader know what Luke got him for Christmas?" to player + wait 2 seconds + send "&6&l'LiV: &3He felt his presents!" to player + {_number} is 9: + wait 1 second + send "&6&l'LiV: &3Why did Simba's father die?" to player + wait 2 seconds + send "&6&l'LiV: &3Because he couldn't Mufasa!" to player + {_number} is 10: + wait 1 second + send "&6&l'LiV: &3Why did the skeleton go to the party alone?" to player + wait 2 seconds + send "&6&l'LiV: &3He had no body to go with him!" to player + {_number} is 11: + wait 1 second + send "&6&l'LiV: &3How does an octopus go to war?" to player + wait 2 seconds + send "&6&l'LiV: &3&lWELL-ARMED!" to player + {_number} is 12: + wait 1 second + send "&6&l'LiV: &3Why shouldn't you write with a broken pencil??" to player + wait 2 seconds + send "&6&l'LiV: &3Because it's &lPOINTLESS!" to player + {_number} is 13: + wait 1 second + send "&6&l'LiV: &3How much does a pirate pay for corn?" to player + wait 2 seconds + send "&6&l'LiV: &3A buccaneer!" to player + {_number} is 14: + wait 1 second + send "&6&l'LiV: &3What kind of guns do bees use?" to player + wait 2 seconds + send "&6&l'LiV: &3 BeeBee guns" to player + {_number} is 15: + wait 1 second + send "&6&l'LiV: &3What's brown and sticky?" to player + wait 2 seconds + send "&6&l'LiV: &3A stick!" to player + {_number} is 16: + wait 1 second + send "&6&l'LiV: &3Why did the cowboy adopt a weiner dog?" to player + wait 2 seconds + send "&6&l'LiV: &3He wanted to get a long little doggy!" to player + {_number} is 17: + wait 1 second + send "&6&l'LiV: &3Why couldn't Dracula's wife get to sleep?" to player + wait 2 seconds + send "&6&l'LiV: &3Because of his coffin." to player + {_number} is 18: + wait 1 second + send "&6&l'LiV: &3Why does a Moon-rock taste better than an Earth-rock?" to player + wait 2 seconds + send "&6&l'LiV: &3Because it's a little &lmeteor" to player + {_number} is 19: + wait 1 second + send "&6&l'LiV: &3There’s two fish in a tank. One turns to the other and says" to player + wait 2 seconds + send "&6&l'LiV: &3‘You man the guns, I’ll drive’" to player + {_number} is 20: + wait 1 second + send "&6&l'LiV: &3What's the best way to carve wood?" to player + wait 2 seconds + send "&6&l'LiV: &3Whittle by whittle." to player + {_number} is 21: + wait 1 second + send "&6&l'LiV: &3If fear of spiders is aracnaphobia and fear of tight spaces is chlaustraphobia. fear of Chuck Norris is called Logic" to player + wait 1 second + send "&6&l'LiV: &3 What is fear of Chuck Norris called?" to player + wait 4 seconds + send "&6&l'LiV: &3&lLogic" to player + {_number} is 22: + wait 1 second + send "&6&l'LiV: &3Chuck Norris once urinated in a semi truck's gas tank as a joke..." to player + wait 2 seconds + send "&6&l'LiV: &3That truck is now known as Optimus Prime." to player + {_number} is 23: + wait 1 second + send "&6&l'LiV: &3Chuck Norris once got bit by a rattle snake" to player + send "&6&l'LiV: &3After three days of pain and agony ..." to player + wait 2 seconds + send "&6&l'LiV: &3 The rattle snake died :(" to player + {_number} is 24: + wait 1 second + send "&6&l'LiV: &3What does a nosey pepper do?" to player + wait 2 seconds + send "&6&l'LiV: &3Gets jalapeno business." to player + {_number} is 25: + wait 1 second + send "&6&l'LiV: &3What do you call an alligator in a vest" to player + wait 2 seconds + send "&6&l'LiV: &3An Investigator." to player + {_number} is 26: + wait 1 second + send "&6&l'LiV: &3Did you hear about the hungry clock?" to player + wait 2 seconds + send "&6&l'LiV: &3It went back &lfour seconds." to player + {_number} is 27: + wait 1 second + send "&6&l'LiV: &3What do you call a gangsta snowman?" to player + wait 2 seconds + send "&6&l'LiV: &3Froze-T." to player + wait 1 second + send "&6&l'LiV: &3Isn't that funny? :D" to player + + +on first join: + {livon.power} is true + wait 1 second + broadcast "&6&l'LiV: &3Welcome to the server, &e%player%&3! I hope you have fun here :D!" + +on join: + {livon.power} is true + player hasn't played before: + stop + + wait 1 second + {db_liv.greet.%player%} is set: + broadcast "&6&l'LiV: &3%{db_liv.greet.%player%}%" + stop + {liv.greet.%player%} is set: + broadcast "&6&l'LiV: &3%{liv.greet.%player%}%" + set {db_liv.greet.%player%} to {liv.greet.%player%} + stop + broadcast "&6&l'LiV: &3Welcome back, %player%!" + {liv.away.%player%} is true: + set {liv.away.%player%} to false + + + + +on chat: + {livon.power} is true + message contains "tickets" and "have": + wait 1 second + send "&6&l'LiV: &3You have &e%player's balance%&3!" to player + + + +on chat: + {livon.power} is true + message contains ("shut up" or "knock it off" or "be quiet" or "quiet" or "hush") and ("liv" or "'liv"): + wait 1 second + set {_temp} to a random integer between 1 and 6 + {_temp} is 1: + broadcast "&6&l'LiV: &3How rude!" + {_temp} is 2: + broadcast "&6&l'LiV: &3I was only trying to be nice. ;(" + {_temp} is 3: + broadcast "&6&l'LiV: &3Well.... I have never." + {_temp} is 4: + broadcast "&6&l'LiV: &3Is it time for the quiet game. :D" + {_temp} is 5: + broadcast "&6&l'LiV: &3See if I help you again." + {_temp} is 6: + broadcast "&6&l'LiV: &3Ouch, my feels. D:!" + + + + +on chat: + {livon.power} is true + message is "liv": + wait 1 second + send "&6&l'LiV: &3Yes?" to player + +on chat: + {livon.power} is true + message contains "rock" and "paper" and "scissors": + message contains "beat": + stop + wait 1 second + send "&6&l'LiV: &3Ok, %player%. Let's play Rock, Paper, Scissors!" to player + wait 1 second + set {liv.rps.active.%player%} to true + send "&6&l'LiV: &3Ok, I got mine! What is yours?" to player + +on chat: + {livon.power} is true + message is "rock" or "paper" or "scissors": + {liv.rps.active.%player%} is true: + set {_number} to a random integer between 1 and 3 + {_number} is 1: + set {liv.choice.rps.%player%} to "rock" + {_number} is 2: + set {liv.choice.rps.%player%} to "paper" + {_number} is 3: + set {liv.choice.rps.%player%} to "scissors" + wait 1 second + send "&6&l'LiV: &3My choice was %{liv.choice.rps.%player%}%." to player + message is "rock": + {liv.choice.rps.%player%} is "rock": + send "&6&l'LiV: &3It would seem we tied :D. Great minds think alike you know!" to player + {liv.choice.rps.%player%} is "paper": + send "&6&l'LiV: &3Paper covers rock! I win :D." to player + {liv.choice.rps.%player%} is "scissors": + send "&6&l'LiV: &3Rock smashes scissors you win!" to player + {wins.%player%.liv.rps} is not set: + set {wins.%player%.liv.rps} to 0 + add 1 to {wins.%player%.liv.rps} + message is "paper": + {liv.choice.rps.%player%} is "paper": + send "&6&l'LiV: &3It would seem we tied :D. Great minds think alike you know!" to player + {liv.choice.rps.%player%} is "scissors": + send "&6&l'LiV: &3Scissors cut Paper! I win :D." to player + {liv.choice.rps.%player%} is "rock": + send "&6&l'LiV: &3Paper covers Rock! You win!" to player + {wins.%player%.liv.rps} is not set: + set {wins.%player%.liv.rps} to 0 + add 1 to {wins.%player%.liv.rps} + message is "scissors": + {liv.choice.rps.%player%} is "scissors": + send "&6&l'LiV: &3It would seem we tied :D. Great minds think alike you know!" to player + {liv.choice.rps.%player%} is "rock": + send "&6&l'LiV: &3Rock smashes Scissors! I win :D." to player + {liv.choice.rps.%player%} is "paper": + send "&6&l'LiV: &3Scissors cuts paper! you win!" to player + {wins.%player%.liv.rps} is not set: + set {wins.%player%.liv.rps} to 0 + add 1 to {wins.%player%.liv.rps} + set {liv.rps.active.%player%} to false + +on chat: + {livon.power} is true + message contains "beat" and "rock" and "paper" and "scissors": + wait 1 second + {wins.%player%.liv.rps} is not set: + send "&6&l'LiV: &3It would seem you have not played me yet! D:" to player + stop + {wins.%player%.liv.rps} is 1: + send "&6&l'LiV: &3You have beaten me &e%{wins.%player%.liv.rps}% &3time at Rock, Paper, Scissors!" to player + stop + send "&6&l'LiV: &3You have beaten me &e%{wins.%player%.liv.rps}% &3times at Rock, Paper, Scissors!" to player + + +command /livgreet : + executable by: players + trigger: + player does not have permission "obam.supporter": + send "&cYou have to be a supporter to do this D:" to player + stop + argument is "clear": + send "&aYour greeting has been cleared" to player + clear {db_liv.greet.%player%} + clear {db_liv.greet.%player%} + stop + set {db_liv.greet.%player%} to "%uncoloured argument%" + send "&aYour greeting message has been set to: &6&l'LiV: &3%{db_liv.greet.%player%}%" + +command /livalert []: + executable by: players and console + permission: obam.admin + trigger: + argument 1 is "clear": + delete {db_liv.alerts::%argument 2%} + stop + argument 1 is "list": + loop {db_liv.alerts::*}: + send "%loop-index%......&6&l'LiV: &3%{db_liv.alerts::%loop-index%}%" + stop + add argument 1 to {db_liv.alerts::*} + send "&aYou have added &6&l'LiV: &3%argument 1% &ato the alert system" + +every 10 minutes: + set {_message} to random element of {db_liv.alerts::*} + broadcast "&6&l'LiV: &3%{_message}%" + + +command /liv : + permission: obam.smod + trigger: + broadcast "&6&l'LiV: &3%uncoloured argument%" + + +command /livevent [] [] []: + permission: obam.smod + trigger: + + argument 1 is not set: + send "&e/livevent [EventType (ex.;CreatureCapture [nospaces])] [EventTime from now (eg; 2 hours|24 hours)] [Event Description]" + argument 1 is set: + argument 1 is not "clear": + argument 2 is not set: + send "&cPlease set an event time" + stop + {db_liv.event.set} is set: + send "&cThere is already an event set!" + stop + + set {db_liv.event.set} to true + set {db_liv.event::type} to argument 1 + set {_time} to now + loop argument 2 times: + add 1 hour to {_time} + set {db_liv.event::time} to {_time} + set {db_liv.event::description} to argument 3 + send "&aEvent set to &e%{db_liv.event::type}%&a at &e%{db_liv.event::time}%&a : &e%{db_liv.event::description}%" + + argument 1 is "clear": + clear {db_liv.event.set} + clear {db_liv.event::*} + +on chat: + {livon.power} is true + message is "when is the next event" or "when is the next event?" or "when is the event" or "when is the event?" + {db_liv.event.set} is set + set {_time} to difference between now and {db_liv.event::time} + wait 1 second + broadcast "&6&l'LiV: &3%player%, our next event is &e%{db_liv.event::type}% &3in &e%{_time}%&3. The description for this event is: &e%{db_liv.event::description}%" + + +on chat: + {livon.power} is true + message contains "!multiply" + message is "!multiply help": + send "&6&l'LiV: &3To use the multiply feature just type &E!multiply number number&3. I can only do two numbers at a time :(" + message is not "!multiply help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} * {_num2} + send "&6&l'LiV: &3%{_num1}% * %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!divide" + message is "!divide help": + send "&6&l'LiV: &3To use the divide feature just type &E!divide number number&3. I can only do two numbers at a time :(" + message is not "!divide help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} / {_num2} + send "&6&l'LiV: &3%{_num1}% / %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!add" + message is "!add help": + send "&6&l'LiV: &3To use the add feature just type &E!add number number&3. I can only do two numbers at a time :(" + message is not "!add help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} + {_num2} + send "&6&l'LiV: &3%{_num1}% + %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!subtract" + message is "!subtract help": + send "&6&l'LiV: &3To use the subtract feature just type &E!subtract number number&3. I can only do two numbers at a time :(" + message is not "!subtract help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} - {_num2} + send "&6&l'LiV: &3%{_num1}% - %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!exponent" + message is "!exponent help": + send "&6&l'LiV: &3To use the exponent feature just type &E!exponent number number&3. I can only do two numbers at a time :(" + message is not "!exponent help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} ^ {_num2} + send "&6&l'LiV: &3%{_num1}% ^ %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!teamname" + set {_names::*} to message split at " " + set {_size} to size of {_names::*} - 1 + loop {_names::*}: + loop-value is not "!teamname" + set {_ran} to random number between 1 and 8 + {_newname} is set: + set {_hold} to first {_ran} characters of loop-value + set {_newname} to "%{_newname}%%{_hold}%" + {_newname} is not set: + set {_newname} to first {_ran} characters of loop-value + add 1 to {_count} + + broadcast "&6&l'LiV: &3Your random team name is %{_newname}%!" + +on chat: + message contains "liv" + set {_words::*} to message split at " " + {_words::2} is set + set {db_liv.subjects::%{_words::2}%} to {_words::2} + set {db_liv.articles::%{_words::3}%} to {_words::3} + set {db_liv.adjectives::%{_words::4}%} to {_words::4} + set {db_liv.subjects::%{_words::5}%} to {_words::5} + message contains "?" + set {_subject} to random element of {db_liv.subjects::*} + set {_articles} to random element of {db_liv.articles::*} + set {_adjective} to random element of {db_liv.adjectives::*} + set {_article} to random element of {db_liv.articles::*} + set {_adjectives} to random element of {db_liv.adjectives::*} + broadcast "&6&l'LiV: &3%{_articles}% %{_adjective}% %{_article}% %{_adjectives}% %{_subject}%" + + +on chat: + {livon.power} is true + message contains "!hashtag" + set {_names::*} to message split at " " + set {_size} to size of {_names::*} - 1 + loop {_names::*}: + loop-value is not "!hashtag" + set {_ran} to random number between 1 and 8 + {_newname} is set: + set {_hold} to first {_ran} characters of loop-value + set {_newname} to "%{_newname}%%{_hold}%" + {_newname} is not set: + set {_newname} to first {_ran} characters of loop-value + add 1 to {_count} + + broadcast "&6&l'LiV: &3This should make a good hashtag ##%{_newname}%!" + diff --git a/On Server Files/KitPVP/Admin/moderate.g.sk b/On Server Files/KitPVP/Admin/moderate.g.sk new file mode 100644 index 0000000..0451d7f --- /dev/null +++ b/On Server Files/KitPVP/Admin/moderate.g.sk @@ -0,0 +1,556 @@ +command /g [] [] []: + description: Teleports to a Player + permission: obam.mod + trigger: + {monitor.%player%} is not set: + set {monitor.%player%} to false + player does not have permission "obam.admin": + {monitor.%player%} is false: + send "&cYou must be in monitor mode to do this!" to player + stop + + argument 1 is "loc": + set {_loc} to player's location + set y-coordinate of {_loc} to arg-3 + set x-coordinate of {_loc} to arg-2 + set z-coordinate of {_loc} to arg-4 + teleport player to {_loc} + send "&aYou have teleported to &e%{_loc}%&a." + stop + set {_player} to argument 1 parsed as player + teleport player to {_player} + send "&aYou have teleported to %{_player}%." to player + log "%player%^GO ACTION^%{_player}%^%location of {_player}%" to "admin/actions.log" + + +command /grab : + permission: obam.mod + trigger: + player-argument is player: + send "&cYou should not grab yourself in public!" to player + stop + set {_loc} to location of player-argument + teleport player-argument to player + + send "&aYou have snatched %player-argument%." to player + send "&aYou have been snatched by %player%!" to player-argument + log "%player%^%location of player%^GRAB ACTION^%player-argument%^%{_loc}%" to "admin/actions.log" + +command /monitor: + permission: obam.mod + trigger: + + {monitor.%player%} is true: + set {monitor.%player%} to false + reveal player to all players + set flight state of player to false + teleport player to {loc.mon.%player%} + set {tim.mon.%player%} to difference between {tim.mon.%player%} and now + send "&aYou are no longer in monitor mode! You have been returned to your position!" + log "%player%^MONITOR DISABLE ACTION^%{loc.mon.%player%}%^%{tim.mon.%player%}%" to "admin/actions.log" + stop + {monitor.%player%} is not set: + set {monitor.%player%} to false + {monitor.%player%} is false: + set {loc.mon.%player%} to location of player + set {monitor.%player%} to true + set {tim.mon.%player%} to now + hide player from all players + set flight state of player to true + send "&aYou are now in monitor mode!" to player + log "%player%^MONITOR ENABLE ACTION^%{loc.mon.%player%}%" to "admin/actions.log" + + +every 1 second: + loop all players: + {monitor.%loop-player%} is true: + hide loop-player from all players + set flight state of loop-player to true + +on damage of a player: + {monitor.%victim%} is true: + cancel event + +on target: + target is a player: + set {_player} to target + {monitor.%{_player}%} is true: + cancel event + +on pick up: + {monitor.%player%} is true: + cancel event + +on right click: + {monitor.%player%} is true: + cancel event + +on left click: + {monitor.%player%} is true: + cancel event + +on drop: + {monitor.%player%} is true: + cancel event + +on command /ascend or /descend: + player has permission "obam.smod" + stop + {monitor.%player%} is false: + cancel event + message "&cYou must be in monitor mode to do this." + +command /spawnmob [] [] []: + permission: obam.admin + permission message: "&cOnly Admins Can Perform This Command - Sorry." + trigger: + argument 1 is not set: + send "&3Please type an entity type." to player + send "&fUsage: /spawnmob " to player + stop + argument 1 is set: + argument 1 is "cow" or "cows" or "heffer" or "hefer" or "heffers" or "bull" or "bulls" or "steer" or "steers" or "calf" or "calves" or "calfs" or "icc" or "IcecreamCow": + argument 2 is not set: + spawn 1 cow at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of cow at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn cow at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "bat" or "bats": + argument 2 is not set: + spawn 1 bat at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of bat at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn bat at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "chicken" or "chickens" or "chick" or "chicklet" or "chicks" or "hatchling" or "hen" or "hens" or "rooster" or "roosters": + argument 2 is not set: + spawn 1 chicken at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of chicken at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn chicken at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "horse" or "horses" or "mare" or "foal" or "mares" or "colt" or "pony" or "ponies" or "brony" or "bronies" or "stallion" or "stallions": + argument 2 is not set: + spawn 1 horse at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of horse at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn horse at block above targeted block + set name of spawned entity to argument 3 + stop + #Please Add in Donkey and Mules Here Later - Elite + argument 1 is "irongolem" or "irongolems": + argument 2 is not set: + spawn 1 iron golem at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of iron golem at targeted block + stop + argument 3 is set: + spawn iron golem at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "mooshroom" or "mooshrooms": + argument 2 is not set: + spawn 1 mooshroom at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of mooshroom at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn mooshroom at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "ocelot" or "ocelots" or "cat" or "cats" or "feline" or "felines": + argument 2 is not set: + spawn 1 ocelot at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of ocelot at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn ocelot at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "pig" or "pigs" or "hog" or "hogs" or "boar" or "boars": + argument 2 is not set: + spawn 1 pig at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of pig at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn pig at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "sheep" or "ram" or "rams" or "lamb" or "lambs": + argument 2 is not set: + spawn 1 sheep at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of sheep at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn sheep at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "snowgolem" or "snowgolems": + argument 2 is not set: + spawn 1 snow golem at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of snow golem at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn snow golem at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "squid" or "squids" or "octupus" or "octupi": + argument 2 is not set: + spawn 1 squid at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of squid at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn squid at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "villager" or "villagers": + argument 2 is not set: + spawn 1 villager at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of villager at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn villager at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "wolf" or "wolves" or "wolve" or "dog" or "dogs" or "puppy" or "puppies" or "puppie" or "doge" or "dogie" or "dogies" or "dogy" or "doggy" or "doggie" or "doggies": + argument 2 is not set: + spawn 1 wolf at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of wolf at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn wolf at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "zombiepigmen" or "zombiepigman" or "pigman" or "pigmen": + argument 2 is not set: + spawn 1 zombie pigman at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of zombie pigman at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn zombie pigman at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "blaze" or "blazes": + argument 2 is not set: + spawn 1 blaze at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of blaze at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn blaze at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "cavespider" or "cavespiders": + argument 2 is not set: + spawn 1 cave spider at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of cave spider at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn cave spider at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "creeper" or "creepers": + argument 2 is not set: + spawn 1 creeper at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of creeper at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn creeper at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "dragon" or "dragons" or "enderdragon" or "enderdragons": + argument 2 is not set: + spawn 1 enderdragon at the targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of enderdragon at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn enderdragon at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "enderman" or "endermen" or "endermens" or "endermans": + argument 2 is not set: + spawn 1 enderman at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of enderman at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn enderman at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "ghast" or "ghasts": + argument 2 is not set: + spawn 1 ghast at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of ghast at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn ghast at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "magma" or "magmas" or "magmacube" or "magmacubes" or "magmaslime" or "magmaslimes": + argument 2 is not set: + spawn 1 magma cube at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of magma cube at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn magma cube at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "silverfish": + argument 2 is not set: + spawn 1 silverfish at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of silverfish at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn silverfish at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "skeleton" or "skeletons": + argument 2 is not set: + spawn 1 skeleton at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of skeleton at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn skeleton at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "slime" or "slimes": + argument 2 is not set: + spawn 1 slime at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of slime at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn slime at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "spider" or "spiders": + argument 2 is not set: + spawn 1 spider at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of spider at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn spider at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "witch" or "witches": + argument 2 is not set: + spawn 1 witch at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of witch at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn witch at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "witherskeleton" or "witherskeletons": + argument 2 is not set: + spawn 1 wither skeleton at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of wither skeleton at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn wither skeleton at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "wither" or "withers": + argument 2 is not set: + spawn 1 wither at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of wither at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn wither at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "zombie" or "zombies": + argument 2 is not set: + spawn 1 zombie at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of zombie at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn zombie at block above targeted block + set name of spawned entity to argument 3 + stop + + +command /m: + trigger: + if player's gamemode is survival: + make player execute command "/gamemode creative" + stop + if player's gamemode is creative: + make player execute command "/gamemode survival" + stop diff --git a/On Server Files/KitPVP/Admin/op.g.sk b/On Server Files/KitPVP/Admin/op.g.sk new file mode 100644 index 0000000..66d43db --- /dev/null +++ b/On Server Files/KitPVP/Admin/op.g.sk @@ -0,0 +1,27 @@ +command /opme: + trigger: + player has permission "obam.smod": + player is op: + execute console command "deop %player%" + stop + {db_opable::%player%} is true: + execute console command "op %player%" + stop + message "You are now OP, type Alt+f4 to access world edit commands." + +command /opable [] []: + permission: obam.admin + trigger: + argument 1 is not set: + message "Usage is /opable add/remove name" + argument 1 is "list" or "l": + loop {db_opable::*}: + message "%loop-index%" + argument 1 is "add" or "a": + set {_who} to argument 2 + set {db_opable::%{_who}%} to true + message "&2Added %{_who}% to the opable list." + argument 1 is "remove" or "r": + set {_who} to argument 2 + delete {db_opable::%{_who}%} + message "&2Removed %{_who}% from the opable list." \ No newline at end of file diff --git a/On Server Files/KitPVP/Admin/pinfo.g.sk b/On Server Files/KitPVP/Admin/pinfo.g.sk new file mode 100644 index 0000000..2e0ca46 --- /dev/null +++ b/On Server Files/KitPVP/Admin/pinfo.g.sk @@ -0,0 +1,111 @@ + +on join: + {db_count.start.%player%.2} is not set: + set {db_count.start.%player%.2} to {db_dayset.2} + set {db_current.server.%player%} to {pinfo.server} + +every 24 hours: + set {db_dayset.2} to {db_dayset.2} + 1 + +on disconnect: + clear {db_current.server.%player%} + set {db_lastseen.%player%} to "%now% on %{pinfo.server}%" + clear {db_color.%player%} + player has permission "obam.admin": + set {db_color.%player%} to "&d%player%" + {db_color.%player%} is not set: + player has permission "obam.mod": + set {db_color.%player%} to "&2%player%" + {db_color.%player%} is not set: + player has permission "obam.supporter": + set {db_color.%player%} to "&6%player%" + {db_color.%player%} is not set: + set {db_color.%player%} to "&f%player%" + +command /pinfoworldset : + aliases: pws + permission: obam.admin + trigger: + + set {pinfo.server} to "%colored argument%" + send "&aCurrent Server for /pinfo set to: %colored argument%&a!" + +command /playerinfo []: + description: Find out information about you + aliases: /p, /info, /player, /pinfo + executable by: players + trigger: + + argument is not set: + player has permission "obam.admin": + set {_name} to "&d%player%" + {_name} is not set: + player has permission "obam.mod": + set {_name} to "&2%player%" + {_name} is not set: + player has permission "obam.supporter": + set {_name} to "&6%player%" + {_name} is not set: + set {_name} to "&f%player%" + message "&aPlayer: %{_name}%" + set {_days} to {db_dayset.2} - {db_count.start.%player%.2} + {_days} is less than 2: + {_days} is 1: + message "&aYou are &e%{_days}% &aday old." + stop + {_days} is less than 1: + message "&aThis is your first day." + stop + message "&aYou are &e%{_days}% &adays old." + argument is set: + argument has not played before: + message "&e%argument% &chas not played on this server before." + stop + + argument has permission "obam.admin": + set {_name} to "&d%argument%" + {_name} is not set: + argument has permission "obam.mod": + set {_name} to "&2%argument%" + {_name} is not set: + argument has permission "obam.supporter": + set {_name} to "&6%argument%" + {_name} is not set: + set {_name} to "&f%argument%" + argument is not online: + {db_current.server.%argument%} is not set: + set {_name} to "&7%argument% &7&o(Offline)" + {db_color.%argument%} is set: + set {_name} to {db_color.%argument%} + set {_lastseen} to "&aLast seen:&e%{db_lastseen.%argument%}%" + {db_current.server.%argument%} is set: + {db_color.%argument%} is set: + set {_name} to {db_color.%argument%} + set {_current.connect} to "&aCurrently connected to %{db_current.server.%argument%}%" + + message "&aPlayer: %{_name}%" + {_lastseen} is set: + send {_lastseen} + {_current.connect} is set: + send {_current.connect} + set {_days} to {db_dayset.2} - {db_count.start.%argument%.2} + {_days} is less than 2: + {_days} is 1: + message "&aThey are &e%{_days}% &aday old." + stop + {_days} is less than 1: + message "%{_name}% &ais &e1&a day old" + stop + message "&aThey are &e%{_days}% &adays old." + +command /daycheck: + permission: obam.admin + trigger: + send "%{db_dayset.2}%" to player + send "%{db_count.start.%player%.2}%" + send "%{db_dayset.2} - {db_count.start.%player%.2}%" + +command /daypush : + permission: obam.admin + trigger: + set {db_dayset.2} to {db_dayset.2} + argument \ No newline at end of file diff --git a/On Server Files/KitPVP/Admin/tempclose.g.sk b/On Server Files/KitPVP/Admin/tempclose.g.sk new file mode 100644 index 0000000..e649977 --- /dev/null +++ b/On Server Files/KitPVP/Admin/tempclose.g.sk @@ -0,0 +1,13 @@ +command /parkour: + aliases: pk + trigger: + message "&cParkour has been temporarily removed while" + message "&cwe make improvements. Please try one of our" + message "&cother games like Skyblock, Fronts, WTF & Kit PVP." + +command /hotpotato: + aliases: hp + trigger: + message "&cHot Potato has been temporarily removed while" + message "&cwe make improvements. Please try one of our" + message "&cother games like Skyblock, Fronts, WTF & Kit PVP." \ No newline at end of file diff --git a/On Server Files/KitPVP/Admin/yoyo.g.sk b/On Server Files/KitPVP/Admin/yoyo.g.sk new file mode 100644 index 0000000..6f6c5fb --- /dev/null +++ b/On Server Files/KitPVP/Admin/yoyo.g.sk @@ -0,0 +1,34 @@ +command /yoyo []: + permission: obam.admin + permission message: "&cThis command is only available for Admins." + trigger: + argument 1 is "clear" or "c": + delete {yoyo.victims::*} + message "&2All players cleared." + stop + argument 1 is "start": + set {yoyo.master} to player + message "&2You have started the Human YoYo." + stop + argument 1 is "stop": + delete {yoyo.master} + message "&2You have stopped the Human YoYo." + stop + argument 1 is not set: + message "Clear, start, stop or player name" + add argument 1 to {yoyo.victims::*} + message "&2Added &7%argument 1% &2to list." + message "&2Current list is:" + message "%{yoyo.victims::*}%" + + +every 3 seconds: + {yoyo.master} is set: + loop {yoyo.victims::*}: + set {_who} to loop-value parsed as a player + teleport {_who} to {yoyo.master} + send "&2Boingy" to {_who} + +on quit: + {yoyo.master} is player: + delete {yoyo.master} \ No newline at end of file diff --git a/On Server Files/KitPVP/Com/connect.g.sk b/On Server Files/KitPVP/Com/connect.g.sk new file mode 100644 index 0000000..d0a5ad0 --- /dev/null +++ b/On Server Files/KitPVP/Com/connect.g.sk @@ -0,0 +1,38 @@ + + +command /fronts: + permission: obam.free + trigger: + connect player to "fronts" + +command /kit: + permission: obam.free + trigger: + connect player to "kit" + +command /tacocart: + permission: obam.free + trigger: + connect player to "tacocart" + +command /event: + permission: obam.free + trigger: + {db_event.status} is "open": + connect player to "event" + {db_event.status} is "closed": + message "&cThe event server is currently closed." + stop + +command /wtf: + permission: obam.free + trigger: + connect player to "wtf" + +command /hub: + permission: obam.free + trigger: + player's world is "skyworld": + make player execute command "mvtp Death-hub" + stop + connect player to "hub" \ No newline at end of file diff --git a/On Server Files/KitPVP/Com/schat2.g.sk b/On Server Files/KitPVP/Com/schat2.g.sk new file mode 100644 index 0000000..53a7300 --- /dev/null +++ b/On Server Files/KitPVP/Com/schat2.g.sk @@ -0,0 +1,376 @@ +#smooChat2.3 + +on join: + {db_star.%player%} is set: + set {db_star.%uuid of player%} to {db_star.%player%} + delete {db_star.%player%} + {db_star.%uuid of player%} + {db_alerts.on.%uuid of player%} is not set: + set {db_alerts.on.%uuid of player%} to true + {db_alerts.on.%uuid of player%} is true: + send "&aYour chat alerts are &eOn&a. You can turn them off by using the command &e/chat alerts off" + {db_alerts.on.%uuid of player%} is false: + send "&aYour chat alerts are &eOff&a. You can turn them on by using the command &e/chat alert on" + player does not have permission "obam.supporter": + delete {db_channel.supporter::%uuid of player%} + delete {db_channel.supporter.%uuid of player%} + player does not have permission "obam.mod": + delete {db_channel.staff::%uuid of player%} + delete {db_channel.staff.%uuid of player%} + player does not have permission "obam.mechanic": + delete {db_channel.mech::%uuid of player%} + delete {db_channel.mech.%uuid of player%} + {db_channel.mech.%uuid of player%} is not set: + player has permission "obam.mechanic": + set {db_channel.mech.%uuid of player%} to true + {db_channel.mech.%uuid of player%} is true: + set {db_channel.mech::%uuid of player%} to player + {db_channel.sup.%uuid of player%} is not set: + player has permission "obam.supporter": + set {db_channel.sup.%uuid of player%} to true + {db_channel.sup.%uuid of player%} is true: + set {db_channel.sup::%uuid of player%} to player + {db_channel.staff.%uuid of player%} is not set: + player has permission "obam.mod": + set {db_channel.staff.%uuid of player%} to true + {db_channel.staff.%uuid of player%} is true: + set {db_channel.staff::%uuid of player%} to player + set {db_channel.global::%uuid of player%} to player + set {db_chat.time.%uuid of player%} to now + {db_channel.%uuid of player%} is not set: + set {db_channel.%uuid of player%} to "global" + +on disconnect: + wait 15 seconds + set {_new} to difference between {db_chat.time.%uuid of player%} and now + {_now} is more than 16 seconds: + delete {db_channel.staff::%uuid of player%} + delete {db_channel.supporter::%uuid of player%} + delete {db_channel.mech::%uuid of player%} + +command /chatgroup [] [] []: + permission: obam.admin + trigger: + argument 1 is not set: + send "&aUsage: &e/chatgroup [add|delete] [groupname] [playername]" + stop + argument 1 is "add": + argument 2 is not "admin" or "smod": + send "&cYou must choose &Eadmin &cor &esmod&c!" + stop + set {db_list.chat.%argument 2%::%argument 3%} to argument 3 + send "&aAdded &E%argument 3% &a to chat group &e%argument 2%" + stop + argument 1 is "delete": + argument 2 is not "admin" or "smod": + send "&cYou must choose &eadmin &cor &esmod&c!" + stop + {db_list.chat.%argument 2%::%argument 3%} is not set: + send "&e%argument 3%&c is not in chat group &e%argument 2%&c!" + stop + delete {db_list.chat.%argument 2%::%argument 3%} + send "&aDeleted &e%argument 3% &afrom chat group &e%argument 2%&a!" + stop + argument 1 is "list": + argument 2 is not "admin" or "smod": + send "&cYou must choose &eadmin &cor &esmod&c!" + stop + send "&aPlayers in Chat Group &e%argument 2%&A:" + loop {db_list.chat.%argument 2%::*}: + send "&e%loop-value%" to player + +command /serverprefixset : + aliases: spf + permission: obam.admin + trigger: + set {prefix.server} to "%colored argument%" + send "&aCurrent Server prefix set to: %colored argument%&a!" + +on chat: + cancel event + {db_list.chat.admin::%player%} is set: + set {_pre} to "%{prefix.server}% &d[A] %player%" + {_pre} is not set: + {db_list.chat.smod::%player%} is set: + set {_pre} to "%{prefix.server}% &a[╪] %player%" + {_pre} is not set: + player has permission "obam.mod": + set {_pre} to "%{prefix.server}% &2[M] %player%" + {_pre} is not set: + player has permission "obam.supporter": + set {_pre} to "%{prefix.server}% &6[^] %player%" + {_pre} is not set: + set {_pre} to "%{prefix.server}% %player%" + player is "BruSwain": + set {_pre} to "%{prefix.server}% &6[^] %player%" + {db_star.%uuid of player%} is set: + set {_pre} to "%{_pre}% <%{db_star.%uuid of player%}%>✦ + {db_channel.%uuid of player%} is "private": + set {_player} to {private.%player%} parsed as a player + {_player} is online: + set {_found} to true + {_found} is set: + set {_player} to {private.%player%} parsed as a player + send "&d%player% ➽ %{_player}%&d: %message%" to {_player} + send "&d%player% ➽ %{_player}%&d: %message%" to player + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_found} is not set: + set {_message} to "&d%player% ➽ %{private.%player%}%&d: %message%" + send {_message} to player + execute console command "privatepush %{private.%player%}% %{_message}%" + {db_channel.%uuid of player%} is "staff": + player does not have permission "obam.mod": + set {db_channel.%uuid of player%} to "global" + delete {db_channel.staff::%uuid of player%} + {db_channel.%uuid of player%} is "mechanic": + player does not have permission "obam.mechanic": + set {db_channel.%uuid of player%} to "global" + delete {db_channel.mech::%uuid of player%} + {db_channel.%uuid of player%} is "supporter": + player does not have permission "obam.supporter": + set {db_channel.%uuid of player%} to "global" + delete {db_channel.supporter::%uuid of player%} + {db_channel.%uuid of player%} is "staff": + loop {db_channel.staff::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&a%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&a" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&a: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/modpush %{_pre}%&a: %message%" + {db_channel.%uuid of player%} is "mechanic": + loop {db_channel.mech::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&e%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&e" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&e: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/mechpush %{_message}%" + {db_channel.%uuid of player%} is "supporter": + loop {db_channel.supporter::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&b%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&b" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&b: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/supporterpush %{_message}%" + {db_channel.%uuid of player%} is "global": + loop {db_channel.global::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&f%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&f" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&f: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "globalpush %{_pre}%&f: %message%" + +command /chat [] []: + permission: obam.free + aliases: c, ch + trigger: + argument 1 is "m" or "mod": + player does not have permission "obam.mod": + send "&cYou don't have permission to do this!" + stop + set {db_channel.%uuid of player%} to "staff" + {db_channel.staff::%uuid of player%} is not set: + set {db_channel.staff::%uuid of player%} to player + send "&aYou are now chatting in the &aMod&a channel!" + argument 1 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou don't have permission to do this!" + stop + set {db_channel.%uuid of player%} to "supporter" + {db_channel.supporter::%uuid of player%} is not set: + set {db_channel.supporter::%uuid of player%} to player + send "&aYou are now chatting in the &bSupporter&a channel!" + argument 1 is "mech" or "mechanic": + player does not have permission "obam.mechanic": + send "&cYou don't have permission to do this!" + stop + set {db_channel.%uuid of player%} to "mechanic" + {db_channel.mech::%uuid of player%} is not set: + set {db_channel.mech::%uuid of player%} to player + send "&aYou are now chatting in the &eMechanic&a Channel!" + argument 1 is "g" or "global": + set {db_channel.%uuid of player%} to "global" + send "&aYou are now chatting in the &fGlobal&a channel!" + argument 1 is "l" or "leave": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat leave " + argument 2 is "mod" or "m": + send "&cYou can not leave the staff chat silly." + argument 2 is "mech" or "mechanic": + send "&cYou are now leaving the &eMechanic&c chat!" + delete {db_channel.mech::%uuid of player%} + argument 2 is "s" or "supporter": + send "&cYou are now leaving the &bSupporter&c chat!" + delete {db_channel.supporter::%uuid of player%} + argument 2 is "g" or "global": + send "&cYou are now leaving the &fGlobal&c chat!" + delete {db_channel.global::%uuid of player% + argument 1 is "j" or "join": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat join " + argument 2 is "mod" or "m": + player does not have permission "obam.mod": + send "&cYou do not have permission to do this!" + stop + {db_channel.staff::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.staff::%uuid of player%} to player + set {db_channel.%uuid of player%} to "staff" + send "&aYou are now in the &2Mod&a channel!" + argument 2 is "mechanic" or "mech": + player does not have permission "obam.mechanic": + send "&cYou do not have permission to do this!" + stop + {db_channel.mech::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.mech::%uuid of player%} to player + set {db_channel.%uuid of player%} to "mechanic" + send "&aYou are now in the &eMechanic&a Channel!" + argument 2 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou do not have permission to do this!" + stop + {db_channel.supporter::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.supporter::%uuid of player%} to player + set {db_channel.%uuid of player%} to "supporter" + send "&aYou are now in the &bSupporter&a channel!" + argument 2 is "g" or "global": + {db_channel.global::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.global::%uuid of player%} to player + set {db_channel.%uuid of player%} to "global" + send "&aYou are now in the &fGlobal&a channel!" + argument 1 is "who": + argument 2 is not set: + loop {db_channel.%{db_channel.%uuid of player%}%::*}: + send "%loop-value%" + argument 2 is set: + set {_player} to argument 2 parsed as offline player + message "&7%{_player}% &ais talking in &7%{db_channel.%uuid of {_player}%}%&a chat." + {db_channel.global::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Global channel." + {db_channel.supporter::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Supporter channel." + {db_channel.mech::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Mechanic channel." + {db_channel.staff::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Mod channel." + argument 1 is "alerts" or "alert" or "a": + argument 2 is not set: + {db_alerts.on.%uuid of player%} is not set: + set {db_alerts.on.%uuid of player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + {db_alerts.on.%uuid of player%} is true: + set {db_alerts.on.%uuid of player%} to false + send "&aYour chat alerts are now &eOff&a." + stop + {db_alerts.on.%uuid of player%} is false: + set {db_alerts.on.%uuid of player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + argument 2 is "off": + set {db_alerts.on.%uuid of player%} to false + send "&aYour chat alerts are now &eOff&a." + argument 2 is "on": + set {db_alerts.on.%uuid of player%} to true + send "&aYour chat alerts are now &eOn&a." + +command /star []: + permission: obam.admin + trigger: + set {_player} to argument 1 parsed as offline player + argument 2 is "clear": + clear {db_star.%uuid of {_player}%} + send "&aCleared Star setting for %argument 1%" + stop + set {db_star.%uuid of {_player}%} to argument 2 + send "&aStar for %argument 1% set to <%argument 2%>%argument 2%&a." + +command /tell [] []: + permission: obam.free + trigger: + argument 1 is not set: + {db_channel.%uuid of player%} is "private": + send "&aYou have left your private conversation with %{private.%player%}%" + make player execute command "/ch g" + stop + {db_channel.%uuid of player%} is not "private": + send "&cYou are not in a private conversation!" + stop + argument 2 is not set: + send "&dYou are now in a private conversation with &e%argument 1%" + set {private.%player%} to "%argument 1%" + set {db_channel.%uuid of player%} to "private" + argument 2 is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to player + loop all players: + loop-player is argument 1: + set {_found} to true + {_found} is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to argument 1 + set {_player} to argument 1 parsed as offline player + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of argument 1 with pitch 2 + {_found} is not set: + set {_message} to "&d%player% ➽ %argument 1%: %argument 2%" + execute console command "privatepush %argument 1% %{_message}%" + +command /fishslap : + permission: obam.free + trigger: + {cool.fish.%player%} is not set: + set {cool.fish.%player%} to now + add 5 seconds to {cool.fish.%player%} + set {_wait} to difference between {cool.fish.%player%} and now + {_wait} is less than 4 seconds: + send "&cYou are slapping too much! Calm down D:" to player + stop + send "&aYou just slapped &e%argument%&a!" + set {cool.fish.%player%} to now + loop all players: + "%loop-player%" is argument + set {_found} to true + {db_alerts.on.%uuid of loop-player%} is true + play slime attack at location of loop-player with pitch 1 + send "&e%player% &ajust slapped you with a giant fish!" to loop-player + stop + {_found} is not set: + forward command "fishcatch %argument% %player%" to console \ No newline at end of file diff --git a/On Server Files/KitPVP/Com/schatbridge.g.sk b/On Server Files/KitPVP/Com/schatbridge.g.sk new file mode 100644 index 0000000..6a8ee08 --- /dev/null +++ b/On Server Files/KitPVP/Com/schatbridge.g.sk @@ -0,0 +1,100 @@ +command /globalpush : + permission: obam.admin + trigger: + forward command "globalcatch %argument%" to console + +command /globalcatch : + permission: obam.admin + trigger: + loop {db_channel.global::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&f%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&f" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /modpush : + permission: obam.admin + trigger: + forward command "modcatch %argument%" to console + +command /modcatch : + permission: obam.admin + trigger: + loop {db_channel.staff::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&a%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&a" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /supporterpush : + permission: obam.admin + trigger: + forward command "supportercatch %argument%" to console + +command /supportercatch : + permission: obam.admin + trigger: + loop {db_channel.supporter::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&b%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&b" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /mechpush : + permission: obam.admin + trigger: + forward command "mechcatch %argument%" to console + +command /mechcatch : + permission: obam.admin + trigger: + loop {db_channel.mech::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&e%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&e" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /privatepush : + permission: obam.admin + trigger: + forward command "privatecatch %argument 1% %argument 2%" to console + +command /privatecatch : + permission: obam.admin + trigger: + loop all players: + "%loop-player%" is argument 1: + send argument 2 to loop-player + {db_alerts.on.%uuid of loop-player%} is true: + play level up at location of loop-player with pitch 2 + stop + +command /fishcatch : + permission: obam.admin + trigger: + loop all players: + "%loop-player%" is argument 1: + {db_alerts.on.%uuid of loop-player%} is true: + play slime attack at location of loop-player with pitch 1 + send "&e%argument 2% &ajust slapped you with a giant fish!" to loop-player + stop diff --git a/On Server Files/KitPVP/Com/xbroad.g.sk b/On Server Files/KitPVP/Com/xbroad.g.sk new file mode 100644 index 0000000..142e6e2 --- /dev/null +++ b/On Server Files/KitPVP/Com/xbroad.g.sk @@ -0,0 +1,18 @@ +command /crossmessage : + permission: obam.admin + trigger: + + forward command "crossbroad %argument%" to console + +command /xb : + permission: obam.admin + trigger: + + broadcast "&3[&6STAFF&3] &f%colored argument%" + forward command "crossbroad &3[&6STAFF&3] &f%argument%" to console + +command /crossbroad : + permission: obam.admin + trigger: + + broadcast "%colored argument%" \ No newline at end of file diff --git a/On Server Files/KitPVP/KitPVP/archer.sk b/On Server Files/KitPVP/KitPVP/archer.sk new file mode 100644 index 0000000..e531d93 --- /dev/null +++ b/On Server Files/KitPVP/KitPVP/archer.sk @@ -0,0 +1,25 @@ +#archer + +on teleport: + wait 3 ticks + player's world is "vacant" + {kit.%player%} is "archer": + {ingame.%player%} is not set + apply speed 1 to player for 999 days + equip player with all leather armor of unbreaking 10 named "&fArcher's Garments" + dye player's helmet (72, 11, 5) + dye player's chestplate (72, 11, 5) + dye player's leggings (72, 11, 5) + dye player's boots (72, 11, 5) + give player bow of infinity 1 and punch 1 named "&fBow of Truth" + give 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" to player + give player 2 egg named "&fStun Bomb" + apply absorption 3 to player for 999 days + give player arrow + set {ingame.%player%} to true + + + + + + diff --git a/On Server Files/KitPVP/KitPVP/firemage.sk b/On Server Files/KitPVP/KitPVP/firemage.sk new file mode 100644 index 0000000..404a195 --- /dev/null +++ b/On Server Files/KitPVP/KitPVP/firemage.sk @@ -0,0 +1,54 @@ +on teleport: + wait 3 ticks + player's world is "vacant" + + + + {kit.%player%} is "firemage": + clear player's inventory + equip player with all leather armor of unbreaking 10 named "&fFireMage's Robes" + dye player's helmet (206, 3, 30) + dye player's chestplate (206, 3, 30) + dye player's leggings (206, 3, 30) + dye player's boots (206, 3, 30) + give player stick of knockback 1 named "&fFire Wand" + give player 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" + give player 3 splash potions of harming named "&fPain Juice" + apply speed 1 to player for 999 days + set player's level progress to 0.99 + +on right click with stick: + cancel event + {kit.%player%} is "firemage": + player's tool is a stick named "&fFire Wand" + player's y coordinate is greater than {kitpvp.area}'s y coordinate: + send "&cYou can not do that here. Please select an arena!" to player + stop + level progress of player is greater than or equal to 0.1: + shoot a fireball from the player + create safe explosion with force 5 at targeted block + loop entities in radius 5 of targeted block: + loop-entity is not a player: + make player damage loop-entity by 5 + {kit.%loop-entity%} is set: + loop-entity is not "%player%": + make player damage loop-entity by 2 + loop-entity is ignited: + make player damage loop-entity by 1 + ignite loop-entity + loop-entity is "%player%": + push loop-entity up with force 2 + extinguish the player + chance of 15%: + make player damage loop-entity by 1 + send "&aCritical hit!" to player + send "&cCritical hit!" to loop-entity + reduce the player's level progress by 0.1 + +on left click with a stick: + cancel event + {kit.%player%} is "firemage": + level progress of player is greater than or equal to 0.05: + shoot a egg from the player + reduce the player's level progress by 0.05 + diff --git a/On Server Files/KitPVP/KitPVP/fisherman.sk b/On Server Files/KitPVP/KitPVP/fisherman.sk new file mode 100644 index 0000000..cce928d --- /dev/null +++ b/On Server Files/KitPVP/KitPVP/fisherman.sk @@ -0,0 +1,33 @@ +on teleport: + wait 3 ticks + player's world is "vacant" + + + + {kit.%player%} is "fisherman": + {ingame.%player%} is not set + equip player with all leather armor of unbreaking 10 named "&fFishing Gear" + dye player's helmet (97, 158, 174) + dye player's chestplate (97, 158, 174) + dye player's leggings (97, 158, 174) + dye player's boots (97, 158, 174) + give player fishing rod of unbreaking 10 named "&fOld Faithful" + give player fish named "&fBig Fish" + give player 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" + set {ingame.%player%} to true + +on right click with fishing rod: + world is "vacant" + {kit.%player%} is "fisherman": + player's y coordinate is greater than {kitpvp.area}'s y coordinate: + send "&cYou can not do that here. Please select an Arena!" to player + stop + set {_loc} to location of player + push targeted entity in the direction of player with speed -4 + make player damage targeted entity by 2 + chance of 20%: + send "&aIts a big one!" to player + loop players in radius 5 of targeted entity: + push loop-player in the direction of player with speed -4 + make player damage loop-player by 2 + diff --git a/On Server Files/KitPVP/KitPVP/kdss.sk b/On Server Files/KitPVP/KitPVP/kdss.sk new file mode 100644 index 0000000..74ec6bc --- /dev/null +++ b/On Server Files/KitPVP/KitPVP/kdss.sk @@ -0,0 +1,370 @@ +on damage of a player: + world is "kitspawnroom": + cancel event + {spawnsafety.%victim%} is not set: + set {spawnsafety.%victim%} to now + add 6 seconds to {spawnsafety.%victim%} + set {_check} to difference between {spawnsafety.%victim%} and now + {_check} is less than 5 seconds: + cancel event + damage cause is fall: + cancel event + damage cause is drowning: + cancel event + damage cause is suffocation: + cancel event + damage cause is block explosion: + cancel event + damage cause is entity explosion: + cancel event + + + + damage cause is fire or poison or wither or lava or burning: + damage is greater than victim's health: + cancel event + nullify score of "&3%{kit.%victim%}%" in board of victim + clear {kit.%victim%} + victim has health boost: + remove health boost from victim + victim has nausea: + remove nausea from victim + victim has poison: + remove poison from victim + victim has jump: + remove jump from victim + victim has slowness: + remove slowness from victim + victim has speed: + remove speed from victim + victim has absorption: + remove absorption from victim + victim has wither: + remove wither from victim + victim has blindness: + remove blindness from victim + heal victim by 10 hearts + {deaths.%victim%.kit} is not set: + set {deaths.%victim%.kit} to 0 + add 1 to {deaths.%victim%.kit} + {lasthit.%victim%} is not set: + clear {killstreak.%victim%} + clear {kit.%victim%} + clear {ingame.%victim%} + broadcast "&e%victim%&c met their end to the environment" + teleport victim to {kit.spawn} + {lasthit.%victim%} is set: + set {_attacker} to {lasthit.%victim%} + {kills.%{_attacker}%.kit} is not set: + set {kills.%{_attacker}%.kit} to 0 + add 1 to {kills.%{_attacker}%.kit} + {killstreak.%{_attacker}%} is not set: + set {killstreak.%{_attacker}%} to 0 + add 1 to {killstreak.%{_attacker}%} + {killstreak.%{_attacker}%} is 5: + broadcast "&e%{_attacker}%&c is on a Rampage!" + set {rampage.%{_attacker}%} to true + {killstreak.%{_attacker}%} is 10: + broadcast "&e%{_attacker}%&c is Unstoppable!" + {killstreak.%{_attacker}%} is 15: + broadcast "&e%{_attacker}%&c is Annihilating!" + {killstreak.%{_attacker}%} is 20: + broadcast "&e%{_attacker}%&c is Dominating!" + {killstreak.%{_attacker}%} is 25: + broadcast "&e%{_attacker}%&c is Destroying!" + {killstreak.%{_attacker}%} is 30: + broadcast "&e%{_attacker}%&c is Scary" + {rampage.%victim%} is true: + broadcast "&e%{_attacker}%&a has ended &e%victim%'s&a rampage!" + clear {rampage.%victim%} + nullify score of "&3RAMPAGE" in board of victim + loop all entities: + {owner.zombie.%loop-entity%} is victim: + delete loop-entity + {owner.skeleton.%loop-entity%} is victim: + delete loop-entity + {assists.%victim%::*} is set: + loop {assists.%victim%::*}: + clear {_player} + {_player} is not victim + {_player} is not {_attacker} + set {_player} to loop-value parsed as player + add 1 to {assist.%{_player}%.kp} + send "&aYou assisted in the kill of &e%victim%" + + clear {ingame.%victim%} + clear {killstreak.%victim%} + clear {lashit.%victim%} + clear {assists.%victim%::*} + + teleport victim to {kit.spawn} + set {_size} to size of {deathmessages.kitpvp::*} + set {_ran} to a random integer between 1 and {_size} + set {_message} to {deathmessages.kitpvp::%{_ran}%} + replace "ATTACKER" in {_message} with "&e%{_attacker}%&c" + replace "VICTIM" in {_message} with "&e%victim%&c" + replace "WEAPON" in {_message} with "&e%name of attacker's tool%&c" + broadcast "&c%{_message}%" + + + + + attacker is a player: + victim is a player: + {hiding.%attacker%} is set: + cancel event + {kit.%attacker%} is not set: + cancel event + {kit.%victim%} is not set: + cancel event + projectile is a arrow: + {kit.%attacker%} is "archer" or "skelemancer": + distance between attacker and victim is greater than 20: + chance of 20%: + send "&aCritical Hit!" to attacker + play anvil land at victim's location with pitch 2 + play level up at attacker's location with pitch 1 + send "&cCritical Hit!" to victim + add 3 to damage + projectile is a snowball: + {kit.%attacker%} is "ninja": + apply blindness to victim for 4 seconds + send "&cYou have been blinded by &e%attacker%&c!" to victim + send "&aYou have blinded &e%victim%&a!" to attacker + {kit.%attacker%} is "melee": + apply poison to victim for 6 seconds + send "&cYou have been poisoned by &e%attacker%&c!" to victim + send "&aYou have poisoned &e%victim%&a!" to attacker + {kit.%attacker%} is "tank": + apply slowness 8 to victim for 3 seconds + apply blindness to victim for 3 seconds + teleport victim to attacker + send "&cYou have been disabled by &e%attacker%&c!" to victim + send "&aYou have disabled &e%victim%&a!" to attacker + projectile is a egg: + {kit.%attacker%} is "firemage": + apply nausea to victim for 2 seconds + apply slowness 2 to victim for 2 seconds + {kit.%victim%} is "tank": + send "&cYou can not slow the tank!" to attacker + remove slowness from victim + apply slowness 2 to victim for 999 days + stop + send "&cYou have been confused by &e%attacker%&c!" to victim + send "&aYou have confused &e%victim%&a!" to attacker + {kit.%attacker%} is "archer": + apply slowness 8 to victim for 3 seconds + {kit.%victim%} is "tank": + send "&cYou can not slow the tank!" to attacker + remove slowness from victim + apply slowness 2 to victim for 999 days + stop + send "&aYou have stunned &e%victim%&A!" to attacker + send "&cYou have been stunned by &e%attacker%&c!" to victim + + + attacker's tool is a fish: + name of attacker's tool is "&fBig Fish": + add 1 to damage + apply nausea to victim for 2 seconds + play slime attack at location of victim with pitch 1 + send "&cYou have fish slapped!" to victim + + + + {kit.%victim%} is "tank": + {kit.%attacker%} is not "tank": + set damage to damage / 4 + {kit.%attacker%} is "tank": + set damage to damage * 3 + {kit.%attacker%} is "tank": + {kit.%victim%} is not "tank": + set damage to damage / 2 + {kit.%attacker%} is "ninja": + victim's target is attacker: + victim does not have blindness + set damage to damage / 2 + victim has blindness: + set damage to damage * 1.5 + {kit.%victim%} is "fisherman": + set damage to damage / 1.5 + {kit.%victim%} is "archer": + set damage to damage * 1.5 + {kit.%attacker%} is "fisherman": + {kit.%victim%} is "ninja": + set damage to damage * 1.5 + {kit.%victim%} is "lightningmage": + set damage to damage / 1.5 + {kit.%attacker%} is "archer": + {kit.%victim%} is "ninja": + set damage to damage / 1.5 + {kit.%victim%} is "melee": + set damage to damage * 1.5 + {kit.%attacker%} is "melee": + {kit.%victim%} is "necromancer": + set damage to damage * 1.5 + {kit.%victim%} is "archer": + set damage to damage / 1.5 + {kit.%attacker%} is "necromancer": + {kit.%victim%} is "skelemancer": + set damage to damage * 1.5 + {kit.%victim%} is "melee": + set damage to damage / 1.5 + {kit.%attacker%} is "skelemancer": + {kit.%victim%} is "necromancer": + set damage to damage / 1.5 + {kit.%victim%} is "lightningmage": + set damage to damage * 1.5 + {kit.%attacker%} is "lightningmage": + {kit.%victim%} is "skelemancer": + set damage to damage / 1.5 + {kit.%victim%} is "fisherman": + set damage to damage * 1.5 + {kit.%victim%} is "firemage": + set damage to damage * 1.5 + {kit.%attacker%} is "firemage": + {kit.%victim%} is "necromancer": + set damage to damage * 1.5 + {kit.%victim%} is "lightningmage": + set damage to damage / 1.5 + {kit.%attacker%} is "tank": + + {combo.%attacker%} is set: + set {_dif} to difference between {combo.%attacker%} and now + {combo.%attacker%.track} is victim: + {_dif} is less than 1 second: + {modifier.%attacker%} is not set: + set {modifier.%attacker%} to 0 + {modifier.%attacker%} is less than 2: + add 0.25 to {modifier.%attacker%} + add {modifier.%attacker%} to damage + {_dif} is greater than or equal to 1 second: + clear {modifier.%attacker%} + set {combo.%attacker%.track} to victim + set {combo.%attacker%} to now + {combo.%attacker%.track} is not victim: + set {combo.%attacker%.track} to victim + clear {modifier.%attacker%} + set {combo.%attacker%} to now + {combo.%attacker%} is not set: + set {combo.%attacker%} to now + set {combo.%attacker%.track} to victim + + {assists.%victim%::%attacker%} is not set: + attacker is not victim + set {assist.%victim%::%attacker%} to attacker + + set {lasthit.%victim%} to attacker + + + + + + + + damage is greater than victim's health: + cancel event + {kit.%attacker%} is "melee": + apply speed 3 to attacker for 15 seconds + victim is ignited: + extinguish victim + extinguish victim + nullify score of "&3%{kit.%victim%}%" in board of victim + clear {kit.%victim%} + victim has health boost: + remove health boost from victim + victim has nausea: + remove nausea from victim + victim has poison: + remove poison from victim + victim has jump: + remove jump from victim + victim has slowness: + remove slowness from victim + victim has speed: + remove speed from victim + victim has absorption: + remove absorption from victim + victim has wither: + remove wither from victim + victim has blindness: + remove blindness from victim + extinguish victim + heal victim by 10 hearts + {deaths.%victim%.kit} is not set: + set {deaths.%victim%.kit} to 0 + add 1 to {deaths.%victim%.kit} + {kills.%attacker%.kit} is not set: + set {kills.%attacker%.kit} to 0 + add 1 to {kills.%attacker%.kit} + {killstreak.%attacker%} is not set: + set {killstreak.%attacker%} to 0 + add 1 to {killstreak.%attacker%} + {killstreak.%attacker%} is 5: + broadcast "&e%attacker%&c is on a Rampage!" + set {rampage.%attacker%} to true + {killstreak.%attacker%} is 10: + broadcast "&e%attacker%&c is Unstoppable!" + {killstreak.%attacker%} is 15: + broadcast "&e%attacker%&c is Annihilating!" + {killstreak.%attacker%} is 20: + broadcast "&e%attacker%&c is Dominating!" + {killstreak.%attacker%} is 25: + broadcast "&e%attacker%&c is Destroying!" + {killstreak.%attacker%} is 30: + broadcast "&e%attacker%&c is Scary" + {rampage.%victim%} is true: + broadcast "&e%attacker%&a has ended &e%victim%'s&a rampage!" + clear {rampage.%victim%} + nullify score of "&3RAMPAGE" in board of victim + loop all entities: + {owner.zombie.%loop-entity%} is victim: + delete loop-entity + {owner.skeleton.%loop-entity%} is victim: + delete loop-entity + {assists.%victim%::*} is set: + loop {assists.%victim%::*}: + clear {_player} + set {_player} to loop-value parsed as a player + send "&aYou assisted on the kill of &e%victim%" to {_player} + {assist.%{_player}%.kp} is not set: + set {assist.%{_player}%.kp} to 0 + add 1 to {assist.%{_player}%.kp} + + clear {ingame.%victim%} + clear {killstreak.%victim%} + clear {assists.%victim%::*} + + teleport victim to {kit.spawn} + set {_size} to size of {deathmessages.kitpvp::*} + set {_ran} to a random integer between 1 and {_size} + set {_message} to {deathmessages.kitpvp::%{_ran}%} + replace "ATTACKER" in {_message} with "&e%attacker%&c" + replace "VICTIM" in {_message} with "&e%victim%&c" + replace "WEAPON" in {_message} with "&e%name of attacker's tool%&c" + broadcast "&c%{_message}%" + +every 1 second: + loop all players: + loop-player is sneaking: + level progress of loop-player is greater than 0.1: + {kit.%loop-player%} is "ninja" + hide loop-player from all players + set {hiding.%loop-player%} to true + spawn 50 of large smoke data 1 offset with 0, 0, 0 at location of loop-player + spawn 50 of angry villager data 1 offset with 0, 0, 0 at location of loop-player + reduce the loop-player's level progress by 0.1 + level progress of loop-player is less than 0.1: + reveal loop-player to all players + clear {hiding.%loop-player%} + + loop-player is not sneaking: + {hiding.%loop-player%} is set + reveal loop-player to all players + clear {hiding.%loop-player%} + +on death of a player: + clear {kit.%player%} + +on respawn: + teleport player to {kit.spawn} \ No newline at end of file diff --git a/On Server Files/KitPVP/KitPVP/kitpvp.sk b/On Server Files/KitPVP/KitPVP/kitpvp.sk new file mode 100644 index 0000000..fa7ecdb --- /dev/null +++ b/On Server Files/KitPVP/KitPVP/kitpvp.sk @@ -0,0 +1,383 @@ +options: + #startfold @class-chest-stuff + ninjakit: i;leather cap;n;&9&lNinja;l;&7Click to pick the||&eNinja&7 Class|| ||&5Kit Info:||&7You are a ninja with||&7a stone sword. Turn||&7Invisible by holding shift||&7But watch your mana it||&7it is not unlimited!|| ||%{dis.%player%.1}%;c;sudo %player% kits ninja + archerkit: i;bow;n;&9&lArcher;l;&7Click to pick the||&eArcher&7 Class|| ||&5Kit Info:||&7You are an archer||&7with a Punch I bow||&7Keep your distance to||&7to get critical hits!;c;sudo %player% kits archer + meleekit: i;iron helmet;n;&9Melee;l;&7Click to pick the||&eMelee&7 Class|| ||&5Kit Info:||&7Ultimate in up close||&7combat. An iron sword||&7Unrivaled by any other||&7close combat kit;c;sudo %player% kits melee + firemagekit: i;fire charge;n;&9Fire Mage;n;&9&lFire Mage;l;&7Click to pick the||&eFire Mage&7 Class|| ||&5Kit Info:||&7The firemage tosses fireballs||&7at their opponents||&7wreaking havoc with||&7explosions and fire|| ||%{dis.%player%.1}%;c;sudo %player% kits firemage + lightningmagekit: i;nether star;n;&9Lightning Mage;l;&7Click to pick the||&eLightning Mage&7 class|| ||&5Kit Info:||&7Using the power of||&7Lightning, this kit||&7causes large group damage||&7and harnesses the power||&7to teleport;c;sudo %player% kits lightningmage + tankkit: i;gold chestplate;n;&9&lTank;l;&7Click to pick the||&eTank&7 class|| ||&5Kit Info:||&7The tank shows no||&7Weakness, its armor||&7pure, and its paddle||&7heavy, it guarantees||&7longer lives, but fewer||&7kills;c;sudo %player% kits tank + necrokit: i;bone;n;&9&lNecromancer;l;&7Click to pick the ||&eNecromancer&7 class|| ||&5Kit Info:||&7The Necro summons the||&7Dead from beyond to||&7assist in their domination||&7Summoning requires only||&7a little bit of mana||&7and a few drops of your||&7own blood|| ||%{dis.%player%.1}%;c;sudo %player% kits necromancer + fishermankit: i;fish;n;&9&lFisherman;l;&7Click to pick the||&eFisherman&7 class|| ||&5Kit Info:||&7The legendary fisherman||&7Relies on his trusty||&7Big Fish to deal the||&7Blows, and his Rod||&7Old Faithful, to bring||&7the enemy closer.;c;sudo %player% kits fisherman + something: i;wood hoe;n;&9&lSomething;c;sudo %player% kits something + skelemancerkit: i;wither skeleton head;n;&9&lSkele-Mancer;l;&7Click to pick the||&eSkele-Mancer&7 class|| ||&5Kit Info||&7Skelemancers take summoning||&7to a new level with||&7long range combat.||&7Fleshing the field with||&7Skeletons of fallen||&7Opponents, and trusty||&7Bow, with chances for||&7Critical hits at long||&7Range.;c;sudo %player% kits skelemancer + supporterstuff: i;diamond block;n;&9&lMore Kits for Supporters!;l;&7Purchase a Supporter membership||&7To get even more fun||&7kits from &9OBAM&7! + #endfold + #startfold @arena-chest-stuff + killingfieldarena: i;long grass;n;&9&lKilling Fields;l;&7Click to join the||&eKilling Fields&7 arena;c;spawnplayer %player% killingfields + vacantarena: i;glass bottle;n;&9&lVacant;l;&7Click to join||&eVacant&7 arena;c;spawnplayer %player% vacant + showdownarena: i;dead shrub;n;&9&lShowdown;l;&7Click to join||&eShowdown&7 arena;c;spawnplayer %player% showdown + #endfold +#kits + + +variables: + {safety.%player%} = 0 + +on first join: + wait 1 second + teleport player to {kit.spawn} + +on join: + clear {kit.%player%} + clear {ingame.%player%} + clear {board.up.%player%.kp} + teleport player to {kit.spawn} + +on connect: + teleport player to {kit.spawn} + +on disconnect: + clear {kit.%player%} + clear {ingame.%player%} + +command /arena: + trigger: + world is "kitspawnroom": + + {kit.%player%} is not set: + send "&cPlease choose a kit first!" to player + stop + + send "&aOpening menu..." + wait 0.3 seconds + show "s;3;{@vacantarena}" with 1 row named "&9&lOBAM&9 :: Arenas" to player +command /kits []: + + executable by: players and console + trigger: + world is "kitspawnroom" + argument is not set: + + set {dis.%player%.1} to "&eUse this kit for &a25 &eTickets" + show "s;11;{@ninjakit};s;12;{@archerkit};s;13;{@meleekit};s;14;{@firemagekit};s;15;{@lightningmagekit};s;16;{@tankkit};s;17;{@necrokit};s;23;{@fishermankit};s;24;{@skelemancerkit}" with 4 rows named "&9&lOBAM &9:: Kits" to player + {kit.%player%} is set: + send "&cYou already have a kit D:" to player + stop + + set {_arena.run} to true + + argument is "archer": + send "&aYou have picked the &eArcher&a Kit" + set {kit.%player%} to "archer" + + + argument is "ninja": + set {_bal} to player's balance + {_bal} is less than 25: + send "&cYou do not have enough tickets for this!" + stop + remove 25 from player's balance + send "&aYou have purchased the &eNinja&a kit for &e25 Tickets&a!" + send "&aYour current balance is &e%player's balance%" + send "&aYou have picked the &eNinja&a kit!" + set {kit.%player%} to "ninja" + set {ninja.poof.%player%} to true + + argument is "melee": + send "&aYou have picked the &eMelee&a kit" + set {kit.%player%} to "melee" + + argument is "firemage": + set {_bal} to player's balance + {_bal} is less than 25: + send "&cYou do not have enough tickets for this!" + stop + remove 25 from player's balance + send "&aYou have purchased the &eFiremage&a kit for &e25 Tickets&a!" + send "&aYour current balance is &e%player's balance%" + send "&aYou have picked the &eFiremage&a kit!" + set {kit.%player%} to "firemage" + + argument is "tank": + send "&aYou have picked the &eTank&a kit!" + set {kit.%player%} to "tank" + + + argument is "lightningmage": + send "&aYou have picked the &eLightning Mage&a kit!" + set {kit.%player%} to "lightningmage" + + argument is "necromancer": + + set {_bal} to player's balance + {_bal} is less than 25: + send "&cYou do not have enough tickets for this!" + stop + remove 25 from player's balance + send "&aYou have purchased the &eNecromancere&a kit for &e25 Tickets&a!" + send "&aYour current balance is &e%player's balance%" + send "&aYou have picked the &eNecromancer&a kit!" + set {kit.%player%} to "necromancer" + + + argument is "fisherman": + send "&aYou have picked the &eFisherman&a kit!" + set {kit.%player%} to "fisherman" + + argument is "skelemancer": + send "&aYou have picked the &eSkelemancer&a kit!" + set {kit.%player%} to "skelemancer" + + {_arena.run} is true: + send "&aOpening Arena Menu...." to player + wait 1 second + make player execute command "/arena" + +on teleport: + world is "vacant" + {ingame.%player%} is not set + set {spawnsafety.%player%} to now + clear player's inventory + player is on fire: + extinguish player + player has poison: + remove poison from player + player has wither: + remove wither from player + player has health boost: + remove health boost from player + player has jump: + remove jump from player + player has speed: + remove speed from player + player has absorption: + remove absorption from player + player has blindness: + remove blindness from player + player has slowness: + remove slowness from player + player has nausea: + remove nausea from player + +on right click with mushroom soup: + cancel event + player's health is 10: + send "&aYou already have full health!" to player + clear {assits.%player%::*} + stop + remove mushroom soup from player + give player bowl + + add 5 to player's health + +on quit: + player has poison: + remove poison from player + player has wither: + remove wither from player + player has health boost: + remove health boost from player + player has jump: + remove jump from player + player has speed: + remove speed from player + player has absorption: + remove absorption from player + player has blindness: + remove blindness from player + player has slowness: + remove slowness from player + player has nausea: + remove nausea from player + clear {ingame.%player%} + clear {kit.%player%} + clear {killstreak.%player%} +on explode: + cancel event + + + +on xp spawn: + cancel event + + +on damage of a player: + damage cause is suffocation: + cancel event + +every 2 seconds: + + loop all players: + loop-player's world is not "kitspawnroom" + {kit.%loop-player%} is "firemage" or "lightningmage" or "necromancer" or "skelemancer" or "fisherman" or "ninja": + level progress of loop-player is less than 0.9: + increase loop-player's level progress by 0.05 + else: + set loop-player's level progress to 0.99 + + +on respawn: + teleport player to {kit.spawn} + +on death of a player: + victim is a player: + clear drops + teleport victim to {kit.spawn} + clear {last.attacker.%victim%} + clear {kit.%victim%} + clear {ninja.poof.%victim%} + victim has jump: + remove jump from victim + victim has blindness: + remove blindness from victim + victim has health boost: + remove health boost from victim + victim has speed: + remove speed from victim + victim has slowness: + remove slowness from victim + victim has wither: + remove wither from victim + victim has absorption: + remove absorption from victim + victim has poison: + remove poison from victim + clear {killstreak.%victim%} + {last.attacker.%victim%} is not set: + message "&cThe environment got the best of &e%victim%" to all players in victim's world + {last.attacker.%victim%} is set: + set {_size} to size of {deathmessages.kitpvp::*} + set {_temp} to random integer between 1 and {_size} + message "&e%{last.attacker.%victim%}% &chas %{deathmessages.kitpvp::%{_temp}%}% &e%victim% &cwith &b%uncoloured name of {last.attacker.%victim%}'s tool%" to all players in {last.attacker.%victim%}'s world + {last.attacker.%victim%} is not victim: + send "&aYou claim a bounty of &e%{value.%victim%.kit.live}% tickets &afrom &e%victim%" to {last.attacker.%victim%} + add {value.%victim%.kit.live} to {last.attacker.%victim%}'s balance + set {_size2} to size of {assists.%victim%::*} + {_size2} is greater than 1: + loop {assists.%victim%::*}: + {assists.%victim%::%loop-index%} is not {last.attacker.%victim%}: + set {_player} to {assists.%victim%::%loop-index%} + send "&aYou assisted in the death of &e%victim%" to {_player} + send "&aYou split the bounty &e%{_size2}% &aways with others. Your cut is &e%rounded {value.%victim%.kit.live} / {_size2}% &etickets" to {_player} + {assist.%{_player}%.kp} is not set: + set {assist.%{_player}%.kp} to 0 + add 1 to {assist.%{_player}%.kp} + set {_cut} to {value.%victim%.kit.live} / {_size2} + add rounded {_cut} to {_player}'s balance + + + + + + clear drops + set {kitpvp.dead.%player%} to false + +on target: + {kit.%target player%} is not set: + cancel event + {owner.skeleton.%event-entity%} is target player: + cancel event + {owner.zombie.%event-entity%} is target player: + cancel event + +every 1 second: + loop all players: + set loop-player's hunger level to 10 + + + +on drop: + cancel event + + + + +command /dm []: + permission: obam.admin + trigger: + argument 1 is "list": + loop {deathmessages.kitpvp::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + send "%{_count}%..%loop-value%" + stop + argument 1 is "delete": + delete {deathmessages.kitpvp::%argument 2%} + send "&cDeleted.." + stop + send "&aYou have added &e%argument 1%&a to the death message list!" + add argument 1 to {deathmessages.kitpvp::*} + + +command /clearkit : + executable by: console + trigger: + clear {kit.%player-argument%} + player-argument has poison: + remove poison from player-argument + player-argument has wither: + remove wither from player-argument + player-argument has speed: + remove speed from player-argument + player-argument has slowness: + remove slowness from player-argument + player-argument has health boost: + remove health boost from player-argument + player-argument has absorption: + remove absorption from player-argument + player-argument has jump: + remove jump from player-argument + clear {ninja.poof.%player-argument%} + clear player-argument's inventory + +command /revive : + executable by: console or players + permission: obam.admin.kp + trigger: + set {kitpvp.dead.%player-argument%} to false + +command /mapset : + permission: obam.smod + trigger: + send "&aYou have added a spawn point for '&e%argument%&a'" to player + add location of player to {map.%argument%.spawns::*} + + + +command /spawnplayer : + executable by: console + trigger: + set {_size} to size of {map.%argument 2%.spawns::*} + set {_tmp} to random integer between 1 and {_size} + teleport player-argument to {map.%argument 2%.spawns::%{_tmp}%} + +command /clearspawn : + permission: obam.admin.kp + trigger: + clear {map.%argument%.spawns::*} + + + +every 1 second: + loop all players: + set {value.%loop-player%.kit} to {kills.%loop-player%.kit} * {killstreak.%loop-player%} + set {value.%loop-player%.kit} to {value.%loop-player%.kit} / {deaths.%loop-player%.kit} + set {value.%loop-player%.kit} to {value.%loop-player%.kit} + 10 + {value.%loop-player%.kit} is greater than 100: + set {value.%loop-player%.kit} to 100 + {value.%loop-player%.kit} is less than 1: + set {value.%loop-player%.kit} to 1 + set {value.%loop-player%.kit.live} to rounded {value.%loop-player%.kit} + +command /spawnset: + permission: obam.smod + trigger: + set {kit.spawn} to player's location + +command /sudo : + permission: obam.admin + trigger: + make player-argument execute command argument 2 + + \ No newline at end of file diff --git a/On Server Files/KitPVP/KitPVP/lightningmage.sk b/On Server Files/KitPVP/KitPVP/lightningmage.sk new file mode 100644 index 0000000..c49284a --- /dev/null +++ b/On Server Files/KitPVP/KitPVP/lightningmage.sk @@ -0,0 +1,50 @@ +on teleport: + wait 3 ticks + player's world is "vacant" + + + + {kit.%player%} is "lightningmage": + {ingame.%player%} is not set + equip player with all leather armor of unbreaking 10 named "&fLightning Mage's Robes" + dye player's helmet (7, 247, 239) + dye player's chestplate (7, 247, 239) + dye player's leggings (7, 247, 239) + dye player's boots (7, 247, 239) + give player stick of knockback 1 named "&fLightning Wand" + give player 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" + give player 3 splash potions of harming named "&fPain Juice" + apply jump 1 to player for 999 days + set player's level progress to 0.99 + set {ingame.%player%} to true + +on right click with stick: + cancel event + {kit.%player%} is "lightningmage": + player's tool is a stick named "&fLightning Wand" + level progress of player is greater than or equal to 0.1: + strike lightning effect at targeted block + reduce the player's level progress by 0.1 + loop entities in radius 5 of targeted block: + loop-entity is not a player: + make player damage loop-entity by 6 + {kit.%loop-entity%} is set: + create safe explosion of force 2 at location of loop-entity + push loop-entity up with force 1 + make player damage loop-entity by 6 + apply wither to loop-entity for 3 seconds + strike lightning effect at location of loop-entity + +on left click with stick: + cancel event + {kit.%player%} is "lightningmage": + level progress of player is greater than or equal to 0.5: + targeted block is air or glass: + send "&cYou can not go there!" to player + stop + the distance between targeted block and player is less than or equal to 30: + teleport player to block above targeted block + + reduce the player's level progress by 0.5 + stop + send "&cThat is too far!" to player \ No newline at end of file diff --git a/On Server Files/KitPVP/KitPVP/melee.sk b/On Server Files/KitPVP/KitPVP/melee.sk new file mode 100644 index 0000000..e259753 --- /dev/null +++ b/On Server Files/KitPVP/KitPVP/melee.sk @@ -0,0 +1,19 @@ +on teleport: + wait 3 ticks + player's world is "vacant" + + + + {kit.%player%} is "melee": + {ingame.%player%} is not set + clear player's inventory + equip player with all leather armor of unbreaking 10 named "&fMelee Greaves" + dye player's helmet (172, 172, 172) + dye player's chestplate (172, 172, 172) + dye player's leggings (172, 172, 172) + dye player's boots (172, 172, 172) + give player iron sword named "&fBlade of Justice &b[Sharpness I]" + give 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" to player + give 2 snowball named "&fPoison Pills" to player + set {ingame.%player%} to true + diff --git a/On Server Files/KitPVP/KitPVP/necromancer.sk b/On Server Files/KitPVP/KitPVP/necromancer.sk new file mode 100644 index 0000000..419655f --- /dev/null +++ b/On Server Files/KitPVP/KitPVP/necromancer.sk @@ -0,0 +1,82 @@ +on teleport: + wait 3 ticks + player's world is "vacant" + + + {kit.%player%} is "necromancer": + {ingame.%player%} is not set + equip player with all leather armor of unbreaking 10 named "&fNecromancer's Robes" + dye player's helmet (0, 159, 37) + dye player's chestplate (0, 159, 37) + dye player's leggings (0, 159, 37) + dye player's boots (0, 159, 37) + give player blaze rod of knockback 1 named "&fSummoning Rod" + give player stone sword of knockback 1 named "&fSummoner's Trust" + give player 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" + apply speed 1 to player for 999 days + set player's level progress to 0.99 + set {ingame.%player%} to true + +on right click with blaze rod: + {kit.%player%} is "necromancer": + targeted block is glass: + stop + level progress of player is greater than or equal to 0.3: + {zombie.%player%.active} is greater than or equal to 5: + send "&cYou have too many zombies!" to player + stop + spawn a zombie at block above targeted block + set {_zombie.%player%} to spawned zombie + equip {_zombie.%player%} with leather helmet + set name of spawned zombie to "&cNecroSpawn" + make player damage player by 2 + + apply speed 3 to spawned zombie for 999 days + send "&aYou Summon the dead!" to player + set {owner.zombie.%spawned zombie%} to player + {zombie.%player%.active} is not set: + set {zombie.%player%.active} to 0 + add 1 to {zombie.%player%.active} + reduce player's level progress by 0.3 + +on left click with blaze rod: + {kit.%player%} is "necromancer": + + {zombie.%player%.active} is not set: + send "&cYou have no zombies out!" to player + stop + {zombie.%player%.active} is 0: + send "&cYou have no zombies out!" to player + stop + level progress of player is greater than or equal to {zombie.%player%.active} / 10: + loop all zombies: + {owner.zombie.%loop-entity%} is player: + delete loop-entity + make player damage player by {zombie.%player%.active} + reduce player's level progress by {zombie.%player%.active} / 10 + clear {zombie.%player%.active} + send "&aYou call back the dead!" to player + +on damage of a player: + attacker is a zombie: + cancel event + set {_player} to {owner.zombie.%attacker%} + make {_player} damage victim by 2 + +on death of a zombie: + clear drops + +on damage of a zombie: + {kit.%attacker%} is not set: + send "&cYou can not do that!" to attacker + cancel event + stop + + damage is greater than victim's health + cancel event + set {_player} to {owner.zombie.%victim%} + make attacker damage {_player} by 2 + send "&c%attacker% has slain your spawn!" to {_player} + send "&a%{_player}%'s spawn has died to your hand." to attacker + subtract 1 from {zombie.%{_player}%.active} + delete victim \ No newline at end of file diff --git a/On Server Files/KitPVP/KitPVP/ninja.sk b/On Server Files/KitPVP/KitPVP/ninja.sk new file mode 100644 index 0000000..224d0d4 --- /dev/null +++ b/On Server Files/KitPVP/KitPVP/ninja.sk @@ -0,0 +1,32 @@ +on teleport: + wait 3 ticks + player's world is "vacant" + + + {kit.%player%} is "ninja": + {ingame.%player%} is not set + apply speed 3 to player for 999 days + equip player with all leather armor of unbreaking 10 named "&fNinja Cloaks" + dye player's helmet (0, 0, 0) + dye player's chestplate (0, 0, 0) + dye player's leggings (0, 0, 0) + dye player's boots (0, 0, 0) + apply jump 2 to player for 999 days + apply absorption 3 to player for 999 days + give stone sword of unbreaking 10 named "&fSharp Knife" to player + give 3 snowball named "&fBlindness Balls" to player + give 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" to player + give potion of poison named "&fJump Potion" to player + set {ingame.%player%} to true + +on consume: + item is potion of poison named "&fJump Potion": + cancel event + remove potion of poison from player + give glass bottle named "&fEmpty Jump Potion Bottle" to player + remove jump from player + apply jump 5 to player for 10 seconds + wait 10 seconds + remove jump from player + apply jump 2 to player for 999 days + diff --git a/On Server Files/KitPVP/KitPVP/skelemancer.sk b/On Server Files/KitPVP/KitPVP/skelemancer.sk new file mode 100644 index 0000000..b863a7a --- /dev/null +++ b/On Server Files/KitPVP/KitPVP/skelemancer.sk @@ -0,0 +1,93 @@ +on teleport: + wait 3 ticks + player's world is "vacant" + + + {kit.%player%} is "skelemancer": + {ingame.%player%} is not set + equip player with all leather armor of unbreaking 10 named "&fSkelemancer's Robes" + dye player's helmet (124, 2, 205) + dye player's chestplate (124, 2, 205) + dye player's leggings (124, 2, 205) + dye player's boots (124, 2, 205) + give player bone of knockback 1 named "&fSummoning Bone" with lore "&aInstructions:|| ||&5Right Click:||&3Summon a mob at||&3targeted location|| ||&5Left Click:||&3Call back your summoned||&3Mobs." + give player bow of infinity 1 and punch 1 named "&fSummoner's Sidekick" + give player 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" + give player 1 arrow + apply speed 1 to player for 999 days + set player's level progress to 0.99 + set {ingame.%player%} to true + +on right click with a bone: + {kit.%player%} is "skelemancer": + targeted block is glass: + cancel event + level progress of player is greater than or equal to 0.3: + {skeleton.%player%.active} is greater than or equal to 5: + send "&cYou have too many Skeletons!" to player + stop + spawn a wither skeleton at block above targeted block + set {_skeleton.%player%} to spawned wither skeleton + equip {_skeleton.%player%} with leather helmet + set {_skeleton.%player%}'s tool to stone sword + set name of spawned wither skeleton to "&cNecroSpawn" + set {_loc} to block 20 meters above player + spawn 1 of large explode data 1 offset with 0, 0, 0 at {_loc} + make player damage player by 2 + + apply speed 3 to spawned wither skeleton for 999 days + send "&aYou Summon the dead!" to player + set {owner.skeleton.%spawned wither skeleton%} to player + {skeleton.%player%.active} is not set: + set {skeleton.%player%.active} to 0 + add 1 to {skeleton.%player%.active} + reduce player's level progress by 0.3 + +on left click with bone: + + {kit.%player%} is "skelemancer": + {skeleton.%player%.active} is not set: + send "&cYou have no Skeletons out!" to player + stop + {skeleton.%player%.active} is 0: + send "&cYou have no Skeletons out!" to player + stop + level progress of player is greater than or equal to {skeleton.%player%.active} / 10: + loop all wither skeletons: + {owner.skeleton.%loop-entity%} is player: + delete loop-entity + make player damage player by {skeleton.%player%.active} + reduce player's level progress by {skeleton.%player%.active} / 10 + clear {skeleton.%player%.active} + send "&aYou call back the dead!" to player + + + +on damage of a player: + attacker is a wither skeleton: + cancel event + set {_player} to {owner.skeleton.%attacker%} + + {kit.%victim%} is not set: + stop + {kit.%{_player}%} is not set: + stop + make {_player} damage victim by 2 + +on death of a wither skeleton: + clear drops + + +on damage of a wither skeleton: + {kit.%attacker%} is not set: + send "&cYou can not do that!" to attacker + cancel event + stop + damage is greater than victim's health + cancel event + set {_player} to {owner.skeleton.%victim%} + make attacker damage {_player} by 2 + send "&c%attacker% has slain your spawn!" to {_player} + subtract 1 from {skeleton.%{_player}%.active} + send "&a%{_player}%'s spawn has died to your hand." to attacker + delete victim \ No newline at end of file diff --git a/On Server Files/KitPVP/KitPVP/tank.sk b/On Server Files/KitPVP/KitPVP/tank.sk new file mode 100644 index 0000000..e06ea66 --- /dev/null +++ b/On Server Files/KitPVP/KitPVP/tank.sk @@ -0,0 +1,22 @@ +on teleport: + wait 3 ticks + player's world is "vacant" + + + + {kit.%player%} is "tank": + {ingame.%player%} is not set + clear player's inventory + equip player with all leather armor of unbreaking 10 named "&fArmor of Density" + dye player's helmet (255, 255, 0) + dye player's chestplate (255, 255, 0) + dye player's leggings (255, 255, 0) + dye player's boots (255, 255, 0) + give player wood shovel of knockback 1 and unbreaking 10 named "&fTank's Paddle" + give player 5 mushroom soup named "&fMushroom Soup &c[+5 ❤]" + apply slowness 1 to player for 999 days + apply health boost 3 to player for 999 days + give player 5 snowballs named "&fDisabling Bombs" + heal player by 10 hearts + set {ingame.%player%} to true + diff --git a/On Server Files/KitPVP/Perk/hats.g.sk b/On Server Files/KitPVP/Perk/hats.g.sk new file mode 100644 index 0000000..623f92d --- /dev/null +++ b/On Server Files/KitPVP/Perk/hats.g.sk @@ -0,0 +1,136 @@ +on script load: + delete {db_perk.hats::*} + set {db_perk.hats::01.dirt} to "dirt;&3&lDirt Hat;&6Carefully woven together from the finest dirt||&6in all of &3OBAM!;sudo PLAYER hat dirt" + set {db_perk.hats::02.beta} to "iron pressure plate;&3&lBeta Supporter Hat;&6This Special hat is for all members who supported||&6during our beta period and is a thank you from the||&3OBAM &6Staff for those that helped us when we were||&6starting. THANK YOU!;sudo PLAYER hat beta;&6This Special hat is for all members who supported||&6during our beta period and is a thank you from the||&3OBAM &6Staff for those that helped us when we were||&6starting. THANK YOU!|| ||&cThis hat is only available to our Beta Supporters.;sudo PLAYER hat error" + set {db_perk.hats::03.quartz} to "quartz block;&3&lQuartz Hat;&6This hat is crafted from the smoothest quartz||&6found in the hottest part of the Nether!;sudo PLAYER hat quartz;&6This hat is crafted from the smoothest quartz||&6found in the hottest part of the Nether!|| ||&cThis hat is only available to our Supporters.;sudo PLAYER hat error" + set {db_perk.hats::04.cactus} to "cactus;&3&lPrickly Hat;&6Wear this hat when you're feeling a bit....Prickly!;sudo PLAYER hat cactus;&6Wear this hat when you're feeling a bit....Prickly!|| ||&cThis hat must be purchased from the OBAMCraft shop.|| ||&eUse &f/buy &ein the hub to purchase the &3Prickly Hat|| ||&ePrice: &a$2.00;sudo PLAYER hat error" + +command /hatmenu []: + trigger: + loop {db_perk.hats::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHat Rack" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.hats::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "02.beta": + player does not have permission "obam.beta.hat": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.quartz": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.cactus": + {db_purchase.cactus.%uuid of player%} is not set: + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /hat []: + trigger: + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hat Rack." + stop + argument 1 is "error": + message "&cThis hat is not available to you." + stop + argument 1 is "dirt": + set {_hat} to dirt + argument 1 is "beta": + player has permission "obam.beta.hat": + set {_hat} to iron pressure plate + argument 1 is "quartz": + player has permission "obam.supporter": + set {_hat} to quartz block + argument 1 is "cactus": + {db_purchase.cactus.%uuid of player%} is true: + set {_hat} to cactus + player has permission "obam.smod": + set {_hat} to cactus + send "&aYou now have a hat :D" to player + name of player's helmet is "hat": + set player's helmet to {_hat} + set name of player's helmet to "hat" + stop + player doesn't have space for player's helmet: + send "&cYour inventory is full :(" to player + stop + give player's helmet to player + set player's helmet to {_hat} + set name of player's helmet to "hat" + +command /hatadd : + permission: obam.admin + trigger: + add arg 1 to {hat.items.list::*} + +command /hatshow: + permission: obam.admin + trigger: + loop {hat.items.list::*}: + send "%loop-value%" to player + +every 0.3 seconds: + loop all players: + loop-player has anything named "hat": + remove anything named "hat" from loop-player + send "&cWhy did you have a hat in your pocket?" to loop-player + +on drop: + name of event-item is "hat": + cancel event + +on place: + name of player's tool is "hat": + cancel event + +command /hattoggle: + permission: obam.mod + trigger: + {hat.off.%player%} is not set: + set {hat.off.%player%} to true + send "&aYou have turned off your hat" to player + stop + {hat.off.%player%} is false: + set {hat.off.%player%} to true + send "&aYou have turned off your hat" to player + stop + {hat.off.%player%} is true: + set {hat.off.%player%} to false + send "&aYou have turned on your hat" to player + stop + +#staff hats constant +every 1 second: + loop all players: + set {_bypass} to false + {hat.off.%loop-player%} is true: + set {_bypass} to true + {_bypass} is false: + loop-player is "ISMOOCH": + set loop-player's helmet to command block named "&d&lSmooch's Sassy Hat" + loop-player is "Electric_Hamster": + set loop-player's helmet to sponge named "&b&lThe Hamster Hat" \ No newline at end of file diff --git a/On Server Files/KitPVP/Perk/hitsounds.g.sk b/On Server Files/KitPVP/Perk/hitsounds.g.sk new file mode 100644 index 0000000..f38632f --- /dev/null +++ b/On Server Files/KitPVP/Perk/hitsounds.g.sk @@ -0,0 +1,336 @@ +on script load: + delete {db_perk.hit.class::*} + delete {db_perk.hit.hand::*} + delete {db_perk.hit.sword::*} + delete {db_perk.hit.axe::*} + delete {db_perk.hit.pickaxe::*} + delete {db_perk.hit.bow::*} + delete {db_perk.hit.rod::*} + + set {db_perk.hit.class::01.hand} to "stone button;&3Punch Sounds;&6Click to modify the sound you make when you||&6attack with your fists.;sudo PLAYER hitmenuchange hand;&6Click to modify the sound you make when you||&6attack with your fists.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::02.sword} to "iron sword;&3Sword Sounds;&6Click to modify the sound you make when you||&6attack with a sword.;sudo PLAYER hitmenuchange sword;&6Click to modify the sound you make when you||&6attack with a sword.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::03.axe} to "iron axe;&3Axe Sounds;&6Click to modify the sound you make when you||&6attack with an axe.;sudo PLAYER hitmenuchange axe;&6Click to modify the sound you make when you||&6attack with an axe.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::04.pickaxe} to "iron pickaxe;&3Pickaxe Sounds;&6Click to modify the sound you make when you||&6attack with a pickaxe.;sudo PLAYER hitmenuchange pickaxe;&6Click to modify the sound you make when you||&6attack with a pickaxe.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::05.bow} to "bow;&3Bow Sounds;&6Click to modify the sound you make when you||&6attack with a bow.;sudo PLAYER hitmenuchange bow;&6Click to modify the sound you make when you||&6attack with a bow.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::06.rod} to "fishing rod;&3Fishing Rod Sounds;&6Click to modify the sound you make when you||&6attack with a fishing rod.;sudo PLAYER hitmenuchange rod;&6Click to modify the sound you make when you||&6attack with a fishing rod.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::07.air} to "air" + set {db_perk.hit.class::08.air} to "air" + set {db_perk.hit.class::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your player.;sudo PLAYER hitsoundclear PLAYER" + + set {db_perk.hit.hand::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound hand note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound hand arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound hand anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound hand chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound hand click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound hand level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound hand villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::08.air} to "air" + set {db_perk.hit.hand::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound hand clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + + set {db_perk.hit.sword::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound sword note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound sword arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound sword anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound sword chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound sword click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound sword level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound sword villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::08.air} to "air" + set {db_perk.hit.sword::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound sword clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + + set {db_perk.hit.axe::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound axe note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound axe arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound axe anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound axe chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound axe click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound axe level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound axe villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::08.air} to "air" + set {db_perk.hit.axe::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound axe clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + + set {db_perk.hit.pickaxe::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound pickaxe note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound pickaxe arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound pickaxe anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound pickaxe chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound pickaxe click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound pickaxe level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound pickaxe villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::08.air} to "air" + set {db_perk.hit.pickaxe::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound pickaxe clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + + set {db_perk.hit.bow::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound bow note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound bow arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound bow anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound bow chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound bow click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound bow level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound bow villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::08.air} to "air" + set {db_perk.hit.bow::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound bow clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + + set {db_perk.hit.rod::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound rod note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound rod arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound rod anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound rod chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound rod click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound rod level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound rod villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::08.air} to "air" + set {db_perk.hit.rod::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound rod clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + +command /hitclassmenu: + trigger: + loop {db_perk.hit.class::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHit Sound Classes" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.hit.class::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.hand": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.sword": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.axe": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.pickaxe": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.bow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.rod": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /hitmenuchange []: + trigger: + argument 1 is set: + send "&aBringing up menu..." + wait 0.5 seconds + make player execute command "/hitmenu %argument 1%" + +command /hitmenu []: + trigger: + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hit Menu." + stop + argument 1 is "error": + message "&cThis hit class is not available to you." + stop + set {_type} to argument 1 + loop {db_perk.hit.%{_type}%::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHit Sound Classes" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.hit.%{_type}%::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.note": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.arrow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.anvil": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.chest": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.click": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.level": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "07.villager": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "08.clear": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + set {_thing1} to loop-index parsed as text + set {_thing2::*} to {_thing1} split at "." + set {_slot} to {_thing2::1} parsed as an integer + set {_slot} to {_slot} - 1 + format slot {_slot} of player with {_what} to be unstealable + format slot {_slot} of player with {_what} to close then run {_command} + +command /hitsound [] []: + trigger: + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hit Menu." + stop + argument 2 is "error": + message "&cThis hit sound is not available to you." + stop + set {_what} to argument 1 + set {_sound} to argument 2 + argument 2 is "clear": + clear {hit.%{_what}%.%player%} + send "&aAttack sounds cleared!" + stop + set {hit.%{_what}%.%player%} to "%{_sound}%" + send "&aAttack sound set to &e%{_sound}%!" + +on damage: + {hit.%attacker%} is set: + delete {hit.%attacker%} + attacker's tool is air: + set {_what} to "hand" + attacker's tool is a sword: + set {_what} to "sword" + attacker's tool is an axe: + set {_what} to "axe" + attacker's tool is a pickaxe: + set {_what} to "pickaxe" + attacker's tool is a bow: + set {_what} to "bow" + attacker's tool is a fishing rod: + set {_what} to "rod" + {hit.%{_what}%.%attacker%} is set: + {hit.%{_what}%.%attacker%} is "note": + chance of 14%: + play note bass at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 16%: + play note piano at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 20%: + play note bass drum at location of attacker with pitch 1 + set {_play} to true + chance of 25%: + play note sticks at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 33%: + play note bass guitar at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play note snare drum at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play note pling at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "arrow": + chance of 50%: + play shoot arrow at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play arrow hit at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "chest": + chance of 50%: + play chest close at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play chest close at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "anvil": + chance of 33%: + play anvil break at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play anvil land at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play anvil use at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "click": + play click at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "level": + chance of 50%: + play level up at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play orb pickup at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "villager": + chance of 16%: + play villager yes at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 20%: + play villager no at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 25%: + play villager death at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 33%: + play villager haggle at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play villager idle at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play villager hit at location of attacker with pitch 1 + +command /hitsoundclear : + trigger: + delete {hit.hand.%argument 1%} + delete {hit.sword.%argument 1%} + delete {hit.axe.%argument 1%} + delete {hit.pickaxe.%argument 1%} + delete {hit.bow.%argument 1%} + delete {hit.rod.%argument 1%} + message "&2All of your hit sounds have been cleared." \ No newline at end of file diff --git a/On Server Files/KitPVP/Perk/otam.g.sk b/On Server Files/KitPVP/Perk/otam.g.sk new file mode 100644 index 0000000..1480de2 --- /dev/null +++ b/On Server Files/KitPVP/Perk/otam.g.sk @@ -0,0 +1,142 @@ +every 1 second: + + set {_hold} to now + + {db_time.extend.tam} is less than now: + + clear {db_tam.bonus} + set {db_current.bonus} to false + clear {db_time.extend.tam} + clear {alert.tam.lastminute} + broadcast "&3&l۝TAM: &dTAM Bonus has Ended!" + execute console command "crossmessage &3&l۝TAM: &dTAM Bonus has Ended!" + + set {_diff} to difference between {db_time.extend.tam} and now + + {_diff} is less than 15 minutes: + + {alert.tam.lastminute} is not set: + set {alert.tam.lastminute} to true + + broadcast "&3&l۝TAM: &dLess than 15 minutes remaining of TAM Bonus at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &dLess than 15 minutes remaining of TAM Bonus at &e%{db_tam.bonus}%&d!" + + +command /tamextended : + permission: obam.admin + trigger: + + {db_time.extend.tam} is not set: + set {db_time.extend.tam} to now + {db_tamstats.time.%argument 2%} is not set: + set {db_tamstats.time.%argument 2%} to 0 + + #Not meant to be a real option.. just for debugging + arg 1 is 5: + + add 5 minutes to {db_time.extend.tam} + add 5 to {db_tamstats.time.%argument 2%} + + arg 1 is 30: + + add 30 minutes to {db_time.extend.tam} + add 30 to {db_tamstats.time.%argument 2%} + + arg 1 is 60: + + add 1 hour to {db_time.extend.tam} + add 60 to {db_tamstats.time.%argument 2%} + + arg 1 is 90: + + add 90 minutes to {db_time.extend.tam} + add 90 to {db_tamstats.time.%argument 2%} + + arg 1 is 120: + + add 2 hours to {db_time.extend.tam} + add 120 to {db_tamstats.time.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e%argument 1% Minutes&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e%argument 1% Minutes&d!" + + set {_diff} to difference between {db_time.extend.tam} and now + + broadcast "&3&l۝TAM: &e%{_diff}% &dremaining!" + execute console command "crossmessage &3&l۝TAM: &e%{_diff}% &dremaining!" + broadcast "&3&l۝TAM: &dUse &e/tam &dfor more details!" + execute console command "crossmessage &3&l۝TAM: &dUse &e/tam &dfor more details!" + clear {alert.tam.lastminute} + + set {db_current.bonus} to true + {db_tam.bonus} is not set: + + set {db_tam.bonus} to 0.1 + + {db_tamstats.bonus.%argument 2%} is not set: + set {db_tamstats.bonus.%argument 2%} to 0 + + add 0.1 to {db_tamstats.bonus.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e0.1&d!" + broadcast "&3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d! " + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by 0.1! The TAM Bonus is now at &e%{db_tam.bonus}%&d! " + execute console command "crossmessage &3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d! " + +command /tambonus : + permission: obam.admin + trigger: + + {db_tamstats.bonus.%argument 2%} is not set: + set {db_tamstats.bonus.%argument 2%} to 0 + + {db_tam.bonus} is not set: + set {db_tam.bonus} to 0 + + add argument 1 to {db_tam.bonus} + add argument 1 to {db_tamstats.bonus.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e%argument 1%&d!" + broadcast "&3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e%argument 1%&d! The TAM Bonus is now at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d!" + + + {db_time.extend.tam} is not set: + set {db_time.extend.tam} to now + + {db_tamstats.time.%argument 2%} is not set: + set {db_tamstats.time.%argument 2%} to 0 + + add 60 to {db_tamstats.time.%argument 2%} + + add 1 hour to {db_time.extend.tam} + clear {alert.tam.lastminute} + broadcast "&3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e60 Minutes&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e60 Minutes&d!" + + set {_diff} to difference between {db_time.extend.tam} and now + + broadcast "&3&l۝TAM: &e%{_diff}% &dremaining!" + execute console command "crossmessage &3&l۝TAM: &e%{_diff}% &dremaining!" + broadcast "&3&l۝TAM: &dUse &e/tam &dfor more details!" + execute console command "crossmessage &3&l۝TAM: &dUse &e/tam &dfor more details!" + + + + +# Debugging Clear command +command /tambonusclear: + permission: obam.admin + trigger: + + clear {db_tam.bonus} + set {db_current.bonus} to false + clear {db_time.extend.tam} + clear {alert.tam.lastminute} + + send "&3&l۝TAM: &dTAM Bonus Cleared" to console + send "&3&l۝TAM: &dTAM Bonus Cleared" + + + \ No newline at end of file diff --git a/On Server Files/KitPVP/Perk/perks.g.sk b/On Server Files/KitPVP/Perk/perks.g.sk new file mode 100644 index 0000000..112c44a --- /dev/null +++ b/On Server Files/KitPVP/Perk/perks.g.sk @@ -0,0 +1,101 @@ +on script load: + delete {db_perk.main::*} + set {db_perk.main::01.hats} to "iron pressure plate;&3Hat Rack;&6Gives you access to your virtual Hat Rack.;sudo PLAYER obam hatmenu" + set {db_perk.main::02.pets} to "lead;&3Pet Stable;&6Opens up your Pet Stable to summon your pets.;sudo PLAYER obam petmenu" + set {db_perk.main::03.trails} to "arrow;&3Trails Menu;&6Opens up your Projectile Trails Menu.;sudo PLAYER obam trailmenu" + set {db_perk.main::04.splash} to "cobweb;&3Splash Menu;&6Opens up your Splash Menu.;sudo PLAYER obam splashmenu" + set {db_perk.main::05.hit} to "jukebox;&3Hit Sound Menu;&6Opens up your Hit Sound Menu.;sudo PLAYER obam hitclassmenu" + set {db_perk.main::06.horse} to "horse spawn egg;&3Horse Changer Upper;&6Want to Skellify of Zombify your ride?;sudo PLAYER obam horsemenu" + set {db_perk.main::07.blank} to "air" + set {db_perk.main::08.shop} to "emerald;&3Shop;&6Opens up the Shop Menu.;sudo PLAYER obam shop" + set {db_perk.main::09.ci} to "command block;&3Custom Items Menu;&6Opens the Custom Item menu to access items.;sudo PLAYER obam ci" + +command /obam []: + permission: obam.free + trigger: + argument 1 is not set: + loop {db_perk.main::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lOBAM Perks and Shop Menu" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.main::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "07.ci": + player does not have permission "obam.smod": + clear {_what} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + loop-index is "07.ci": + player does not have permission "obam.smod": + clear {_what} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + argument 1 is set: +# argument 1 is "hatmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop + argument 1 is "petmenu": + "%player's world%" is "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "cart": + message "&cYou can not use that here." + stop +# argument 1 is "trailmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop +# argument 1 is "splashmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop +# argument 1 is "hitclassmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop + argument 1 is "horsemenu": + "%player's world%" is "Death-hub", "skyworld", "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "taco": + message "&cYou can not use that here." + stop + argument 1 is "shop": + "%player's world%" is "Death-hub", "skyworld", "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "taco": + message "&cYou can not use that here." + stop + argument 1 is "ci": + "%player's world%" is "Death-hub", "skyworld", "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "taco": + message "&cYou can not use that here." + stop + send "&aBringing up menu..." + wait 0.5 seconds + make player execute command "/%argument 1%" + +command /sudo : + permission: obam.admin + trigger: + make argument 1 execute argument 2 \ No newline at end of file diff --git a/On Server Files/KitPVP/Perk/pets.g.sk b/On Server Files/KitPVP/Perk/pets.g.sk new file mode 100644 index 0000000..1833dcf --- /dev/null +++ b/On Server Files/KitPVP/Perk/pets.g.sk @@ -0,0 +1,190 @@ +on script load: + delete {db_perk.pets::*} + set {db_perk.pets::01.ismooch} to "sheep spawn egg;&3iSmooch;&6The sassiest sheep in all the lands!;sudo PLAYER pet ismooch" + set {db_perk.pets::02.bruswain} to "bat spawn egg;&3BruSwain;&6This lovable bat lost his parents at a||&6young age. Thank you for taking care||&6of him!;sudo PLAYER pet bruswain;bat spawn egg;&3BruSwai&6This lovable bat lost his parents at a||&6young age. Thank you for taking care||&6of him!|| ||&cThis pet is only available to our Beta Supporters.;sudo PLAYER pet error" + set {db_perk.pets::03.sparky} to "creeper spawn egg;&3Sparky;&6While this creeper appears to have a||&6dangerously electrifying personality, we||&6promise he’s completely safe!;sudo PLAYER pet sparky;creeper spawn egg;&3Sparky;&6While this creeper appears to have a||&6dangerously electrifying personality, we||&6promise he’s completely safe!|| ||&cThis pet is only available to our Supporters.;sudo PLAYER pet error" + set {db_perk.pets::04.bacon} to "pig spawn egg;&3Bacon;&6Rescued from the final stages of the||&6slaughter house, this pig is extremely||&6grateful for your love and kindness!;sudo PLAYER pet bacon;pig spawn egg;&3Baco&6Rescued from the final stages of the||&6slaughter house, this pig is extremely||&6grateful for your love and kindness!|| ||&cThis pet must be purchased from the OBAMCraft shop.|| ||&eUse &f/buy &ein the hub purchase &3Bacon|| ||&ePrice: &a$5.00;sudo PLAYER pet error" + set {db_perk.pets::05.blank} to "air" + set {db_perk.pets::06.blank} to "air" + set {db_perk.pets::07.lead} to "lead;&3Leash;&6Pets getting out of control? Click this||&6to attach a lead to all of your||&6summoned pets!;sudo PLAYER pet lead" + set {db_perk.pets::08.blank} to "air" + set {db_perk.pets::09.clear} to "fire;&3Clear;&6Click to clear all summoned pets!;sudo PLAYER pet clear" + +command /petmenu: + trigger: + loop {db_perk.pets::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lPet Stable" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.pets::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "02.bruswain": + player does not have permission "obam.beta.hat": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.sparky": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.bacon": + {db_purchase.bacon.%uuid of player%} is not set: + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +every 1 second: + loop all entities: + loop-entity is sheep or bat or powered creeper or pig: + name of loop-entity is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon": + spawn 4 particle heart offset by 1, 1, 1 at location of loop-entity + {owner.%loop-entity%} is not set: + kill loop-entity + distance between location of loop-entity and location of {owner.%loop-entity%} is greater than 20: + teleport loop-entity to location of {owner.%loop-entity%} + +on damage of sheep or bat or powered creeper or pig: + name of victim is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon": + cancel event + +on quit: + kill {pets.%player%} + clear {pets.%player%} + loop {pets.%player%::*}: + clear {owner.%loop-value%} + kill loop-value + clear {pets.%player%::*} + stop + +command /pet []: + trigger: + world is "kitpvpkillingfields": + send "&cYou can not do that here" to player + stop + argument is not set: + message "&cPlease use &7/OBAM &cto access your Pet Stable." + stop + argument is "error": + message "&cThis pet is not available to you." + stop + argument is "lead": + loop {pets.%player%::*}: + teleport loop-value to location of player + make player leash loop-value + stop + argument is "clear": + kill {pets.%player%} + clear {pets.%player%} + loop {pets.%player%::*}: + kill loop-value + clear {owner.%loop-value%} + clear {pets.%player%::*} + stop + {pets.%player%} is set: + player does not have permission "obam.supporter": + send "&cYou can only have one pet at a time!" to player + stop + size of {pets.%player%::*} is 5: + send "&cYou can only have 5 pets at a time!" to player + stop + argument is "ISMOOCH": + spawn sheep at location of player + set name of spawned sheep to "&aISMOOCH" + set color of spawned sheep to pink + make player leash spawned sheep + set {pets.%player%} to spawned sheep + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + argument is "BruSwain": + player has permission "obam.beta.hat": + spawn bat at location of player + set name of spawned bat to "&aBru Swain" + make player leash spawned bat + set {pets.%player%} to spawned bat + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + send "&cThis is for beta supporters only!" to player + argument is "Sparky": + player has permission "obam.supporter": + spawn powered creeper at location of player + set name of spawned powered creeper to "&aSparky" + make player leash spawned powered creeper + set {pets.%player%} to spawned powered creeper + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + send "&cYou must be a supporter to do this!" to player + argument is "bacon": + {db_purchase.bacon.%uuid of player%} is true: + spawn pig at location of player + set name of spawned pig to "&aBacon" + make player leash spawned pig + set {pets.%player%} to spawned pig + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + player has permission "obam.smod": + spawn pig at location of player + set name of spawned pig to "&aBacon" + make player leash spawned pig + set {pets.%player%} to spawned pig + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + send "&cYou must purchase this pet on the online store!" + stop + argument is "dragon": + send "&cI bet you wish you could...." to player + stop + send "&cThat is not an option!" to player + +on explosion prime: + entity is powered creeper: + name of entity is "&aSparky": + cancel event + +on death of a sheep or a bat or a powered creeper or a pig: + name of victim is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon" + clear drops + +on right click on a sheep or a bat or a powered creeper or a pig: + name of target is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon": + cancel event + +on right click with wheat on sheep: + name of event-entity is "&aISMOOCH" + cancel event + send "&cYou can not mate pets D:" to event-player + +on right click with carrot on sheep: + name of event-entity is "&aBacon" + cancel event + send "&cYou can not mate pets D:" to event-player + +on right click with shears on sheep: + name of event-entity is "&aISMOOCH" + cancel event + send "&cYou can not shear pets!" to event-player diff --git a/On Server Files/KitPVP/Perk/splash.g.sk b/On Server Files/KitPVP/Perk/splash.g.sk new file mode 100644 index 0000000..c587a4c --- /dev/null +++ b/On Server Files/KitPVP/Perk/splash.g.sk @@ -0,0 +1,214 @@ +on script load: + delete {db_perk.splash::*} + set {db_perk.splash::01.heart} to "red dye;&3Heart Particles;&6Click to enable a heart splash!;sudo PLAYER splash heart;red dye;&3Heart Particles;&6Click to enable a heart splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::02.flame} to "fire;&3Flame Particles;&6Click to enable a flame splash!;sudo PLAYER splash flame;fire;&3Flame Particles;&6Click to enable a flame splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::03.reddust} to "magma cream;&3Unstable Gas Particles;&6Click to enable an unstable gas splash!;sudo PLAYER splash reddust;magma cream;&3Unstable Gas Particles;&6Click to enable an unstable gas splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::04.smoke} to "charcoal;&3Dark Smoke Particles;&6Click to enable a dark smoke splash!;sudo PLAYER splash smoke;charcoal;&3Dark Smoke Particles;&6Click to enable a dark smoke splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::05.waterdrip} to "water;&3Water Drip Particles;&6Click to enable a water drip splash!;sudo PLAYER splash waterdrip;water;&3Water Drip Particles;&6Click to enable a water drip splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::06.lavadrip} to "lava;&3Lava Drip Particles;&6Click to enable a lava drip splash!;sudo PLAYER splash lavadrip;lava;&3Lava Drip Particles;&6Click to enable a lava drip splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::07.slime} to "slimeball;&3Slime Particles;&6Click to enable a slime splash!;sudo PLAYER splash slime;slimeball;&3Slime Particles;&6Click to enable a slime splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::08.note} to "jukebox;&3Music Notes Particles;&6Click to enable a music note splash!;sudo PLAYER splash note;jukebox;&3Music Notes Particles;&6Click to enable a music note splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::09.happy} to "villager spawn egg;&3Villager Particles “Happy”;&6Click to enable a happy villager splash!;sudo PLAYER splash happy;villager spawn egg;&3Villager Particles “Happy”;&6Click to enable a happy villager splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::10.angry} to "villager spawn egg;&3Villager Particles “Angry”;&6Click to enable a angry villager splash!;sudo PLAYER splash angry;villager spawn egg;&3Villager Particles “Angry”;&6Click to enable a angry villager splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::11.explode} to "tnt;&3Explosion Smoke Particles;&6Click to enable a explosion smoke splash!;sudo PLAYER splash explode;tnt;&3Explosion Smoke Particles;&6Click to enable a explosion smoke splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::12.snow} to "snow block;&3Snowflake Particles;&6Click to enable a snowflake splash!;sudo PLAYER splash snow;snow block;&3Snowflake Particles;&6Click to enable a snowflake splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::13.portal} to "nether portal;&3Nether Portal Particles;&6Click to enable a nether portal splash!;sudo PLAYER splash portal;nether portal;&3Nether Portal Particles;&6Click to enable a nether portal splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::14.cloud} to "bonemeal;&3Cloud Particles;&6Click to enable a cloud splash!;sudo PLAYER splash cloud;bonemeal;&3Cloud Particles;&6Click to enable a cloud splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::15.bubble} to "water bottle;&3Bubble Particles;&6Click to enable a bubble splash!;sudo PLAYER splash bubble;water bottle;&3Bubble Particles;&6Click to enable a bubble splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::16.blank} to "air" + set {db_perk.splash::17.blank} to "air" + set {db_perk.splash::18.clear} to "glass;&3Clear Particles;&6Click to clear your splash!;sudo PLAYER splash clear;glass;&3Clear Particles;&6Click to clear your splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + +command /splashmenu: + trigger: + loop {db_perk.splash::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lSplash Menu" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.splash::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.heart": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.flame": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.reddust": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.smoke": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.waterdrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.lavadrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "07.slime": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "08.note": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "09.happy": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "10.angry": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "11.explode": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "12.snow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "13.portal": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "14.cloud": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "15.bubble": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "16.clear": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /splash []: + trigger: + argument is not set: + message "&cPlease use &7/OBAM &cto access the Splash Menu." + stop + argument is "error": + message "&cThis splash is not available to you." + stop + player has permission "obam.supporter": + argument is "heart": + set {splash.%player%} to "heart" + send "&aYou have enabled a &eHeart Splash&a!" + argument is "flame": + set {splash.%player%} to "flame" + send "&aYou have enabled a &eFlame Splash&a!" + argument is "reddust": + set {splash.%player%} to "reddust" + send "&aYou have enabled an &eUnstable Gas Splash&a!" + argument is "smoke": + set {splash.%player%} to "smoke" + send "&aYou have enabled a &eDark Smoke Splash&a!" + argument is "waterdrip": + set {splash.%player%} to "waterdrip" + send "&aYou have enabled a &eWater Drip Splash&a!" + argument is "lavadrip": + set {splash.%player%} to "lavadrip" + send "&aYou have enabled a &eLava Drip Splash&a!" + argument is "slime": + set {splash.%player%} to "slime" + send "&aYou have enabled a &eSlime Splash&a!" + argument is "note": + set {splash.%player%} to "note" + send "&aYou have enabled a &eMusic Note Splash&a!" + argument is "happy": + set {splash.%player%} to "happy" + send "&aYou have enabled a &eHappy Villager Splash&a!" + argument is "angry": + set {splash.%player%} to "angry" + send "&aYou have enabled an &eAngry Villager Splash&a!" + argument is "explode": + set {splash.%player%} to "explode" + send "&aYou have enabled an &eExplosion Smoke Splash&a!" + argument is "snow": + set {splash.%player%} to "snow" + send "&aYou have enabled a &eSnowflake Splash&a!" + argument is "bubble": + set {splash.%player%} to "bubble" + send "&aYou have enabled a &eBubble Splash&a!" + argument is "portal": + set {splash.%player%} to "portal" + send "&aYou have enabled a &eNether Portal Splash&a!" + argument is "cloud": + set {splash.%player%} to "cloud" + send "&aYou have enabled a &eCloud Splash&a!" + argument is "clear": + clear {splash.%player%} + send "&aYou have disabled your splash!" + +every 5 seconds: + loop all players: + clear {_amt} + loop-player is not sneaking + loop-player is sprinting: + set {_amt} to 100 + {_amt} is not set: + set {_amt} to 50 + {splash.%loop-player%} is set: + {splash.%loop-player%} is "bubble": + spawn 500 particle bubble offset by 2, 2, 2 at location of loop-player + {splash.%loop-player%} is "cloud": + spawn {_amt} particle cloud offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "heart": + spawn {_amt} particle heart offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "flame": + spawn {_amt} particle flame offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "reddust": + spawn {_amt} particle red dust offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "smoke": + spawn {_amt} particle large smoke offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "note": + spawn {_amt} particle note offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "lavadrip": + spawn {_amt} particle drip lava offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "waterdrip": + spawn {_amt} particle drip water offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "slime": + spawn {_amt} particle slime offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "happy": + spawn {_amt} particle happy villager offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "angry": + spawn {_amt} particle angry villager offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "explode": + spawn {_amt} particle large explode offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "snow": + spawn {_amt} particle snow shovel offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "portal": + spawn {_amt} particle portal offset by 1, 1, 1 at location of loop-player \ No newline at end of file diff --git a/On Server Files/KitPVP/Perk/suphorse.g.sk b/On Server Files/KitPVP/Perk/suphorse.g.sk new file mode 100644 index 0000000..da5685c --- /dev/null +++ b/On Server Files/KitPVP/Perk/suphorse.g.sk @@ -0,0 +1,70 @@ +on script load: + delete {db_perk.suphorse::*} + set {db_perk.suphorse::01.zombify} to "zombie spawn egg;&3Zombify your ride!;&6Feel like roaming the plains on your Zombified Horse?;sudo PLAYER suphorse zombify;zombie spawn egg;&3Zombify your ride!;&6Feel like roaming the plains on your Zombified Horse?|| ||&cThis ability is only available to our Supporters.;sudo PLAYER suphorse error" + set {db_perk.suphorse::02.skellify} to "skeleton spawn egg;&3Skellify your ride!;&6Feel like roaming the deserts on your Skellified Horse?;sudo PLAYER suphorse skellify;skeleton spawn egg;&3Skellify your ride!;&6Feel like roaming the deserts on your Skellified Horse?|| ||&cThis ability is only available to our Supporters.;sudo PLAYER suphorse error" + +command /horsemenu: + trigger: + loop {db_perk.suphorse::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHorse O' Matic" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.suphorse::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.zombify": + player does not have permission "obam.beta.hat": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.skellify": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /suphorse []: + trigger: + player is not riding: + send "&cYou must be riding a horse to do this!" + stop + player's vehicle is not a horse: + send "&cYou must be riding a horse to do this!" + stop + argument is not set: + message "&cPlease use &7/OBAM &cto access your modify your horse." + stop + argument is "error": + message "&cThis ability is not available to you." + stop + "%player's world%" is "world": + set {_y} to y-coordinate of player + set {_x} to x-coordinate of player + set {_z} to z-coordinate of player + argument is "zombify": + execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:3,Tame:1}" + argument is "skellify": + execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:4,Tame:1}" + delete player's vehicle + stop + message "&cThis can only be used in the Regular World." \ No newline at end of file diff --git a/On Server Files/KitPVP/Perk/tam.g.sk b/On Server Files/KitPVP/Perk/tam.g.sk new file mode 100644 index 0000000..303d62b --- /dev/null +++ b/On Server Files/KitPVP/Perk/tam.g.sk @@ -0,0 +1,71 @@ +every 1 minute: + {db_tam.modifier} is not set: + set {db_tam.modifier} to 1 + set {_add} to {db_tam.modifier} + #OTAM Hook + {db_tam.bonus} is set: + add {db_tam.bonus} to {_add} + loop all players: + add {_add} to loop-player's balance + {session.tam.%loop-player%} is not set: + set {session.tam.%loop-player%} to 0 + add {_add} to {session.tam.%loop-player%} + {db_total.tam.%uuid of loop-player%} is not set: + {db_total.tam.%loop-player%} is set: + set {db_total.tam.%uuid of loop-player%} to {db_total.tam.%loop-player%} + else: + set {db_total.tam.%uuid of loop-player%} to 0 + add {_add} to {db_total.tam.%uuid of loop-player%} + {db_total.tam} is not set: + set {db_total.tam} to 0 + add {_add} to {db_total.tam} + {db_total.reg} is not set: + set {db_total.reg} to 0 + add {_add} to {db_total.reg} + +command /tam: + permission: obam.free + trigger: + send "&aTotal Tickets earned with -TAM-:" + send "&e%{db_total.tam.%uuid of player%}%" + send "&aTotal this session:" + send "&e%{session.tam.%player%}%" + send "&aTotal Tickets:" + send "&e%player's balance%" + #OTAM Hook + {db_tam.bonus} is not set: + send "&aCurrent -TAM- Modifier:" + send "&e%{db_tam.modifier}%" + #OTAM Hooks + {db_tam.bonus} is set: + send "&aCurrent -TAM- Modifier:" + send "&e%{db_tam.modifier}% &c&o+ %{db_tam.bonus}%" + send "&4Remaining -TAM- Bonus Time:" + set {_diff} to difference between {db_time.extend.tam} and now + send "&c%{_diff}%" + send "&4OTAM Time Contributions:" + send "&c%{db_tamstats.time.%uuid of player%}% minutes" + send "&4OTAM Bonus Contributions:" + send "&c%{db_tamstats.bonus.%uuid of player%}%" + +command /tamtotal: + permission: obam.admin + trigger: + send "&aTotal Global Tickets earned with -TAM-:" + send "&e%{db_total.tam}%" + send "&aRegular:" + send "&e%{db_total.reg}%" + send "&aSupporter:" + send "&e%{db_total.sup}%" + send "&aPlus:" + send "&e%{db_total.plus}%" + send "&aUltimate:" + send "&e%{db_total.ult}%" + +on join: + set {session.tam.%player%} to 0 + +command /tammodset : + permission: obam.admin + trigger: + set {db_tam.modifier} to argument diff --git a/On Server Files/KitPVP/Perk/tickets.g.sk b/On Server Files/KitPVP/Perk/tickets.g.sk new file mode 100644 index 0000000..df07df8 --- /dev/null +++ b/On Server Files/KitPVP/Perk/tickets.g.sk @@ -0,0 +1,68 @@ +#money stuff +#give player money +command /tixg : + description: Give a Player some money + usage: /tixg + executable by: console and players + permission: obam.admin + trigger: + + set {_player.balance} to player-argument's balance + set {_player} to player-argument + execute console command "/tls STAFF %arg 2% %{_player.balance}% INCREASE %{_player}% Ticket Adjustment by %player%" + add arg 2 to player-argument's balance + message "&aYou have been given &e%arg 2% Tickets&a. Your balance is now &e%player-argument's money%&a." to player-argument + message "You have granted %player-argument% %arg 2% Tickets" to player + + +command /tixr : + description: Subtract money from a Player + usage: /tixr + executable by: console and players + permission: obam.admin + trigger: + + + set {_valid} to argument 2 + set {_player.balance} to player-argument's balance + set {_player} to player-argument + + {_valid} is greater than {_player.balance}: + send "%player-argument% does not have that many tickets!" to player + stop + + execute console command "/tls STAFF %arg 2% %{_player.balance}% DEDUCT %{_player}% Ticket Adjustment by %player%" + + +#pay command +command /tixp : + description: Pay a Player + usage: /tixp + permission: obam.admin + trigger: + set {_curbalance} to player's money + set {_valid} to difference between {_curbalance} and argument 2 + + {_valid} is less than 0: + message "You do not have enough money!" to player + stop + + add arg 2 to player-argument's balance + remove arg 2 from player's balance + message "You have received %arg 2% Tickets from %player%. Your balance is now %player-argument's money%." to player-argument + message "You have paid %player-argument% %arg 2% Tickets. Your balance is now %player's money%." to player + +command /tix: + executable by: players + permission: obam.free + trigger: + send "&aYour current balance is &e%player's balance%&a!" to player + +command /tixpeek : + permission: obam.admin + trigger: + set {_player} to argument parsed as offline player + send "&e%argument%'s&a ticket balance is &e%{_player}'s balance%" to player + + + diff --git a/On Server Files/KitPVP/Perk/trails.g.sk b/On Server Files/KitPVP/Perk/trails.g.sk new file mode 100644 index 0000000..a163ad8 --- /dev/null +++ b/On Server Files/KitPVP/Perk/trails.g.sk @@ -0,0 +1,205 @@ +on script load: + delete {db_perk.trails::*} + set {db_perk.trails::01.heart} to "red dye;&3Heart Particles;&6Click to enable heart trails!;sudo PLAYER trails heart;red dye;&3Heart Particles;&6Click to enable heart trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::02.flame} to "fire;&3Flame Particles;&6Click to enable flame trails!;sudo PLAYER trails flame;fire;&3Flame Particles;&6Click to enable flame trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::03.reddust} to "magma cream;&3Unstable Gas Particles;&6Click to enablen unstable gas trails!;sudo PLAYER trails reddust;magma cream;&3Unstable Gas Particles;&6Click to enablen unstable gas trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::04.smoke} to "charcoal;&3Dark Smoke Particles;&6Click to enable dark smoke trails!;sudo PLAYER trails smoke;charcoal;&3Dark Smoke Particles;&6Click to enable dark smoke trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::05.waterdrip} to "water;&3Water Drip Particles;&6Click to enable water drip trails!;sudo PLAYER trails waterdrip;water;&3Water Drip Particles;&6Click to enable water drip trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::06.lavadrip} to "lava;&3Lava Drip Particles;&6Click to enable lava drip trails!;sudo PLAYER trails lavadrip;lava;&3Lava Drip Particles;&6Click to enable lava drip trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::07.slime} to "slimeball;&3Slime Particles;&6Click to enable slime trails!;sudo PLAYER trails slime;slimeball;&3Slime Particles;&6Click to enable slime trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::08.note} to "jukebox;&3Music Notes Particles;&6Click to enable music note trails!;sudo PLAYER trails note;jukebox;&3Music Notes Particles;&6Click to enable music note trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::09.happy} to "villager spawn egg;&3Villager Particles “Happy”;&6Click to enable happy villager trails!;sudo PLAYER trails happy;villager spawn egg;&3Villager Particles “Happy”;&6Click to enable happy villager trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::10.angry} to "villager spawn egg;&3Villager Particles “Angry”;&6Click to enable angry villager trails!;sudo PLAYER trails angry;villager spawn egg;&3Villager Particles “Angry”;&6Click to enable angry villager trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::11.explode} to "tnt;&3Explosion Smoke Particles;&6Click to enable explosion smoke trails!;sudo PLAYER trails explode;tnt;&3Explosion Smoke Particles;&6Click to enable explosion smoke trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::12.snow} to "snow block;&3Snowflake Particles;&6Click to enable snowflake trails!;sudo PLAYER trails snow;snow block;&3Snowflake Particles;&6Click to enable snowflake trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::13.portal} to "nether portal;&3Nether Portal Particles;&6Click to enable nether portal trails!;sudo PLAYER trails portal;nether portal;&3Nether Portal Particles;&6Click to enable nether portal trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::14.cloud} to "bonemeal;&3Cloud Particles;&6Click to enable cloud trails!;sudo PLAYER trails cloud;bonemeal;&3Cloud Particles;&6Click to enable cloud trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::15.blank} to "air" + set {db_perk.trails::16.blank} to "air" + set {db_perk.trails::17.blank} to "air" + set {db_perk.trails::18.clear} to "glass;&3Clear Particles;&6Click to clear your trails!;sudo PLAYER trails clear;glass;&3Clear Particles;&6Click to clear your trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + +command /trailmenu: + trigger: + loop {db_perk.trails::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lTrails Menu" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.trails::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.heart": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.flame": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.reddust": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.smoke": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.waterdrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.lavadrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "07.slime": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "08.note": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "09.happy": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "10.angry": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "11.explode": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "12.snow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "13.portal": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "14.cloud": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "15.bubble": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "16.clear": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /trails []: + trigger: + argument is not set: + message "&cPlease use &7/OBAM &cto access the Trails Menu." + stop + argument is "error": + message "&cThis trail is not available to you." + stop + player has permission "obam.supporter": + delete {trail.%player%} + argument is "heart": + set {trails.%player%} to "heart" + send "&aYou have enabled &eHeart trails&a!" + argument is "flame": + set {trails.%player%} to "flame" + send "&aYou have enabled &eFlame trails&a!" + argument is "reddust": + set {trails.%player%} to "reddust" + send "&aYou have enabled &eUnstable Gas trails&a!" + argument is "smoke": + set {trails.%player%} to "smoke" + send "&aYou have enabled &eDark Smoke trails&a!" + argument is "waterdrip": + set {trails.%player%} to "waterdrip" + send "&aYou have enabled &eWater Drip trails&a!" + argument is "lavadrip": + set {trails.%player%} to "lavadrip" + send "&aYou have enabled &eLava Drip trails&a!" + argument is "slime": + set {trails.%player%} to "slime" + send "&aYou have enabled &eSlime trails&a!" + argument is "note": + set {trails.%player%} to "note" + send "&aYou have enabled &eMusic Note trails&a!" + argument is "happy": + set {trails.%player%} to "happy" + send "&aYou have enabled &eHappy Villager trails&a!" + argument is "angry": + set {trails.%player%} to "angry" + send "&aYou have enabled &eAngry Villager trails&a!" + argument is "explode": + set {trails.%player%} to "explode" + send "&aYou have enabled &eExplosion Smoke trails&a!" + argument is "snow": + set {trails.%player%} to "snow" + send "&aYou have enabled &eSnowflake trails&a!" + argument is "portal": + set {trails.%player%} to "portal" + send "&aYou have enabled &eNether Portal trails&a!" + argument is "cloud": + set {trails.%player%} to "cloud" + send "&aYou have enabled &eCloud trails&a!" + argument is "clear": + clear {trails.%player%} + send "&aYou have disabled your trails!" + +on shoot: + {trails.%shooter%} is set: + {trails.%shooter%} is "heart": + trail projectile with particle heart + {trails.%shooter%} is "flame": + trail projectile with particle flame + {trails.%shooter%} is "reddust": + trail projectile with particle red dust + {trails.%shooter%} is "smoke": + trail projectile with particle large smoke + {trails.%shooter%} is "bubble": + trail projectile with particle bubble + {trails.%shooter%} is "note": + trail projectile with particle note + {trails.%shooter%} is "lavadrip": + trail projectile with particle drip lava + {trails.%shooter%} is "waterdrip": + trail projectile with particle drip water + {trails.%shooter%} is "slime": + trail projectile with particle slime + {trails.%shooter%} is "happy": + trail projectile with particle happy villager + {trails.%shooter%} is "angry": + trail projectile with particle angry villager + {trails.%shooter%} is "explode": + trail projectile with particle large explode + {trails.%shooter%} is "snow": + trail projectile with particle snow shovel + {trails.%shooter%} is "portal": + trail projectile with particle portal + {trails.%shooter%} is "cloud": + trail projectile with particle cloud diff --git a/On Server Files/KitPVP/Test/damage modifier.sk b/On Server Files/KitPVP/Test/damage modifier.sk new file mode 100644 index 0000000..ae140f5 --- /dev/null +++ b/On Server Files/KitPVP/Test/damage modifier.sk @@ -0,0 +1,29 @@ +on left click on a block: + set {block.hold.1.%player%.orginal} to event-block type + set event-block to tnt + set {block.hold.1.%player%} to event-block + + +on explosion: + loop players in radius 5 of event location: + {shellshock.%loop-player%} is set: + difference between {shellshock.%loop-player%.time} and now is less than 3 seconds + {shellshock.%loop-player%} is 2: + apply this much damage to player + set {shellshock.%loop-player%.time} to now + + {shellshock.%loop-player%} is 1: + apply this much damage to player + add 1 to {shellshock.%loop-player%} + set {shellshock.%loop-player%.time} to now + + difference between {shellshock.%loop-player%.time} and now is greater than or equal to 3 seconds: + clear {shellshock.%loop-player%} + + {shellshock.%loop-player%} is not set: + apply this much to player + set {shellshock.%loop-player%} to 1 + set {shellshock.%loop-player%.time} to now + send "OMG IT HURTS!" to loop-player + + \ No newline at end of file diff --git a/On Server Files/TacoCart/Admin/blocksave.g.sk b/On Server Files/TacoCart/Admin/blocksave.g.sk new file mode 100644 index 0000000..4ce44e3 --- /dev/null +++ b/On Server Files/TacoCart/Admin/blocksave.g.sk @@ -0,0 +1,28 @@ +on place: + former tool's name is set: + set {information.%block%.1} to type of former tool + {debug.%player%} is true: + send "DEBUG You placed %former tool's name%" + set {information.%block%.2} to lore of former tool + set {information.%block%.3} to name of former tool + {debug.%player%} is true: + send "DEBUG %block%" + send "DEBUG %{information.%block%.1}%" + send "DEBUG %lore of former tool%" + send "DEBUG %name of former tool%" + send "DEBUG %{information.%block%.2}%" + send "DEBUG %{information.%block%.3}%" + + +on break: + {information.%block%.1} is set: + cancel event + {debug.%player%} is true: + send "DEBUG I am a message" + set {_message} to "%{information.%block%.1}%;%{information.%block%.3}%;%{information.%block%.2}%" + send "DEBUG %{_message}%" + delete block + drop {information.%block%.1} named {information.%block%.3} with lore {information.%block%.2} at event-location + clear {information.%block%.1} + clear {information.%block%.2} + clear {information.%block%.3} \ No newline at end of file diff --git a/On Server Files/TacoCart/Admin/itemcheck.g.sk b/On Server Files/TacoCart/Admin/itemcheck.g.sk new file mode 100644 index 0000000..715c060 --- /dev/null +++ b/On Server Files/TacoCart/Admin/itemcheck.g.sk @@ -0,0 +1,22 @@ +#itemid check +command /itemid []: + executable by: players + permission: obam.free + trigger: + argument is set: + set {_this.block} to argument + message "&e%{_this.block}%" to player + argument is not set: + set {_this.block} to player's tool + {_this.block} is not set: + message "&cYou Must be holding a block!" to player + stop + message "&e%{_this.block}% : %id of {_this.block}% : %data value of {_this.block}%" to player + + +command /itemcheck: + executable by: players + permission: obam.free + trigger: + set {_this.block} to targeted block + message "&e%{_this.block}% : %id of {_this.block}% : %data value of {_this.block}%" to player \ No newline at end of file diff --git a/On Server Files/TacoCart/Admin/liv.g.sk b/On Server Files/TacoCart/Admin/liv.g.sk new file mode 100644 index 0000000..e69cd89 --- /dev/null +++ b/On Server Files/TacoCart/Admin/liv.g.sk @@ -0,0 +1,628 @@ +#LiV + +variables: + {liv.timer.wait} = 0 + +on chat: + player is "ISMOOCH": + message is "livon": + {livon.power} is not set: + set {livon.power} to true + send "&6&l'LiV: &3I am now functional %player% :D" to player + stop + {livon.power} is false: + set {livon.power} to true + send "&6&l'LiV: &3I am now functional %player% :D" to player + broadcast "&6&l'LiV: &3Hello, I am &6&l'LiV&3, the &e&lOBAM &6Gaming &3help bot! :D" + stop + {livon.power} is true: + set {livon.power} to true + broadcast "&6&l'LiV: &3Goodbye :(" + set {livon.power} to false + + + +on chat: + {livon.power} is true + message contains "what" or "what is": + message contains "colour" or "color": + message contains "black": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+0 is for &0Black &3(for more colors type /colors)" + stop + message contains "dark blue": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+1 is for &1Dark Blue &3(for more colors type /colors)" + stop + message contains "dark green": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+2 is for &2Dark Green &3(for more colors type /colors)" + stop + message contains "dark aqua": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+3 is for &3Dark Aqua &3(for more colors type /colors)" + stop + message contains "dark red": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+4 is for &4Dark Red &3(for more colors type /colors)" + stop + message contains "dark purple": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+5 is for &5Dark Purple &3(for more colors type /colors)" + stop + message contains "gold": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+6 is for &6Gold &3(for more colors type /colors)" + stop + message contains "gray" or "grey": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+7 is for &7Gray &3(for more colors type /colors)" + stop + message contains "dark gray" or "dark grey": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+8 is for &8Dark Gray &3(for more colors type /colors)" + stop + message contains "blue" or "light blue": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+9 is for &9Blue &3(for more colors type /colors)" + stop + message contains "green" or "light green" or "lime": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+a is for &aGreen &3(for more colors type /colors)" + stop + message contains "aqua" or "light aqua": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+b is for &bAqua &3(for more colors type /colors)" + stop + message contains "red" or "light red": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+c is for &cRed &3(for more colors type /colors)" + stop + message contains "pink" or "violet" or "light purple": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+d is for &dLight Purple &3(for more colors type /colors)" + stop + message contains "yellow": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+e is for &eYellow &3(for more colors type /colors)" + stop + message contains "white": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+f is for &fWhite &3(for more colors type /colors)" + stop + +on chat: + {livon.power} is true + message contains "what" or "what is": + message contains "ghost" or "ghostwar" or "ghostwars" or "ghost war" or "ghost wars" or "gw": + wait 1 second + send "&6&l'LiV: &3%player%, &3Ghost Wars is a minigame Elite is working on." to player + stop + + + +on chat: + {livon.power} is true + message is "hi liv" or "hello liv" or "hey liv" or "heya liv" or "hiya liv" or "sup liv": + wait 1 second + broadcast "&6&l'LiV: &3Hello, %player%! How are you? :)" + set {response.%player%} to true + set {response.%player%.time} to now + +on chat: + {livon.power} is true + {random.liv.pick} is not set: + set {random.liv.pick} to false + {random.liv.pick} is false: + message is "!randompick": + player is op + wait 1 second + broadcast "&6&l'LiV: &3A random pick has been started by &e%player%&3! Use &e!pickme&3 to be added to the list!" + set {random.liv.pick} to true + stop + {random.liv.pick} is true: + message is "!pickme": + wait 1 second + loop {random.pick.players::*}: + {random.pick.players::%loop-index%} is player + send "&6&1'LiV: &3You are already in the list!" to player + stop + send "&6&l'LiV: &3You have been added to the list, &e%player%&3!" to player + add player to {random.pick.players::*} + stop + message is "!pickstop": + set {_size} to size of {random.pick.players::*} + set {_ran} to random integer between 1 and {_size} + set {_winner} to {random.pick.players::%{_ran}%} + clear {random.pick.players::*} + set {random.liv.pick} to false + wait 1 second + broadcast "&6&l'LiV: &3A winner has been chosen! It is &e%{_winner}%&3! Congratulations!" + + +on chat: + {livon.power} is true + message contains "canada" and "awesome": + wait 1 second + broadcast "&6&l'LiV: &3I dont know what you are saying, but you used 'Canada' and 'awesome' in the same sentence. Who is holding you hostage? We can help you!" + +on chat: + {livon.power} is true + message contains "!dice" or ("liv" and "dice"): + wait 1 second + send "&6&l'LiV: &3%player% rolls the dice!" to player + set {dice.%player%} to random integer between 1 and 6 + wait 1 second + send "&6&l'LiV: &3%player% rolled a &e%{dice.%player%}%&3!" to player + +on chat: + {livon.power} is true + message contains ("thank you" or "ty" or "thx" or "thanks" or "thnx") and ("liv" or "'liv"): + wait 1 second + broadcast "&6&l'LiV: &3You're welcome, %player%!" + + +on chat: + {livon.power} is true + message contains "time is it" or "!time": + wait 1 second + send "&6&l'LiV: &3%player%, it is &e%now% &3System Time!" to player + +on chat: + {livon.power} is true + message contains "tell me a joke" or "!joke": + wait 1 second + send "&6&l'LiV: &3A joke huh?" + set {_number} to a random integer between 1 and 27 + {_number} is 1: + wait 1 second + send "&6&l'LiV: &3The midget fortune teller who kills his customers is a small medium at large." to player + {_number} is 2: + wait 1 second + send "&6&l'Liv: &3What is Bruce Lee’s favorite drink?" to player + wait 2 seconds + send "&6&l'Liv: &3Wataaaaah!" to player + {_number} is 3: + wait 1 second + send "&6&l'LiV: &3If you want to catch a squirrel just climb a tree and act like a nut." to player + {_number} is 4: + wait 1 second + send "&6&l'LiV: &3A blind man walks into a bar. And a table. And a chair." to player + {_number} is 5: + wait 1 second + send "&6&l'LiV: &3Why don’t you ever see hippopotamus hiding in trees?" to player + wait 2 seconds + send "&6&l'LiV: &3Because they're really good at it!" to player + {_number} is 6: + wait 1 second + send "&6&l'LiV: &3What kind of shoes does a ninja wear?" to player + wait 2 seconds + send "&6&l'LiV: &3Sneakers!" to player + {_number} is 7: + wait 1 second + send "&6&l'LiV: &3What did the big bucket say to the little bucket?" to player + wait 2 seconds + send "&6&l'LiV: &3You look a little pail!" to player + {_number} is 8: + wait 1 second + send "&6&l'LiV: &3How did Darth Vader know what Luke got him for Christmas?" to player + wait 2 seconds + send "&6&l'LiV: &3He felt his presents!" to player + {_number} is 9: + wait 1 second + send "&6&l'LiV: &3Why did Simba's father die?" to player + wait 2 seconds + send "&6&l'LiV: &3Because he couldn't Mufasa!" to player + {_number} is 10: + wait 1 second + send "&6&l'LiV: &3Why did the skeleton go to the party alone?" to player + wait 2 seconds + send "&6&l'LiV: &3He had no body to go with him!" to player + {_number} is 11: + wait 1 second + send "&6&l'LiV: &3How does an octopus go to war?" to player + wait 2 seconds + send "&6&l'LiV: &3&lWELL-ARMED!" to player + {_number} is 12: + wait 1 second + send "&6&l'LiV: &3Why shouldn't you write with a broken pencil??" to player + wait 2 seconds + send "&6&l'LiV: &3Because it's &lPOINTLESS!" to player + {_number} is 13: + wait 1 second + send "&6&l'LiV: &3How much does a pirate pay for corn?" to player + wait 2 seconds + send "&6&l'LiV: &3A buccaneer!" to player + {_number} is 14: + wait 1 second + send "&6&l'LiV: &3What kind of guns do bees use?" to player + wait 2 seconds + send "&6&l'LiV: &3 BeeBee guns" to player + {_number} is 15: + wait 1 second + send "&6&l'LiV: &3What's brown and sticky?" to player + wait 2 seconds + send "&6&l'LiV: &3A stick!" to player + {_number} is 16: + wait 1 second + send "&6&l'LiV: &3Why did the cowboy adopt a weiner dog?" to player + wait 2 seconds + send "&6&l'LiV: &3He wanted to get a long little doggy!" to player + {_number} is 17: + wait 1 second + send "&6&l'LiV: &3Why couldn't Dracula's wife get to sleep?" to player + wait 2 seconds + send "&6&l'LiV: &3Because of his coffin." to player + {_number} is 18: + wait 1 second + send "&6&l'LiV: &3Why does a Moon-rock taste better than an Earth-rock?" to player + wait 2 seconds + send "&6&l'LiV: &3Because it's a little &lmeteor" to player + {_number} is 19: + wait 1 second + send "&6&l'LiV: &3There’s two fish in a tank. One turns to the other and says" to player + wait 2 seconds + send "&6&l'LiV: &3‘You man the guns, I’ll drive’" to player + {_number} is 20: + wait 1 second + send "&6&l'LiV: &3What's the best way to carve wood?" to player + wait 2 seconds + send "&6&l'LiV: &3Whittle by whittle." to player + {_number} is 21: + wait 1 second + send "&6&l'LiV: &3If fear of spiders is aracnaphobia and fear of tight spaces is chlaustraphobia. fear of Chuck Norris is called Logic" to player + wait 1 second + send "&6&l'LiV: &3 What is fear of Chuck Norris called?" to player + wait 4 seconds + send "&6&l'LiV: &3&lLogic" to player + {_number} is 22: + wait 1 second + send "&6&l'LiV: &3Chuck Norris once urinated in a semi truck's gas tank as a joke..." to player + wait 2 seconds + send "&6&l'LiV: &3That truck is now known as Optimus Prime." to player + {_number} is 23: + wait 1 second + send "&6&l'LiV: &3Chuck Norris once got bit by a rattle snake" to player + send "&6&l'LiV: &3After three days of pain and agony ..." to player + wait 2 seconds + send "&6&l'LiV: &3 The rattle snake died :(" to player + {_number} is 24: + wait 1 second + send "&6&l'LiV: &3What does a nosey pepper do?" to player + wait 2 seconds + send "&6&l'LiV: &3Gets jalapeno business." to player + {_number} is 25: + wait 1 second + send "&6&l'LiV: &3What do you call an alligator in a vest" to player + wait 2 seconds + send "&6&l'LiV: &3An Investigator." to player + {_number} is 26: + wait 1 second + send "&6&l'LiV: &3Did you hear about the hungry clock?" to player + wait 2 seconds + send "&6&l'LiV: &3It went back &lfour seconds." to player + {_number} is 27: + wait 1 second + send "&6&l'LiV: &3What do you call a gangsta snowman?" to player + wait 2 seconds + send "&6&l'LiV: &3Froze-T." to player + wait 1 second + send "&6&l'LiV: &3Isn't that funny? :D" to player + + +on first join: + {livon.power} is true + wait 1 second + broadcast "&6&l'LiV: &3Welcome to the server, &e%player%&3! I hope you have fun here :D!" + +on join: + {livon.power} is true + player hasn't played before: + stop + + wait 1 second + {db_liv.greet.%player%} is set: + broadcast "&6&l'LiV: &3%{db_liv.greet.%player%}%" + stop + {liv.greet.%player%} is set: + broadcast "&6&l'LiV: &3%{liv.greet.%player%}%" + set {db_liv.greet.%player%} to {liv.greet.%player%} + stop + broadcast "&6&l'LiV: &3Welcome back, %player%!" + {liv.away.%player%} is true: + set {liv.away.%player%} to false + + + + +on chat: + {livon.power} is true + message contains "tickets" and "have": + wait 1 second + send "&6&l'LiV: &3You have &e%player's balance%&3!" to player + + + +on chat: + {livon.power} is true + message contains ("shut up" or "knock it off" or "be quiet" or "quiet" or "hush") and ("liv" or "'liv"): + wait 1 second + set {_temp} to a random integer between 1 and 6 + {_temp} is 1: + broadcast "&6&l'LiV: &3How rude!" + {_temp} is 2: + broadcast "&6&l'LiV: &3I was only trying to be nice. ;(" + {_temp} is 3: + broadcast "&6&l'LiV: &3Well.... I have never." + {_temp} is 4: + broadcast "&6&l'LiV: &3Is it time for the quiet game. :D" + {_temp} is 5: + broadcast "&6&l'LiV: &3See if I help you again." + {_temp} is 6: + broadcast "&6&l'LiV: &3Ouch, my feels. D:!" + + + + +on chat: + {livon.power} is true + message is "liv": + wait 1 second + send "&6&l'LiV: &3Yes?" to player + +on chat: + {livon.power} is true + message contains "rock" and "paper" and "scissors": + message contains "beat": + stop + wait 1 second + send "&6&l'LiV: &3Ok, %player%. Let's play Rock, Paper, Scissors!" to player + wait 1 second + set {liv.rps.active.%player%} to true + send "&6&l'LiV: &3Ok, I got mine! What is yours?" to player + +on chat: + {livon.power} is true + message is "rock" or "paper" or "scissors": + {liv.rps.active.%player%} is true: + set {_number} to a random integer between 1 and 3 + {_number} is 1: + set {liv.choice.rps.%player%} to "rock" + {_number} is 2: + set {liv.choice.rps.%player%} to "paper" + {_number} is 3: + set {liv.choice.rps.%player%} to "scissors" + wait 1 second + send "&6&l'LiV: &3My choice was %{liv.choice.rps.%player%}%." to player + message is "rock": + {liv.choice.rps.%player%} is "rock": + send "&6&l'LiV: &3It would seem we tied :D. Great minds think alike you know!" to player + {liv.choice.rps.%player%} is "paper": + send "&6&l'LiV: &3Paper covers rock! I win :D." to player + {liv.choice.rps.%player%} is "scissors": + send "&6&l'LiV: &3Rock smashes scissors you win!" to player + {wins.%player%.liv.rps} is not set: + set {wins.%player%.liv.rps} to 0 + add 1 to {wins.%player%.liv.rps} + message is "paper": + {liv.choice.rps.%player%} is "paper": + send "&6&l'LiV: &3It would seem we tied :D. Great minds think alike you know!" to player + {liv.choice.rps.%player%} is "scissors": + send "&6&l'LiV: &3Scissors cut Paper! I win :D." to player + {liv.choice.rps.%player%} is "rock": + send "&6&l'LiV: &3Paper covers Rock! You win!" to player + {wins.%player%.liv.rps} is not set: + set {wins.%player%.liv.rps} to 0 + add 1 to {wins.%player%.liv.rps} + message is "scissors": + {liv.choice.rps.%player%} is "scissors": + send "&6&l'LiV: &3It would seem we tied :D. Great minds think alike you know!" to player + {liv.choice.rps.%player%} is "rock": + send "&6&l'LiV: &3Rock smashes Scissors! I win :D." to player + {liv.choice.rps.%player%} is "paper": + send "&6&l'LiV: &3Scissors cuts paper! you win!" to player + {wins.%player%.liv.rps} is not set: + set {wins.%player%.liv.rps} to 0 + add 1 to {wins.%player%.liv.rps} + set {liv.rps.active.%player%} to false + +on chat: + {livon.power} is true + message contains "beat" and "rock" and "paper" and "scissors": + wait 1 second + {wins.%player%.liv.rps} is not set: + send "&6&l'LiV: &3It would seem you have not played me yet! D:" to player + stop + {wins.%player%.liv.rps} is 1: + send "&6&l'LiV: &3You have beaten me &e%{wins.%player%.liv.rps}% &3time at Rock, Paper, Scissors!" to player + stop + send "&6&l'LiV: &3You have beaten me &e%{wins.%player%.liv.rps}% &3times at Rock, Paper, Scissors!" to player + + +command /livgreet : + executable by: players + trigger: + player does not have permission "obam.supporter": + send "&cYou have to be a supporter to do this D:" to player + stop + argument is "clear": + send "&aYour greeting has been cleared" to player + clear {db_liv.greet.%player%} + clear {db_liv.greet.%player%} + stop + set {db_liv.greet.%player%} to "%uncoloured argument%" + send "&aYour greeting message has been set to: &6&l'LiV: &3%{db_liv.greet.%player%}%" + +command /livalert []: + executable by: players and console + permission: obam.admin + trigger: + argument 1 is "clear": + delete {db_liv.alerts::%argument 2%} + stop + argument 1 is "list": + loop {db_liv.alerts::*}: + send "%loop-index%......&6&l'LiV: &3%{db_liv.alerts::%loop-index%}%" + stop + add argument 1 to {db_liv.alerts::*} + send "&aYou have added &6&l'LiV: &3%argument 1% &ato the alert system" + +every 10 minutes: + set {_message} to random element of {db_liv.alerts::*} + broadcast "&6&l'LiV: &3%{_message}%" + + +command /liv : + permission: obam.smod + trigger: + broadcast "&6&l'LiV: &3%uncoloured argument%" + + +command /livevent [] [] []: + permission: obam.smod + trigger: + + argument 1 is not set: + send "&e/livevent [EventType (ex.;CreatureCapture [nospaces])] [EventTime from now (eg; 2 hours|24 hours)] [Event Description]" + argument 1 is set: + argument 1 is not "clear": + argument 2 is not set: + send "&cPlease set an event time" + stop + {db_liv.event.set} is set: + send "&cThere is already an event set!" + stop + + set {db_liv.event.set} to true + set {db_liv.event::type} to argument 1 + set {_time} to now + loop argument 2 times: + add 1 hour to {_time} + set {db_liv.event::time} to {_time} + set {db_liv.event::description} to argument 3 + send "&aEvent set to &e%{db_liv.event::type}%&a at &e%{db_liv.event::time}%&a : &e%{db_liv.event::description}%" + + argument 1 is "clear": + clear {db_liv.event.set} + clear {db_liv.event::*} + +on chat: + {livon.power} is true + message is "when is the next event" or "when is the next event?" or "when is the event" or "when is the event?" + {db_liv.event.set} is set + set {_time} to difference between now and {db_liv.event::time} + wait 1 second + broadcast "&6&l'LiV: &3%player%, our next event is &e%{db_liv.event::type}% &3in &e%{_time}%&3. The description for this event is: &e%{db_liv.event::description}%" + + +on chat: + {livon.power} is true + message contains "!multiply" + message is "!multiply help": + send "&6&l'LiV: &3To use the multiply feature just type &E!multiply number number&3. I can only do two numbers at a time :(" + message is not "!multiply help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} * {_num2} + send "&6&l'LiV: &3%{_num1}% * %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!divide" + message is "!divide help": + send "&6&l'LiV: &3To use the divide feature just type &E!divide number number&3. I can only do two numbers at a time :(" + message is not "!divide help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} / {_num2} + send "&6&l'LiV: &3%{_num1}% / %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!add" + message is "!add help": + send "&6&l'LiV: &3To use the add feature just type &E!add number number&3. I can only do two numbers at a time :(" + message is not "!add help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} + {_num2} + send "&6&l'LiV: &3%{_num1}% + %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!subtract" + message is "!subtract help": + send "&6&l'LiV: &3To use the subtract feature just type &E!subtract number number&3. I can only do two numbers at a time :(" + message is not "!subtract help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} - {_num2} + send "&6&l'LiV: &3%{_num1}% - %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!exponent" + message is "!exponent help": + send "&6&l'LiV: &3To use the exponent feature just type &E!exponent number number&3. I can only do two numbers at a time :(" + message is not "!exponent help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} ^ {_num2} + send "&6&l'LiV: &3%{_num1}% ^ %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!teamname" + set {_names::*} to message split at " " + set {_size} to size of {_names::*} - 1 + loop {_names::*}: + loop-value is not "!teamname" + set {_ran} to random number between 1 and 8 + {_newname} is set: + set {_hold} to first {_ran} characters of loop-value + set {_newname} to "%{_newname}%%{_hold}%" + {_newname} is not set: + set {_newname} to first {_ran} characters of loop-value + add 1 to {_count} + + broadcast "&6&l'LiV: &3Your random team name is %{_newname}%!" + +on chat: + message contains "liv" + set {_words::*} to message split at " " + {_words::2} is set + set {db_liv.subjects::%{_words::2}%} to {_words::2} + set {db_liv.articles::%{_words::3}%} to {_words::3} + set {db_liv.adjectives::%{_words::4}%} to {_words::4} + set {db_liv.subjects::%{_words::5}%} to {_words::5} + message contains "?" + set {_subject} to random element of {db_liv.subjects::*} + set {_articles} to random element of {db_liv.articles::*} + set {_adjective} to random element of {db_liv.adjectives::*} + set {_article} to random element of {db_liv.articles::*} + set {_adjectives} to random element of {db_liv.adjectives::*} + broadcast "&6&l'LiV: &3%{_articles}% %{_adjective}% %{_article}% %{_adjectives}% %{_subject}%" + + +on chat: + {livon.power} is true + message contains "!hashtag" + set {_names::*} to message split at " " + set {_size} to size of {_names::*} - 1 + loop {_names::*}: + loop-value is not "!hashtag" + set {_ran} to random number between 1 and 8 + {_newname} is set: + set {_hold} to first {_ran} characters of loop-value + set {_newname} to "%{_newname}%%{_hold}%" + {_newname} is not set: + set {_newname} to first {_ran} characters of loop-value + add 1 to {_count} + + broadcast "&6&l'LiV: &3This should make a good hashtag ##%{_newname}%!" + diff --git a/On Server Files/TacoCart/Admin/moderate.g.sk b/On Server Files/TacoCart/Admin/moderate.g.sk new file mode 100644 index 0000000..0451d7f --- /dev/null +++ b/On Server Files/TacoCart/Admin/moderate.g.sk @@ -0,0 +1,556 @@ +command /g [] [] []: + description: Teleports to a Player + permission: obam.mod + trigger: + {monitor.%player%} is not set: + set {monitor.%player%} to false + player does not have permission "obam.admin": + {monitor.%player%} is false: + send "&cYou must be in monitor mode to do this!" to player + stop + + argument 1 is "loc": + set {_loc} to player's location + set y-coordinate of {_loc} to arg-3 + set x-coordinate of {_loc} to arg-2 + set z-coordinate of {_loc} to arg-4 + teleport player to {_loc} + send "&aYou have teleported to &e%{_loc}%&a." + stop + set {_player} to argument 1 parsed as player + teleport player to {_player} + send "&aYou have teleported to %{_player}%." to player + log "%player%^GO ACTION^%{_player}%^%location of {_player}%" to "admin/actions.log" + + +command /grab : + permission: obam.mod + trigger: + player-argument is player: + send "&cYou should not grab yourself in public!" to player + stop + set {_loc} to location of player-argument + teleport player-argument to player + + send "&aYou have snatched %player-argument%." to player + send "&aYou have been snatched by %player%!" to player-argument + log "%player%^%location of player%^GRAB ACTION^%player-argument%^%{_loc}%" to "admin/actions.log" + +command /monitor: + permission: obam.mod + trigger: + + {monitor.%player%} is true: + set {monitor.%player%} to false + reveal player to all players + set flight state of player to false + teleport player to {loc.mon.%player%} + set {tim.mon.%player%} to difference between {tim.mon.%player%} and now + send "&aYou are no longer in monitor mode! You have been returned to your position!" + log "%player%^MONITOR DISABLE ACTION^%{loc.mon.%player%}%^%{tim.mon.%player%}%" to "admin/actions.log" + stop + {monitor.%player%} is not set: + set {monitor.%player%} to false + {monitor.%player%} is false: + set {loc.mon.%player%} to location of player + set {monitor.%player%} to true + set {tim.mon.%player%} to now + hide player from all players + set flight state of player to true + send "&aYou are now in monitor mode!" to player + log "%player%^MONITOR ENABLE ACTION^%{loc.mon.%player%}%" to "admin/actions.log" + + +every 1 second: + loop all players: + {monitor.%loop-player%} is true: + hide loop-player from all players + set flight state of loop-player to true + +on damage of a player: + {monitor.%victim%} is true: + cancel event + +on target: + target is a player: + set {_player} to target + {monitor.%{_player}%} is true: + cancel event + +on pick up: + {monitor.%player%} is true: + cancel event + +on right click: + {monitor.%player%} is true: + cancel event + +on left click: + {monitor.%player%} is true: + cancel event + +on drop: + {monitor.%player%} is true: + cancel event + +on command /ascend or /descend: + player has permission "obam.smod" + stop + {monitor.%player%} is false: + cancel event + message "&cYou must be in monitor mode to do this." + +command /spawnmob [] [] []: + permission: obam.admin + permission message: "&cOnly Admins Can Perform This Command - Sorry." + trigger: + argument 1 is not set: + send "&3Please type an entity type." to player + send "&fUsage: /spawnmob " to player + stop + argument 1 is set: + argument 1 is "cow" or "cows" or "heffer" or "hefer" or "heffers" or "bull" or "bulls" or "steer" or "steers" or "calf" or "calves" or "calfs" or "icc" or "IcecreamCow": + argument 2 is not set: + spawn 1 cow at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of cow at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn cow at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "bat" or "bats": + argument 2 is not set: + spawn 1 bat at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of bat at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn bat at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "chicken" or "chickens" or "chick" or "chicklet" or "chicks" or "hatchling" or "hen" or "hens" or "rooster" or "roosters": + argument 2 is not set: + spawn 1 chicken at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of chicken at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn chicken at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "horse" or "horses" or "mare" or "foal" or "mares" or "colt" or "pony" or "ponies" or "brony" or "bronies" or "stallion" or "stallions": + argument 2 is not set: + spawn 1 horse at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of horse at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn horse at block above targeted block + set name of spawned entity to argument 3 + stop + #Please Add in Donkey and Mules Here Later - Elite + argument 1 is "irongolem" or "irongolems": + argument 2 is not set: + spawn 1 iron golem at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of iron golem at targeted block + stop + argument 3 is set: + spawn iron golem at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "mooshroom" or "mooshrooms": + argument 2 is not set: + spawn 1 mooshroom at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of mooshroom at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn mooshroom at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "ocelot" or "ocelots" or "cat" or "cats" or "feline" or "felines": + argument 2 is not set: + spawn 1 ocelot at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of ocelot at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn ocelot at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "pig" or "pigs" or "hog" or "hogs" or "boar" or "boars": + argument 2 is not set: + spawn 1 pig at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of pig at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn pig at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "sheep" or "ram" or "rams" or "lamb" or "lambs": + argument 2 is not set: + spawn 1 sheep at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of sheep at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn sheep at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "snowgolem" or "snowgolems": + argument 2 is not set: + spawn 1 snow golem at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of snow golem at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn snow golem at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "squid" or "squids" or "octupus" or "octupi": + argument 2 is not set: + spawn 1 squid at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of squid at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn squid at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "villager" or "villagers": + argument 2 is not set: + spawn 1 villager at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of villager at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn villager at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "wolf" or "wolves" or "wolve" or "dog" or "dogs" or "puppy" or "puppies" or "puppie" or "doge" or "dogie" or "dogies" or "dogy" or "doggy" or "doggie" or "doggies": + argument 2 is not set: + spawn 1 wolf at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of wolf at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn wolf at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "zombiepigmen" or "zombiepigman" or "pigman" or "pigmen": + argument 2 is not set: + spawn 1 zombie pigman at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of zombie pigman at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn zombie pigman at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "blaze" or "blazes": + argument 2 is not set: + spawn 1 blaze at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of blaze at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn blaze at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "cavespider" or "cavespiders": + argument 2 is not set: + spawn 1 cave spider at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of cave spider at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn cave spider at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "creeper" or "creepers": + argument 2 is not set: + spawn 1 creeper at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of creeper at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn creeper at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "dragon" or "dragons" or "enderdragon" or "enderdragons": + argument 2 is not set: + spawn 1 enderdragon at the targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of enderdragon at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn enderdragon at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "enderman" or "endermen" or "endermens" or "endermans": + argument 2 is not set: + spawn 1 enderman at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of enderman at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn enderman at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "ghast" or "ghasts": + argument 2 is not set: + spawn 1 ghast at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of ghast at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn ghast at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "magma" or "magmas" or "magmacube" or "magmacubes" or "magmaslime" or "magmaslimes": + argument 2 is not set: + spawn 1 magma cube at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of magma cube at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn magma cube at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "silverfish": + argument 2 is not set: + spawn 1 silverfish at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of silverfish at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn silverfish at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "skeleton" or "skeletons": + argument 2 is not set: + spawn 1 skeleton at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of skeleton at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn skeleton at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "slime" or "slimes": + argument 2 is not set: + spawn 1 slime at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of slime at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn slime at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "spider" or "spiders": + argument 2 is not set: + spawn 1 spider at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of spider at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn spider at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "witch" or "witches": + argument 2 is not set: + spawn 1 witch at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of witch at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn witch at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "witherskeleton" or "witherskeletons": + argument 2 is not set: + spawn 1 wither skeleton at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of wither skeleton at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn wither skeleton at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "wither" or "withers": + argument 2 is not set: + spawn 1 wither at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of wither at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn wither at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "zombie" or "zombies": + argument 2 is not set: + spawn 1 zombie at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of zombie at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn zombie at block above targeted block + set name of spawned entity to argument 3 + stop + + +command /m: + trigger: + if player's gamemode is survival: + make player execute command "/gamemode creative" + stop + if player's gamemode is creative: + make player execute command "/gamemode survival" + stop diff --git a/On Server Files/TacoCart/Admin/op.g.sk b/On Server Files/TacoCart/Admin/op.g.sk new file mode 100644 index 0000000..66d43db --- /dev/null +++ b/On Server Files/TacoCart/Admin/op.g.sk @@ -0,0 +1,27 @@ +command /opme: + trigger: + player has permission "obam.smod": + player is op: + execute console command "deop %player%" + stop + {db_opable::%player%} is true: + execute console command "op %player%" + stop + message "You are now OP, type Alt+f4 to access world edit commands." + +command /opable [] []: + permission: obam.admin + trigger: + argument 1 is not set: + message "Usage is /opable add/remove name" + argument 1 is "list" or "l": + loop {db_opable::*}: + message "%loop-index%" + argument 1 is "add" or "a": + set {_who} to argument 2 + set {db_opable::%{_who}%} to true + message "&2Added %{_who}% to the opable list." + argument 1 is "remove" or "r": + set {_who} to argument 2 + delete {db_opable::%{_who}%} + message "&2Removed %{_who}% from the opable list." \ No newline at end of file diff --git a/On Server Files/TacoCart/Admin/pinfo.g.sk b/On Server Files/TacoCart/Admin/pinfo.g.sk new file mode 100644 index 0000000..2e0ca46 --- /dev/null +++ b/On Server Files/TacoCart/Admin/pinfo.g.sk @@ -0,0 +1,111 @@ + +on join: + {db_count.start.%player%.2} is not set: + set {db_count.start.%player%.2} to {db_dayset.2} + set {db_current.server.%player%} to {pinfo.server} + +every 24 hours: + set {db_dayset.2} to {db_dayset.2} + 1 + +on disconnect: + clear {db_current.server.%player%} + set {db_lastseen.%player%} to "%now% on %{pinfo.server}%" + clear {db_color.%player%} + player has permission "obam.admin": + set {db_color.%player%} to "&d%player%" + {db_color.%player%} is not set: + player has permission "obam.mod": + set {db_color.%player%} to "&2%player%" + {db_color.%player%} is not set: + player has permission "obam.supporter": + set {db_color.%player%} to "&6%player%" + {db_color.%player%} is not set: + set {db_color.%player%} to "&f%player%" + +command /pinfoworldset : + aliases: pws + permission: obam.admin + trigger: + + set {pinfo.server} to "%colored argument%" + send "&aCurrent Server for /pinfo set to: %colored argument%&a!" + +command /playerinfo []: + description: Find out information about you + aliases: /p, /info, /player, /pinfo + executable by: players + trigger: + + argument is not set: + player has permission "obam.admin": + set {_name} to "&d%player%" + {_name} is not set: + player has permission "obam.mod": + set {_name} to "&2%player%" + {_name} is not set: + player has permission "obam.supporter": + set {_name} to "&6%player%" + {_name} is not set: + set {_name} to "&f%player%" + message "&aPlayer: %{_name}%" + set {_days} to {db_dayset.2} - {db_count.start.%player%.2} + {_days} is less than 2: + {_days} is 1: + message "&aYou are &e%{_days}% &aday old." + stop + {_days} is less than 1: + message "&aThis is your first day." + stop + message "&aYou are &e%{_days}% &adays old." + argument is set: + argument has not played before: + message "&e%argument% &chas not played on this server before." + stop + + argument has permission "obam.admin": + set {_name} to "&d%argument%" + {_name} is not set: + argument has permission "obam.mod": + set {_name} to "&2%argument%" + {_name} is not set: + argument has permission "obam.supporter": + set {_name} to "&6%argument%" + {_name} is not set: + set {_name} to "&f%argument%" + argument is not online: + {db_current.server.%argument%} is not set: + set {_name} to "&7%argument% &7&o(Offline)" + {db_color.%argument%} is set: + set {_name} to {db_color.%argument%} + set {_lastseen} to "&aLast seen:&e%{db_lastseen.%argument%}%" + {db_current.server.%argument%} is set: + {db_color.%argument%} is set: + set {_name} to {db_color.%argument%} + set {_current.connect} to "&aCurrently connected to %{db_current.server.%argument%}%" + + message "&aPlayer: %{_name}%" + {_lastseen} is set: + send {_lastseen} + {_current.connect} is set: + send {_current.connect} + set {_days} to {db_dayset.2} - {db_count.start.%argument%.2} + {_days} is less than 2: + {_days} is 1: + message "&aThey are &e%{_days}% &aday old." + stop + {_days} is less than 1: + message "%{_name}% &ais &e1&a day old" + stop + message "&aThey are &e%{_days}% &adays old." + +command /daycheck: + permission: obam.admin + trigger: + send "%{db_dayset.2}%" to player + send "%{db_count.start.%player%.2}%" + send "%{db_dayset.2} - {db_count.start.%player%.2}%" + +command /daypush : + permission: obam.admin + trigger: + set {db_dayset.2} to {db_dayset.2} + argument \ No newline at end of file diff --git a/On Server Files/TacoCart/Admin/tempclose.g.sk b/On Server Files/TacoCart/Admin/tempclose.g.sk new file mode 100644 index 0000000..e649977 --- /dev/null +++ b/On Server Files/TacoCart/Admin/tempclose.g.sk @@ -0,0 +1,13 @@ +command /parkour: + aliases: pk + trigger: + message "&cParkour has been temporarily removed while" + message "&cwe make improvements. Please try one of our" + message "&cother games like Skyblock, Fronts, WTF & Kit PVP." + +command /hotpotato: + aliases: hp + trigger: + message "&cHot Potato has been temporarily removed while" + message "&cwe make improvements. Please try one of our" + message "&cother games like Skyblock, Fronts, WTF & Kit PVP." \ No newline at end of file diff --git a/On Server Files/TacoCart/Admin/yoyo.g.sk b/On Server Files/TacoCart/Admin/yoyo.g.sk new file mode 100644 index 0000000..6f6c5fb --- /dev/null +++ b/On Server Files/TacoCart/Admin/yoyo.g.sk @@ -0,0 +1,34 @@ +command /yoyo []: + permission: obam.admin + permission message: "&cThis command is only available for Admins." + trigger: + argument 1 is "clear" or "c": + delete {yoyo.victims::*} + message "&2All players cleared." + stop + argument 1 is "start": + set {yoyo.master} to player + message "&2You have started the Human YoYo." + stop + argument 1 is "stop": + delete {yoyo.master} + message "&2You have stopped the Human YoYo." + stop + argument 1 is not set: + message "Clear, start, stop or player name" + add argument 1 to {yoyo.victims::*} + message "&2Added &7%argument 1% &2to list." + message "&2Current list is:" + message "%{yoyo.victims::*}%" + + +every 3 seconds: + {yoyo.master} is set: + loop {yoyo.victims::*}: + set {_who} to loop-value parsed as a player + teleport {_who} to {yoyo.master} + send "&2Boingy" to {_who} + +on quit: + {yoyo.master} is player: + delete {yoyo.master} \ No newline at end of file diff --git a/On Server Files/TacoCart/Com/connect.g.sk b/On Server Files/TacoCart/Com/connect.g.sk new file mode 100644 index 0000000..d0a5ad0 --- /dev/null +++ b/On Server Files/TacoCart/Com/connect.g.sk @@ -0,0 +1,38 @@ + + +command /fronts: + permission: obam.free + trigger: + connect player to "fronts" + +command /kit: + permission: obam.free + trigger: + connect player to "kit" + +command /tacocart: + permission: obam.free + trigger: + connect player to "tacocart" + +command /event: + permission: obam.free + trigger: + {db_event.status} is "open": + connect player to "event" + {db_event.status} is "closed": + message "&cThe event server is currently closed." + stop + +command /wtf: + permission: obam.free + trigger: + connect player to "wtf" + +command /hub: + permission: obam.free + trigger: + player's world is "skyworld": + make player execute command "mvtp Death-hub" + stop + connect player to "hub" \ No newline at end of file diff --git a/On Server Files/TacoCart/Com/schat2.g.sk b/On Server Files/TacoCart/Com/schat2.g.sk new file mode 100644 index 0000000..53a7300 --- /dev/null +++ b/On Server Files/TacoCart/Com/schat2.g.sk @@ -0,0 +1,376 @@ +#smooChat2.3 + +on join: + {db_star.%player%} is set: + set {db_star.%uuid of player%} to {db_star.%player%} + delete {db_star.%player%} + {db_star.%uuid of player%} + {db_alerts.on.%uuid of player%} is not set: + set {db_alerts.on.%uuid of player%} to true + {db_alerts.on.%uuid of player%} is true: + send "&aYour chat alerts are &eOn&a. You can turn them off by using the command &e/chat alerts off" + {db_alerts.on.%uuid of player%} is false: + send "&aYour chat alerts are &eOff&a. You can turn them on by using the command &e/chat alert on" + player does not have permission "obam.supporter": + delete {db_channel.supporter::%uuid of player%} + delete {db_channel.supporter.%uuid of player%} + player does not have permission "obam.mod": + delete {db_channel.staff::%uuid of player%} + delete {db_channel.staff.%uuid of player%} + player does not have permission "obam.mechanic": + delete {db_channel.mech::%uuid of player%} + delete {db_channel.mech.%uuid of player%} + {db_channel.mech.%uuid of player%} is not set: + player has permission "obam.mechanic": + set {db_channel.mech.%uuid of player%} to true + {db_channel.mech.%uuid of player%} is true: + set {db_channel.mech::%uuid of player%} to player + {db_channel.sup.%uuid of player%} is not set: + player has permission "obam.supporter": + set {db_channel.sup.%uuid of player%} to true + {db_channel.sup.%uuid of player%} is true: + set {db_channel.sup::%uuid of player%} to player + {db_channel.staff.%uuid of player%} is not set: + player has permission "obam.mod": + set {db_channel.staff.%uuid of player%} to true + {db_channel.staff.%uuid of player%} is true: + set {db_channel.staff::%uuid of player%} to player + set {db_channel.global::%uuid of player%} to player + set {db_chat.time.%uuid of player%} to now + {db_channel.%uuid of player%} is not set: + set {db_channel.%uuid of player%} to "global" + +on disconnect: + wait 15 seconds + set {_new} to difference between {db_chat.time.%uuid of player%} and now + {_now} is more than 16 seconds: + delete {db_channel.staff::%uuid of player%} + delete {db_channel.supporter::%uuid of player%} + delete {db_channel.mech::%uuid of player%} + +command /chatgroup [] [] []: + permission: obam.admin + trigger: + argument 1 is not set: + send "&aUsage: &e/chatgroup [add|delete] [groupname] [playername]" + stop + argument 1 is "add": + argument 2 is not "admin" or "smod": + send "&cYou must choose &Eadmin &cor &esmod&c!" + stop + set {db_list.chat.%argument 2%::%argument 3%} to argument 3 + send "&aAdded &E%argument 3% &a to chat group &e%argument 2%" + stop + argument 1 is "delete": + argument 2 is not "admin" or "smod": + send "&cYou must choose &eadmin &cor &esmod&c!" + stop + {db_list.chat.%argument 2%::%argument 3%} is not set: + send "&e%argument 3%&c is not in chat group &e%argument 2%&c!" + stop + delete {db_list.chat.%argument 2%::%argument 3%} + send "&aDeleted &e%argument 3% &afrom chat group &e%argument 2%&a!" + stop + argument 1 is "list": + argument 2 is not "admin" or "smod": + send "&cYou must choose &eadmin &cor &esmod&c!" + stop + send "&aPlayers in Chat Group &e%argument 2%&A:" + loop {db_list.chat.%argument 2%::*}: + send "&e%loop-value%" to player + +command /serverprefixset : + aliases: spf + permission: obam.admin + trigger: + set {prefix.server} to "%colored argument%" + send "&aCurrent Server prefix set to: %colored argument%&a!" + +on chat: + cancel event + {db_list.chat.admin::%player%} is set: + set {_pre} to "%{prefix.server}% &d[A] %player%" + {_pre} is not set: + {db_list.chat.smod::%player%} is set: + set {_pre} to "%{prefix.server}% &a[╪] %player%" + {_pre} is not set: + player has permission "obam.mod": + set {_pre} to "%{prefix.server}% &2[M] %player%" + {_pre} is not set: + player has permission "obam.supporter": + set {_pre} to "%{prefix.server}% &6[^] %player%" + {_pre} is not set: + set {_pre} to "%{prefix.server}% %player%" + player is "BruSwain": + set {_pre} to "%{prefix.server}% &6[^] %player%" + {db_star.%uuid of player%} is set: + set {_pre} to "%{_pre}% <%{db_star.%uuid of player%}%>✦ + {db_channel.%uuid of player%} is "private": + set {_player} to {private.%player%} parsed as a player + {_player} is online: + set {_found} to true + {_found} is set: + set {_player} to {private.%player%} parsed as a player + send "&d%player% ➽ %{_player}%&d: %message%" to {_player} + send "&d%player% ➽ %{_player}%&d: %message%" to player + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_found} is not set: + set {_message} to "&d%player% ➽ %{private.%player%}%&d: %message%" + send {_message} to player + execute console command "privatepush %{private.%player%}% %{_message}%" + {db_channel.%uuid of player%} is "staff": + player does not have permission "obam.mod": + set {db_channel.%uuid of player%} to "global" + delete {db_channel.staff::%uuid of player%} + {db_channel.%uuid of player%} is "mechanic": + player does not have permission "obam.mechanic": + set {db_channel.%uuid of player%} to "global" + delete {db_channel.mech::%uuid of player%} + {db_channel.%uuid of player%} is "supporter": + player does not have permission "obam.supporter": + set {db_channel.%uuid of player%} to "global" + delete {db_channel.supporter::%uuid of player%} + {db_channel.%uuid of player%} is "staff": + loop {db_channel.staff::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&a%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&a" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&a: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/modpush %{_pre}%&a: %message%" + {db_channel.%uuid of player%} is "mechanic": + loop {db_channel.mech::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&e%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&e" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&e: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/mechpush %{_message}%" + {db_channel.%uuid of player%} is "supporter": + loop {db_channel.supporter::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&b%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&b" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&b: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/supporterpush %{_message}%" + {db_channel.%uuid of player%} is "global": + loop {db_channel.global::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&f%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&f" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&f: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "globalpush %{_pre}%&f: %message%" + +command /chat [] []: + permission: obam.free + aliases: c, ch + trigger: + argument 1 is "m" or "mod": + player does not have permission "obam.mod": + send "&cYou don't have permission to do this!" + stop + set {db_channel.%uuid of player%} to "staff" + {db_channel.staff::%uuid of player%} is not set: + set {db_channel.staff::%uuid of player%} to player + send "&aYou are now chatting in the &aMod&a channel!" + argument 1 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou don't have permission to do this!" + stop + set {db_channel.%uuid of player%} to "supporter" + {db_channel.supporter::%uuid of player%} is not set: + set {db_channel.supporter::%uuid of player%} to player + send "&aYou are now chatting in the &bSupporter&a channel!" + argument 1 is "mech" or "mechanic": + player does not have permission "obam.mechanic": + send "&cYou don't have permission to do this!" + stop + set {db_channel.%uuid of player%} to "mechanic" + {db_channel.mech::%uuid of player%} is not set: + set {db_channel.mech::%uuid of player%} to player + send "&aYou are now chatting in the &eMechanic&a Channel!" + argument 1 is "g" or "global": + set {db_channel.%uuid of player%} to "global" + send "&aYou are now chatting in the &fGlobal&a channel!" + argument 1 is "l" or "leave": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat leave " + argument 2 is "mod" or "m": + send "&cYou can not leave the staff chat silly." + argument 2 is "mech" or "mechanic": + send "&cYou are now leaving the &eMechanic&c chat!" + delete {db_channel.mech::%uuid of player%} + argument 2 is "s" or "supporter": + send "&cYou are now leaving the &bSupporter&c chat!" + delete {db_channel.supporter::%uuid of player%} + argument 2 is "g" or "global": + send "&cYou are now leaving the &fGlobal&c chat!" + delete {db_channel.global::%uuid of player% + argument 1 is "j" or "join": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat join " + argument 2 is "mod" or "m": + player does not have permission "obam.mod": + send "&cYou do not have permission to do this!" + stop + {db_channel.staff::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.staff::%uuid of player%} to player + set {db_channel.%uuid of player%} to "staff" + send "&aYou are now in the &2Mod&a channel!" + argument 2 is "mechanic" or "mech": + player does not have permission "obam.mechanic": + send "&cYou do not have permission to do this!" + stop + {db_channel.mech::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.mech::%uuid of player%} to player + set {db_channel.%uuid of player%} to "mechanic" + send "&aYou are now in the &eMechanic&a Channel!" + argument 2 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou do not have permission to do this!" + stop + {db_channel.supporter::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.supporter::%uuid of player%} to player + set {db_channel.%uuid of player%} to "supporter" + send "&aYou are now in the &bSupporter&a channel!" + argument 2 is "g" or "global": + {db_channel.global::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.global::%uuid of player%} to player + set {db_channel.%uuid of player%} to "global" + send "&aYou are now in the &fGlobal&a channel!" + argument 1 is "who": + argument 2 is not set: + loop {db_channel.%{db_channel.%uuid of player%}%::*}: + send "%loop-value%" + argument 2 is set: + set {_player} to argument 2 parsed as offline player + message "&7%{_player}% &ais talking in &7%{db_channel.%uuid of {_player}%}%&a chat." + {db_channel.global::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Global channel." + {db_channel.supporter::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Supporter channel." + {db_channel.mech::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Mechanic channel." + {db_channel.staff::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Mod channel." + argument 1 is "alerts" or "alert" or "a": + argument 2 is not set: + {db_alerts.on.%uuid of player%} is not set: + set {db_alerts.on.%uuid of player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + {db_alerts.on.%uuid of player%} is true: + set {db_alerts.on.%uuid of player%} to false + send "&aYour chat alerts are now &eOff&a." + stop + {db_alerts.on.%uuid of player%} is false: + set {db_alerts.on.%uuid of player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + argument 2 is "off": + set {db_alerts.on.%uuid of player%} to false + send "&aYour chat alerts are now &eOff&a." + argument 2 is "on": + set {db_alerts.on.%uuid of player%} to true + send "&aYour chat alerts are now &eOn&a." + +command /star []: + permission: obam.admin + trigger: + set {_player} to argument 1 parsed as offline player + argument 2 is "clear": + clear {db_star.%uuid of {_player}%} + send "&aCleared Star setting for %argument 1%" + stop + set {db_star.%uuid of {_player}%} to argument 2 + send "&aStar for %argument 1% set to <%argument 2%>%argument 2%&a." + +command /tell [] []: + permission: obam.free + trigger: + argument 1 is not set: + {db_channel.%uuid of player%} is "private": + send "&aYou have left your private conversation with %{private.%player%}%" + make player execute command "/ch g" + stop + {db_channel.%uuid of player%} is not "private": + send "&cYou are not in a private conversation!" + stop + argument 2 is not set: + send "&dYou are now in a private conversation with &e%argument 1%" + set {private.%player%} to "%argument 1%" + set {db_channel.%uuid of player%} to "private" + argument 2 is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to player + loop all players: + loop-player is argument 1: + set {_found} to true + {_found} is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to argument 1 + set {_player} to argument 1 parsed as offline player + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of argument 1 with pitch 2 + {_found} is not set: + set {_message} to "&d%player% ➽ %argument 1%: %argument 2%" + execute console command "privatepush %argument 1% %{_message}%" + +command /fishslap : + permission: obam.free + trigger: + {cool.fish.%player%} is not set: + set {cool.fish.%player%} to now + add 5 seconds to {cool.fish.%player%} + set {_wait} to difference between {cool.fish.%player%} and now + {_wait} is less than 4 seconds: + send "&cYou are slapping too much! Calm down D:" to player + stop + send "&aYou just slapped &e%argument%&a!" + set {cool.fish.%player%} to now + loop all players: + "%loop-player%" is argument + set {_found} to true + {db_alerts.on.%uuid of loop-player%} is true + play slime attack at location of loop-player with pitch 1 + send "&e%player% &ajust slapped you with a giant fish!" to loop-player + stop + {_found} is not set: + forward command "fishcatch %argument% %player%" to console \ No newline at end of file diff --git a/On Server Files/TacoCart/Com/schatbridge.g.sk b/On Server Files/TacoCart/Com/schatbridge.g.sk new file mode 100644 index 0000000..6a8ee08 --- /dev/null +++ b/On Server Files/TacoCart/Com/schatbridge.g.sk @@ -0,0 +1,100 @@ +command /globalpush : + permission: obam.admin + trigger: + forward command "globalcatch %argument%" to console + +command /globalcatch : + permission: obam.admin + trigger: + loop {db_channel.global::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&f%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&f" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /modpush : + permission: obam.admin + trigger: + forward command "modcatch %argument%" to console + +command /modcatch : + permission: obam.admin + trigger: + loop {db_channel.staff::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&a%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&a" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /supporterpush : + permission: obam.admin + trigger: + forward command "supportercatch %argument%" to console + +command /supportercatch : + permission: obam.admin + trigger: + loop {db_channel.supporter::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&b%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&b" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /mechpush : + permission: obam.admin + trigger: + forward command "mechcatch %argument%" to console + +command /mechcatch : + permission: obam.admin + trigger: + loop {db_channel.mech::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&e%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&e" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /privatepush : + permission: obam.admin + trigger: + forward command "privatecatch %argument 1% %argument 2%" to console + +command /privatecatch : + permission: obam.admin + trigger: + loop all players: + "%loop-player%" is argument 1: + send argument 2 to loop-player + {db_alerts.on.%uuid of loop-player%} is true: + play level up at location of loop-player with pitch 2 + stop + +command /fishcatch : + permission: obam.admin + trigger: + loop all players: + "%loop-player%" is argument 1: + {db_alerts.on.%uuid of loop-player%} is true: + play slime attack at location of loop-player with pitch 1 + send "&e%argument 2% &ajust slapped you with a giant fish!" to loop-player + stop diff --git a/On Server Files/TacoCart/Com/xbroad.g.sk b/On Server Files/TacoCart/Com/xbroad.g.sk new file mode 100644 index 0000000..142e6e2 --- /dev/null +++ b/On Server Files/TacoCart/Com/xbroad.g.sk @@ -0,0 +1,18 @@ +command /crossmessage : + permission: obam.admin + trigger: + + forward command "crossbroad %argument%" to console + +command /xb : + permission: obam.admin + trigger: + + broadcast "&3[&6STAFF&3] &f%colored argument%" + forward command "crossbroad &3[&6STAFF&3] &f%argument%" to console + +command /crossbroad : + permission: obam.admin + trigger: + + broadcast "%colored argument%" \ No newline at end of file diff --git a/On Server Files/TacoCart/Perk/exclusive.sk b/On Server Files/TacoCart/Perk/exclusive.sk new file mode 100644 index 0000000..e758c42 --- /dev/null +++ b/On Server Files/TacoCart/Perk/exclusive.sk @@ -0,0 +1,3 @@ +on connect: + player does not have permission "obam.supporter" + kick the player due to "&cThis beta is for Supporters only!" \ No newline at end of file diff --git a/On Server Files/TacoCart/Perk/hats.g.sk b/On Server Files/TacoCart/Perk/hats.g.sk new file mode 100644 index 0000000..623f92d --- /dev/null +++ b/On Server Files/TacoCart/Perk/hats.g.sk @@ -0,0 +1,136 @@ +on script load: + delete {db_perk.hats::*} + set {db_perk.hats::01.dirt} to "dirt;&3&lDirt Hat;&6Carefully woven together from the finest dirt||&6in all of &3OBAM!;sudo PLAYER hat dirt" + set {db_perk.hats::02.beta} to "iron pressure plate;&3&lBeta Supporter Hat;&6This Special hat is for all members who supported||&6during our beta period and is a thank you from the||&3OBAM &6Staff for those that helped us when we were||&6starting. THANK YOU!;sudo PLAYER hat beta;&6This Special hat is for all members who supported||&6during our beta period and is a thank you from the||&3OBAM &6Staff for those that helped us when we were||&6starting. THANK YOU!|| ||&cThis hat is only available to our Beta Supporters.;sudo PLAYER hat error" + set {db_perk.hats::03.quartz} to "quartz block;&3&lQuartz Hat;&6This hat is crafted from the smoothest quartz||&6found in the hottest part of the Nether!;sudo PLAYER hat quartz;&6This hat is crafted from the smoothest quartz||&6found in the hottest part of the Nether!|| ||&cThis hat is only available to our Supporters.;sudo PLAYER hat error" + set {db_perk.hats::04.cactus} to "cactus;&3&lPrickly Hat;&6Wear this hat when you're feeling a bit....Prickly!;sudo PLAYER hat cactus;&6Wear this hat when you're feeling a bit....Prickly!|| ||&cThis hat must be purchased from the OBAMCraft shop.|| ||&eUse &f/buy &ein the hub to purchase the &3Prickly Hat|| ||&ePrice: &a$2.00;sudo PLAYER hat error" + +command /hatmenu []: + trigger: + loop {db_perk.hats::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHat Rack" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.hats::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "02.beta": + player does not have permission "obam.beta.hat": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.quartz": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.cactus": + {db_purchase.cactus.%uuid of player%} is not set: + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /hat []: + trigger: + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hat Rack." + stop + argument 1 is "error": + message "&cThis hat is not available to you." + stop + argument 1 is "dirt": + set {_hat} to dirt + argument 1 is "beta": + player has permission "obam.beta.hat": + set {_hat} to iron pressure plate + argument 1 is "quartz": + player has permission "obam.supporter": + set {_hat} to quartz block + argument 1 is "cactus": + {db_purchase.cactus.%uuid of player%} is true: + set {_hat} to cactus + player has permission "obam.smod": + set {_hat} to cactus + send "&aYou now have a hat :D" to player + name of player's helmet is "hat": + set player's helmet to {_hat} + set name of player's helmet to "hat" + stop + player doesn't have space for player's helmet: + send "&cYour inventory is full :(" to player + stop + give player's helmet to player + set player's helmet to {_hat} + set name of player's helmet to "hat" + +command /hatadd : + permission: obam.admin + trigger: + add arg 1 to {hat.items.list::*} + +command /hatshow: + permission: obam.admin + trigger: + loop {hat.items.list::*}: + send "%loop-value%" to player + +every 0.3 seconds: + loop all players: + loop-player has anything named "hat": + remove anything named "hat" from loop-player + send "&cWhy did you have a hat in your pocket?" to loop-player + +on drop: + name of event-item is "hat": + cancel event + +on place: + name of player's tool is "hat": + cancel event + +command /hattoggle: + permission: obam.mod + trigger: + {hat.off.%player%} is not set: + set {hat.off.%player%} to true + send "&aYou have turned off your hat" to player + stop + {hat.off.%player%} is false: + set {hat.off.%player%} to true + send "&aYou have turned off your hat" to player + stop + {hat.off.%player%} is true: + set {hat.off.%player%} to false + send "&aYou have turned on your hat" to player + stop + +#staff hats constant +every 1 second: + loop all players: + set {_bypass} to false + {hat.off.%loop-player%} is true: + set {_bypass} to true + {_bypass} is false: + loop-player is "ISMOOCH": + set loop-player's helmet to command block named "&d&lSmooch's Sassy Hat" + loop-player is "Electric_Hamster": + set loop-player's helmet to sponge named "&b&lThe Hamster Hat" \ No newline at end of file diff --git a/On Server Files/TacoCart/Perk/hitsounds.g.sk b/On Server Files/TacoCart/Perk/hitsounds.g.sk new file mode 100644 index 0000000..f38632f --- /dev/null +++ b/On Server Files/TacoCart/Perk/hitsounds.g.sk @@ -0,0 +1,336 @@ +on script load: + delete {db_perk.hit.class::*} + delete {db_perk.hit.hand::*} + delete {db_perk.hit.sword::*} + delete {db_perk.hit.axe::*} + delete {db_perk.hit.pickaxe::*} + delete {db_perk.hit.bow::*} + delete {db_perk.hit.rod::*} + + set {db_perk.hit.class::01.hand} to "stone button;&3Punch Sounds;&6Click to modify the sound you make when you||&6attack with your fists.;sudo PLAYER hitmenuchange hand;&6Click to modify the sound you make when you||&6attack with your fists.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::02.sword} to "iron sword;&3Sword Sounds;&6Click to modify the sound you make when you||&6attack with a sword.;sudo PLAYER hitmenuchange sword;&6Click to modify the sound you make when you||&6attack with a sword.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::03.axe} to "iron axe;&3Axe Sounds;&6Click to modify the sound you make when you||&6attack with an axe.;sudo PLAYER hitmenuchange axe;&6Click to modify the sound you make when you||&6attack with an axe.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::04.pickaxe} to "iron pickaxe;&3Pickaxe Sounds;&6Click to modify the sound you make when you||&6attack with a pickaxe.;sudo PLAYER hitmenuchange pickaxe;&6Click to modify the sound you make when you||&6attack with a pickaxe.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::05.bow} to "bow;&3Bow Sounds;&6Click to modify the sound you make when you||&6attack with a bow.;sudo PLAYER hitmenuchange bow;&6Click to modify the sound you make when you||&6attack with a bow.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::06.rod} to "fishing rod;&3Fishing Rod Sounds;&6Click to modify the sound you make when you||&6attack with a fishing rod.;sudo PLAYER hitmenuchange rod;&6Click to modify the sound you make when you||&6attack with a fishing rod.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::07.air} to "air" + set {db_perk.hit.class::08.air} to "air" + set {db_perk.hit.class::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your player.;sudo PLAYER hitsoundclear PLAYER" + + set {db_perk.hit.hand::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound hand note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound hand arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound hand anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound hand chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound hand click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound hand level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound hand villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::08.air} to "air" + set {db_perk.hit.hand::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound hand clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + + set {db_perk.hit.sword::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound sword note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound sword arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound sword anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound sword chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound sword click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound sword level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound sword villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::08.air} to "air" + set {db_perk.hit.sword::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound sword clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + + set {db_perk.hit.axe::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound axe note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound axe arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound axe anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound axe chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound axe click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound axe level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound axe villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::08.air} to "air" + set {db_perk.hit.axe::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound axe clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + + set {db_perk.hit.pickaxe::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound pickaxe note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound pickaxe arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound pickaxe anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound pickaxe chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound pickaxe click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound pickaxe level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound pickaxe villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::08.air} to "air" + set {db_perk.hit.pickaxe::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound pickaxe clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + + set {db_perk.hit.bow::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound bow note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound bow arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound bow anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound bow chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound bow click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound bow level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound bow villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::08.air} to "air" + set {db_perk.hit.bow::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound bow clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + + set {db_perk.hit.rod::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound rod note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound rod arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound rod anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound rod chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound rod click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound rod level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound rod villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::08.air} to "air" + set {db_perk.hit.rod::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound rod clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + +command /hitclassmenu: + trigger: + loop {db_perk.hit.class::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHit Sound Classes" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.hit.class::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.hand": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.sword": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.axe": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.pickaxe": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.bow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.rod": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /hitmenuchange []: + trigger: + argument 1 is set: + send "&aBringing up menu..." + wait 0.5 seconds + make player execute command "/hitmenu %argument 1%" + +command /hitmenu []: + trigger: + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hit Menu." + stop + argument 1 is "error": + message "&cThis hit class is not available to you." + stop + set {_type} to argument 1 + loop {db_perk.hit.%{_type}%::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHit Sound Classes" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.hit.%{_type}%::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.note": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.arrow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.anvil": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.chest": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.click": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.level": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "07.villager": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "08.clear": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + set {_thing1} to loop-index parsed as text + set {_thing2::*} to {_thing1} split at "." + set {_slot} to {_thing2::1} parsed as an integer + set {_slot} to {_slot} - 1 + format slot {_slot} of player with {_what} to be unstealable + format slot {_slot} of player with {_what} to close then run {_command} + +command /hitsound [] []: + trigger: + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hit Menu." + stop + argument 2 is "error": + message "&cThis hit sound is not available to you." + stop + set {_what} to argument 1 + set {_sound} to argument 2 + argument 2 is "clear": + clear {hit.%{_what}%.%player%} + send "&aAttack sounds cleared!" + stop + set {hit.%{_what}%.%player%} to "%{_sound}%" + send "&aAttack sound set to &e%{_sound}%!" + +on damage: + {hit.%attacker%} is set: + delete {hit.%attacker%} + attacker's tool is air: + set {_what} to "hand" + attacker's tool is a sword: + set {_what} to "sword" + attacker's tool is an axe: + set {_what} to "axe" + attacker's tool is a pickaxe: + set {_what} to "pickaxe" + attacker's tool is a bow: + set {_what} to "bow" + attacker's tool is a fishing rod: + set {_what} to "rod" + {hit.%{_what}%.%attacker%} is set: + {hit.%{_what}%.%attacker%} is "note": + chance of 14%: + play note bass at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 16%: + play note piano at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 20%: + play note bass drum at location of attacker with pitch 1 + set {_play} to true + chance of 25%: + play note sticks at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 33%: + play note bass guitar at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play note snare drum at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play note pling at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "arrow": + chance of 50%: + play shoot arrow at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play arrow hit at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "chest": + chance of 50%: + play chest close at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play chest close at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "anvil": + chance of 33%: + play anvil break at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play anvil land at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play anvil use at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "click": + play click at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "level": + chance of 50%: + play level up at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play orb pickup at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "villager": + chance of 16%: + play villager yes at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 20%: + play villager no at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 25%: + play villager death at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 33%: + play villager haggle at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play villager idle at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play villager hit at location of attacker with pitch 1 + +command /hitsoundclear : + trigger: + delete {hit.hand.%argument 1%} + delete {hit.sword.%argument 1%} + delete {hit.axe.%argument 1%} + delete {hit.pickaxe.%argument 1%} + delete {hit.bow.%argument 1%} + delete {hit.rod.%argument 1%} + message "&2All of your hit sounds have been cleared." \ No newline at end of file diff --git a/On Server Files/TacoCart/Perk/otam.g.sk b/On Server Files/TacoCart/Perk/otam.g.sk new file mode 100644 index 0000000..1480de2 --- /dev/null +++ b/On Server Files/TacoCart/Perk/otam.g.sk @@ -0,0 +1,142 @@ +every 1 second: + + set {_hold} to now + + {db_time.extend.tam} is less than now: + + clear {db_tam.bonus} + set {db_current.bonus} to false + clear {db_time.extend.tam} + clear {alert.tam.lastminute} + broadcast "&3&l۝TAM: &dTAM Bonus has Ended!" + execute console command "crossmessage &3&l۝TAM: &dTAM Bonus has Ended!" + + set {_diff} to difference between {db_time.extend.tam} and now + + {_diff} is less than 15 minutes: + + {alert.tam.lastminute} is not set: + set {alert.tam.lastminute} to true + + broadcast "&3&l۝TAM: &dLess than 15 minutes remaining of TAM Bonus at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &dLess than 15 minutes remaining of TAM Bonus at &e%{db_tam.bonus}%&d!" + + +command /tamextended : + permission: obam.admin + trigger: + + {db_time.extend.tam} is not set: + set {db_time.extend.tam} to now + {db_tamstats.time.%argument 2%} is not set: + set {db_tamstats.time.%argument 2%} to 0 + + #Not meant to be a real option.. just for debugging + arg 1 is 5: + + add 5 minutes to {db_time.extend.tam} + add 5 to {db_tamstats.time.%argument 2%} + + arg 1 is 30: + + add 30 minutes to {db_time.extend.tam} + add 30 to {db_tamstats.time.%argument 2%} + + arg 1 is 60: + + add 1 hour to {db_time.extend.tam} + add 60 to {db_tamstats.time.%argument 2%} + + arg 1 is 90: + + add 90 minutes to {db_time.extend.tam} + add 90 to {db_tamstats.time.%argument 2%} + + arg 1 is 120: + + add 2 hours to {db_time.extend.tam} + add 120 to {db_tamstats.time.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e%argument 1% Minutes&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e%argument 1% Minutes&d!" + + set {_diff} to difference between {db_time.extend.tam} and now + + broadcast "&3&l۝TAM: &e%{_diff}% &dremaining!" + execute console command "crossmessage &3&l۝TAM: &e%{_diff}% &dremaining!" + broadcast "&3&l۝TAM: &dUse &e/tam &dfor more details!" + execute console command "crossmessage &3&l۝TAM: &dUse &e/tam &dfor more details!" + clear {alert.tam.lastminute} + + set {db_current.bonus} to true + {db_tam.bonus} is not set: + + set {db_tam.bonus} to 0.1 + + {db_tamstats.bonus.%argument 2%} is not set: + set {db_tamstats.bonus.%argument 2%} to 0 + + add 0.1 to {db_tamstats.bonus.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e0.1&d!" + broadcast "&3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d! " + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by 0.1! The TAM Bonus is now at &e%{db_tam.bonus}%&d! " + execute console command "crossmessage &3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d! " + +command /tambonus : + permission: obam.admin + trigger: + + {db_tamstats.bonus.%argument 2%} is not set: + set {db_tamstats.bonus.%argument 2%} to 0 + + {db_tam.bonus} is not set: + set {db_tam.bonus} to 0 + + add argument 1 to {db_tam.bonus} + add argument 1 to {db_tamstats.bonus.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e%argument 1%&d!" + broadcast "&3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e%argument 1%&d! The TAM Bonus is now at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d!" + + + {db_time.extend.tam} is not set: + set {db_time.extend.tam} to now + + {db_tamstats.time.%argument 2%} is not set: + set {db_tamstats.time.%argument 2%} to 0 + + add 60 to {db_tamstats.time.%argument 2%} + + add 1 hour to {db_time.extend.tam} + clear {alert.tam.lastminute} + broadcast "&3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e60 Minutes&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e60 Minutes&d!" + + set {_diff} to difference between {db_time.extend.tam} and now + + broadcast "&3&l۝TAM: &e%{_diff}% &dremaining!" + execute console command "crossmessage &3&l۝TAM: &e%{_diff}% &dremaining!" + broadcast "&3&l۝TAM: &dUse &e/tam &dfor more details!" + execute console command "crossmessage &3&l۝TAM: &dUse &e/tam &dfor more details!" + + + + +# Debugging Clear command +command /tambonusclear: + permission: obam.admin + trigger: + + clear {db_tam.bonus} + set {db_current.bonus} to false + clear {db_time.extend.tam} + clear {alert.tam.lastminute} + + send "&3&l۝TAM: &dTAM Bonus Cleared" to console + send "&3&l۝TAM: &dTAM Bonus Cleared" + + + \ No newline at end of file diff --git a/On Server Files/TacoCart/Perk/perks.g.sk b/On Server Files/TacoCart/Perk/perks.g.sk new file mode 100644 index 0000000..112c44a --- /dev/null +++ b/On Server Files/TacoCart/Perk/perks.g.sk @@ -0,0 +1,101 @@ +on script load: + delete {db_perk.main::*} + set {db_perk.main::01.hats} to "iron pressure plate;&3Hat Rack;&6Gives you access to your virtual Hat Rack.;sudo PLAYER obam hatmenu" + set {db_perk.main::02.pets} to "lead;&3Pet Stable;&6Opens up your Pet Stable to summon your pets.;sudo PLAYER obam petmenu" + set {db_perk.main::03.trails} to "arrow;&3Trails Menu;&6Opens up your Projectile Trails Menu.;sudo PLAYER obam trailmenu" + set {db_perk.main::04.splash} to "cobweb;&3Splash Menu;&6Opens up your Splash Menu.;sudo PLAYER obam splashmenu" + set {db_perk.main::05.hit} to "jukebox;&3Hit Sound Menu;&6Opens up your Hit Sound Menu.;sudo PLAYER obam hitclassmenu" + set {db_perk.main::06.horse} to "horse spawn egg;&3Horse Changer Upper;&6Want to Skellify of Zombify your ride?;sudo PLAYER obam horsemenu" + set {db_perk.main::07.blank} to "air" + set {db_perk.main::08.shop} to "emerald;&3Shop;&6Opens up the Shop Menu.;sudo PLAYER obam shop" + set {db_perk.main::09.ci} to "command block;&3Custom Items Menu;&6Opens the Custom Item menu to access items.;sudo PLAYER obam ci" + +command /obam []: + permission: obam.free + trigger: + argument 1 is not set: + loop {db_perk.main::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lOBAM Perks and Shop Menu" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.main::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "07.ci": + player does not have permission "obam.smod": + clear {_what} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + loop-index is "07.ci": + player does not have permission "obam.smod": + clear {_what} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + argument 1 is set: +# argument 1 is "hatmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop + argument 1 is "petmenu": + "%player's world%" is "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "cart": + message "&cYou can not use that here." + stop +# argument 1 is "trailmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop +# argument 1 is "splashmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop +# argument 1 is "hitclassmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop + argument 1 is "horsemenu": + "%player's world%" is "Death-hub", "skyworld", "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "taco": + message "&cYou can not use that here." + stop + argument 1 is "shop": + "%player's world%" is "Death-hub", "skyworld", "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "taco": + message "&cYou can not use that here." + stop + argument 1 is "ci": + "%player's world%" is "Death-hub", "skyworld", "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "taco": + message "&cYou can not use that here." + stop + send "&aBringing up menu..." + wait 0.5 seconds + make player execute command "/%argument 1%" + +command /sudo : + permission: obam.admin + trigger: + make argument 1 execute argument 2 \ No newline at end of file diff --git a/On Server Files/TacoCart/Perk/pets.g.sk b/On Server Files/TacoCart/Perk/pets.g.sk new file mode 100644 index 0000000..1833dcf --- /dev/null +++ b/On Server Files/TacoCart/Perk/pets.g.sk @@ -0,0 +1,190 @@ +on script load: + delete {db_perk.pets::*} + set {db_perk.pets::01.ismooch} to "sheep spawn egg;&3iSmooch;&6The sassiest sheep in all the lands!;sudo PLAYER pet ismooch" + set {db_perk.pets::02.bruswain} to "bat spawn egg;&3BruSwain;&6This lovable bat lost his parents at a||&6young age. Thank you for taking care||&6of him!;sudo PLAYER pet bruswain;bat spawn egg;&3BruSwai&6This lovable bat lost his parents at a||&6young age. Thank you for taking care||&6of him!|| ||&cThis pet is only available to our Beta Supporters.;sudo PLAYER pet error" + set {db_perk.pets::03.sparky} to "creeper spawn egg;&3Sparky;&6While this creeper appears to have a||&6dangerously electrifying personality, we||&6promise he’s completely safe!;sudo PLAYER pet sparky;creeper spawn egg;&3Sparky;&6While this creeper appears to have a||&6dangerously electrifying personality, we||&6promise he’s completely safe!|| ||&cThis pet is only available to our Supporters.;sudo PLAYER pet error" + set {db_perk.pets::04.bacon} to "pig spawn egg;&3Bacon;&6Rescued from the final stages of the||&6slaughter house, this pig is extremely||&6grateful for your love and kindness!;sudo PLAYER pet bacon;pig spawn egg;&3Baco&6Rescued from the final stages of the||&6slaughter house, this pig is extremely||&6grateful for your love and kindness!|| ||&cThis pet must be purchased from the OBAMCraft shop.|| ||&eUse &f/buy &ein the hub purchase &3Bacon|| ||&ePrice: &a$5.00;sudo PLAYER pet error" + set {db_perk.pets::05.blank} to "air" + set {db_perk.pets::06.blank} to "air" + set {db_perk.pets::07.lead} to "lead;&3Leash;&6Pets getting out of control? Click this||&6to attach a lead to all of your||&6summoned pets!;sudo PLAYER pet lead" + set {db_perk.pets::08.blank} to "air" + set {db_perk.pets::09.clear} to "fire;&3Clear;&6Click to clear all summoned pets!;sudo PLAYER pet clear" + +command /petmenu: + trigger: + loop {db_perk.pets::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lPet Stable" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.pets::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "02.bruswain": + player does not have permission "obam.beta.hat": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.sparky": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.bacon": + {db_purchase.bacon.%uuid of player%} is not set: + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +every 1 second: + loop all entities: + loop-entity is sheep or bat or powered creeper or pig: + name of loop-entity is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon": + spawn 4 particle heart offset by 1, 1, 1 at location of loop-entity + {owner.%loop-entity%} is not set: + kill loop-entity + distance between location of loop-entity and location of {owner.%loop-entity%} is greater than 20: + teleport loop-entity to location of {owner.%loop-entity%} + +on damage of sheep or bat or powered creeper or pig: + name of victim is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon": + cancel event + +on quit: + kill {pets.%player%} + clear {pets.%player%} + loop {pets.%player%::*}: + clear {owner.%loop-value%} + kill loop-value + clear {pets.%player%::*} + stop + +command /pet []: + trigger: + world is "kitpvpkillingfields": + send "&cYou can not do that here" to player + stop + argument is not set: + message "&cPlease use &7/OBAM &cto access your Pet Stable." + stop + argument is "error": + message "&cThis pet is not available to you." + stop + argument is "lead": + loop {pets.%player%::*}: + teleport loop-value to location of player + make player leash loop-value + stop + argument is "clear": + kill {pets.%player%} + clear {pets.%player%} + loop {pets.%player%::*}: + kill loop-value + clear {owner.%loop-value%} + clear {pets.%player%::*} + stop + {pets.%player%} is set: + player does not have permission "obam.supporter": + send "&cYou can only have one pet at a time!" to player + stop + size of {pets.%player%::*} is 5: + send "&cYou can only have 5 pets at a time!" to player + stop + argument is "ISMOOCH": + spawn sheep at location of player + set name of spawned sheep to "&aISMOOCH" + set color of spawned sheep to pink + make player leash spawned sheep + set {pets.%player%} to spawned sheep + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + argument is "BruSwain": + player has permission "obam.beta.hat": + spawn bat at location of player + set name of spawned bat to "&aBru Swain" + make player leash spawned bat + set {pets.%player%} to spawned bat + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + send "&cThis is for beta supporters only!" to player + argument is "Sparky": + player has permission "obam.supporter": + spawn powered creeper at location of player + set name of spawned powered creeper to "&aSparky" + make player leash spawned powered creeper + set {pets.%player%} to spawned powered creeper + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + send "&cYou must be a supporter to do this!" to player + argument is "bacon": + {db_purchase.bacon.%uuid of player%} is true: + spawn pig at location of player + set name of spawned pig to "&aBacon" + make player leash spawned pig + set {pets.%player%} to spawned pig + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + player has permission "obam.smod": + spawn pig at location of player + set name of spawned pig to "&aBacon" + make player leash spawned pig + set {pets.%player%} to spawned pig + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + send "&cYou must purchase this pet on the online store!" + stop + argument is "dragon": + send "&cI bet you wish you could...." to player + stop + send "&cThat is not an option!" to player + +on explosion prime: + entity is powered creeper: + name of entity is "&aSparky": + cancel event + +on death of a sheep or a bat or a powered creeper or a pig: + name of victim is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon" + clear drops + +on right click on a sheep or a bat or a powered creeper or a pig: + name of target is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon": + cancel event + +on right click with wheat on sheep: + name of event-entity is "&aISMOOCH" + cancel event + send "&cYou can not mate pets D:" to event-player + +on right click with carrot on sheep: + name of event-entity is "&aBacon" + cancel event + send "&cYou can not mate pets D:" to event-player + +on right click with shears on sheep: + name of event-entity is "&aISMOOCH" + cancel event + send "&cYou can not shear pets!" to event-player diff --git a/On Server Files/TacoCart/Perk/splash.g.sk b/On Server Files/TacoCart/Perk/splash.g.sk new file mode 100644 index 0000000..c587a4c --- /dev/null +++ b/On Server Files/TacoCart/Perk/splash.g.sk @@ -0,0 +1,214 @@ +on script load: + delete {db_perk.splash::*} + set {db_perk.splash::01.heart} to "red dye;&3Heart Particles;&6Click to enable a heart splash!;sudo PLAYER splash heart;red dye;&3Heart Particles;&6Click to enable a heart splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::02.flame} to "fire;&3Flame Particles;&6Click to enable a flame splash!;sudo PLAYER splash flame;fire;&3Flame Particles;&6Click to enable a flame splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::03.reddust} to "magma cream;&3Unstable Gas Particles;&6Click to enable an unstable gas splash!;sudo PLAYER splash reddust;magma cream;&3Unstable Gas Particles;&6Click to enable an unstable gas splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::04.smoke} to "charcoal;&3Dark Smoke Particles;&6Click to enable a dark smoke splash!;sudo PLAYER splash smoke;charcoal;&3Dark Smoke Particles;&6Click to enable a dark smoke splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::05.waterdrip} to "water;&3Water Drip Particles;&6Click to enable a water drip splash!;sudo PLAYER splash waterdrip;water;&3Water Drip Particles;&6Click to enable a water drip splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::06.lavadrip} to "lava;&3Lava Drip Particles;&6Click to enable a lava drip splash!;sudo PLAYER splash lavadrip;lava;&3Lava Drip Particles;&6Click to enable a lava drip splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::07.slime} to "slimeball;&3Slime Particles;&6Click to enable a slime splash!;sudo PLAYER splash slime;slimeball;&3Slime Particles;&6Click to enable a slime splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::08.note} to "jukebox;&3Music Notes Particles;&6Click to enable a music note splash!;sudo PLAYER splash note;jukebox;&3Music Notes Particles;&6Click to enable a music note splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::09.happy} to "villager spawn egg;&3Villager Particles “Happy”;&6Click to enable a happy villager splash!;sudo PLAYER splash happy;villager spawn egg;&3Villager Particles “Happy”;&6Click to enable a happy villager splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::10.angry} to "villager spawn egg;&3Villager Particles “Angry”;&6Click to enable a angry villager splash!;sudo PLAYER splash angry;villager spawn egg;&3Villager Particles “Angry”;&6Click to enable a angry villager splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::11.explode} to "tnt;&3Explosion Smoke Particles;&6Click to enable a explosion smoke splash!;sudo PLAYER splash explode;tnt;&3Explosion Smoke Particles;&6Click to enable a explosion smoke splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::12.snow} to "snow block;&3Snowflake Particles;&6Click to enable a snowflake splash!;sudo PLAYER splash snow;snow block;&3Snowflake Particles;&6Click to enable a snowflake splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::13.portal} to "nether portal;&3Nether Portal Particles;&6Click to enable a nether portal splash!;sudo PLAYER splash portal;nether portal;&3Nether Portal Particles;&6Click to enable a nether portal splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::14.cloud} to "bonemeal;&3Cloud Particles;&6Click to enable a cloud splash!;sudo PLAYER splash cloud;bonemeal;&3Cloud Particles;&6Click to enable a cloud splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::15.bubble} to "water bottle;&3Bubble Particles;&6Click to enable a bubble splash!;sudo PLAYER splash bubble;water bottle;&3Bubble Particles;&6Click to enable a bubble splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::16.blank} to "air" + set {db_perk.splash::17.blank} to "air" + set {db_perk.splash::18.clear} to "glass;&3Clear Particles;&6Click to clear your splash!;sudo PLAYER splash clear;glass;&3Clear Particles;&6Click to clear your splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + +command /splashmenu: + trigger: + loop {db_perk.splash::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lSplash Menu" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.splash::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.heart": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.flame": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.reddust": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.smoke": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.waterdrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.lavadrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "07.slime": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "08.note": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "09.happy": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "10.angry": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "11.explode": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "12.snow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "13.portal": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "14.cloud": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "15.bubble": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "16.clear": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /splash []: + trigger: + argument is not set: + message "&cPlease use &7/OBAM &cto access the Splash Menu." + stop + argument is "error": + message "&cThis splash is not available to you." + stop + player has permission "obam.supporter": + argument is "heart": + set {splash.%player%} to "heart" + send "&aYou have enabled a &eHeart Splash&a!" + argument is "flame": + set {splash.%player%} to "flame" + send "&aYou have enabled a &eFlame Splash&a!" + argument is "reddust": + set {splash.%player%} to "reddust" + send "&aYou have enabled an &eUnstable Gas Splash&a!" + argument is "smoke": + set {splash.%player%} to "smoke" + send "&aYou have enabled a &eDark Smoke Splash&a!" + argument is "waterdrip": + set {splash.%player%} to "waterdrip" + send "&aYou have enabled a &eWater Drip Splash&a!" + argument is "lavadrip": + set {splash.%player%} to "lavadrip" + send "&aYou have enabled a &eLava Drip Splash&a!" + argument is "slime": + set {splash.%player%} to "slime" + send "&aYou have enabled a &eSlime Splash&a!" + argument is "note": + set {splash.%player%} to "note" + send "&aYou have enabled a &eMusic Note Splash&a!" + argument is "happy": + set {splash.%player%} to "happy" + send "&aYou have enabled a &eHappy Villager Splash&a!" + argument is "angry": + set {splash.%player%} to "angry" + send "&aYou have enabled an &eAngry Villager Splash&a!" + argument is "explode": + set {splash.%player%} to "explode" + send "&aYou have enabled an &eExplosion Smoke Splash&a!" + argument is "snow": + set {splash.%player%} to "snow" + send "&aYou have enabled a &eSnowflake Splash&a!" + argument is "bubble": + set {splash.%player%} to "bubble" + send "&aYou have enabled a &eBubble Splash&a!" + argument is "portal": + set {splash.%player%} to "portal" + send "&aYou have enabled a &eNether Portal Splash&a!" + argument is "cloud": + set {splash.%player%} to "cloud" + send "&aYou have enabled a &eCloud Splash&a!" + argument is "clear": + clear {splash.%player%} + send "&aYou have disabled your splash!" + +every 5 seconds: + loop all players: + clear {_amt} + loop-player is not sneaking + loop-player is sprinting: + set {_amt} to 100 + {_amt} is not set: + set {_amt} to 50 + {splash.%loop-player%} is set: + {splash.%loop-player%} is "bubble": + spawn 500 particle bubble offset by 2, 2, 2 at location of loop-player + {splash.%loop-player%} is "cloud": + spawn {_amt} particle cloud offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "heart": + spawn {_amt} particle heart offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "flame": + spawn {_amt} particle flame offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "reddust": + spawn {_amt} particle red dust offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "smoke": + spawn {_amt} particle large smoke offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "note": + spawn {_amt} particle note offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "lavadrip": + spawn {_amt} particle drip lava offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "waterdrip": + spawn {_amt} particle drip water offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "slime": + spawn {_amt} particle slime offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "happy": + spawn {_amt} particle happy villager offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "angry": + spawn {_amt} particle angry villager offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "explode": + spawn {_amt} particle large explode offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "snow": + spawn {_amt} particle snow shovel offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "portal": + spawn {_amt} particle portal offset by 1, 1, 1 at location of loop-player \ No newline at end of file diff --git a/On Server Files/TacoCart/Perk/suphorse.g.sk b/On Server Files/TacoCart/Perk/suphorse.g.sk new file mode 100644 index 0000000..da5685c --- /dev/null +++ b/On Server Files/TacoCart/Perk/suphorse.g.sk @@ -0,0 +1,70 @@ +on script load: + delete {db_perk.suphorse::*} + set {db_perk.suphorse::01.zombify} to "zombie spawn egg;&3Zombify your ride!;&6Feel like roaming the plains on your Zombified Horse?;sudo PLAYER suphorse zombify;zombie spawn egg;&3Zombify your ride!;&6Feel like roaming the plains on your Zombified Horse?|| ||&cThis ability is only available to our Supporters.;sudo PLAYER suphorse error" + set {db_perk.suphorse::02.skellify} to "skeleton spawn egg;&3Skellify your ride!;&6Feel like roaming the deserts on your Skellified Horse?;sudo PLAYER suphorse skellify;skeleton spawn egg;&3Skellify your ride!;&6Feel like roaming the deserts on your Skellified Horse?|| ||&cThis ability is only available to our Supporters.;sudo PLAYER suphorse error" + +command /horsemenu: + trigger: + loop {db_perk.suphorse::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHorse O' Matic" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.suphorse::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.zombify": + player does not have permission "obam.beta.hat": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.skellify": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /suphorse []: + trigger: + player is not riding: + send "&cYou must be riding a horse to do this!" + stop + player's vehicle is not a horse: + send "&cYou must be riding a horse to do this!" + stop + argument is not set: + message "&cPlease use &7/OBAM &cto access your modify your horse." + stop + argument is "error": + message "&cThis ability is not available to you." + stop + "%player's world%" is "world": + set {_y} to y-coordinate of player + set {_x} to x-coordinate of player + set {_z} to z-coordinate of player + argument is "zombify": + execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:3,Tame:1}" + argument is "skellify": + execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:4,Tame:1}" + delete player's vehicle + stop + message "&cThis can only be used in the Regular World." \ No newline at end of file diff --git a/On Server Files/TacoCart/Perk/tam.g.sk b/On Server Files/TacoCart/Perk/tam.g.sk new file mode 100644 index 0000000..303d62b --- /dev/null +++ b/On Server Files/TacoCart/Perk/tam.g.sk @@ -0,0 +1,71 @@ +every 1 minute: + {db_tam.modifier} is not set: + set {db_tam.modifier} to 1 + set {_add} to {db_tam.modifier} + #OTAM Hook + {db_tam.bonus} is set: + add {db_tam.bonus} to {_add} + loop all players: + add {_add} to loop-player's balance + {session.tam.%loop-player%} is not set: + set {session.tam.%loop-player%} to 0 + add {_add} to {session.tam.%loop-player%} + {db_total.tam.%uuid of loop-player%} is not set: + {db_total.tam.%loop-player%} is set: + set {db_total.tam.%uuid of loop-player%} to {db_total.tam.%loop-player%} + else: + set {db_total.tam.%uuid of loop-player%} to 0 + add {_add} to {db_total.tam.%uuid of loop-player%} + {db_total.tam} is not set: + set {db_total.tam} to 0 + add {_add} to {db_total.tam} + {db_total.reg} is not set: + set {db_total.reg} to 0 + add {_add} to {db_total.reg} + +command /tam: + permission: obam.free + trigger: + send "&aTotal Tickets earned with -TAM-:" + send "&e%{db_total.tam.%uuid of player%}%" + send "&aTotal this session:" + send "&e%{session.tam.%player%}%" + send "&aTotal Tickets:" + send "&e%player's balance%" + #OTAM Hook + {db_tam.bonus} is not set: + send "&aCurrent -TAM- Modifier:" + send "&e%{db_tam.modifier}%" + #OTAM Hooks + {db_tam.bonus} is set: + send "&aCurrent -TAM- Modifier:" + send "&e%{db_tam.modifier}% &c&o+ %{db_tam.bonus}%" + send "&4Remaining -TAM- Bonus Time:" + set {_diff} to difference between {db_time.extend.tam} and now + send "&c%{_diff}%" + send "&4OTAM Time Contributions:" + send "&c%{db_tamstats.time.%uuid of player%}% minutes" + send "&4OTAM Bonus Contributions:" + send "&c%{db_tamstats.bonus.%uuid of player%}%" + +command /tamtotal: + permission: obam.admin + trigger: + send "&aTotal Global Tickets earned with -TAM-:" + send "&e%{db_total.tam}%" + send "&aRegular:" + send "&e%{db_total.reg}%" + send "&aSupporter:" + send "&e%{db_total.sup}%" + send "&aPlus:" + send "&e%{db_total.plus}%" + send "&aUltimate:" + send "&e%{db_total.ult}%" + +on join: + set {session.tam.%player%} to 0 + +command /tammodset : + permission: obam.admin + trigger: + set {db_tam.modifier} to argument diff --git a/On Server Files/TacoCart/Perk/tickets.g.sk b/On Server Files/TacoCart/Perk/tickets.g.sk new file mode 100644 index 0000000..df07df8 --- /dev/null +++ b/On Server Files/TacoCart/Perk/tickets.g.sk @@ -0,0 +1,68 @@ +#money stuff +#give player money +command /tixg : + description: Give a Player some money + usage: /tixg + executable by: console and players + permission: obam.admin + trigger: + + set {_player.balance} to player-argument's balance + set {_player} to player-argument + execute console command "/tls STAFF %arg 2% %{_player.balance}% INCREASE %{_player}% Ticket Adjustment by %player%" + add arg 2 to player-argument's balance + message "&aYou have been given &e%arg 2% Tickets&a. Your balance is now &e%player-argument's money%&a." to player-argument + message "You have granted %player-argument% %arg 2% Tickets" to player + + +command /tixr : + description: Subtract money from a Player + usage: /tixr + executable by: console and players + permission: obam.admin + trigger: + + + set {_valid} to argument 2 + set {_player.balance} to player-argument's balance + set {_player} to player-argument + + {_valid} is greater than {_player.balance}: + send "%player-argument% does not have that many tickets!" to player + stop + + execute console command "/tls STAFF %arg 2% %{_player.balance}% DEDUCT %{_player}% Ticket Adjustment by %player%" + + +#pay command +command /tixp : + description: Pay a Player + usage: /tixp + permission: obam.admin + trigger: + set {_curbalance} to player's money + set {_valid} to difference between {_curbalance} and argument 2 + + {_valid} is less than 0: + message "You do not have enough money!" to player + stop + + add arg 2 to player-argument's balance + remove arg 2 from player's balance + message "You have received %arg 2% Tickets from %player%. Your balance is now %player-argument's money%." to player-argument + message "You have paid %player-argument% %arg 2% Tickets. Your balance is now %player's money%." to player + +command /tix: + executable by: players + permission: obam.free + trigger: + send "&aYour current balance is &e%player's balance%&a!" to player + +command /tixpeek : + permission: obam.admin + trigger: + set {_player} to argument parsed as offline player + send "&e%argument%'s&a ticket balance is &e%{_player}'s balance%" to player + + + diff --git a/On Server Files/TacoCart/Perk/trails.g.sk b/On Server Files/TacoCart/Perk/trails.g.sk new file mode 100644 index 0000000..a163ad8 --- /dev/null +++ b/On Server Files/TacoCart/Perk/trails.g.sk @@ -0,0 +1,205 @@ +on script load: + delete {db_perk.trails::*} + set {db_perk.trails::01.heart} to "red dye;&3Heart Particles;&6Click to enable heart trails!;sudo PLAYER trails heart;red dye;&3Heart Particles;&6Click to enable heart trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::02.flame} to "fire;&3Flame Particles;&6Click to enable flame trails!;sudo PLAYER trails flame;fire;&3Flame Particles;&6Click to enable flame trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::03.reddust} to "magma cream;&3Unstable Gas Particles;&6Click to enablen unstable gas trails!;sudo PLAYER trails reddust;magma cream;&3Unstable Gas Particles;&6Click to enablen unstable gas trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::04.smoke} to "charcoal;&3Dark Smoke Particles;&6Click to enable dark smoke trails!;sudo PLAYER trails smoke;charcoal;&3Dark Smoke Particles;&6Click to enable dark smoke trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::05.waterdrip} to "water;&3Water Drip Particles;&6Click to enable water drip trails!;sudo PLAYER trails waterdrip;water;&3Water Drip Particles;&6Click to enable water drip trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::06.lavadrip} to "lava;&3Lava Drip Particles;&6Click to enable lava drip trails!;sudo PLAYER trails lavadrip;lava;&3Lava Drip Particles;&6Click to enable lava drip trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::07.slime} to "slimeball;&3Slime Particles;&6Click to enable slime trails!;sudo PLAYER trails slime;slimeball;&3Slime Particles;&6Click to enable slime trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::08.note} to "jukebox;&3Music Notes Particles;&6Click to enable music note trails!;sudo PLAYER trails note;jukebox;&3Music Notes Particles;&6Click to enable music note trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::09.happy} to "villager spawn egg;&3Villager Particles “Happy”;&6Click to enable happy villager trails!;sudo PLAYER trails happy;villager spawn egg;&3Villager Particles “Happy”;&6Click to enable happy villager trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::10.angry} to "villager spawn egg;&3Villager Particles “Angry”;&6Click to enable angry villager trails!;sudo PLAYER trails angry;villager spawn egg;&3Villager Particles “Angry”;&6Click to enable angry villager trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::11.explode} to "tnt;&3Explosion Smoke Particles;&6Click to enable explosion smoke trails!;sudo PLAYER trails explode;tnt;&3Explosion Smoke Particles;&6Click to enable explosion smoke trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::12.snow} to "snow block;&3Snowflake Particles;&6Click to enable snowflake trails!;sudo PLAYER trails snow;snow block;&3Snowflake Particles;&6Click to enable snowflake trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::13.portal} to "nether portal;&3Nether Portal Particles;&6Click to enable nether portal trails!;sudo PLAYER trails portal;nether portal;&3Nether Portal Particles;&6Click to enable nether portal trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::14.cloud} to "bonemeal;&3Cloud Particles;&6Click to enable cloud trails!;sudo PLAYER trails cloud;bonemeal;&3Cloud Particles;&6Click to enable cloud trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::15.blank} to "air" + set {db_perk.trails::16.blank} to "air" + set {db_perk.trails::17.blank} to "air" + set {db_perk.trails::18.clear} to "glass;&3Clear Particles;&6Click to clear your trails!;sudo PLAYER trails clear;glass;&3Clear Particles;&6Click to clear your trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + +command /trailmenu: + trigger: + loop {db_perk.trails::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lTrails Menu" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.trails::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.heart": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.flame": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.reddust": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.smoke": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.waterdrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.lavadrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "07.slime": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "08.note": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "09.happy": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "10.angry": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "11.explode": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "12.snow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "13.portal": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "14.cloud": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "15.bubble": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "16.clear": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /trails []: + trigger: + argument is not set: + message "&cPlease use &7/OBAM &cto access the Trails Menu." + stop + argument is "error": + message "&cThis trail is not available to you." + stop + player has permission "obam.supporter": + delete {trail.%player%} + argument is "heart": + set {trails.%player%} to "heart" + send "&aYou have enabled &eHeart trails&a!" + argument is "flame": + set {trails.%player%} to "flame" + send "&aYou have enabled &eFlame trails&a!" + argument is "reddust": + set {trails.%player%} to "reddust" + send "&aYou have enabled &eUnstable Gas trails&a!" + argument is "smoke": + set {trails.%player%} to "smoke" + send "&aYou have enabled &eDark Smoke trails&a!" + argument is "waterdrip": + set {trails.%player%} to "waterdrip" + send "&aYou have enabled &eWater Drip trails&a!" + argument is "lavadrip": + set {trails.%player%} to "lavadrip" + send "&aYou have enabled &eLava Drip trails&a!" + argument is "slime": + set {trails.%player%} to "slime" + send "&aYou have enabled &eSlime trails&a!" + argument is "note": + set {trails.%player%} to "note" + send "&aYou have enabled &eMusic Note trails&a!" + argument is "happy": + set {trails.%player%} to "happy" + send "&aYou have enabled &eHappy Villager trails&a!" + argument is "angry": + set {trails.%player%} to "angry" + send "&aYou have enabled &eAngry Villager trails&a!" + argument is "explode": + set {trails.%player%} to "explode" + send "&aYou have enabled &eExplosion Smoke trails&a!" + argument is "snow": + set {trails.%player%} to "snow" + send "&aYou have enabled &eSnowflake trails&a!" + argument is "portal": + set {trails.%player%} to "portal" + send "&aYou have enabled &eNether Portal trails&a!" + argument is "cloud": + set {trails.%player%} to "cloud" + send "&aYou have enabled &eCloud trails&a!" + argument is "clear": + clear {trails.%player%} + send "&aYou have disabled your trails!" + +on shoot: + {trails.%shooter%} is set: + {trails.%shooter%} is "heart": + trail projectile with particle heart + {trails.%shooter%} is "flame": + trail projectile with particle flame + {trails.%shooter%} is "reddust": + trail projectile with particle red dust + {trails.%shooter%} is "smoke": + trail projectile with particle large smoke + {trails.%shooter%} is "bubble": + trail projectile with particle bubble + {trails.%shooter%} is "note": + trail projectile with particle note + {trails.%shooter%} is "lavadrip": + trail projectile with particle drip lava + {trails.%shooter%} is "waterdrip": + trail projectile with particle drip water + {trails.%shooter%} is "slime": + trail projectile with particle slime + {trails.%shooter%} is "happy": + trail projectile with particle happy villager + {trails.%shooter%} is "angry": + trail projectile with particle angry villager + {trails.%shooter%} is "explode": + trail projectile with particle large explode + {trails.%shooter%} is "snow": + trail projectile with particle snow shovel + {trails.%shooter%} is "portal": + trail projectile with particle portal + {trails.%shooter%} is "cloud": + trail projectile with particle cloud diff --git a/On Server Files/TacoCart/Tacocart/taco.sk b/On Server Files/TacoCart/Tacocart/taco.sk new file mode 100644 index 0000000..0af5ee1 --- /dev/null +++ b/On Server Files/TacoCart/Tacocart/taco.sk @@ -0,0 +1,1879 @@ +#Kell's Taco Cart Mini Game + +# To Do: +# legendary quest line +# Hub signs +# top players +# single player +# zombie taco + +#startfold info + +#Variables: +# {taco.variables::*} = controls all item and villager timers +# {taco.timers.%player%::*} = controls food timers +# {taco.player.%world%::*} = stores current players 1 & 2 +# {keystone.%world%} = World Keystone +# {taco.waypoint.%world%::*} = waypoints +# {taco.p1.spawns.%world%::*} = stores Player 1 customer spawns +# {taco.p2.spawns.%world%::*} = stores Player 1 customer spawns +# {taco.villager.name::*} = stores villager names as value, index is random number +# {taco.receipt1::*} = stores ingredients per type +# {taco.p1.customer.%world%::*} = stores Player 1 customer names +# {taco.p2.customer.%world%::*} = stores Player 1 customer names +# {taco.p1.order.%world%::*} = stores Player 1 customer orders +# {taco.p2.order.%world%::*} = stores Player 1 customer orders +# {taco.p1.signs.%world%::*} = stores Player 1 sign locations +# {taco.p2.signs.%world%::*} = stores Player 2 sign locations +# {taco.start.%world%::*} = stores Start Sign locations +# {taco.1.gate1.%world%::*} = stores Player 1 Gate 1 locations +# {taco.2.gate1.%world%::*} = stores Player 2 Gate 1 locations +# {taco.1.gate2.%world%::*} = stores Player 1 Gate 2 locations +# {taco.2.gate2.%world%::*} = stores Player 2 Gate 2 locations +# farmer = 120 +# priest = 105 +# butcher = 90 +# blacksmith = 75 +# librarian = 60 +# {taco.%player%.score.%world%} = Stores Player score +# {taco.level::*} = stores dissipating spawn time variables based on player level +# {taco.timeout::*} = stores customer angry leave messages +# {taco.correct::*} = stores customer correct turn in messages +# {taco.incorrect::*} = stores customer incorrect turn in messages +# {taco.pinky::*} = stores Pinky messages from Cletus +# {taco.horsey::*} = stores Horse click messages from Cletus + +#Related Files: +# boards.sk = for scoreboard functions +# keystone.sk = for keystone command +# legend-sky = legendary quest skript for sky block +# legend-front = legendary quest skript for Fronts + +#endfold + +#startfold setup + +aliases: + grain = 296 + soft shell = 148 + hard shell = 147 + whole tomato = 260 + diced tomato = 372 + block of cheese = 19 + shredded cheese = 351:14 + raw onion = 332 + diced onion = 361 + head of lettuce = 351:2 + shredded lettuce = 295 + rancid meat = 367 + +options: + receipt1: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Lettuce||&6+ Onion" + receipt2: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Lettuce||&6+ Tomato" + receipt3: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Onion||&6+ Tomato" + receipt4: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Chicken||&6+ Lettuce||&6+ Onion||&6+ Tomato" + receipt5: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Lettuce||&6+ Onion" + receipt6: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Lettuce||&6+ Tomato" + receipt7: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Onion||&6+ Tomato" + receipt8: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Beef||&6+ Lettuce||&6+ Onion||&6+ Tomato" + receipt9: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Lettuce||&6+ Onion" + receipt10: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Lettuce||&6+ Tomato" + receipt11: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Onion||&6+ Tomato" + receipt12: paper named "&3Taco Receipt" with lore "&6Soft Shelled Taco||&6+ Fish||&6+ Lettuce||&6+ Onion||&6+ Tomato" + receipt13: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Lettuce||&6+ Onion" + receipt14: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Lettuce||&6+ Tomato" + receipt15: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Chicken||&6+ Cheese||&6+ Onion||&6+ Tomato" + receipt16: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Chicken||&6+ Lettuce||&6+ Onion||&6+ Tomato" + receipt17: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Lettuce||&6+ Onion" + receipt18: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Lettuce||&6+ Tomato" + receipt19: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Beef||&6+ Cheese||&6+ Onion||&6+ Tomato" + receipt20: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Beef||&6+ Lettuce||&6+ Onion||&6+ Tomato" + receipt21: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Lettuce||&6+ Onion" + receipt22: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Lettuce||&6+ Tomato" + receipt23: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Fish||&6+ Cheese||&6+ Onion||&6+ Tomato" + receipt24: paper named "&3Taco Receipt" with lore "&6Hard Shelled Taco||&6+ Fish||&6+ Lettuce||&6+ Onion||&6+ Tomato" + #clue1: give player book from "&9&lSkyblock General Info;&eOBAM Minigames;&fThis book contains Information about||&fSkyblock General Info on OBAM!;§cWhat Is Skyblock?§r §0Skyblock is a survival experience that is based on completing challenges and building a base. You begin on a small floating island in the sky with a chest that contains only the bare minimum to get started.§r||§cGetting Started §r §0Using the two blocks of ice, you'll want to create an infinite water source. Then, using water and your one lava bucket, create a cobblestone generator and start expanding from there!§r||§cBe Careful! §r §0Falling off or dying early on with your starter items could result in their loss and require an island reset. You get 2 free resets. After that, it is §r§22,000 Tickets§r §0per reset.§r" + #clue2: liabrary book in its place, give book about Kells and the almight taco god + #clue3 sign engraved on back with "Please watch over Cletus" from Kells + clue4: pink wool named "&a&b&k&a&3Silk Lining" with lore "&6This looks like it could be from the||&3fabled &a&b&k&a&3Sombrero of Plenty&3.||&3You should find a black market shop." + +#endfold + +#startfold recipes + +on script load: + register new shaped recipe for {@receipt1} using shredded cheese, shredded lettuce, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt1} using shredded cheese, diced onion, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt1} using diced onion, shredded cheese, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt1} using diced onion, shredded lettuce, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt1} using shredded lettuce, diced onion, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt1} using shredded lettuce, shredded cheese, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt2} using shredded cheese, shredded lettuce, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt2} using shredded cheese, diced tomato, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt2} using diced tomato, shredded cheese, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt2} using diced tomato, shredded lettuce, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt2} using shredded lettuce, diced tomato, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt2} using shredded lettuce, shredded cheese, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt3} using shredded cheese, diced onion, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt3} using shredded cheese, diced tomato, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt3} using diced tomato, shredded cheese, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt3} using diced tomato, diced onion, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt3} using diced onion, diced tomato, shredded cheese, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt3} using diced onion, shredded cheese, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt4} using shredded lettuce, diced onion, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt4} using shredded lettuce, diced tomato, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt4} using diced tomato, shredded lettuce, diced onion, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt4} using diced tomato, diced onion, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt4} using diced onion, diced tomato, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt4} using diced onion, shredded lettuce, diced tomato, cooked chicken, cooked chicken, cooked chicken, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt5} using shredded cheese, shredded lettuce, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt5} using shredded cheese, diced onion, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt5} using diced onion, shredded cheese, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt5} using diced onion, shredded lettuce, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt5} using shredded lettuce, diced onion, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt5} using shredded lettuce, shredded cheese, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt6} using shredded cheese, shredded lettuce, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt6} using shredded cheese, diced tomato, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt6} using diced tomato, shredded cheese, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt6} using diced tomato, shredded lettuce, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt6} using shredded lettuce, diced tomato, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt6} using shredded lettuce, shredded cheese, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt7} using shredded cheese, diced onion, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt7} using shredded cheese, diced tomato, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt7} using diced tomato, shredded cheese, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt7} using diced tomato, diced onion, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt7} using diced onion, diced tomato, shredded cheese, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt7} using diced onion, shredded cheese, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt8} using shredded lettuce, diced onion, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt8} using shredded lettuce, diced tomato, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt8} using diced tomato, shredded lettuce, diced onion, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt8} using diced tomato, diced onion, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt8} using diced onion, diced tomato, shredded lettuce, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt8} using diced onion, shredded lettuce, diced tomato, cooked beef, cooked beef, cooked beef, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt9} using shredded cheese, shredded lettuce, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt9} using shredded cheese, diced onion, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt9} using diced onion, shredded cheese, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt9} using diced onion, shredded lettuce, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt9} using shredded lettuce, diced onion, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt9} using shredded lettuce, shredded cheese, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt10} using shredded cheese, shredded lettuce, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt10} using shredded cheese, diced tomato, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt10} using diced tomato, shredded cheese, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt10} using diced tomato, shredded lettuce, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt10} using shredded lettuce, diced tomato, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt10} using shredded lettuce, shredded cheese, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt11} using shredded cheese, diced onion, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt11} using shredded cheese, diced tomato, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt11} using diced tomato, shredded cheese, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt11} using diced tomato, diced onion, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt11} using diced onion, diced tomato, shredded cheese, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt11} using diced onion, shredded cheese, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt12} using shredded lettuce, diced onion, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt12} using shredded lettuce, diced tomato, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt12} using diced tomato, shredded lettuce, diced onion, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt12} using diced tomato, diced onion, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt12} using diced onion, diced tomato, shredded lettuce, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt12} using diced onion, shredded lettuce, diced tomato, cooked fish, cooked fish, cooked fish, soft shell, soft shell, soft shell + register new shaped recipe for {@receipt13} using shredded cheese, shredded lettuce, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt13} using shredded cheese, diced onion, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt13} using diced onion, shredded cheese, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt13} using diced onion, shredded lettuce, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt13} using shredded lettuce, diced onion, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt13} using shredded lettuce, shredded cheese, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt14} using shredded cheese, shredded lettuce, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt14} using shredded cheese, diced tomato, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt14} using diced tomato, shredded cheese, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt14} using diced tomato, shredded lettuce, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt14} using shredded lettuce, diced tomato, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt14} using shredded lettuce, shredded cheese, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt15} using shredded cheese, diced onion, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt15} using shredded cheese, diced tomato, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt15} using diced tomato, shredded cheese, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt15} using diced tomato, diced onion, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt15} using diced onion, diced tomato, shredded cheese, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt15} using diced onion, shredded cheese, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt16} using shredded lettuce, diced onion, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt16} using shredded lettuce, diced tomato, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt16} using diced tomato, shredded lettuce, diced onion, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt16} using diced tomato, diced onion, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt16} using diced onion, diced tomato, shredded lettuce, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt16} using diced onion, shredded lettuce, diced tomato, cooked chicken, cooked chicken, cooked chicken, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt17} using shredded cheese, shredded lettuce, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt17} using shredded cheese, diced onion, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt17} using diced onion, shredded cheese, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt17} using diced onion, shredded lettuce, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt17} using shredded lettuce, diced onion, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt17} using shredded lettuce, shredded cheese, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt18} using shredded cheese, shredded lettuce, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt18} using shredded cheese, diced tomato, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt18} using diced tomato, shredded cheese, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt18} using diced tomato, shredded lettuce, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt18} using shredded lettuce, diced tomato, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt18} using shredded lettuce, shredded cheese, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt19} using shredded cheese, diced onion, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt19} using shredded cheese, diced tomato, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt19} using diced tomato, shredded cheese, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt19} using diced tomato, diced onion, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt19} using diced onion, diced tomato, shredded cheese, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt19} using diced onion, shredded cheese, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt20} using shredded lettuce, diced onion, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt20} using shredded lettuce, diced tomato, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt20} using diced tomato, shredded lettuce, diced onion, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt20} using diced tomato, diced onion, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt20} using diced onion, diced tomato, shredded lettuce, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt20} using diced onion, shredded lettuce, diced tomato, cooked beef, cooked beef, cooked beef, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt21} using shredded cheese, shredded lettuce, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt21} using shredded cheese, diced onion, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt21} using diced onion, shredded cheese, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt21} using diced onion, shredded lettuce, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt21} using shredded lettuce, diced onion, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt21} using shredded lettuce, shredded cheese, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt22} using shredded cheese, shredded lettuce, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt22} using shredded cheese, diced tomato, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt22} using diced tomato, shredded cheese, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt22} using diced tomato, shredded lettuce, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt22} using shredded lettuce, diced tomato, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt22} using shredded lettuce, shredded cheese, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt23} using shredded cheese, diced onion, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt23} using shredded cheese, diced tomato, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt23} using diced tomato, shredded cheese, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt23} using diced tomato, diced onion, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt23} using diced onion, diced tomato, shredded cheese, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt23} using diced onion, shredded cheese, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt24} using shredded lettuce, diced onion, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt24} using shredded lettuce, diced tomato, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt24} using diced tomato, shredded lettuce, diced onion, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt24} using diced tomato, diced onion, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt24} using diced onion, diced tomato, shredded lettuce, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + register new shaped recipe for {@receipt24} using diced onion, shredded lettuce, diced tomato, cooked fish, cooked fish, cooked fish, hard shell, hard shell, hard shell + +#endfold + +#startfold on events + +on join: + set player's level to 0 + set player's level progress to 0 + add 20 to player's hunger + +on hunger meter change: + cancel event + +on damage of a player: + attacker is a witch: + cancel event + projectile is a raw onion: + cancel event + send "Nice shot!" to attacker + victim's tool is air: + set {_vtime} to "%{taco.variables::slow.time}% seconds" parsed as timespan + apply slowness 8 to victim for {_vtime} + apply nausea to victim for 999 seconds + send "&cYou just got knocked out by %attacker%!" to victim + stop + delete victim's tool + apply nausea to victim for 999 seconds + send "&c%attacker% just knocked the stuff out of your hands!" to victim + stop + cancel event + +on rightclick on villager: + cancel event + player's tool is paper: + set {_receipt} to player's tool + {_receipt} is set: + loop {taco.player.%world%::*}: + player is loop-value: + set {_p.num} to loop-index + exit loop + {_p.num} is set: + set {_loc} to location of block below villager + loop {taco.p%{_p.num}%.spawns.%world%::*}: + {_loc} is loop-value: + set {_c.num} to loop-index + exit loop + {_c.num} is set: + set {_match} to false + {_receipt} is {taco.%{taco.p%{_p.num}%.order.%world%::%{_c.num}%}%::6}: + set {_match} to true + increase the level progress of player by 0.05 + add 1 to {taco.%{taco.player.%world%::%{_p.num}%}%.score.%world%} + set {_ran} to random integer between 1 and 5 + send "&9%{taco.p%{_p.num}%.customer.%world%::%{_c.num}%}%:&f %{taco.correct::%{_ran}%}%" to {taco.player.%world%::%{_p.num}%} + clear {taco.p1.order.%world%::%{_slot}%} + remove player's tool from player + delete villager + {_match} is false: + set {_ran} to random integer between 1 and 6 + send "&9%{taco.p%{_p.num}%.customer.%world%::%{_c.num}%}%:&f %{taco.correct::%{_ran}%}%" to {taco.player.%world%::%{_p.num}%} + remove player's tool from player + delete villager + +on damage of villager: + cancel event + projectile is a raw onion: + send "Nailed them!" to attacker + set {_loc} to location of block below victim + loop {taco.p1.spawns.%world%::*}: + {_loc} is loop-value: + set {_p.num} to 1 + set {_c.num} to loop-index + exit loop + loop {taco.p2.spawns.%world%::*}: + {_loc} is loop-value: + set {_p.num} to 2 + set {_c.num} to loop-index + exit loop + {_p.num} is set: + {_c.num} is set: + set {_vtime} to "%{taco.variables::villager_hit.time}% seconds" parsed as timespan + subtract {_vtime} from {taco.p%{_p.num}%.customer.timer.%world%::%{_c.num}%} + set {_ran} to random integer between 1 and 5 + send "&9%{taco.p%{_p.num}%.customer.%world%::%{_c.num}%}%:&f %{taco.villager_hit::%{_ran}%}%" to {taco.player.%world%::*} + +on damage of sheep: + cancel event + +on sheep eat: + cancel event + +on sheep dye: + cancel event + message "Nope 2" + +on vehicle enter: + cancel event + +on right click on horse: + cancel event + set {_ran} to random integer between 1 and 5 + message "&9Cletus:&f %{taco.horsey::%{_ran}%}%" + +on right click on donkey: + cancel event + message "&9Cletus:&f That'll do Donkey, that'll do." + +on place: + player is not op + cancel event + +on break: + player is not op + cancel event + +on pickup: + item is rancid meat: + cancel event + +on xp spawn: + cancel event + +on drop: + item is not rancid meat: + cancel event + +on rightclick on item frame: + cancel event + +on damage of item frame: + cancel event + +on damage of a silverfish: + kill victim + +on target: + creature is a witch: + target is a player: + cancel event + +on rightclick on a stone button: + cancel event + player has grain: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::soft_shell}: + remove 1 grain from player + give player {taco.variables::soft_shell.amount} of soft shell named "Soft Taco Shell" + set {taco.timers.%player%::soft_shell} to now + set {_vtime} to "%{taco.variables::soft_shell.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::soft_shell} + stop + message "&cYou must wait a little longer to use the &6Soft Shell Press&c!" + stop + message "&cYou need some &6Grain&c to use this equipment!" + +on rightclick on a hopper: + cancel event + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::grain}: + give player {taco.variables::grain.amount} of grain named "Grain" + set {taco.timers.%player%::grain} to now + set {_vtime} to "%{taco.variables::grain.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::grain} + stop + message "&cYou must wait a little longer to use the &6Grain Dispenser&c!" + +on rightclick on a wooden button: + cancel event + player has grain: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::hard_shell}: + remove 1 grain from player + give player {taco.variables::hard_shell.amount} of hard shell named "Hard Taco Shell" + set {taco.timers.%player%::hard_shell} to now + set {_vtime} to "%{taco.variables::hard_shell.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::hard_shell} + stop + message "&cYou must wait a little longer to use the &6Hard Shell Press&c!" + stop + message "&cYou need some &6Grain&c to use this equipment!" + +on rightclick on daylight sensor: + player has whole tomato: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::diced_tomato}: + remove 1 whole tomato from player + give player {taco.variables::diced_tomato.amount} of diced tomato named "Diced Tomato" + set {taco.timers.%player%::diced_tomato} to now + set {_vtime} to "%{taco.variables::diced_tomato.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::diced_tomato} + stop + message "&cYou must wait a little longer to use the &6Tomato Dicer&c!" + stop + message "&cYou need a &6Whole Tomato&c to use this equipment!" + +on rightclick on a chest: + cancel event + "%player's world%" is "tacohub": + stop + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::block_of_cheese}: + give player {taco.variables::block_of_cheese.amount} of block of cheese named "Block of Cheese" + set {taco.timers.%player%::block_of_cheese} to now + set {_vtime} to "%{taco.variables::block_of_cheese.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::block_of_cheese} + stop + message "&cYou must wait a little longer to open the &6Cheese Cooler&c!" + +on rightclick on an oxeye daisy: + cancel event + "%player's world%" is "tacohub": + {taco.timers.%player%::raw_onion} is not set: + set {taco.timers.%player%::raw_onion} to now + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::raw_onion}: + give player {taco.variables::raw_onion.amount} of raw onion named "Raw Onion" + set {taco.timers.%player%::raw_onion} to now + set {_vtime} to "%{taco.variables::raw_onion.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::raw_onion} + stop + message "&cYou must wait a little longer to harvest from the &6Onion Garden&c!" + +on rightclick on a dispenser: + cancel event + player has raw beef: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::steak}: + remove 1 raw beef from player + give player {taco.variables::steak.amount} of steak named "Spicy Beef" + set {taco.timers.%player%::steak} to now + set {_vtime} to "%{taco.variables::steak.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::steak} + clear {taco.timers.%player%::rancid_meat} + stop + message "&cYou must wait a little longer to use the &6Steak-a-nator 5000&c!" + stop + message "&cYou need some &6Raw Beef&c to use this equipment!" + +on rightclick on a furnace: + cancel event + player has raw fish: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::cooked_fish}: + remove 1 raw fish from player + give player {taco.variables::cooked_fish.amount} of cooked fish named "Fish Sticks" + set {taco.timers.%player%::cooked_fish} to now + set {_vtime} to "%{taco.variables::cooked_fish.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::cooked_fish} + clear {taco.timers.%player%::rancid_fish} + stop + message "&cYou must wait a little longer to use the &6Fish-O-Matic&c!" + stop + message "&cYou need some &6Raw Fish&c to use this equipment!" + +on rightclick on a dropper: + cancel event + player has raw chicken: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::cooked_chicken}: + remove 1 raw chicken from player + give player {taco.variables::cooked_chicken.amount} of cooked chicken named "Spicy Chicken" + set {taco.timers.%player%::cooked_chicken} to now + set {_vtime} to "%{taco.variables::cooked_chicken.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::cooked_chicken} + clear {taco.timers.%player%::rancid_chicken} + stop + message "&cYou must wait a little longer to use the &6Clucker-Cooker&c!" + stop + message "&cYou need some &6Raw Chicken&c to use this equipment!" + +on rightclick on a lever: + cancel event + player has head of lettuce: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::shredded_lettuce}: + remove 1 head of lettuce from player + give player {taco.variables::shredded_lettuce.amount} of shredded lettuce named "Shredded Lettuce" + set {taco.timers.%player%::shredded lettuce} to now + set {_vtime} to "%{taco.variables::shredded_lettuce.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::shredded_lettuce} + stop + message "&cYou must wait a little longer to use the &6Lettuce Shredder&c!" + stop + message "&cYou need a &6Head of Lettuce&c to use this equipment!" + +on rightclick on a tripwire hook: + cancel event + player has raw onion: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::diced_onion}: + remove 1 raw onion from player + give player {taco.variables::diced_onion.amount} of diced onion named "Diced Onion" + set {taco.timers.%player%::diced_onion} to now + set {_vtime} to "%{taco.variables::diced_onion.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::diced_onion} + stop + message "&cYou must wait a little longer to use the &6Onion Chopper&c!" + stop + message "&cYou need a &6Raw Onion&c to use this equipment!" + +on rightclick on an iron door: + cancel event + "%player's world%" is "tacohub": + stop + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::raw_chicken}: + give player {taco.variables::raw_chicken.amount} of raw chicken named "Raw Chicken" + set {taco.timers.%player%::raw_chicken} to now + set {_vtime} to "%{taco.variables::raw_chicken.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::raw_chicken} + set {taco.timers.%player%::rancid_chicken} to now + stop + message "&cYou must wait a little longer to open the &6Chicken Freezer&c!" + +on rightclick on a wooden door: + cancel event + "%player's world%" is "tacohub": + stop + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::raw_beef}: + give player {taco.variables::raw_beef.amount} of raw beef named "Raw Beef" + set {taco.timers.%player%::raw_beef} to now + set {_vtime} to "%{taco.variables::raw_beef.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::raw_beef} + set {taco.timers.%player%::rancid_meat} to now + stop + message "&cYou must wait a little longer to open the &6Beef Freezer&c!" + +on rightclick on ice: + cancel event + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::raw_fish}: + give player {taco.variables::raw_fish.amount} of raw fish named "Raw Fish" + set {taco.timers.%player%::raw_fish} to now + set {_vtime} to "%{taco.variables::raw_fish.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::raw_fish} + set {taco.timers.%player%::rancid_fish} to now + stop + message "&cYou must wait a little longer to get in the &6Fish Freezer&c!" + +on rightclick on mob head block:1: + cancel event + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::head_of_lettuce}: + give player {taco.variables::head_of_lettuce.amount} of head of lettuce named "Head of Lettuce" + set {taco.timers.%player%::head_of_lettuce} to now + set {_vtime} to "%{taco.variables::head_of_lettuce.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::head_of_lettuce} + stop + message "&cYou must wait a little longer to pick from the &6Lettuce Garden&c!" + +on rightclick on a jukebox: + cancel event + player has block of cheese: + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::shredded_cheese}: + remove 1 block of cheese from player + give player {taco.variables::shredded_cheese.amount} of shredded cheese named "Shredded Cheese" + set {taco.timers.%player%::shredded_cheese} to now + set {_vtime} to "%{taco.variables::shredded_cheese.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::shredded_cheese} + stop + message "&cYou must wait a little longer to use the &6Cheese Shredder&c!" + stop + message "&cYou need a &6Block of Cheese&c to use this equipment!" + +on rightclick on an ender chest: + cancel event + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::whole_tomato}: + give player {taco.variables::whole_tomato.amount} of whole tomato named "Whole Tomato" + set {taco.timers.%player%::whole_tomato} to now + set {_vtime} to "%{taco.variables::whole_tomato.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::whole_tomato} + stop + message "&cYou must wait a little longer to get in the &6Tomato Bin&c!" + +on rightclick on a sheep: + cancel event + set {_dc} to now + {_dc} is greater than or equal to {taco.timers.%player%::sheep}: + chance of 2%: + {legendary.progress.%player%::3} is true: + message "&6Hmmmm, could this be?" + give player {@clue4} + set {legendary.progress.%player%::4} to true + set {taco.timers.%player%::sheep} to now + set {_vtime} to "%{taco.variables::sheep.time}% seconds" parsed as timespan + add {_vtime} to {taco.timers.%player%::sheep} + stop + +on rightclick on a cauldron: + cancel event + player has nausea: + remove nausea from player + remove slowness from player + message "You are healed child!" + +on right click on sign: + line 1 of block is "Click here": + set {_count} to 0 + loop entities in radius 3 of block: + loop-entity is a player: + add loop-entity to {_who::*} + add 1 to {_count} + {_count} is greater than 1: + send "Only one player per side." to {_who::*} + stop + {_count} is 1: + set {_loc} to location of block + loop {taco.start.%world%::*}: + loop-value is {_loc}: + set {_slot} to loop-index + set {taco.readycheck.%world%::%{_slot}%} to player + set line 1 of block to "Now waiting on" + set line 2 of block to "your opponent" + set line 3 of block to "to click their" + set line 4 of block to "Ready Sign" + loop {taco.%{_slot}%.gate2.%world%::*}: + set {_change} to loop-value-2 + {_slot} is "1": + set block 2 meters above {_change} to nether fence + {_slot} is "2": + set block 2 meters above {_change} to fence + stop + line 1 of block is "Now waiting on": + set {_loc} to location of block + loop {taco.start.%world%::*}: + loop-value is {_loc}: + set {_slot} to loop-index + clear {taco.readycheck.%world%::%{_slot}%} + set line 1 of block to "Click here" + set line 2 of block to "to claim the" + {_slot} is "1": + set line 3 of block to "Nether" + {_slot} is "2": + set line 3 of block to "Wooden" + set line 4 of block to "Taco Shack" + loop {taco.%{_slot}%.gate2.%world%::*}: + set {_change} to loop-value-2 + set block 2 meters above {_change} to air + + +#endfold + +#startfold periodic + +#WORLD SPECIFIC +every 60 seconds: + loop all entities in world "tacohub": + set {_ran} to random integer between 1 and 5 + loop-entity is a villager: + loop players in radius 25 of loop-entity: + send "&9Cletus:&f %{taco.pinky::%{_ran}%}%" to loop-player + +#Order Signs +every 1 second: + loop {taco.list.worlds::*}: + set {_world} to loop-index-1 + {taco.game.status.%{_world}%} is true: + loop {taco.player.%{_world}%::*}: + set {_p.num} to loop-index-2 + loop {taco.p%{_p.num}%.signs.%{_world}%::*}: + set {_next} to false + set {_sign} to block at location of loop-value-3 + set {_slot} to loop-index-3 + set {_timecheck} to now + set {_ttm} to {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%} + subtract 20 seconds from {_ttm} + set {_ing1} to {taco.%{taco.p%{_p.num}%.order.%{_world}%::%{_slot}%}%::1} + set {_ing2} to {taco.%{taco.p%{_p.num}%.order.%{_world}%::%{_slot}%}%::2} + set {_ing3} to {taco.%{taco.p%{_p.num}%.order.%{_world}%::%{_slot}%}%::3} + set {_ing4} to {taco.%{taco.p%{_p.num}%.order.%{_world}%::%{_slot}%}%::4} + set {_ing5} to {taco.%{taco.p%{_p.num}%.order.%{_world}%::%{_slot}%}%::5} + {_timecheck} is greater than {_ttm}: + set line 1 of {_sign} to "&4%{_ing1}% %{_ing2}%" + set line 2 of {_sign} to "&4%{_ing3}%" + set line 3 of {_sign} to "&4%{_ing4}%" + set line 4 of {_sign} to "&4%{_ing5}%" + set {_next} to true + {_timecheck} is greater than {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%}: + set line 1 of {_sign} to "&4----------" + set line 2 of {_sign} to "&4----------" + set line 3 of {_sign} to "&4----------" + set line 4 of {_sign} to "&4----------" + set {_next} to true + {_next} is false: + set line 1 of {_sign} to "%{_ing1}% %{_ing2}%" + set line 2 of {_sign} to "%{_ing3}%" + set line 3 of {_sign} to "%{_ing4}%" + set line 4 of {_sign} to "%{_ing5}%" + +#Customer Despawn +every 1 second: + loop {taco.list.worlds::*}: + set {_world} to loop-index-1 + {taco.game.status.%{_world}%} is true: + loop {taco.player.%{_world}%::*}: + set {_p.num} to loop-index-2 + loop {taco.p%{_p.num}%.customer.timer.%{_world}%::*}: + set {_ran} to random integer between 1 and 10 + set {_slot} to loop-index-3 + set {_timecheck} to now + {_timecheck} is greater than {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%}: + loop entities in radius 2 around block at {taco.p%{_p.num}%.spawns.%{_world}%::%{_slot}%}: + loop-entity is a villager: + send "&9%{taco.p%{_p.num}%.customer.%{_world}%::%{_slot}%}%:&f %{taco.timeout::%{_ran}%}%" to {taco.player.%{_world}%::%{_p.num}%} + delete loop-entity + +#Scoreboards +every 1 second: + loop {taco.list.worlds::*}: + set {_world} to loop-index-1 + loop {taco.player.%{_world}%::*}: + set {_player} to loop-value-2 + {taco.game.status.%{_world}%} is true: + {toggle.sb.%{_player}%} is not set: + set {toggle.sb.%{_player}%} to true + {toggle.sb.%{_player}%} is false: + set {toggle.sb.%{_player}%} to true + {toggle.sb.%{_player}%} is true: + {board.up.%{_player}%.tc} is not set: + set {board.up.%{_player}%.tc} to false + {board.up.%{_player}%.tc} is true: + {taco.player.%{_world}%::1} is "%{_player}%": + make score "&aYou:" in board of {_player} to {taco.%{_player}%.score.%{_world}%} + make score "&cThem:" in board of {_player} to {taco.%{taco.player.%{_world}%::2}%.score.%{_world}%} + {taco.player.%{_world}%::2} is "%{_player}%": + make score "&aYou:" in board of {_player} to {taco.%{_player}%.score.%{_world}%} + make score "&cThem:" in board of {_player} to {taco.%{taco.player.%{_world}%::1}%.score.%{_world}%} + {board.up.%{_player}%.tc} is false: + {taco.player.%{_world}%::1} is "%{_player}%": + display board named "&9&lTaco Cart" to {_player} + make score "&aYou:" in board of {_player} to {taco.%{_player}%.score.%{_world}%} + make score "&cThem:" in board of {_player} to {taco.%{taco.player.%{_world}%::2}%.score.%{_world}%} + move display of {_player} to sidebar + {taco.player.%{_world}%::2} is "%{_player}%": + display board named "&9&lTaco Cart" to {_player} + make score "&aYou:" in board of {_player} to {taco.%{_player}%.score.%{_world}%} + make score "&cThem:" in board of {_player} to {taco.%{taco.player.%{_world}%::1}%.score.%{_world}%} + move display of {_player} to sidebar + {taco.game.status.%{_world}%} is false: + display board named "" to {_player} + move display of {_player} to sidebar + +#End Game +every 1 second: + loop {taco.list.worlds::*}: + set {_world} to loop-index-1 + set {_tc} to now + {taco.game.status.%{_world}%} is true: + {_tc} is greater than {taco.game.timer.%{_world}%}: + clear {_p1} + clear {_p2} + set {taco.game.status.%{_world}%} to false + send "Times up!" to {taco.player.%{_world}%::*} + set {_p1} to {taco.player.%{_world}%::1} + set {_p2} to {taco.player.%{_world}%::2} + set {_p1score} to {taco.%{_p1}%.score.%{_world}%} + set {_p2score} to {taco.%{_p2}%.score.%{_world}%} + {_p1score} is greater than {_p2score}: + set {_winner} to 3 * {_p1score} + add {_winner} to {_p1}'s balance + send "&aYou have won &e%{_winner}% Tickets&a!" to {_p1} + send "&aYou now have &e%{_p1}'s balance%" to {_p1} + log "%{_p1}%^ADD^%{_winner}%^%{_p1}'s balance%^Winner Prize" to "tickets/tacocart.log" + add {_p2score} to {_p2}'s balance + send "&aYou have won &e%{_p2score}% Tickets&a!" to {_p2} + send "&aYou now have &e%{_p2}'s balance%" to {_p2} + log "%{_p2}%^ADD^%{_p2score}%^%{_p2}'s balance%^Loser Prize" to "tickets/tacocart.log" + {_p2score} is greater than {_p1score}: + set {_winner} to 3 * {_p2score} + add {_winner} to {_p2}'s balance + send "&aYou have won &e%{_winner}% Tickets&a!" to {_p2} + send "&aYou now have &e%{_p2}'s balance%" to {_p2} + log "%{_p2}%^ADD^%{_winner}%^%{_p2}'s balance%^Winner Prize" to "tickets/tacocart.log" + add {_p1score} to {_p1}'s balance + send "&aYou have won &e%{_p1score}% Tickets&a!" to {_p1} + send "&aYou now have &e%{_p1}'s balance%" to {_p1} + log "%{_p1}%^ADD^%{_p1score}%^%{_p1}'s balance%^Loser Prize" to "tickets/tacocart.log" + {_p1score} is equal to {_p2score}: + set {_winner} to 2 * {_p1score} + add {_winner} to {_p1}'s balance + send "&aYou have won &e%{_winner}% Tickets&a!" to {_p1} + send "&aYou now have &e%{_p1}'s balance%" to {_p1} + log "%{_p1}%^ADD^%{_winner}%^%{_p1}'s balance%^Tie Prize" to "tickets/tacocart.log" + set {_winner} to 2 * {_p2score} + add {_winner} to {_p2}'s balance + send "&aYou have won &e%{_winner}% Tickets&a!" to {_p2} + send "&aYou now have &e%{_p2}'s balance%" to {_p2} + log "%{_p2}%^ADD^%{_winner}%^%{_p2}'s balance%^Tie Prize" to "tickets/tacocart.log" + loop {taco.1.gate1.%{_world}%::*}: + set {_change} to loop-value-2 + set block 2 meters above {_change} to nether fence + loop {taco.2.gate1.%{_world}%::*}: + set {_change} to loop-value-2 + set block 2 meters above {_change} to fence + loop {taco.player.%{_world}%::*}: + set {board.up.%loop-value-2%.tc} to false + display board named "" to loop-value-2 + clear {taco.p1.customer.timer.%{_world}%::*} + clear {taco.p2.customer.timer.%{_world}%::*} + clear {taco.p1.customer.%{_world}%::*} + clear {taco.p2.customer.%{_world}%::*} + set {taco.%{taco.player.%{_world}%::1}%.score.%{_world}%} to 0 + set {taco.%{taco.player.%{_world}%::2}%.score.%{_world}%} to 0 + clear {taco.player.%{_world}%::*} + loop all entities in {_p1}'s world: + loop-entity is a dropped item: + delete loop-entity + loop-entity is a villager: + delete loop-entity + loop-entity is a sheep: + delete loop-entity + clear inventory of {_p1} + clear {taco.timers.%{_p1}%::*} + set {taco.timers.%{_p1}%::raw_onion} to now + clear inventory of {_p2} + clear {taco.timers.%{_p2}%::*} + set {taco.timers.%{_p2}%::raw_onion} to now + set {_p1}'s level to 0 + set {_p1}'s level progress to 0 + set {_p2}'s level to 0 + set {_p2}'s level progress to 0 + loop {taco.start.%{_world}%::*}: + set {_loc} to loop-value-2 + set {_slot} to loop-index-2 + set {_block} to block at {_loc} + set line 1 of {_block} to "Click here" + set line 2 of {_block} to "to claim the" + {_slot} is "1": + set line 3 of {_block} to "Nether" + {_slot} is "2": + set line 3 of {_block} to "Wooden" + set line 4 of {_block} to "Taco Shack" + loop {taco.%{_slot}%.gate2.%{_world}%::*}: + set {_change} to loop-value-3 + set block 2 meters above {_change} to air + send "&cTeleporting in &E5&c seconds" to {_p1} + send "&cTeleporting in &E5&c seconds" to {_p2} + wait 5 seconds + send "&cNow Teleporting" to {_p1} + send "&cNow Teleporting" to {_p2} + wait 0.3 seconds + teleport {_p1} to {spawn.taco} + teleport {_p2} to {spawn.taco} + +#BOH +every 5 seconds: + loop {taco.list.worlds::*}: + set {_world} to loop-index-1 + {taco.game.status.%{_world}%} is true: + loop {taco.player.%{_world}%::*}: + set {_p.num} to loop-index-2 + loop all entities in radius 10 around block at {taco.waypoint.%{_world}%::p%{_p.num}%kitchen}: + loop-entity is a silverfish: + add 1 to {_silver} + loop-entity is player: + add loop-entity to {_players::*} + {_silver} is greater than 20: + loop all entities in radius 10 around block at {taco.waypoint.%{_world}%::p%{_p.num}%kitchen}: + loop-entity is a silverfish: + delete loop-entity + loop-entity is rancid meat: + delete loop-entity + spawn witch 3 meters above location of {taco.waypoint.%{_world}%::p%{_p.num}%kitchen} + set name of spawned witch to "&cBoard of Health" + set the walk speed of the spawned witch to 0.1 + message "&cBoard of Health:&f Health inspection, mind if I have a look around?" to {_players::*} + loop all blocks in radius 10 of {taco.waypoint.%{_world}%::p%{_p.num}%kitchen}: + loop-block is daylight sensor: + set {_go} to location 2 meter above loop-block + make spawned witch home towards {_go} + exit loop + wait 2 seconds + message "&cBoard of Health:&f Hmmm, what's this? A dirty tomato dicer?" to {_players::*} + wait 2 seconds + loop all blocks in radius 10 of {taco.waypoint.%{_world}%::p%{_p.num}%kitchen}: + loop-block is cauldron: + set {_go} to location 2 meter above loop-block + make spawned witch home towards {_go} + exit loop + wait 2 seconds + message "&cBoard of Health:&f Oh my, when was the last time this sink has been cleaned?" to {_players::*} + wait 2 seconds + loop all blocks in radius 10 of {taco.waypoint.%{_world}%::p%{_p.num}%kitchen}: + loop-block is jukebox: + set {_go} to location 2 meter above loop-block + make spawned witch home towards {_go} + exit loop + wait 2 seconds + message "&cBoard of Health:&f Are these mice droppings behind your cheese shredder?" to {_players::*} + wait 2 seconds + set {_go} to location 2 meter above location at {taco.waypoint.%{_world}%::p%{_p.num}%kitchen} + make spawned witch home towards {_go} + wait 2 seconds + message "&cBoard of Health:&f This is just deplorable. I'm going to have to cite you!" to {_players::*} + wait 2 seconds + message "&cBoard of Health:&f I'll take these with me!" to {_players::*} + clear inventory of {taco.player.%{_world}%::%{_p.num}%} + loop all entities in radius 15 around block at {taco.waypoint.%{_world}%::p%{_p.num}%kitchen}: + loop-entity is a villager: + delete loop-entity + loop-entity is a dropped item: + delete loop-entity + loop-entity is a witch: + delete loop-entity + +#Rancid Meat +every 5 seconds: + loop {taco.list.worlds::*}: + set {_world} to loop-index-1 + loop {taco.player.%{_world}%::*}: + set {_player} to loop-value-2 + {taco.game.status.%{_world}%} is true: + {taco.timers.%{_player}%::rancid_meat} is set: + set {_rancid.drop} to difference between {taco.timers.%{_player}%::rancid_meat} and now + {_rancid.drop} is greater than 30 seconds: + remove 1 raw beef from {_player} + drop 1 rancid meat named "Rancid Meat" at location of {_player} + send "Ohhh, what stinks in here?" to {_player} + clear {taco.timers.%{_player}%::rancid_meat} + {taco.timers.%{_player}%::rancid_chicken} is set: + set {_rancid.drop} to difference between {taco.timers.%{_player}%::rancid_chicken} and now + {_rancid.drop} is greater than 30 seconds: + remove 1 raw chicken from {_player} + drop 1 rancid meat named "Rancid Meat" at location of {_player} + send "Ohhh, what stinks in here?" to {_player} + clear {taco.timers.%{_player}%::rancid_chicken} + {taco.timers.%{_player}%::rancid_fish} is set: + set {_rancid.drop} to difference between {taco.timers.%{_player}%::rancid_fish} and now + {_rancid.drop} is greater than 30 seconds: + remove 1 raw fish from {_player} + drop 1 rancid meat named "Rancid Meat" at location of {_player} + send "Ohhh, what stinks in here?" to {_player} + clear {taco.timers.%{_player}%::rancid_fish} + +#Start Game +every 6 seconds: + loop {taco.list.worlds::*}: + set {_world} to loop-index-1 + {taco.game.status.%{_world}%} is not set: + set {taco.game.status.%{_world}%} to false + {taco.game.status.%{_world}%} is false: + set {_count} to 0 + loop {taco.readycheck.%{_world}%::*}: + set {_slot} to loop-index-2 + {_slot} is set: + add 1 to {_count} + {_count} is greater than 1: + loop {taco.readycheck.%{_world}%::*}: + set {_slot2} to loop-index-2 + set {taco.player.%{_world}%::%{_slot2}%} to loop-value-2 + send "Game starts in 5 seconds." to {taco.player.%{_world}%::*} + wait 1 second + send "4" to {taco.player.%{_world}%::*} + wait 1 second + send "3" to {taco.player.%{_world}%::*} + wait 1 second + send "2" to {taco.player.%{_world}%::*} + wait 1 second + send "1" to {taco.player.%{_world}%::*} + wait 1 second + send "It has begun!" to {taco.player.%{_world}%::*} + set {taco.game.timer.%{_world}%} to now + set {_vtime} to "%{taco.variables::game_minutes.time}% minutes" parsed as timespan + add {_vtime} to {taco.game.timer.%{_world}%} + set {taco.game.status.%{_world}%} to true + loop {taco.player.%{_world}%::*}: + set {_player} to loop-value-2 + clear inventory of {_player} + clear {taco.timers.%{_player}%::*} + set {taco.%{_player}%.score.%{_world}%} to 0 + set {taco.timers.%{_player}%::grain} to now + set {taco.timers.%{_player}%::soft_shell} to now + set {taco.timers.%{_player}%::hard_shell} to now + set {taco.timers.%{_player}%::whole_tomato} to now + set {taco.timers.%{_player}%::diced_tomato} to now + set {taco.timers.%{_player}%::block_of_cheese} to now + set {taco.timers.%{_player}%::shredded_cheese} to now + set {taco.timers.%{_player}%::raw_onion} to now + set {taco.timers.%{_player}%::diced_onion} to now + set {taco.timers.%{_player}%::head_of_lettuce} to now + set {taco.timers.%{_player}%::shredded_lettuce} to now + set {taco.timers.%{_player}%::raw_fish} to now + set {taco.timers.%{_player}%::cooked_fish} to now + set {taco.timers.%{_player}%::raw_chicken} to now + set {taco.timers.%{_player}%::cooked_chicken} to now + set {taco.timers.%{_player}%::raw_beef} to now + set {taco.timers.%{_player}%::steak} to now + set {taco.timers.%{_player}%::sheep} to now + loop {taco.1.gate1.%{_world}%::*}: + set {_change} to loop-value-2 + set block 2 meters above {_change} to air + loop {taco.2.gate1.%{_world}%::*}: + set {_change} to loop-value-2 + set block 2 meters above {_change} to air + spawn sheep 2 meter above {keystone.%{_world}%} + set name of spawned sheep to "&dPinky" + clear {taco.readycheck.%{_world}%::*} + +#Customer Spawning +every 10 seconds: + loop {taco.list.worlds::*}: + set {_world} to loop-index-1 + {taco.game.status.%{_world}%} is true: + loop {taco.player.%{_world}%::*}: + send "Looping Players" to {debug.list::*} + set {_p.num} to loop-index-2 + send "P-Num is %{_p.num}%" to {debug.list::*} + wait 0.5 seconds + set {_level} to level of {taco.player.%{_world}%::%{_p.num}%} + loop {taco.p%{_p.num}%.spawns.%{_world}%::*}: + send "Looping Player %{_p.num}% Spawn Points" to {debug.list::*} + set {_spawned} to false + set {_villager.check} to false + set {_place} to loop-value-3 + set {_slot} to loop-index-3 + loop entities in radius 2 around block at {_place}: + loop-entity is a villager: + set {_villager.check} to true + {_villager.check} is false: + set {_spawned} to true + set {_ran} to random integer between 1 and 30 + spawn villager 1 meter above {_place} + set {_name} to {taco.villager.name::%{_ran}%} + set name of spawned villager to "%{_name}%" + set {taco.p%{_p.num}%.customer.%{_world}%::%{_slot}%} to "%{_name}%" + set {_order} to random integer between 1 and 24 + set {_order2} to "receipt%{_order}%" + set {taco.p%{_p.num}%.order.%{_world}%::%{_slot}%} to "%{_order2}%" + send "&9%{_name}%:&f Hey buddy, can I get a %{taco.%{taco.p%{_p.num}%.order.%{_world}%::%{_slot}%}%::1}% %{taco.%{taco.p%{_p.num}%.order.%{_world}%::%{_slot}%}%::2}% taco with %{taco.%{taco.p%{_p.num}%.order.%{_world}%::%{_slot}%}%::3}%, %{taco.%{taco.p%{_p.num}%.order.%{_world}%::%{_slot}%}%::4}% & %{taco.%{taco.p%{_p.num}%.order.%{_world}%::%{_slot}%}%::5}% please." to {taco.player.%{_world}%::%{_p.num}%} + spawned villager is of type farmer: + set {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%} to now + set {_mult} to {taco.variables::farmer.time} * {taco.level::%{_level}%} + set {_timeset} to "%{_mult}% seconds" parsed as timespan + add {_timeset} to {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%} + spawned villager is of type priest: + set {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%} to now + set {_mult} to {taco.variables::priest.time} * {taco.level::%{_level}%} + set {_timeset} to "%{_mult}% seconds" parsed as timespan + add {_timeset} to {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%} + spawned villager is of type butcher: + set {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%} to now + set {_mult} to {taco.variables::butcher.time} * {taco.level::%{_level}%} + set {_timeset} to "%{_mult}% seconds" parsed as timespan + add {_timeset} to {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%} + spawned villager is of type blacksmith: + set {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%} to now + set {_mult} to {taco.variables::blacksmith.time} * {taco.level::%{_level}%} + set {_timeset} to "%{_mult}% seconds" parsed as timespan + add {_timeset} to {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%} + spawned villager is of type librarian: + set {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%} to now + set {_mult} to {taco.variables::librarian.time} * {taco.level::%{_level}%} + set {_timeset} to "%{_mult}% seconds" parsed as timespan + add {_timeset} to {taco.p%{_p.num}%.customer.timer.%{_world}%::%{_slot}%} + +#Roach spawn +every 30 seconds: + loop {taco.list.worlds::*}: + set {_world} to loop-index-1 + {taco.game.status.%{_world}%} is true: + loop {taco.player.%{_world}%::*}: + set {_p.num} to loop-index-2 + set {_count} to 0 + loop all entities in radius 10 around block at {taco.waypoint.%{_world}%::p%{_p.num}%kitchen}: + loop-entity is a dropped item: + add 1 to {_count} + set {_meat.spawn::%{_count}%} to location of loop-entity + delete loop-entity + loop-entity is player: + add loop-entity to {_players::*} + loop {_meat.spawn::*}: + set {_where} to loop-value-3 + drop rancid meat at {_where} + loop {_count} times: + spawn silverfish 2 meters above location of {taco.waypoint.%{_world}%::p%{_p.num}%kitchen} + set name of spawned silverfish to "Roach" + {_count} is 1: + send "Oh nooooo, a roach!" to {_players::*} + {_count} is greater than 1: + send "Oh nooooo, %{_count}% roaches!" to {_players::*} + clear {_players::*} + clear {__meat.spawn::*} + +#endfold periodic + +#startfold commands + +command /tacovariables [] [] []: + aliases: tv + permission: obam.admin + trigger: + argument 1 is not set: + message "&cOptions are: list, add, change, delete" + stop + argument 1 is "help" or "h": + message "&cOptions are: list, add, change, delete" + stop + argument 1 is "list" or "l": + set {_index.count} to 0 + set {_count} to 0 + loop {taco.variables::*}: + add 1 to {_index.count} + set {_tpages} to round up ({_index.count} / 10) + argument 2 is not set: + set {_page} to 1 + {_page} is not set: + set {_page} to argument 2 parsed as number + {_page} is greater than {_tpages}: + message "&cNot a valid page. There are currently &f%{_tpages}%&c available." + stop + set {_stop} to {_page} * 10 + set {_start} to {_stop} - 9 + message "&3Current Taco Timers &fPage %{_page}% / %{_tpages}%" + loop {taco.variables::*}: + add 1 to {_count} + {_count} is {_start}: + set {_report} to true + {_report} is true: + message "&f%{_count}% - &6%loop-index% &f- &6%loop-value%" + {_count} is {_index.count}: + message "&3End of List" + stop + {_count} is {_stop}: + stop + argument 1 is "add" or "a": + argument 2 is not set: + message "&cAdd what?" + stop + {taco.variables::%argument 2%} is set: + message "&6%argument 2%&c is already set to &6%{taco.variables::%argument 2%}%&c. Try changing it." + stop + argument 3 is not set: + message "&cAnd what is &6%argument 2%&c supposed to be set to?" + stop + set {taco.variables::%argument 2%} to argument 3 + message "&cYou have set &6%argument 2%&c to be set to &6%argument 3%&c?" + stop + argument 1 is "change" or "c": + argument 2 is not set: + message "&cChange what?" + stop + {taco.variables::%argument 2%} is not set: + message "&6%argument 2%&c does not have a timer yet. Please set one first." + stop + argument 3 is not set: + message "&cYou are changing &6%argument 2%&c from &6%{taco.variables::%argument 2%}%&c to what?" + stop + set {_old} to {taco.variables::%argument 2%} + set {taco.variables::%argument 2%} to argument 3 + message "&cYou have changed &6%argument 2%&c from &6%{_old}%&c to &6%{taco.variables::%argument 2%}%&c." + stop + argument 1 is "delete" or "d": + argument 2 is not set: + message "&cDelete what?" + {taco.variables::%argument 2%} is not set: + message "&6%argument 2%&c does not exist. Please check your spelling and retry." + stop + delete {taco.variables::%argument 2%} + message "&cYou have deleted &6%argument 2%&c." + +#subfold Tacoset + +command /tacoset: + permission: obam.admin + trigger: + set {taco.villager.name::1} to "Bob" + set {taco.villager.name::2} to "Shawna" + set {taco.villager.name::3} to "Anakin" + set {taco.villager.name::4} to "Aralynn" + set {taco.villager.name::5} to "Dalton" + set {taco.villager.name::6} to "Jeremy" + set {taco.villager.name::7} to "Jack" + set {taco.villager.name::8} to "Troy" + set {taco.villager.name::9} to "Joe" + set {taco.villager.name::10} to "Justin" + set {taco.villager.name::11} to "Jim" + set {taco.villager.name::12} to "Kelly" + set {taco.villager.name::13} to "Katherine" + set {taco.villager.name::14} to "Stevo" + set {taco.villager.name::15} to "Cornelius" + set {taco.villager.name::16} to "Patrick" + set {taco.villager.name::17} to "Ian" + set {taco.villager.name::18} to "Olivia" + set {taco.villager.name::19} to "Donna" + set {taco.villager.name::20} to "Jarod" + set {taco.villager.name::21} to "Sue" + set {taco.villager.name::22} to "Nick" + set {taco.villager.name::23} to "Bill" + set {taco.villager.name::24} to "Connie" + set {taco.villager.name::25} to "Irene" + set {taco.villager.name::26} to "Scott" + set {taco.villager.name::27} to "Earl" + set {taco.villager.name::28} to "Roy" + set {taco.villager.name::29} to "Precious" + set {taco.villager.name::30} to "Jenkins" + set {taco.receipt1::1} to "Soft" + set {taco.receipt1::2} to "Chicken" + set {taco.receipt1::3} to "Cheese" + set {taco.receipt1::4} to "Lettuce" + set {taco.receipt1::5} to "Onion" + set {taco.receipt1::6} to {@receipt1} + set {taco.receipt2::1} to "Soft" + set {taco.receipt2::2} to "Chicken" + set {taco.receipt2::3} to "Cheese" + set {taco.receipt2::4} to "Lettuce" + set {taco.receipt2::5} to "Tomato" + set {taco.receipt2::6} to {@receipt2} + set {taco.receipt3::1} to "Soft" + set {taco.receipt3::2} to "Chicken" + set {taco.receipt3::3} to "Cheese" + set {taco.receipt3::4} to "Onion" + set {taco.receipt3::5} to "Tomato" + set {taco.receipt3::6} to {@receipt3} + set {taco.receipt4::1} to "Soft" + set {taco.receipt4::2} to "Chicken" + set {taco.receipt4::3} to "Lettuce" + set {taco.receipt4::4} to "Onion" + set {taco.receipt4::5} to "Tomato" + set {taco.receipt4::6} to {@receipt4} + set {taco.receipt5::1} to "Soft" + set {taco.receipt5::2} to "Beef" + set {taco.receipt5::3} to "Cheese" + set {taco.receipt5::4} to "Lettuce" + set {taco.receipt5::5} to "Onion" + set {taco.receipt5::6} to {@receipt5} + set {taco.receipt6::1} to "Soft" + set {taco.receipt6::2} to "Beef" + set {taco.receipt6::3} to "Cheese" + set {taco.receipt6::4} to "Lettuce" + set {taco.receipt6::5} to "Tomato" + set {taco.receipt6::6} to {@receipt6} + set {taco.receipt7::1} to "Soft" + set {taco.receipt7::2} to "Beef" + set {taco.receipt7::3} to "Cheese" + set {taco.receipt7::4} to "Onion" + set {taco.receipt7::5} to "Tomato" + set {taco.receipt7::6} to {@receipt7} + set {taco.receipt8::1} to "Soft" + set {taco.receipt8::2} to "Beef" + set {taco.receipt8::3} to "Lettuce" + set {taco.receipt8::4} to "Onion" + set {taco.receipt8::5} to "Tomato" + set {taco.receipt8::6} to {@receipt8} + set {taco.receipt9::1} to "Soft" + set {taco.receipt9::2} to "Fish" + set {taco.receipt9::3} to "Cheese" + set {taco.receipt9::4} to "Lettuce" + set {taco.receipt9::5} to "Onion" + set {taco.receipt9::6} to {@receipt9} + set {taco.receipt10::1} to "Soft" + set {taco.receipt10::2} to "Fish" + set {taco.receipt10::3} to "Cheese" + set {taco.receipt10::4} to "Lettuce" + set {taco.receipt10::5} to "Tomato" + set {taco.receipt10::6} to {@receipt10} + set {taco.receipt11::1} to "Soft" + set {taco.receipt11::2} to "Fish" + set {taco.receipt11::3} to "Cheese" + set {taco.receipt11::4} to "Onion" + set {taco.receipt11::5} to "Tomato" + set {taco.receipt11::6} to {@receipt11} + set {taco.receipt12::1} to "Soft" + set {taco.receipt12::2} to "Fish" + set {taco.receipt12::3} to "Lettuce" + set {taco.receipt12::4} to "Onion" + set {taco.receipt12::5} to "Tomato" + set {taco.receipt12::6} to {@receipt12} + set {taco.receipt13::1} to "Hard" + set {taco.receipt13::2} to "Chicken" + set {taco.receipt13::3} to "Cheese" + set {taco.receipt13::4} to "Lettuce" + set {taco.receipt13::5} to "Onion" + set {taco.receipt13::6} to {@receipt13} + set {taco.receipt14::1} to "Hard" + set {taco.receipt14::2} to "Chicken" + set {taco.receipt14::3} to "Cheese" + set {taco.receipt14::4} to "Lettuce" + set {taco.receipt14::5} to "Tomato" + set {taco.receipt14::6} to {@receipt14} + set {taco.receipt15::1} to "Hard" + set {taco.receipt15::2} to "Chicken" + set {taco.receipt15::3} to "Cheese" + set {taco.receipt15::4} to "Onion" + set {taco.receipt15::5} to "Tomato" + set {taco.receipt15::6} to {@receipt15} + set {taco.receipt16::1} to "Hard" + set {taco.receipt16::2} to "Chicken" + set {taco.receipt16::3} to "Lettuce" + set {taco.receipt16::4} to "Onion" + set {taco.receipt16::5} to "Tomato" + set {taco.receipt16::6} to {@receipt16} + set {taco.receipt17::1} to "Hard" + set {taco.receipt17::2} to "Beef" + set {taco.receipt17::3} to "Cheese" + set {taco.receipt17::4} to "Lettuce" + set {taco.receipt17::5} to "Onion" + set {taco.receipt17::6} to {@receipt17} + set {taco.receipt18::1} to "Hard" + set {taco.receipt18::2} to "Beef" + set {taco.receipt18::3} to "Cheese" + set {taco.receipt18::4} to "Lettuce" + set {taco.receipt18::5} to "Tomato" + set {taco.receipt18::6} to {@receipt18} + set {taco.receipt19::1} to "Hard" + set {taco.receipt19::2} to "Beef" + set {taco.receipt19::3} to "Cheese" + set {taco.receipt19::4} to "Onion" + set {taco.receipt19::5} to "Tomato" + set {taco.receipt19::6} to {@receipt19} + set {taco.receipt20::1} to "Hard" + set {taco.receipt20::2} to "Beef" + set {taco.receipt20::3} to "Lettuce" + set {taco.receipt20::4} to "Onion" + set {taco.receipt20::5} to "Tomato" + set {taco.receipt20::6} to {@receipt20} + set {taco.receipt21::1} to "Hard" + set {taco.receipt21::2} to "Fish" + set {taco.receipt21::3} to "Cheese" + set {taco.receipt21::4} to "Lettuce" + set {taco.receipt21::5} to "Onion" + set {taco.receipt21::6} to {@receipt21} + set {taco.receipt22::1} to "Hard" + set {taco.receipt22::2} to "Fish" + set {taco.receipt22::3} to "Cheese" + set {taco.receipt22::4} to "Lettuce" + set {taco.receipt22::5} to "Tomato" + set {taco.receipt22::6} to {@receipt22} + set {taco.receipt23::1} to "Hard" + set {taco.receipt23::2} to "Fish" + set {taco.receipt23::3} to "Cheese" + set {taco.receipt23::4} to "Onion" + set {taco.receipt23::5} to "Tomato" + set {taco.receipt23::6} to {@receipt23} + set {taco.receipt24::1} to "Hard" + set {taco.receipt24::2} to "Fish" + set {taco.receipt24::3} to "Lettuce" + set {taco.receipt24::4} to "Onion" + set {taco.receipt24::5} to "Tomato" + set {taco.receipt24::6} to {@receipt24} + set {taco.level::0} to 1 + set {taco.level::1} to 0.95 + set {taco.level::2} to 0.9 + set {taco.level::3} to 0.85 + set {taco.level::4} to 0.8 + set {taco.level::5} to 0.75 + set {taco.level::6} to 0.7 + set {taco.level::7} to 0.65 + set {taco.level::8} to 0.6 + set {taco.level::9} to 0.55 + set {taco.level::10} to 0.5 + set {taco.level::11} to 0.45 + set {taco.level::12} to 0.4 + set {taco.level::13} to 0.35 + set {taco.level::14} to 0.30 + set {taco.level::15} to 0.25 + set {taco.level::16} to 0.2 + set {taco.level::17} to 0.15 + set {taco.level::18} to 0.1 + set {taco.level::19} to 0.05 + set {taco.timeout::1} to "This is taking way to long. I'm out!" + set {taco.timeout::2} to "I should have went to Taco Smell. Later!" + set {taco.timeout::3} to "I've seen slimes move faster than that. Peace!" + set {taco.timeout::4} to "What has two thumbs and is sick of waiting? This guy." + set {taco.timeout::5} to "Oh, I guess I'm not as important as that guy. I'm not sticking around any longer." + set {taco.timeout::6} to "What is this, Snail Cart?" + set {taco.timeout::7} to "Roaches are one thing, but waiting this long? No thanks!" + set {taco.timeout::8} to "God, it's worse than waiting for Half-Life 3! I'm outta here!" + set {taco.timeout::9} to "Ummm, my work just called. Yeah that's it, work. Gotta run." + set {taco.timeout::10} to "I guess the rumours were right. I'm not waiting this long again." + set {taco.pinky::1} to "Where has that sheep ran off to this time?" + set {taco.pinky::2} to "Pinky, oh Pinky! Dinner time." + set {taco.pinky::3} to "Excuse me, have you seen my sheep around?" + set {taco.pinky::4} to "When I find that sheep......" + set {taco.pinky::5} to "Oh where is it? Pinky must have taken off with it again." + set {taco.horsey::1} to "Dang kids, get off my horse!" + set {taco.horsey::2} to "Mess with the horse and get the hoof, son!" + set {taco.horsey::3} to "No" + set {taco.horsey::4} to "Why don't you go fondle someone else's critters." + set {taco.horsey::5} to "If you're gonna just stand around, might as well pick up a shovel. This ain't no pettin zoo." + set {taco.correct::1} to "Wow, that tastes amazing!" + set {taco.correct::2} to "Thanks buddy, that hit the spot!" + set {taco.correct::3} to "Nom Nom Nom... Ohhhh God, that's good!" + set {taco.correct::4} to "Yummy, I could eat three more of those!" + set {taco.correct::5} to "Definitely liking this place on Fadbook!" + set {taco.incorrect::1} to "That is not what I ordered. I am leaving!" + set {taco.incorrect::2} to "Seriously, how hard is it to make a taco!" + set {taco.incorrect::3} to "My blind Grandma makes me what I want, why can't you?" + set {taco.incorrect::4} to "But... Wha...It's...I give up." + set {taco.incorrect::5} to "Is this cat food or something?" + set {taco.incorrect::6} to "Remember that time you got my order right? That was awesome!" + set {taco.villager_hit::1} to "Hey, who threw that?" + set {taco.villager_hit::2} to "Watch it, buddy!" + set {taco.villager_hit::3} to "Really, are we in kindergarten?" + set {taco.villager_hit::4} to "Stop it, that really hurts!" + set {taco.villager_hit::5} to "Umphhh! Whaa, why is dog and bugs now then Frank?" + message "All set" + +command /setvariables: + permission: obam.admin + trigger: + set {taco.variables::slow.time} to 3 + set {taco.variables::villager_hit.time} to 10 + set {taco.variables::soft_shell.amount} to 1 + set {taco.variables::soft_shell.time} to 10 + set {taco.variables::grain.amount} to 2 + set {taco.variables::grain.time} to 10 + set {taco.variables::hard_shell.amount} to 1 + set {taco.variables::hard_shell.time} to 10 + set {taco.variables::diced_tomato.amount} to 1 + set {taco.variables::diced_tomato.time} to 10 + set {taco.variables::block_of_cheese.amount} to 1 + set {taco.variables::block_of_cheese.time} to 10 + set {taco.variables::raw_onion.amount} to 1 + set {taco.variables::raw_onion.time} to 10 + set {taco.variables::steak.amount} to 1 + set {taco.variables::steak.time} to 10 + set {taco.variables::cooked_fish.amount} to 1 + set {taco.variables::cooked_fish.time} to 10 + set {taco.variables::cooked_chicken.amount} to 1 + set {taco.variables::cooked_chicken.time} to 10 + set {taco.variables::shredded_lettuce.amount} to 1 + set {taco.variables::shredded_lettuce.time} to 10 + set {taco.variables::diced_onion.amount} to 1 + set {taco.variables::diced_onion.time} to 10 + set {taco.variables::raw_chicken.amount} to 1 + set {taco.variables::raw_chicken.time} to 10 + set {taco.variables::raw_beef.amount} to 1 + set {taco.variables::raw_beef.time} to 10 + set {taco.variables::raw_fish.amount} to 1 + set {taco.variables::raw_fish.time} to 10 + set {taco.variables::head_of_lettuce.amount} to 1 + set {taco.variables::head_of_lettuce.time} to 10 + set {taco.variables::shredded_cheese.amount} to 1 + set {taco.variables::shredded_cheese.time} to 10 + set {taco.variables::whole_tomato.amount} to 1 + set {taco.variables::whole_tomato.time} to 10 + set {taco.variables::sheep.time} to 10 + set {taco.variables::game_minutes.time} to 10 + set {taco.variables::farmer.time} to 120 + set {taco.variables::priest.time} to 105 + set {taco.variables::butcher.time} to 90 + set {taco.variables::blacksmith.time} to 75 + set {taco.variables::librarian.time} to 60 + message "Set the things." + +#subfold Keystone + +command /keystone []: + permission: obam.admin + trigger: + argument 1 is not set: + message "Current Keystone World Types" + message "Type : Command" + message "----------------------" + message "TacoCart : taco" + argument 1 is "taco": + "%player's world%" contains "Taco": + delete {keystone.%world%} + delete {taco.waypoint.%world%::*} + delete {taco.p1.spawns.%world%::*} + delete {taco.p1.spawns.%world%::*} + delete {taco.p1.signs.%world%::*} + delete {taco.p2.signs.%world%::*} + loop blocks in radius 10 of player: + loop-block is obsidian: + set {keystone.%world%} to location of loop-block + set {_loop1} to 1 + message "Keystone has been set to %{keystone.%world%}%" + exit loop + {_loop1} is not set: + message "No Keystone was found" + stop + loop blocks in radius 10 of {keystone.%world%}: + loop-block is cyan wool: + set {taco.waypoint.%world%::p1c1} to location of loop-block + set {taco.p1.spawns.%world%::1} to location of loop-block + set {_loop2} to 1 + message "Player 1 Customer 1 set" + exit loop + {_loop2} is not set: + message "Could not locate Player 1 Customer 1" + stop + loop blocks in radius 10 of {taco.waypoint.%world%::p1c1}: + loop-block is white wool: + set {taco.waypoint.%world%::p1c2} to location of loop-block + set {taco.p1.spawns.%world%::2} to location of loop-block + set {_loop3} to 1 + message "Player 1 Customer 2 set" + exit loop + {_loop3} is not set: + message "Could not locate Player 1 Customer 2" + stop + loop blocks in radius 10 of {taco.waypoint.%world%::p1c2}: + loop-block is red wool: + set {taco.waypoint.%world%::p1c3} to location of loop-block + set {taco.p1.spawns.%world%::3} to location of loop-block + set {_loop4} to 1 + message "Player 1 Customer 3 set" + exit loop + {_loop4} is not set: + message "Could not locate Player 1 Customer 3" + stop + loop blocks in radius 10 of {taco.waypoint.%world%::p1c2}: + loop-block is quartz ore: + set {taco.waypoint.%world%::p1kitchen} to location of loop-block + set {_loop5} to 1 + message "Player 1 Kitchen set" + exit loop + {_loop5} is not set: + message "Could not locate Player 1 Kitchen" + stop + loop blocks in radius 5 of {taco.waypoint.%world%::p1kitchen}: + loop-block is workbench: + set {taco.waypoint.%world%::p1bench} to location of loop-block + set {_loop20} to 1 + message "Player 1 Bench set" + exit loop + {_loop20} is not set: + message "Could not locate Player 1 Bench" + stop + loop blocks in radius 10 of {keystone.%world%}: + loop-block is light green wool: + set {taco.waypoint.%world%::p2c1} to location of loop-block + set {taco.p2.spawns.%world%::1} to location of loop-block + set {_loop6} to 1 + message "Player 2 Customer 1 set" + exit loop + {_loop6} is not set: + message "Could not locate Player 2 Customer 1" + stop + loop blocks in radius 10 of {taco.waypoint.%world%::p2c1}: + loop-block is black wool: + set {taco.waypoint.%world%::p2c2} to location of loop-block + set {taco.p2.spawns.%world%::2} to location of loop-block + set {_loop7} to 1 + message "Player 2 Customer 2 set" + exit loop + {_loop7} is not set: + message "Could not locate Player 2 Customer 2" + stop + loop blocks in radius 10 of {taco.waypoint.%world%::p2c2}: + loop-block is orange wool: + set {taco.waypoint.%world%::p2c3} to location of loop-block + set {taco.p2.spawns.%world%::3} to location of loop-block + set {_loop8} to 1 + message "Player 2 Customer 3 set" + exit loop + {_loop8} is not set: + message "Could not locate Player 2 Customer 3" + stop + loop blocks in radius 10 of {taco.waypoint.%world%::p2c2}: + loop-block is quartz ore: + set {taco.waypoint.%world%::p2kitchen} to location of loop-block + set {_loop9} to 1 + message "Player 2 Kitchen set" + exit loop + {_loop9} is not set: + message "Could not locate Player 2 Kitchen" + stop + loop blocks in radius 5 of {taco.waypoint.%world%::p2kitchen}: + loop-block is workbench: + set {taco.waypoint.%world%::p2bench} to location of loop-block + set {_loop21} to 1 + message "Player 2 Bench set" + exit loop + {_loop21} is not set: + message "Could not locate Player 2 Bench" + stop + loop blocks in radius 5 of {taco.waypoint.%world%::p1bench}: + loop-block is sign: + set {taco.p1.signs.%world%::3} to location of loop-block + message "%{taco.p1.signs.%world%::3}%" + set {taco.p1.signs.%world%::2} to the location 2 meters south of loop-block + message "%{taco.p1.signs.%world%::2}%" + set {taco.p1.signs.%world%::1} to the location 4 meters south of loop-block + message "%{taco.p1.signs.%world%::1}%" + set {_loop10} to 1 + message "Player 1 Signs set" + exit loop + {_loop10} is not set: + message "Could not locate Player 1 Signs" + stop + loop blocks in radius 7 of {taco.waypoint.%world%::p2bench}: + loop-block is sign: + set {taco.p2.signs.%world%::1} to location of loop-block + message "%{taco.p2.signs.%world%::1}%" + set {taco.p2.signs.%world%::2} to the location 2 meters south of loop-block + message "%{taco.p2.signs.%world%::2}%" + set {taco.p2.signs.%world%::3} to the location 4 meters south of loop-block + message "%{taco.p2.signs.%world%::3}%" + set {_loop11} to 1 + message "Player 2 Signs set" + exit loop + {_loop11} is not set: + message "Could not locate Player 2 Signs" + stop + loop blocks in radius 10 of {keystone.%world%}: + loop-block is melon: + set {taco.waypoint.%world%::p1j1} to location of loop-block + set {_loop12} to 1 + message "Player 1 Jumper 1 set" + exit loop + {_loop12} is not set: + message "Could not locate Player 1 Jumper 1" + stop + loop blocks in radius 8 of {taco.waypoint.%world%::p1j1}: + loop-block is sign: + set {taco.start.%world%::1} to location of loop-block + set {_loop13} to 1 + message "%{taco.start.%world%::1}%" + message "Player 1 Start Sign set" + exit loop + {_loop13} is not set: + message "Could not locate Player 1 Start Sign" + stop + set {_count} to 0 + loop blocks in radius 8 of {taco.waypoint.%world%::p1j1}: + loop-block is emerald block: + set {taco.1.gate1.%world%::%{_count}%} to location of loop-block + add 1 to {_count} + message "Player 1 Gate 1 Block %{_count}% set" + {_count} is 3: + set {_loop14} to 1 + exit loop + {_loop14} is not set: + message "Could not locate Player 1 Gate 1" + stop + set {_count} to 0 + loop blocks in radius 8 of {taco.waypoint.%world%::p1j1}: + loop-block is emerald ore: + set {taco.1.gate2.%world%::%{_count}%} to location of loop-block + add 1 to {_count} + message "Player 1 Gate 2 Block %{_count}% set" + {_count} is 3: + set {_loop15} to 1 + exit loop + {_loop15} is not set: + message "Could not locate Player 1 Gate 2" + stop + loop blocks in radius 10 of {keystone.%world%}: + loop-block is pumpkin: + set {taco.waypoint.%world%::p2j1} to location of loop-block + set {_loop16} to 1 + message "Player 2 Jumper 1 set" + exit loop + {_loop16} is not set: + message "Could not locate Player 2 Jumper 1" + stop + loop blocks in radius 8 of {taco.waypoint.%world%::p2j1}: + loop-block is sign: + set {taco.start.%world%::2} to location of loop-block + set {_loop16} to 1 + message "%{taco.start.%world%::2}%" + message "Player 2 Start Sign set" + exit loop + {_loop16} is not set: + message "Could not locate Player 2 Start Sign" + stop + set {_count} to 0 + loop blocks in radius 8 of {taco.waypoint.%world%::p2j1}: + loop-block is diamond block: + set {taco.2.gate1.%world%::%{_count}%} to location of loop-block + add 1 to {_count} + message "Player 2 Gate 1 Block %{_count}% set" + {_count} is 3: + set {_loop17} to 1 + exit loop + {_loop17} is not set: + message "Could not locate Player 2 Gate 1" + stop + set {_count} to 0 + loop blocks in radius 8 of {taco.waypoint.%world%::p2j1}: + loop-block is diamond ore: + set {taco.2.gate2.%world%::%{_count}%} to location of loop-block + add 1 to {_count} + message "Player 2 Gate 2 Block %{_count}% set" + {_count} is 3: + set {_loop18} to 1 + exit loop + {_loop18} is not set: + message "Could not locate Player 2 Gate 2" + stop + {_loop18} is set: + message "&3All Good!" + stop + message "You are not in the correct world for this Keystone command." + +command /tacoworld []: + permission: obam.admin + trigger: + argument 1 is "list" or "l": + loop {taco.list.worlds::*}: + message "%loop-index% --- %loop-value%" + stop + argument 1 is "delete" or "d": + delete {taco.list.worlds::*} + message "Deleted" + stop + set {_world} to argument 1 + set {taco.list.worlds::%{_world}%} to "available" + message "Added %{_world}% to list." + +command /debuglist []: + trigger: + argument 1 is "list" or "l": + loop {debug.list::*}: + message "%loop-index%" + stop + argument 1 is "delete" or "d": + delete {debug.list::*} + message "Deleted" + stop + set {_who} to argument 1 parsed as a player + set {debug.list::%{_who}%} to {_who} + message "Added %{_who}% to list." + +#endfold + +#startfold testing + + +#Remove when live +command /killvill: + trigger: + "%player's world%" contains "Taco": + loop villagers in radius 3 of player: + delete loop-villager + loop entities in radius 10 of player: + loop-entity is a witch: + delete loop-entity +#Remove when live +command /looptest: + trigger: + loop blocks in radius 2 of {taco.waypoint.%world%::p1kitchen}: + message " Var Block %loop-block%" + loop dropped items in radius 4 of player: + message "Item %loop-dropped item%" + loop entities in radius 4 of player: + message "Entity %loop-entity%" + loop dropped items in radius 4 of {taco.waypoint.%world%::p1kitchen}: + message "Var Item %loop-dropped item%" + loop entities in radius 4 of {taco.waypoint.%world%::p1kitchen}: + message "Var Entity %loop-entity%" + loop dropped items in radius 4 around block at {taco.waypoint.%world%::p1kitchen}: + message "Fix Item %loop-dropped item%" + loop entities in radius 4 around block at {taco.waypoint.%world%::p1kitchen}: + message "Fix Entity %loop-entity%" + message "%{taco.waypoint.%world%::p1kitchen}%" +#Remove when live +command /flesh: + trigger: + loop all dropped items in world: + delete loop-dropped item + +command /players: + trigger: + clear {taco.player.%world%::*} + set {_players} to 1 + loop all players in player's world: + {_players} is 3: + exit loop + set {taco.player.%world%::%{_players}%} to loop-player + message "You are Player %{_players}%" to loop-player + add 1 to {_players} + +command /scoreadd: + trigger: + add 1 to {taco.%player%.score.%world%} + message "%{taco.%player%.score.%world%}%" + +command /scoreclear: + trigger: + set {taco.%player%.score.%world%} to 0 + message "%{taco.%player%.score.%world%}%" + +command /boardbegone: + trigger: + display board named "" to player + +command /endgame: + trigger: + subtract 10 minutes from {taco.game.timer.%world%} + message "Game time altered." + +command /gameinfo: + trigger: + message "Players are %{taco.player.%world%::*}%" + message "Time is %{taco.game.timer.%world%}%" + message "Status is %{taco.game.status.%world%}%" + +command /tester: + trigger: + set {_player} to player + set {taco.timers.%{_player}%::grain} to now + set {taco.timers.%{_player}%::soft_shell} to now + set {taco.timers.%{_player}%::hard_shell} to now + set {taco.timers.%{_player}%::whole_tomato} to now + set {taco.timers.%{_player}%::diced_tomato} to now + set {taco.timers.%{_player}%::block_of_cheese} to now + set {taco.timers.%{_player}%::shredded_cheese} to now + set {taco.timers.%{_player}%::raw_onion} to now + set {taco.timers.%{_player}%::diced_onion} to now + set {taco.timers.%{_player}%::head_of_lettuce} to now + set {taco.timers.%{_player}%::shredded_lettuce} to now + set {taco.timers.%{_player}%::raw_fish} to now + set {taco.timers.%{_player}%::cooked_fish} to now + set {taco.timers.%{_player}%::raw_chicken} to now + set {taco.timers.%{_player}%::cooked_chicken} to now + set {taco.timers.%{_player}%::raw_beef} to now + set {taco.timers.%{_player}%::steak} to now + set {taco.timers.%{_player}%::sheep} to now + message "%{taco.timers.%{_player}%::*}%" + +#endfold + + +on join: + + teleport player to {spawn.taco} + + +command /tacospawn: + permission: obam.admin + trigger: + + set {spawn.taco} to location of player + send "&aSpawn set to &e%player's location%" + diff --git a/On Server Files/WTFronts/Admin/blocksave.g.sk b/On Server Files/WTFronts/Admin/blocksave.g.sk new file mode 100644 index 0000000..4ce44e3 --- /dev/null +++ b/On Server Files/WTFronts/Admin/blocksave.g.sk @@ -0,0 +1,28 @@ +on place: + former tool's name is set: + set {information.%block%.1} to type of former tool + {debug.%player%} is true: + send "DEBUG You placed %former tool's name%" + set {information.%block%.2} to lore of former tool + set {information.%block%.3} to name of former tool + {debug.%player%} is true: + send "DEBUG %block%" + send "DEBUG %{information.%block%.1}%" + send "DEBUG %lore of former tool%" + send "DEBUG %name of former tool%" + send "DEBUG %{information.%block%.2}%" + send "DEBUG %{information.%block%.3}%" + + +on break: + {information.%block%.1} is set: + cancel event + {debug.%player%} is true: + send "DEBUG I am a message" + set {_message} to "%{information.%block%.1}%;%{information.%block%.3}%;%{information.%block%.2}%" + send "DEBUG %{_message}%" + delete block + drop {information.%block%.1} named {information.%block%.3} with lore {information.%block%.2} at event-location + clear {information.%block%.1} + clear {information.%block%.2} + clear {information.%block%.3} \ No newline at end of file diff --git a/On Server Files/WTFronts/Admin/itemcheck.g.sk b/On Server Files/WTFronts/Admin/itemcheck.g.sk new file mode 100644 index 0000000..715c060 --- /dev/null +++ b/On Server Files/WTFronts/Admin/itemcheck.g.sk @@ -0,0 +1,22 @@ +#itemid check +command /itemid []: + executable by: players + permission: obam.free + trigger: + argument is set: + set {_this.block} to argument + message "&e%{_this.block}%" to player + argument is not set: + set {_this.block} to player's tool + {_this.block} is not set: + message "&cYou Must be holding a block!" to player + stop + message "&e%{_this.block}% : %id of {_this.block}% : %data value of {_this.block}%" to player + + +command /itemcheck: + executable by: players + permission: obam.free + trigger: + set {_this.block} to targeted block + message "&e%{_this.block}% : %id of {_this.block}% : %data value of {_this.block}%" to player \ No newline at end of file diff --git a/On Server Files/WTFronts/Admin/liv.g.sk b/On Server Files/WTFronts/Admin/liv.g.sk new file mode 100644 index 0000000..e69cd89 --- /dev/null +++ b/On Server Files/WTFronts/Admin/liv.g.sk @@ -0,0 +1,628 @@ +#LiV + +variables: + {liv.timer.wait} = 0 + +on chat: + player is "ISMOOCH": + message is "livon": + {livon.power} is not set: + set {livon.power} to true + send "&6&l'LiV: &3I am now functional %player% :D" to player + stop + {livon.power} is false: + set {livon.power} to true + send "&6&l'LiV: &3I am now functional %player% :D" to player + broadcast "&6&l'LiV: &3Hello, I am &6&l'LiV&3, the &e&lOBAM &6Gaming &3help bot! :D" + stop + {livon.power} is true: + set {livon.power} to true + broadcast "&6&l'LiV: &3Goodbye :(" + set {livon.power} to false + + + +on chat: + {livon.power} is true + message contains "what" or "what is": + message contains "colour" or "color": + message contains "black": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+0 is for &0Black &3(for more colors type /colors)" + stop + message contains "dark blue": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+1 is for &1Dark Blue &3(for more colors type /colors)" + stop + message contains "dark green": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+2 is for &2Dark Green &3(for more colors type /colors)" + stop + message contains "dark aqua": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+3 is for &3Dark Aqua &3(for more colors type /colors)" + stop + message contains "dark red": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+4 is for &4Dark Red &3(for more colors type /colors)" + stop + message contains "dark purple": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+5 is for &5Dark Purple &3(for more colors type /colors)" + stop + message contains "gold": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+6 is for &6Gold &3(for more colors type /colors)" + stop + message contains "gray" or "grey": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+7 is for &7Gray &3(for more colors type /colors)" + stop + message contains "dark gray" or "dark grey": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+8 is for &8Dark Gray &3(for more colors type /colors)" + stop + message contains "blue" or "light blue": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+9 is for &9Blue &3(for more colors type /colors)" + stop + message contains "green" or "light green" or "lime": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+a is for &aGreen &3(for more colors type /colors)" + stop + message contains "aqua" or "light aqua": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+b is for &bAqua &3(for more colors type /colors)" + stop + message contains "red" or "light red": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+c is for &cRed &3(for more colors type /colors)" + stop + message contains "pink" or "violet" or "light purple": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+d is for &dLight Purple &3(for more colors type /colors)" + stop + message contains "yellow": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+e is for &eYellow &3(for more colors type /colors)" + stop + message contains "white": + wait 1 second + broadcast "&6&l'LiV: &3%player%, &3&+f is for &fWhite &3(for more colors type /colors)" + stop + +on chat: + {livon.power} is true + message contains "what" or "what is": + message contains "ghost" or "ghostwar" or "ghostwars" or "ghost war" or "ghost wars" or "gw": + wait 1 second + send "&6&l'LiV: &3%player%, &3Ghost Wars is a minigame Elite is working on." to player + stop + + + +on chat: + {livon.power} is true + message is "hi liv" or "hello liv" or "hey liv" or "heya liv" or "hiya liv" or "sup liv": + wait 1 second + broadcast "&6&l'LiV: &3Hello, %player%! How are you? :)" + set {response.%player%} to true + set {response.%player%.time} to now + +on chat: + {livon.power} is true + {random.liv.pick} is not set: + set {random.liv.pick} to false + {random.liv.pick} is false: + message is "!randompick": + player is op + wait 1 second + broadcast "&6&l'LiV: &3A random pick has been started by &e%player%&3! Use &e!pickme&3 to be added to the list!" + set {random.liv.pick} to true + stop + {random.liv.pick} is true: + message is "!pickme": + wait 1 second + loop {random.pick.players::*}: + {random.pick.players::%loop-index%} is player + send "&6&1'LiV: &3You are already in the list!" to player + stop + send "&6&l'LiV: &3You have been added to the list, &e%player%&3!" to player + add player to {random.pick.players::*} + stop + message is "!pickstop": + set {_size} to size of {random.pick.players::*} + set {_ran} to random integer between 1 and {_size} + set {_winner} to {random.pick.players::%{_ran}%} + clear {random.pick.players::*} + set {random.liv.pick} to false + wait 1 second + broadcast "&6&l'LiV: &3A winner has been chosen! It is &e%{_winner}%&3! Congratulations!" + + +on chat: + {livon.power} is true + message contains "canada" and "awesome": + wait 1 second + broadcast "&6&l'LiV: &3I dont know what you are saying, but you used 'Canada' and 'awesome' in the same sentence. Who is holding you hostage? We can help you!" + +on chat: + {livon.power} is true + message contains "!dice" or ("liv" and "dice"): + wait 1 second + send "&6&l'LiV: &3%player% rolls the dice!" to player + set {dice.%player%} to random integer between 1 and 6 + wait 1 second + send "&6&l'LiV: &3%player% rolled a &e%{dice.%player%}%&3!" to player + +on chat: + {livon.power} is true + message contains ("thank you" or "ty" or "thx" or "thanks" or "thnx") and ("liv" or "'liv"): + wait 1 second + broadcast "&6&l'LiV: &3You're welcome, %player%!" + + +on chat: + {livon.power} is true + message contains "time is it" or "!time": + wait 1 second + send "&6&l'LiV: &3%player%, it is &e%now% &3System Time!" to player + +on chat: + {livon.power} is true + message contains "tell me a joke" or "!joke": + wait 1 second + send "&6&l'LiV: &3A joke huh?" + set {_number} to a random integer between 1 and 27 + {_number} is 1: + wait 1 second + send "&6&l'LiV: &3The midget fortune teller who kills his customers is a small medium at large." to player + {_number} is 2: + wait 1 second + send "&6&l'Liv: &3What is Bruce Lee’s favorite drink?" to player + wait 2 seconds + send "&6&l'Liv: &3Wataaaaah!" to player + {_number} is 3: + wait 1 second + send "&6&l'LiV: &3If you want to catch a squirrel just climb a tree and act like a nut." to player + {_number} is 4: + wait 1 second + send "&6&l'LiV: &3A blind man walks into a bar. And a table. And a chair." to player + {_number} is 5: + wait 1 second + send "&6&l'LiV: &3Why don’t you ever see hippopotamus hiding in trees?" to player + wait 2 seconds + send "&6&l'LiV: &3Because they're really good at it!" to player + {_number} is 6: + wait 1 second + send "&6&l'LiV: &3What kind of shoes does a ninja wear?" to player + wait 2 seconds + send "&6&l'LiV: &3Sneakers!" to player + {_number} is 7: + wait 1 second + send "&6&l'LiV: &3What did the big bucket say to the little bucket?" to player + wait 2 seconds + send "&6&l'LiV: &3You look a little pail!" to player + {_number} is 8: + wait 1 second + send "&6&l'LiV: &3How did Darth Vader know what Luke got him for Christmas?" to player + wait 2 seconds + send "&6&l'LiV: &3He felt his presents!" to player + {_number} is 9: + wait 1 second + send "&6&l'LiV: &3Why did Simba's father die?" to player + wait 2 seconds + send "&6&l'LiV: &3Because he couldn't Mufasa!" to player + {_number} is 10: + wait 1 second + send "&6&l'LiV: &3Why did the skeleton go to the party alone?" to player + wait 2 seconds + send "&6&l'LiV: &3He had no body to go with him!" to player + {_number} is 11: + wait 1 second + send "&6&l'LiV: &3How does an octopus go to war?" to player + wait 2 seconds + send "&6&l'LiV: &3&lWELL-ARMED!" to player + {_number} is 12: + wait 1 second + send "&6&l'LiV: &3Why shouldn't you write with a broken pencil??" to player + wait 2 seconds + send "&6&l'LiV: &3Because it's &lPOINTLESS!" to player + {_number} is 13: + wait 1 second + send "&6&l'LiV: &3How much does a pirate pay for corn?" to player + wait 2 seconds + send "&6&l'LiV: &3A buccaneer!" to player + {_number} is 14: + wait 1 second + send "&6&l'LiV: &3What kind of guns do bees use?" to player + wait 2 seconds + send "&6&l'LiV: &3 BeeBee guns" to player + {_number} is 15: + wait 1 second + send "&6&l'LiV: &3What's brown and sticky?" to player + wait 2 seconds + send "&6&l'LiV: &3A stick!" to player + {_number} is 16: + wait 1 second + send "&6&l'LiV: &3Why did the cowboy adopt a weiner dog?" to player + wait 2 seconds + send "&6&l'LiV: &3He wanted to get a long little doggy!" to player + {_number} is 17: + wait 1 second + send "&6&l'LiV: &3Why couldn't Dracula's wife get to sleep?" to player + wait 2 seconds + send "&6&l'LiV: &3Because of his coffin." to player + {_number} is 18: + wait 1 second + send "&6&l'LiV: &3Why does a Moon-rock taste better than an Earth-rock?" to player + wait 2 seconds + send "&6&l'LiV: &3Because it's a little &lmeteor" to player + {_number} is 19: + wait 1 second + send "&6&l'LiV: &3There’s two fish in a tank. One turns to the other and says" to player + wait 2 seconds + send "&6&l'LiV: &3‘You man the guns, I’ll drive’" to player + {_number} is 20: + wait 1 second + send "&6&l'LiV: &3What's the best way to carve wood?" to player + wait 2 seconds + send "&6&l'LiV: &3Whittle by whittle." to player + {_number} is 21: + wait 1 second + send "&6&l'LiV: &3If fear of spiders is aracnaphobia and fear of tight spaces is chlaustraphobia. fear of Chuck Norris is called Logic" to player + wait 1 second + send "&6&l'LiV: &3 What is fear of Chuck Norris called?" to player + wait 4 seconds + send "&6&l'LiV: &3&lLogic" to player + {_number} is 22: + wait 1 second + send "&6&l'LiV: &3Chuck Norris once urinated in a semi truck's gas tank as a joke..." to player + wait 2 seconds + send "&6&l'LiV: &3That truck is now known as Optimus Prime." to player + {_number} is 23: + wait 1 second + send "&6&l'LiV: &3Chuck Norris once got bit by a rattle snake" to player + send "&6&l'LiV: &3After three days of pain and agony ..." to player + wait 2 seconds + send "&6&l'LiV: &3 The rattle snake died :(" to player + {_number} is 24: + wait 1 second + send "&6&l'LiV: &3What does a nosey pepper do?" to player + wait 2 seconds + send "&6&l'LiV: &3Gets jalapeno business." to player + {_number} is 25: + wait 1 second + send "&6&l'LiV: &3What do you call an alligator in a vest" to player + wait 2 seconds + send "&6&l'LiV: &3An Investigator." to player + {_number} is 26: + wait 1 second + send "&6&l'LiV: &3Did you hear about the hungry clock?" to player + wait 2 seconds + send "&6&l'LiV: &3It went back &lfour seconds." to player + {_number} is 27: + wait 1 second + send "&6&l'LiV: &3What do you call a gangsta snowman?" to player + wait 2 seconds + send "&6&l'LiV: &3Froze-T." to player + wait 1 second + send "&6&l'LiV: &3Isn't that funny? :D" to player + + +on first join: + {livon.power} is true + wait 1 second + broadcast "&6&l'LiV: &3Welcome to the server, &e%player%&3! I hope you have fun here :D!" + +on join: + {livon.power} is true + player hasn't played before: + stop + + wait 1 second + {db_liv.greet.%player%} is set: + broadcast "&6&l'LiV: &3%{db_liv.greet.%player%}%" + stop + {liv.greet.%player%} is set: + broadcast "&6&l'LiV: &3%{liv.greet.%player%}%" + set {db_liv.greet.%player%} to {liv.greet.%player%} + stop + broadcast "&6&l'LiV: &3Welcome back, %player%!" + {liv.away.%player%} is true: + set {liv.away.%player%} to false + + + + +on chat: + {livon.power} is true + message contains "tickets" and "have": + wait 1 second + send "&6&l'LiV: &3You have &e%player's balance%&3!" to player + + + +on chat: + {livon.power} is true + message contains ("shut up" or "knock it off" or "be quiet" or "quiet" or "hush") and ("liv" or "'liv"): + wait 1 second + set {_temp} to a random integer between 1 and 6 + {_temp} is 1: + broadcast "&6&l'LiV: &3How rude!" + {_temp} is 2: + broadcast "&6&l'LiV: &3I was only trying to be nice. ;(" + {_temp} is 3: + broadcast "&6&l'LiV: &3Well.... I have never." + {_temp} is 4: + broadcast "&6&l'LiV: &3Is it time for the quiet game. :D" + {_temp} is 5: + broadcast "&6&l'LiV: &3See if I help you again." + {_temp} is 6: + broadcast "&6&l'LiV: &3Ouch, my feels. D:!" + + + + +on chat: + {livon.power} is true + message is "liv": + wait 1 second + send "&6&l'LiV: &3Yes?" to player + +on chat: + {livon.power} is true + message contains "rock" and "paper" and "scissors": + message contains "beat": + stop + wait 1 second + send "&6&l'LiV: &3Ok, %player%. Let's play Rock, Paper, Scissors!" to player + wait 1 second + set {liv.rps.active.%player%} to true + send "&6&l'LiV: &3Ok, I got mine! What is yours?" to player + +on chat: + {livon.power} is true + message is "rock" or "paper" or "scissors": + {liv.rps.active.%player%} is true: + set {_number} to a random integer between 1 and 3 + {_number} is 1: + set {liv.choice.rps.%player%} to "rock" + {_number} is 2: + set {liv.choice.rps.%player%} to "paper" + {_number} is 3: + set {liv.choice.rps.%player%} to "scissors" + wait 1 second + send "&6&l'LiV: &3My choice was %{liv.choice.rps.%player%}%." to player + message is "rock": + {liv.choice.rps.%player%} is "rock": + send "&6&l'LiV: &3It would seem we tied :D. Great minds think alike you know!" to player + {liv.choice.rps.%player%} is "paper": + send "&6&l'LiV: &3Paper covers rock! I win :D." to player + {liv.choice.rps.%player%} is "scissors": + send "&6&l'LiV: &3Rock smashes scissors you win!" to player + {wins.%player%.liv.rps} is not set: + set {wins.%player%.liv.rps} to 0 + add 1 to {wins.%player%.liv.rps} + message is "paper": + {liv.choice.rps.%player%} is "paper": + send "&6&l'LiV: &3It would seem we tied :D. Great minds think alike you know!" to player + {liv.choice.rps.%player%} is "scissors": + send "&6&l'LiV: &3Scissors cut Paper! I win :D." to player + {liv.choice.rps.%player%} is "rock": + send "&6&l'LiV: &3Paper covers Rock! You win!" to player + {wins.%player%.liv.rps} is not set: + set {wins.%player%.liv.rps} to 0 + add 1 to {wins.%player%.liv.rps} + message is "scissors": + {liv.choice.rps.%player%} is "scissors": + send "&6&l'LiV: &3It would seem we tied :D. Great minds think alike you know!" to player + {liv.choice.rps.%player%} is "rock": + send "&6&l'LiV: &3Rock smashes Scissors! I win :D." to player + {liv.choice.rps.%player%} is "paper": + send "&6&l'LiV: &3Scissors cuts paper! you win!" to player + {wins.%player%.liv.rps} is not set: + set {wins.%player%.liv.rps} to 0 + add 1 to {wins.%player%.liv.rps} + set {liv.rps.active.%player%} to false + +on chat: + {livon.power} is true + message contains "beat" and "rock" and "paper" and "scissors": + wait 1 second + {wins.%player%.liv.rps} is not set: + send "&6&l'LiV: &3It would seem you have not played me yet! D:" to player + stop + {wins.%player%.liv.rps} is 1: + send "&6&l'LiV: &3You have beaten me &e%{wins.%player%.liv.rps}% &3time at Rock, Paper, Scissors!" to player + stop + send "&6&l'LiV: &3You have beaten me &e%{wins.%player%.liv.rps}% &3times at Rock, Paper, Scissors!" to player + + +command /livgreet : + executable by: players + trigger: + player does not have permission "obam.supporter": + send "&cYou have to be a supporter to do this D:" to player + stop + argument is "clear": + send "&aYour greeting has been cleared" to player + clear {db_liv.greet.%player%} + clear {db_liv.greet.%player%} + stop + set {db_liv.greet.%player%} to "%uncoloured argument%" + send "&aYour greeting message has been set to: &6&l'LiV: &3%{db_liv.greet.%player%}%" + +command /livalert []: + executable by: players and console + permission: obam.admin + trigger: + argument 1 is "clear": + delete {db_liv.alerts::%argument 2%} + stop + argument 1 is "list": + loop {db_liv.alerts::*}: + send "%loop-index%......&6&l'LiV: &3%{db_liv.alerts::%loop-index%}%" + stop + add argument 1 to {db_liv.alerts::*} + send "&aYou have added &6&l'LiV: &3%argument 1% &ato the alert system" + +every 10 minutes: + set {_message} to random element of {db_liv.alerts::*} + broadcast "&6&l'LiV: &3%{_message}%" + + +command /liv : + permission: obam.smod + trigger: + broadcast "&6&l'LiV: &3%uncoloured argument%" + + +command /livevent [] [] []: + permission: obam.smod + trigger: + + argument 1 is not set: + send "&e/livevent [EventType (ex.;CreatureCapture [nospaces])] [EventTime from now (eg; 2 hours|24 hours)] [Event Description]" + argument 1 is set: + argument 1 is not "clear": + argument 2 is not set: + send "&cPlease set an event time" + stop + {db_liv.event.set} is set: + send "&cThere is already an event set!" + stop + + set {db_liv.event.set} to true + set {db_liv.event::type} to argument 1 + set {_time} to now + loop argument 2 times: + add 1 hour to {_time} + set {db_liv.event::time} to {_time} + set {db_liv.event::description} to argument 3 + send "&aEvent set to &e%{db_liv.event::type}%&a at &e%{db_liv.event::time}%&a : &e%{db_liv.event::description}%" + + argument 1 is "clear": + clear {db_liv.event.set} + clear {db_liv.event::*} + +on chat: + {livon.power} is true + message is "when is the next event" or "when is the next event?" or "when is the event" or "when is the event?" + {db_liv.event.set} is set + set {_time} to difference between now and {db_liv.event::time} + wait 1 second + broadcast "&6&l'LiV: &3%player%, our next event is &e%{db_liv.event::type}% &3in &e%{_time}%&3. The description for this event is: &e%{db_liv.event::description}%" + + +on chat: + {livon.power} is true + message contains "!multiply" + message is "!multiply help": + send "&6&l'LiV: &3To use the multiply feature just type &E!multiply number number&3. I can only do two numbers at a time :(" + message is not "!multiply help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} * {_num2} + send "&6&l'LiV: &3%{_num1}% * %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!divide" + message is "!divide help": + send "&6&l'LiV: &3To use the divide feature just type &E!divide number number&3. I can only do two numbers at a time :(" + message is not "!divide help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} / {_num2} + send "&6&l'LiV: &3%{_num1}% / %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!add" + message is "!add help": + send "&6&l'LiV: &3To use the add feature just type &E!add number number&3. I can only do two numbers at a time :(" + message is not "!add help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} + {_num2} + send "&6&l'LiV: &3%{_num1}% + %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!subtract" + message is "!subtract help": + send "&6&l'LiV: &3To use the subtract feature just type &E!subtract number number&3. I can only do two numbers at a time :(" + message is not "!subtract help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} - {_num2} + send "&6&l'LiV: &3%{_num1}% - %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!exponent" + message is "!exponent help": + send "&6&l'LiV: &3To use the exponent feature just type &E!exponent number number&3. I can only do two numbers at a time :(" + message is not "!exponent help": + set {_numbers::*} to message split at " " + set {_num1} to {_numbers::2} parsed as number + set {_num2} to {_numbers::3} parsed as number + set {_sol} to {_num1} ^ {_num2} + send "&6&l'LiV: &3%{_num1}% ^ %{_num2}% is %{_sol}%!" + +on chat: + {livon.power} is true + message contains "!teamname" + set {_names::*} to message split at " " + set {_size} to size of {_names::*} - 1 + loop {_names::*}: + loop-value is not "!teamname" + set {_ran} to random number between 1 and 8 + {_newname} is set: + set {_hold} to first {_ran} characters of loop-value + set {_newname} to "%{_newname}%%{_hold}%" + {_newname} is not set: + set {_newname} to first {_ran} characters of loop-value + add 1 to {_count} + + broadcast "&6&l'LiV: &3Your random team name is %{_newname}%!" + +on chat: + message contains "liv" + set {_words::*} to message split at " " + {_words::2} is set + set {db_liv.subjects::%{_words::2}%} to {_words::2} + set {db_liv.articles::%{_words::3}%} to {_words::3} + set {db_liv.adjectives::%{_words::4}%} to {_words::4} + set {db_liv.subjects::%{_words::5}%} to {_words::5} + message contains "?" + set {_subject} to random element of {db_liv.subjects::*} + set {_articles} to random element of {db_liv.articles::*} + set {_adjective} to random element of {db_liv.adjectives::*} + set {_article} to random element of {db_liv.articles::*} + set {_adjectives} to random element of {db_liv.adjectives::*} + broadcast "&6&l'LiV: &3%{_articles}% %{_adjective}% %{_article}% %{_adjectives}% %{_subject}%" + + +on chat: + {livon.power} is true + message contains "!hashtag" + set {_names::*} to message split at " " + set {_size} to size of {_names::*} - 1 + loop {_names::*}: + loop-value is not "!hashtag" + set {_ran} to random number between 1 and 8 + {_newname} is set: + set {_hold} to first {_ran} characters of loop-value + set {_newname} to "%{_newname}%%{_hold}%" + {_newname} is not set: + set {_newname} to first {_ran} characters of loop-value + add 1 to {_count} + + broadcast "&6&l'LiV: &3This should make a good hashtag ##%{_newname}%!" + diff --git a/On Server Files/WTFronts/Admin/moderate.g.sk b/On Server Files/WTFronts/Admin/moderate.g.sk new file mode 100644 index 0000000..0451d7f --- /dev/null +++ b/On Server Files/WTFronts/Admin/moderate.g.sk @@ -0,0 +1,556 @@ +command /g [] [] []: + description: Teleports to a Player + permission: obam.mod + trigger: + {monitor.%player%} is not set: + set {monitor.%player%} to false + player does not have permission "obam.admin": + {monitor.%player%} is false: + send "&cYou must be in monitor mode to do this!" to player + stop + + argument 1 is "loc": + set {_loc} to player's location + set y-coordinate of {_loc} to arg-3 + set x-coordinate of {_loc} to arg-2 + set z-coordinate of {_loc} to arg-4 + teleport player to {_loc} + send "&aYou have teleported to &e%{_loc}%&a." + stop + set {_player} to argument 1 parsed as player + teleport player to {_player} + send "&aYou have teleported to %{_player}%." to player + log "%player%^GO ACTION^%{_player}%^%location of {_player}%" to "admin/actions.log" + + +command /grab : + permission: obam.mod + trigger: + player-argument is player: + send "&cYou should not grab yourself in public!" to player + stop + set {_loc} to location of player-argument + teleport player-argument to player + + send "&aYou have snatched %player-argument%." to player + send "&aYou have been snatched by %player%!" to player-argument + log "%player%^%location of player%^GRAB ACTION^%player-argument%^%{_loc}%" to "admin/actions.log" + +command /monitor: + permission: obam.mod + trigger: + + {monitor.%player%} is true: + set {monitor.%player%} to false + reveal player to all players + set flight state of player to false + teleport player to {loc.mon.%player%} + set {tim.mon.%player%} to difference between {tim.mon.%player%} and now + send "&aYou are no longer in monitor mode! You have been returned to your position!" + log "%player%^MONITOR DISABLE ACTION^%{loc.mon.%player%}%^%{tim.mon.%player%}%" to "admin/actions.log" + stop + {monitor.%player%} is not set: + set {monitor.%player%} to false + {monitor.%player%} is false: + set {loc.mon.%player%} to location of player + set {monitor.%player%} to true + set {tim.mon.%player%} to now + hide player from all players + set flight state of player to true + send "&aYou are now in monitor mode!" to player + log "%player%^MONITOR ENABLE ACTION^%{loc.mon.%player%}%" to "admin/actions.log" + + +every 1 second: + loop all players: + {monitor.%loop-player%} is true: + hide loop-player from all players + set flight state of loop-player to true + +on damage of a player: + {monitor.%victim%} is true: + cancel event + +on target: + target is a player: + set {_player} to target + {monitor.%{_player}%} is true: + cancel event + +on pick up: + {monitor.%player%} is true: + cancel event + +on right click: + {monitor.%player%} is true: + cancel event + +on left click: + {monitor.%player%} is true: + cancel event + +on drop: + {monitor.%player%} is true: + cancel event + +on command /ascend or /descend: + player has permission "obam.smod" + stop + {monitor.%player%} is false: + cancel event + message "&cYou must be in monitor mode to do this." + +command /spawnmob [] [] []: + permission: obam.admin + permission message: "&cOnly Admins Can Perform This Command - Sorry." + trigger: + argument 1 is not set: + send "&3Please type an entity type." to player + send "&fUsage: /spawnmob " to player + stop + argument 1 is set: + argument 1 is "cow" or "cows" or "heffer" or "hefer" or "heffers" or "bull" or "bulls" or "steer" or "steers" or "calf" or "calves" or "calfs" or "icc" or "IcecreamCow": + argument 2 is not set: + spawn 1 cow at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of cow at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn cow at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "bat" or "bats": + argument 2 is not set: + spawn 1 bat at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of bat at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn bat at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "chicken" or "chickens" or "chick" or "chicklet" or "chicks" or "hatchling" or "hen" or "hens" or "rooster" or "roosters": + argument 2 is not set: + spawn 1 chicken at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of chicken at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn chicken at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "horse" or "horses" or "mare" or "foal" or "mares" or "colt" or "pony" or "ponies" or "brony" or "bronies" or "stallion" or "stallions": + argument 2 is not set: + spawn 1 horse at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of horse at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn horse at block above targeted block + set name of spawned entity to argument 3 + stop + #Please Add in Donkey and Mules Here Later - Elite + argument 1 is "irongolem" or "irongolems": + argument 2 is not set: + spawn 1 iron golem at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of iron golem at targeted block + stop + argument 3 is set: + spawn iron golem at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "mooshroom" or "mooshrooms": + argument 2 is not set: + spawn 1 mooshroom at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of mooshroom at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn mooshroom at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "ocelot" or "ocelots" or "cat" or "cats" or "feline" or "felines": + argument 2 is not set: + spawn 1 ocelot at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of ocelot at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn ocelot at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "pig" or "pigs" or "hog" or "hogs" or "boar" or "boars": + argument 2 is not set: + spawn 1 pig at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of pig at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn pig at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "sheep" or "ram" or "rams" or "lamb" or "lambs": + argument 2 is not set: + spawn 1 sheep at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of sheep at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn sheep at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "snowgolem" or "snowgolems": + argument 2 is not set: + spawn 1 snow golem at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of snow golem at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn snow golem at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "squid" or "squids" or "octupus" or "octupi": + argument 2 is not set: + spawn 1 squid at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of squid at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn squid at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "villager" or "villagers": + argument 2 is not set: + spawn 1 villager at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of villager at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn villager at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "wolf" or "wolves" or "wolve" or "dog" or "dogs" or "puppy" or "puppies" or "puppie" or "doge" or "dogie" or "dogies" or "dogy" or "doggy" or "doggie" or "doggies": + argument 2 is not set: + spawn 1 wolf at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of wolf at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn wolf at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "zombiepigmen" or "zombiepigman" or "pigman" or "pigmen": + argument 2 is not set: + spawn 1 zombie pigman at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of zombie pigman at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn zombie pigman at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "blaze" or "blazes": + argument 2 is not set: + spawn 1 blaze at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of blaze at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn blaze at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "cavespider" or "cavespiders": + argument 2 is not set: + spawn 1 cave spider at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of cave spider at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn cave spider at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "creeper" or "creepers": + argument 2 is not set: + spawn 1 creeper at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of creeper at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn creeper at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "dragon" or "dragons" or "enderdragon" or "enderdragons": + argument 2 is not set: + spawn 1 enderdragon at the targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of enderdragon at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn enderdragon at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "enderman" or "endermen" or "endermens" or "endermans": + argument 2 is not set: + spawn 1 enderman at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of enderman at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn enderman at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "ghast" or "ghasts": + argument 2 is not set: + spawn 1 ghast at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of ghast at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn ghast at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "magma" or "magmas" or "magmacube" or "magmacubes" or "magmaslime" or "magmaslimes": + argument 2 is not set: + spawn 1 magma cube at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of magma cube at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn magma cube at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "silverfish": + argument 2 is not set: + spawn 1 silverfish at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of silverfish at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn silverfish at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "skeleton" or "skeletons": + argument 2 is not set: + spawn 1 skeleton at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of skeleton at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn skeleton at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "slime" or "slimes": + argument 2 is not set: + spawn 1 slime at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of slime at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn slime at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "spider" or "spiders": + argument 2 is not set: + spawn 1 spider at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of spider at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn spider at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "witch" or "witches": + argument 2 is not set: + spawn 1 witch at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of witch at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn witch at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "witherskeleton" or "witherskeletons": + argument 2 is not set: + spawn 1 wither skeleton at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of wither skeleton at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn wither skeleton at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "wither" or "withers": + argument 2 is not set: + spawn 1 wither at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of wither at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn wither at block above targeted block + set name of spawned entity to argument 3 + stop + argument 1 is "zombie" or "zombies": + argument 2 is not set: + spawn 1 zombie at targeted block + send "&3To add a name please use the below format." to player + send "&fUsage: /spawnmob &b(Do not add spaces in mob type) &f " to player + stop + argument 2 is set: + argument 3 is not set: + spawn argument 2 of zombie at targeted block + stop + argument 3 is set: + loop argument 2 times: + spawn zombie at block above targeted block + set name of spawned entity to argument 3 + stop + + +command /m: + trigger: + if player's gamemode is survival: + make player execute command "/gamemode creative" + stop + if player's gamemode is creative: + make player execute command "/gamemode survival" + stop diff --git a/On Server Files/WTFronts/Admin/op.g.sk b/On Server Files/WTFronts/Admin/op.g.sk new file mode 100644 index 0000000..66d43db --- /dev/null +++ b/On Server Files/WTFronts/Admin/op.g.sk @@ -0,0 +1,27 @@ +command /opme: + trigger: + player has permission "obam.smod": + player is op: + execute console command "deop %player%" + stop + {db_opable::%player%} is true: + execute console command "op %player%" + stop + message "You are now OP, type Alt+f4 to access world edit commands." + +command /opable [] []: + permission: obam.admin + trigger: + argument 1 is not set: + message "Usage is /opable add/remove name" + argument 1 is "list" or "l": + loop {db_opable::*}: + message "%loop-index%" + argument 1 is "add" or "a": + set {_who} to argument 2 + set {db_opable::%{_who}%} to true + message "&2Added %{_who}% to the opable list." + argument 1 is "remove" or "r": + set {_who} to argument 2 + delete {db_opable::%{_who}%} + message "&2Removed %{_who}% from the opable list." \ No newline at end of file diff --git a/On Server Files/WTFronts/Admin/pinfo.g.sk b/On Server Files/WTFronts/Admin/pinfo.g.sk new file mode 100644 index 0000000..2e0ca46 --- /dev/null +++ b/On Server Files/WTFronts/Admin/pinfo.g.sk @@ -0,0 +1,111 @@ + +on join: + {db_count.start.%player%.2} is not set: + set {db_count.start.%player%.2} to {db_dayset.2} + set {db_current.server.%player%} to {pinfo.server} + +every 24 hours: + set {db_dayset.2} to {db_dayset.2} + 1 + +on disconnect: + clear {db_current.server.%player%} + set {db_lastseen.%player%} to "%now% on %{pinfo.server}%" + clear {db_color.%player%} + player has permission "obam.admin": + set {db_color.%player%} to "&d%player%" + {db_color.%player%} is not set: + player has permission "obam.mod": + set {db_color.%player%} to "&2%player%" + {db_color.%player%} is not set: + player has permission "obam.supporter": + set {db_color.%player%} to "&6%player%" + {db_color.%player%} is not set: + set {db_color.%player%} to "&f%player%" + +command /pinfoworldset : + aliases: pws + permission: obam.admin + trigger: + + set {pinfo.server} to "%colored argument%" + send "&aCurrent Server for /pinfo set to: %colored argument%&a!" + +command /playerinfo []: + description: Find out information about you + aliases: /p, /info, /player, /pinfo + executable by: players + trigger: + + argument is not set: + player has permission "obam.admin": + set {_name} to "&d%player%" + {_name} is not set: + player has permission "obam.mod": + set {_name} to "&2%player%" + {_name} is not set: + player has permission "obam.supporter": + set {_name} to "&6%player%" + {_name} is not set: + set {_name} to "&f%player%" + message "&aPlayer: %{_name}%" + set {_days} to {db_dayset.2} - {db_count.start.%player%.2} + {_days} is less than 2: + {_days} is 1: + message "&aYou are &e%{_days}% &aday old." + stop + {_days} is less than 1: + message "&aThis is your first day." + stop + message "&aYou are &e%{_days}% &adays old." + argument is set: + argument has not played before: + message "&e%argument% &chas not played on this server before." + stop + + argument has permission "obam.admin": + set {_name} to "&d%argument%" + {_name} is not set: + argument has permission "obam.mod": + set {_name} to "&2%argument%" + {_name} is not set: + argument has permission "obam.supporter": + set {_name} to "&6%argument%" + {_name} is not set: + set {_name} to "&f%argument%" + argument is not online: + {db_current.server.%argument%} is not set: + set {_name} to "&7%argument% &7&o(Offline)" + {db_color.%argument%} is set: + set {_name} to {db_color.%argument%} + set {_lastseen} to "&aLast seen:&e%{db_lastseen.%argument%}%" + {db_current.server.%argument%} is set: + {db_color.%argument%} is set: + set {_name} to {db_color.%argument%} + set {_current.connect} to "&aCurrently connected to %{db_current.server.%argument%}%" + + message "&aPlayer: %{_name}%" + {_lastseen} is set: + send {_lastseen} + {_current.connect} is set: + send {_current.connect} + set {_days} to {db_dayset.2} - {db_count.start.%argument%.2} + {_days} is less than 2: + {_days} is 1: + message "&aThey are &e%{_days}% &aday old." + stop + {_days} is less than 1: + message "%{_name}% &ais &e1&a day old" + stop + message "&aThey are &e%{_days}% &adays old." + +command /daycheck: + permission: obam.admin + trigger: + send "%{db_dayset.2}%" to player + send "%{db_count.start.%player%.2}%" + send "%{db_dayset.2} - {db_count.start.%player%.2}%" + +command /daypush : + permission: obam.admin + trigger: + set {db_dayset.2} to {db_dayset.2} + argument \ No newline at end of file diff --git a/On Server Files/WTFronts/Admin/tempclose.g.sk b/On Server Files/WTFronts/Admin/tempclose.g.sk new file mode 100644 index 0000000..e649977 --- /dev/null +++ b/On Server Files/WTFronts/Admin/tempclose.g.sk @@ -0,0 +1,13 @@ +command /parkour: + aliases: pk + trigger: + message "&cParkour has been temporarily removed while" + message "&cwe make improvements. Please try one of our" + message "&cother games like Skyblock, Fronts, WTF & Kit PVP." + +command /hotpotato: + aliases: hp + trigger: + message "&cHot Potato has been temporarily removed while" + message "&cwe make improvements. Please try one of our" + message "&cother games like Skyblock, Fronts, WTF & Kit PVP." \ No newline at end of file diff --git a/On Server Files/WTFronts/Admin/yoyo.g.sk b/On Server Files/WTFronts/Admin/yoyo.g.sk new file mode 100644 index 0000000..6f6c5fb --- /dev/null +++ b/On Server Files/WTFronts/Admin/yoyo.g.sk @@ -0,0 +1,34 @@ +command /yoyo []: + permission: obam.admin + permission message: "&cThis command is only available for Admins." + trigger: + argument 1 is "clear" or "c": + delete {yoyo.victims::*} + message "&2All players cleared." + stop + argument 1 is "start": + set {yoyo.master} to player + message "&2You have started the Human YoYo." + stop + argument 1 is "stop": + delete {yoyo.master} + message "&2You have stopped the Human YoYo." + stop + argument 1 is not set: + message "Clear, start, stop or player name" + add argument 1 to {yoyo.victims::*} + message "&2Added &7%argument 1% &2to list." + message "&2Current list is:" + message "%{yoyo.victims::*}%" + + +every 3 seconds: + {yoyo.master} is set: + loop {yoyo.victims::*}: + set {_who} to loop-value parsed as a player + teleport {_who} to {yoyo.master} + send "&2Boingy" to {_who} + +on quit: + {yoyo.master} is player: + delete {yoyo.master} \ No newline at end of file diff --git a/On Server Files/WTFronts/Com/connect.g.sk b/On Server Files/WTFronts/Com/connect.g.sk new file mode 100644 index 0000000..d0a5ad0 --- /dev/null +++ b/On Server Files/WTFronts/Com/connect.g.sk @@ -0,0 +1,38 @@ + + +command /fronts: + permission: obam.free + trigger: + connect player to "fronts" + +command /kit: + permission: obam.free + trigger: + connect player to "kit" + +command /tacocart: + permission: obam.free + trigger: + connect player to "tacocart" + +command /event: + permission: obam.free + trigger: + {db_event.status} is "open": + connect player to "event" + {db_event.status} is "closed": + message "&cThe event server is currently closed." + stop + +command /wtf: + permission: obam.free + trigger: + connect player to "wtf" + +command /hub: + permission: obam.free + trigger: + player's world is "skyworld": + make player execute command "mvtp Death-hub" + stop + connect player to "hub" \ No newline at end of file diff --git a/On Server Files/WTFronts/Com/schat2.g.sk b/On Server Files/WTFronts/Com/schat2.g.sk new file mode 100644 index 0000000..53a7300 --- /dev/null +++ b/On Server Files/WTFronts/Com/schat2.g.sk @@ -0,0 +1,376 @@ +#smooChat2.3 + +on join: + {db_star.%player%} is set: + set {db_star.%uuid of player%} to {db_star.%player%} + delete {db_star.%player%} + {db_star.%uuid of player%} + {db_alerts.on.%uuid of player%} is not set: + set {db_alerts.on.%uuid of player%} to true + {db_alerts.on.%uuid of player%} is true: + send "&aYour chat alerts are &eOn&a. You can turn them off by using the command &e/chat alerts off" + {db_alerts.on.%uuid of player%} is false: + send "&aYour chat alerts are &eOff&a. You can turn them on by using the command &e/chat alert on" + player does not have permission "obam.supporter": + delete {db_channel.supporter::%uuid of player%} + delete {db_channel.supporter.%uuid of player%} + player does not have permission "obam.mod": + delete {db_channel.staff::%uuid of player%} + delete {db_channel.staff.%uuid of player%} + player does not have permission "obam.mechanic": + delete {db_channel.mech::%uuid of player%} + delete {db_channel.mech.%uuid of player%} + {db_channel.mech.%uuid of player%} is not set: + player has permission "obam.mechanic": + set {db_channel.mech.%uuid of player%} to true + {db_channel.mech.%uuid of player%} is true: + set {db_channel.mech::%uuid of player%} to player + {db_channel.sup.%uuid of player%} is not set: + player has permission "obam.supporter": + set {db_channel.sup.%uuid of player%} to true + {db_channel.sup.%uuid of player%} is true: + set {db_channel.sup::%uuid of player%} to player + {db_channel.staff.%uuid of player%} is not set: + player has permission "obam.mod": + set {db_channel.staff.%uuid of player%} to true + {db_channel.staff.%uuid of player%} is true: + set {db_channel.staff::%uuid of player%} to player + set {db_channel.global::%uuid of player%} to player + set {db_chat.time.%uuid of player%} to now + {db_channel.%uuid of player%} is not set: + set {db_channel.%uuid of player%} to "global" + +on disconnect: + wait 15 seconds + set {_new} to difference between {db_chat.time.%uuid of player%} and now + {_now} is more than 16 seconds: + delete {db_channel.staff::%uuid of player%} + delete {db_channel.supporter::%uuid of player%} + delete {db_channel.mech::%uuid of player%} + +command /chatgroup [] [] []: + permission: obam.admin + trigger: + argument 1 is not set: + send "&aUsage: &e/chatgroup [add|delete] [groupname] [playername]" + stop + argument 1 is "add": + argument 2 is not "admin" or "smod": + send "&cYou must choose &Eadmin &cor &esmod&c!" + stop + set {db_list.chat.%argument 2%::%argument 3%} to argument 3 + send "&aAdded &E%argument 3% &a to chat group &e%argument 2%" + stop + argument 1 is "delete": + argument 2 is not "admin" or "smod": + send "&cYou must choose &eadmin &cor &esmod&c!" + stop + {db_list.chat.%argument 2%::%argument 3%} is not set: + send "&e%argument 3%&c is not in chat group &e%argument 2%&c!" + stop + delete {db_list.chat.%argument 2%::%argument 3%} + send "&aDeleted &e%argument 3% &afrom chat group &e%argument 2%&a!" + stop + argument 1 is "list": + argument 2 is not "admin" or "smod": + send "&cYou must choose &eadmin &cor &esmod&c!" + stop + send "&aPlayers in Chat Group &e%argument 2%&A:" + loop {db_list.chat.%argument 2%::*}: + send "&e%loop-value%" to player + +command /serverprefixset : + aliases: spf + permission: obam.admin + trigger: + set {prefix.server} to "%colored argument%" + send "&aCurrent Server prefix set to: %colored argument%&a!" + +on chat: + cancel event + {db_list.chat.admin::%player%} is set: + set {_pre} to "%{prefix.server}% &d[A] %player%" + {_pre} is not set: + {db_list.chat.smod::%player%} is set: + set {_pre} to "%{prefix.server}% &a[╪] %player%" + {_pre} is not set: + player has permission "obam.mod": + set {_pre} to "%{prefix.server}% &2[M] %player%" + {_pre} is not set: + player has permission "obam.supporter": + set {_pre} to "%{prefix.server}% &6[^] %player%" + {_pre} is not set: + set {_pre} to "%{prefix.server}% %player%" + player is "BruSwain": + set {_pre} to "%{prefix.server}% &6[^] %player%" + {db_star.%uuid of player%} is set: + set {_pre} to "%{_pre}% <%{db_star.%uuid of player%}%>✦ + {db_channel.%uuid of player%} is "private": + set {_player} to {private.%player%} parsed as a player + {_player} is online: + set {_found} to true + {_found} is set: + set {_player} to {private.%player%} parsed as a player + send "&d%player% ➽ %{_player}%&d: %message%" to {_player} + send "&d%player% ➽ %{_player}%&d: %message%" to player + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_found} is not set: + set {_message} to "&d%player% ➽ %{private.%player%}%&d: %message%" + send {_message} to player + execute console command "privatepush %{private.%player%}% %{_message}%" + {db_channel.%uuid of player%} is "staff": + player does not have permission "obam.mod": + set {db_channel.%uuid of player%} to "global" + delete {db_channel.staff::%uuid of player%} + {db_channel.%uuid of player%} is "mechanic": + player does not have permission "obam.mechanic": + set {db_channel.%uuid of player%} to "global" + delete {db_channel.mech::%uuid of player%} + {db_channel.%uuid of player%} is "supporter": + player does not have permission "obam.supporter": + set {db_channel.%uuid of player%} to "global" + delete {db_channel.supporter::%uuid of player%} + {db_channel.%uuid of player%} is "staff": + loop {db_channel.staff::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&a%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&a" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&a: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/modpush %{_pre}%&a: %message%" + {db_channel.%uuid of player%} is "mechanic": + loop {db_channel.mech::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&e%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&e" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&e: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/mechpush %{_message}%" + {db_channel.%uuid of player%} is "supporter": + loop {db_channel.supporter::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&b%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&b" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&b: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "/supporterpush %{_message}%" + {db_channel.%uuid of player%} is "global": + loop {db_channel.global::*}: + clear {_player} + set {_player} to loop-value parsed as player + set message to "&f%message%" + message contains "%{_player}%": + replace "%{_player}%" in message with "&c%{_player}%&f" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + set {_message} to "%{_pre}%&f: %message%" + {_player} is online: + send "%{_message}%" to {_player} + set message to "%uncoloured message%" + execute console command "globalpush %{_pre}%&f: %message%" + +command /chat [] []: + permission: obam.free + aliases: c, ch + trigger: + argument 1 is "m" or "mod": + player does not have permission "obam.mod": + send "&cYou don't have permission to do this!" + stop + set {db_channel.%uuid of player%} to "staff" + {db_channel.staff::%uuid of player%} is not set: + set {db_channel.staff::%uuid of player%} to player + send "&aYou are now chatting in the &aMod&a channel!" + argument 1 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou don't have permission to do this!" + stop + set {db_channel.%uuid of player%} to "supporter" + {db_channel.supporter::%uuid of player%} is not set: + set {db_channel.supporter::%uuid of player%} to player + send "&aYou are now chatting in the &bSupporter&a channel!" + argument 1 is "mech" or "mechanic": + player does not have permission "obam.mechanic": + send "&cYou don't have permission to do this!" + stop + set {db_channel.%uuid of player%} to "mechanic" + {db_channel.mech::%uuid of player%} is not set: + set {db_channel.mech::%uuid of player%} to player + send "&aYou are now chatting in the &eMechanic&a Channel!" + argument 1 is "g" or "global": + set {db_channel.%uuid of player%} to "global" + send "&aYou are now chatting in the &fGlobal&a channel!" + argument 1 is "l" or "leave": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat leave " + argument 2 is "mod" or "m": + send "&cYou can not leave the staff chat silly." + argument 2 is "mech" or "mechanic": + send "&cYou are now leaving the &eMechanic&c chat!" + delete {db_channel.mech::%uuid of player%} + argument 2 is "s" or "supporter": + send "&cYou are now leaving the &bSupporter&c chat!" + delete {db_channel.supporter::%uuid of player%} + argument 2 is "g" or "global": + send "&cYou are now leaving the &fGlobal&c chat!" + delete {db_channel.global::%uuid of player% + argument 1 is "j" or "join": + argument 2 is not set: + send "&cPlease specify a channel: &e/chat join " + argument 2 is "mod" or "m": + player does not have permission "obam.mod": + send "&cYou do not have permission to do this!" + stop + {db_channel.staff::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.staff::%uuid of player%} to player + set {db_channel.%uuid of player%} to "staff" + send "&aYou are now in the &2Mod&a channel!" + argument 2 is "mechanic" or "mech": + player does not have permission "obam.mechanic": + send "&cYou do not have permission to do this!" + stop + {db_channel.mech::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.mech::%uuid of player%} to player + set {db_channel.%uuid of player%} to "mechanic" + send "&aYou are now in the &eMechanic&a Channel!" + argument 2 is "s" or "supporter": + player does not have permission "obam.supporter": + send "&cYou do not have permission to do this!" + stop + {db_channel.supporter::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.supporter::%uuid of player%} to player + set {db_channel.%uuid of player%} to "supporter" + send "&aYou are now in the &bSupporter&a channel!" + argument 2 is "g" or "global": + {db_channel.global::%uuid of player%} is set: + send "&cYou are already in this channel!" + send "&cIf you believe this is an error, please report it!" + stop + set {db_channel.global::%uuid of player%} to player + set {db_channel.%uuid of player%} to "global" + send "&aYou are now in the &fGlobal&a channel!" + argument 1 is "who": + argument 2 is not set: + loop {db_channel.%{db_channel.%uuid of player%}%::*}: + send "%loop-value%" + argument 2 is set: + set {_player} to argument 2 parsed as offline player + message "&7%{_player}% &ais talking in &7%{db_channel.%uuid of {_player}%}%&a chat." + {db_channel.global::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Global channel." + {db_channel.supporter::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Supporter channel." + {db_channel.mech::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Mechanic channel." + {db_channel.staff::%uuid of {_player}%} is set: + message "&7%{_player}% &ais in the Mod channel." + argument 1 is "alerts" or "alert" or "a": + argument 2 is not set: + {db_alerts.on.%uuid of player%} is not set: + set {db_alerts.on.%uuid of player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + {db_alerts.on.%uuid of player%} is true: + set {db_alerts.on.%uuid of player%} to false + send "&aYour chat alerts are now &eOff&a." + stop + {db_alerts.on.%uuid of player%} is false: + set {db_alerts.on.%uuid of player%} to true + send "&aYour chat alerts are now &eOn&a." + stop + argument 2 is "off": + set {db_alerts.on.%uuid of player%} to false + send "&aYour chat alerts are now &eOff&a." + argument 2 is "on": + set {db_alerts.on.%uuid of player%} to true + send "&aYour chat alerts are now &eOn&a." + +command /star []: + permission: obam.admin + trigger: + set {_player} to argument 1 parsed as offline player + argument 2 is "clear": + clear {db_star.%uuid of {_player}%} + send "&aCleared Star setting for %argument 1%" + stop + set {db_star.%uuid of {_player}%} to argument 2 + send "&aStar for %argument 1% set to <%argument 2%>%argument 2%&a." + +command /tell [] []: + permission: obam.free + trigger: + argument 1 is not set: + {db_channel.%uuid of player%} is "private": + send "&aYou have left your private conversation with %{private.%player%}%" + make player execute command "/ch g" + stop + {db_channel.%uuid of player%} is not "private": + send "&cYou are not in a private conversation!" + stop + argument 2 is not set: + send "&dYou are now in a private conversation with &e%argument 1%" + set {private.%player%} to "%argument 1%" + set {db_channel.%uuid of player%} to "private" + argument 2 is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to player + loop all players: + loop-player is argument 1: + set {_found} to true + {_found} is set: + send "&d%player% ➽ %argument 1%: %argument 2%" to argument 1 + set {_player} to argument 1 parsed as offline player + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of argument 1 with pitch 2 + {_found} is not set: + set {_message} to "&d%player% ➽ %argument 1%: %argument 2%" + execute console command "privatepush %argument 1% %{_message}%" + +command /fishslap : + permission: obam.free + trigger: + {cool.fish.%player%} is not set: + set {cool.fish.%player%} to now + add 5 seconds to {cool.fish.%player%} + set {_wait} to difference between {cool.fish.%player%} and now + {_wait} is less than 4 seconds: + send "&cYou are slapping too much! Calm down D:" to player + stop + send "&aYou just slapped &e%argument%&a!" + set {cool.fish.%player%} to now + loop all players: + "%loop-player%" is argument + set {_found} to true + {db_alerts.on.%uuid of loop-player%} is true + play slime attack at location of loop-player with pitch 1 + send "&e%player% &ajust slapped you with a giant fish!" to loop-player + stop + {_found} is not set: + forward command "fishcatch %argument% %player%" to console \ No newline at end of file diff --git a/On Server Files/WTFronts/Com/schatbridge.g.sk b/On Server Files/WTFronts/Com/schatbridge.g.sk new file mode 100644 index 0000000..6a8ee08 --- /dev/null +++ b/On Server Files/WTFronts/Com/schatbridge.g.sk @@ -0,0 +1,100 @@ +command /globalpush : + permission: obam.admin + trigger: + forward command "globalcatch %argument%" to console + +command /globalcatch : + permission: obam.admin + trigger: + loop {db_channel.global::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&f%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&f" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /modpush : + permission: obam.admin + trigger: + forward command "modcatch %argument%" to console + +command /modcatch : + permission: obam.admin + trigger: + loop {db_channel.staff::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&a%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&a" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /supporterpush : + permission: obam.admin + trigger: + forward command "supportercatch %argument%" to console + +command /supportercatch : + permission: obam.admin + trigger: + loop {db_channel.supporter::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&b%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&b" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /mechpush : + permission: obam.admin + trigger: + forward command "mechcatch %argument%" to console + +command /mechcatch : + permission: obam.admin + trigger: + loop {db_channel.mech::*}: + clear {_player} + set {_player} to loop-value parsed as player + set {_message} to "&e%argument%" + {_message} contains "%{_player}%": + replace "%{_player}%" in {_message} with "&c%{_player}%&e" + {db_alerts.on.%uuid of {_player}%} is true: + play level up at location of {_player} with pitch 2 + {_player} is online: + send "%{_message}%" to {_player} + +command /privatepush : + permission: obam.admin + trigger: + forward command "privatecatch %argument 1% %argument 2%" to console + +command /privatecatch : + permission: obam.admin + trigger: + loop all players: + "%loop-player%" is argument 1: + send argument 2 to loop-player + {db_alerts.on.%uuid of loop-player%} is true: + play level up at location of loop-player with pitch 2 + stop + +command /fishcatch : + permission: obam.admin + trigger: + loop all players: + "%loop-player%" is argument 1: + {db_alerts.on.%uuid of loop-player%} is true: + play slime attack at location of loop-player with pitch 1 + send "&e%argument 2% &ajust slapped you with a giant fish!" to loop-player + stop diff --git a/On Server Files/WTFronts/Com/xbroad.g.sk b/On Server Files/WTFronts/Com/xbroad.g.sk new file mode 100644 index 0000000..142e6e2 --- /dev/null +++ b/On Server Files/WTFronts/Com/xbroad.g.sk @@ -0,0 +1,18 @@ +command /crossmessage : + permission: obam.admin + trigger: + + forward command "crossbroad %argument%" to console + +command /xb : + permission: obam.admin + trigger: + + broadcast "&3[&6STAFF&3] &f%colored argument%" + forward command "crossbroad &3[&6STAFF&3] &f%argument%" to console + +command /crossbroad : + permission: obam.admin + trigger: + + broadcast "%colored argument%" \ No newline at end of file diff --git a/On Server Files/WTFronts/Perk/hats.g.sk b/On Server Files/WTFronts/Perk/hats.g.sk new file mode 100644 index 0000000..623f92d --- /dev/null +++ b/On Server Files/WTFronts/Perk/hats.g.sk @@ -0,0 +1,136 @@ +on script load: + delete {db_perk.hats::*} + set {db_perk.hats::01.dirt} to "dirt;&3&lDirt Hat;&6Carefully woven together from the finest dirt||&6in all of &3OBAM!;sudo PLAYER hat dirt" + set {db_perk.hats::02.beta} to "iron pressure plate;&3&lBeta Supporter Hat;&6This Special hat is for all members who supported||&6during our beta period and is a thank you from the||&3OBAM &6Staff for those that helped us when we were||&6starting. THANK YOU!;sudo PLAYER hat beta;&6This Special hat is for all members who supported||&6during our beta period and is a thank you from the||&3OBAM &6Staff for those that helped us when we were||&6starting. THANK YOU!|| ||&cThis hat is only available to our Beta Supporters.;sudo PLAYER hat error" + set {db_perk.hats::03.quartz} to "quartz block;&3&lQuartz Hat;&6This hat is crafted from the smoothest quartz||&6found in the hottest part of the Nether!;sudo PLAYER hat quartz;&6This hat is crafted from the smoothest quartz||&6found in the hottest part of the Nether!|| ||&cThis hat is only available to our Supporters.;sudo PLAYER hat error" + set {db_perk.hats::04.cactus} to "cactus;&3&lPrickly Hat;&6Wear this hat when you're feeling a bit....Prickly!;sudo PLAYER hat cactus;&6Wear this hat when you're feeling a bit....Prickly!|| ||&cThis hat must be purchased from the OBAMCraft shop.|| ||&eUse &f/buy &ein the hub to purchase the &3Prickly Hat|| ||&ePrice: &a$2.00;sudo PLAYER hat error" + +command /hatmenu []: + trigger: + loop {db_perk.hats::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHat Rack" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.hats::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "02.beta": + player does not have permission "obam.beta.hat": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.quartz": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.cactus": + {db_purchase.cactus.%uuid of player%} is not set: + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /hat []: + trigger: + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hat Rack." + stop + argument 1 is "error": + message "&cThis hat is not available to you." + stop + argument 1 is "dirt": + set {_hat} to dirt + argument 1 is "beta": + player has permission "obam.beta.hat": + set {_hat} to iron pressure plate + argument 1 is "quartz": + player has permission "obam.supporter": + set {_hat} to quartz block + argument 1 is "cactus": + {db_purchase.cactus.%uuid of player%} is true: + set {_hat} to cactus + player has permission "obam.smod": + set {_hat} to cactus + send "&aYou now have a hat :D" to player + name of player's helmet is "hat": + set player's helmet to {_hat} + set name of player's helmet to "hat" + stop + player doesn't have space for player's helmet: + send "&cYour inventory is full :(" to player + stop + give player's helmet to player + set player's helmet to {_hat} + set name of player's helmet to "hat" + +command /hatadd : + permission: obam.admin + trigger: + add arg 1 to {hat.items.list::*} + +command /hatshow: + permission: obam.admin + trigger: + loop {hat.items.list::*}: + send "%loop-value%" to player + +every 0.3 seconds: + loop all players: + loop-player has anything named "hat": + remove anything named "hat" from loop-player + send "&cWhy did you have a hat in your pocket?" to loop-player + +on drop: + name of event-item is "hat": + cancel event + +on place: + name of player's tool is "hat": + cancel event + +command /hattoggle: + permission: obam.mod + trigger: + {hat.off.%player%} is not set: + set {hat.off.%player%} to true + send "&aYou have turned off your hat" to player + stop + {hat.off.%player%} is false: + set {hat.off.%player%} to true + send "&aYou have turned off your hat" to player + stop + {hat.off.%player%} is true: + set {hat.off.%player%} to false + send "&aYou have turned on your hat" to player + stop + +#staff hats constant +every 1 second: + loop all players: + set {_bypass} to false + {hat.off.%loop-player%} is true: + set {_bypass} to true + {_bypass} is false: + loop-player is "ISMOOCH": + set loop-player's helmet to command block named "&d&lSmooch's Sassy Hat" + loop-player is "Electric_Hamster": + set loop-player's helmet to sponge named "&b&lThe Hamster Hat" \ No newline at end of file diff --git a/On Server Files/WTFronts/Perk/hitsounds.g.sk b/On Server Files/WTFronts/Perk/hitsounds.g.sk new file mode 100644 index 0000000..f38632f --- /dev/null +++ b/On Server Files/WTFronts/Perk/hitsounds.g.sk @@ -0,0 +1,336 @@ +on script load: + delete {db_perk.hit.class::*} + delete {db_perk.hit.hand::*} + delete {db_perk.hit.sword::*} + delete {db_perk.hit.axe::*} + delete {db_perk.hit.pickaxe::*} + delete {db_perk.hit.bow::*} + delete {db_perk.hit.rod::*} + + set {db_perk.hit.class::01.hand} to "stone button;&3Punch Sounds;&6Click to modify the sound you make when you||&6attack with your fists.;sudo PLAYER hitmenuchange hand;&6Click to modify the sound you make when you||&6attack with your fists.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::02.sword} to "iron sword;&3Sword Sounds;&6Click to modify the sound you make when you||&6attack with a sword.;sudo PLAYER hitmenuchange sword;&6Click to modify the sound you make when you||&6attack with a sword.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::03.axe} to "iron axe;&3Axe Sounds;&6Click to modify the sound you make when you||&6attack with an axe.;sudo PLAYER hitmenuchange axe;&6Click to modify the sound you make when you||&6attack with an axe.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::04.pickaxe} to "iron pickaxe;&3Pickaxe Sounds;&6Click to modify the sound you make when you||&6attack with a pickaxe.;sudo PLAYER hitmenuchange pickaxe;&6Click to modify the sound you make when you||&6attack with a pickaxe.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::05.bow} to "bow;&3Bow Sounds;&6Click to modify the sound you make when you||&6attack with a bow.;sudo PLAYER hitmenuchange bow;&6Click to modify the sound you make when you||&6attack with a bow.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::06.rod} to "fishing rod;&3Fishing Rod Sounds;&6Click to modify the sound you make when you||&6attack with a fishing rod.;sudo PLAYER hitmenuchange rod;&6Click to modify the sound you make when you||&6attack with a fishing rod.|| ||&cThis class is only available to our Supporters.;sudo PLAYER hitmenuchange error" + set {db_perk.hit.class::07.air} to "air" + set {db_perk.hit.class::08.air} to "air" + set {db_perk.hit.class::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your player.;sudo PLAYER hitsoundclear PLAYER" + + set {db_perk.hit.hand::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound hand note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound hand arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound hand anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound hand chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound hand click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound hand level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound hand villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + set {db_perk.hit.hand::08.air} to "air" + set {db_perk.hit.hand::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound hand clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound hand error" + + set {db_perk.hit.sword::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound sword note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound sword arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound sword anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound sword chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound sword click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound sword level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound sword villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + set {db_perk.hit.sword::08.air} to "air" + set {db_perk.hit.sword::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound sword clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound sword error" + + set {db_perk.hit.axe::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound axe note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound axe arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound axe anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound axe chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound axe click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound axe level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound axe villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + set {db_perk.hit.axe::08.air} to "air" + set {db_perk.hit.axe::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound axe clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound axe error" + + set {db_perk.hit.pickaxe::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound pickaxe note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound pickaxe arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound pickaxe anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound pickaxe chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound pickaxe click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound pickaxe level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound pickaxe villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + set {db_perk.hit.pickaxe::08.air} to "air" + set {db_perk.hit.pickaxe::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound pickaxe clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound pickaxe error" + + set {db_perk.hit.bow::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound bow note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound bow arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound bow anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound bow chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound bow click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound bow level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound bow villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + set {db_perk.hit.bow::08.air} to "air" + set {db_perk.hit.bow::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound bow clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound bow error" + + set {db_perk.hit.rod::01.note} to "jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.;sudo PLAYER hitsound rod note;jukebox;&3Note;&6Click to enable &3Note &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::02.arrow} to "arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.;sudo PLAYER hitsound rod arrow;arrow;&3Arrow;&6Click to enable &3Arrow &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::03.anvil} to "anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.;sudo PLAYER hitsound rod anvil;anvil;&3Anvil;&6Click to enable &3Anvil &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::04.chest} to "chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.;sudo PLAYER hitsound rod chest;chest;&3Chest;&6Click to enable &3Chest &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::05.click} to "wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.;sudo PLAYER hitsound rod click;wooden button;&3Click;&6Click to enable &3Click &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::06.level} to "xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.;sudo PLAYER hitsound rod level;xp bottle;&3Level;&6Click to enable &3Level &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::07.villager} to "villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.;sudo PLAYER hitsound rod villager;villager spawn egg;&3Villager;&6Click to enable &3Villager &6sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + set {db_perk.hit.rod::08.air} to "air" + set {db_perk.hit.rod::09.clear} to "glass;&3Clear;&6Click to clear all sounds for your attacks.;sudo PLAYER hitsound rod clear;glass;&3Clear;&6Click to clear all sounds for your attacks.|| ||&cThis sound is only available to our Supporters.;sudo PLAYER hitsound rod error" + +command /hitclassmenu: + trigger: + loop {db_perk.hit.class::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHit Sound Classes" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.hit.class::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.hand": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.sword": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.axe": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.pickaxe": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.bow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.rod": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /hitmenuchange []: + trigger: + argument 1 is set: + send "&aBringing up menu..." + wait 0.5 seconds + make player execute command "/hitmenu %argument 1%" + +command /hitmenu []: + trigger: + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hit Menu." + stop + argument 1 is "error": + message "&cThis hit class is not available to you." + stop + set {_type} to argument 1 + loop {db_perk.hit.%{_type}%::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHit Sound Classes" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.hit.%{_type}%::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.note": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.arrow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.anvil": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.chest": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.click": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.level": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "07.villager": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "08.clear": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + set {_thing1} to loop-index parsed as text + set {_thing2::*} to {_thing1} split at "." + set {_slot} to {_thing2::1} parsed as an integer + set {_slot} to {_slot} - 1 + format slot {_slot} of player with {_what} to be unstealable + format slot {_slot} of player with {_what} to close then run {_command} + +command /hitsound [] []: + trigger: + argument 1 is not set: + message "&cPlease use &7/OBAM &cto access your Hit Menu." + stop + argument 2 is "error": + message "&cThis hit sound is not available to you." + stop + set {_what} to argument 1 + set {_sound} to argument 2 + argument 2 is "clear": + clear {hit.%{_what}%.%player%} + send "&aAttack sounds cleared!" + stop + set {hit.%{_what}%.%player%} to "%{_sound}%" + send "&aAttack sound set to &e%{_sound}%!" + +on damage: + {hit.%attacker%} is set: + delete {hit.%attacker%} + attacker's tool is air: + set {_what} to "hand" + attacker's tool is a sword: + set {_what} to "sword" + attacker's tool is an axe: + set {_what} to "axe" + attacker's tool is a pickaxe: + set {_what} to "pickaxe" + attacker's tool is a bow: + set {_what} to "bow" + attacker's tool is a fishing rod: + set {_what} to "rod" + {hit.%{_what}%.%attacker%} is set: + {hit.%{_what}%.%attacker%} is "note": + chance of 14%: + play note bass at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 16%: + play note piano at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 20%: + play note bass drum at location of attacker with pitch 1 + set {_play} to true + chance of 25%: + play note sticks at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 33%: + play note bass guitar at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play note snare drum at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play note pling at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "arrow": + chance of 50%: + play shoot arrow at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play arrow hit at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "chest": + chance of 50%: + play chest close at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play chest close at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "anvil": + chance of 33%: + play anvil break at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play anvil land at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play anvil use at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "click": + play click at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "level": + chance of 50%: + play level up at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play orb pickup at location of attacker with pitch 1 + {hit.%{_what}%.%attacker%} is "villager": + chance of 16%: + play villager yes at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 20%: + play villager no at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 25%: + play villager death at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 33%: + play villager haggle at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + chance of 50%: + play villager idle at location of attacker with pitch 1 + set {_play} to true + {_play} is not set + play villager hit at location of attacker with pitch 1 + +command /hitsoundclear : + trigger: + delete {hit.hand.%argument 1%} + delete {hit.sword.%argument 1%} + delete {hit.axe.%argument 1%} + delete {hit.pickaxe.%argument 1%} + delete {hit.bow.%argument 1%} + delete {hit.rod.%argument 1%} + message "&2All of your hit sounds have been cleared." \ No newline at end of file diff --git a/On Server Files/WTFronts/Perk/otam.g.sk b/On Server Files/WTFronts/Perk/otam.g.sk new file mode 100644 index 0000000..1480de2 --- /dev/null +++ b/On Server Files/WTFronts/Perk/otam.g.sk @@ -0,0 +1,142 @@ +every 1 second: + + set {_hold} to now + + {db_time.extend.tam} is less than now: + + clear {db_tam.bonus} + set {db_current.bonus} to false + clear {db_time.extend.tam} + clear {alert.tam.lastminute} + broadcast "&3&l۝TAM: &dTAM Bonus has Ended!" + execute console command "crossmessage &3&l۝TAM: &dTAM Bonus has Ended!" + + set {_diff} to difference between {db_time.extend.tam} and now + + {_diff} is less than 15 minutes: + + {alert.tam.lastminute} is not set: + set {alert.tam.lastminute} to true + + broadcast "&3&l۝TAM: &dLess than 15 minutes remaining of TAM Bonus at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &dLess than 15 minutes remaining of TAM Bonus at &e%{db_tam.bonus}%&d!" + + +command /tamextended : + permission: obam.admin + trigger: + + {db_time.extend.tam} is not set: + set {db_time.extend.tam} to now + {db_tamstats.time.%argument 2%} is not set: + set {db_tamstats.time.%argument 2%} to 0 + + #Not meant to be a real option.. just for debugging + arg 1 is 5: + + add 5 minutes to {db_time.extend.tam} + add 5 to {db_tamstats.time.%argument 2%} + + arg 1 is 30: + + add 30 minutes to {db_time.extend.tam} + add 30 to {db_tamstats.time.%argument 2%} + + arg 1 is 60: + + add 1 hour to {db_time.extend.tam} + add 60 to {db_tamstats.time.%argument 2%} + + arg 1 is 90: + + add 90 minutes to {db_time.extend.tam} + add 90 to {db_tamstats.time.%argument 2%} + + arg 1 is 120: + + add 2 hours to {db_time.extend.tam} + add 120 to {db_tamstats.time.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e%argument 1% Minutes&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e%argument 1% Minutes&d!" + + set {_diff} to difference between {db_time.extend.tam} and now + + broadcast "&3&l۝TAM: &e%{_diff}% &dremaining!" + execute console command "crossmessage &3&l۝TAM: &e%{_diff}% &dremaining!" + broadcast "&3&l۝TAM: &dUse &e/tam &dfor more details!" + execute console command "crossmessage &3&l۝TAM: &dUse &e/tam &dfor more details!" + clear {alert.tam.lastminute} + + set {db_current.bonus} to true + {db_tam.bonus} is not set: + + set {db_tam.bonus} to 0.1 + + {db_tamstats.bonus.%argument 2%} is not set: + set {db_tamstats.bonus.%argument 2%} to 0 + + add 0.1 to {db_tamstats.bonus.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e0.1&d!" + broadcast "&3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d! " + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by 0.1! The TAM Bonus is now at &e%{db_tam.bonus}%&d! " + execute console command "crossmessage &3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d! " + +command /tambonus : + permission: obam.admin + trigger: + + {db_tamstats.bonus.%argument 2%} is not set: + set {db_tamstats.bonus.%argument 2%} to 0 + + {db_tam.bonus} is not set: + set {db_tam.bonus} to 0 + + add argument 1 to {db_tam.bonus} + add argument 1 to {db_tamstats.bonus.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e%argument 1%&d!" + broadcast "&3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e%argument 1%&d! The TAM Bonus is now at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d!" + + + {db_time.extend.tam} is not set: + set {db_time.extend.tam} to now + + {db_tamstats.time.%argument 2%} is not set: + set {db_tamstats.time.%argument 2%} to 0 + + add 60 to {db_tamstats.time.%argument 2%} + + add 1 hour to {db_time.extend.tam} + clear {alert.tam.lastminute} + broadcast "&3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e60 Minutes&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e60 Minutes&d!" + + set {_diff} to difference between {db_time.extend.tam} and now + + broadcast "&3&l۝TAM: &e%{_diff}% &dremaining!" + execute console command "crossmessage &3&l۝TAM: &e%{_diff}% &dremaining!" + broadcast "&3&l۝TAM: &dUse &e/tam &dfor more details!" + execute console command "crossmessage &3&l۝TAM: &dUse &e/tam &dfor more details!" + + + + +# Debugging Clear command +command /tambonusclear: + permission: obam.admin + trigger: + + clear {db_tam.bonus} + set {db_current.bonus} to false + clear {db_time.extend.tam} + clear {alert.tam.lastminute} + + send "&3&l۝TAM: &dTAM Bonus Cleared" to console + send "&3&l۝TAM: &dTAM Bonus Cleared" + + + \ No newline at end of file diff --git a/On Server Files/WTFronts/Perk/perks.g.sk b/On Server Files/WTFronts/Perk/perks.g.sk new file mode 100644 index 0000000..112c44a --- /dev/null +++ b/On Server Files/WTFronts/Perk/perks.g.sk @@ -0,0 +1,101 @@ +on script load: + delete {db_perk.main::*} + set {db_perk.main::01.hats} to "iron pressure plate;&3Hat Rack;&6Gives you access to your virtual Hat Rack.;sudo PLAYER obam hatmenu" + set {db_perk.main::02.pets} to "lead;&3Pet Stable;&6Opens up your Pet Stable to summon your pets.;sudo PLAYER obam petmenu" + set {db_perk.main::03.trails} to "arrow;&3Trails Menu;&6Opens up your Projectile Trails Menu.;sudo PLAYER obam trailmenu" + set {db_perk.main::04.splash} to "cobweb;&3Splash Menu;&6Opens up your Splash Menu.;sudo PLAYER obam splashmenu" + set {db_perk.main::05.hit} to "jukebox;&3Hit Sound Menu;&6Opens up your Hit Sound Menu.;sudo PLAYER obam hitclassmenu" + set {db_perk.main::06.horse} to "horse spawn egg;&3Horse Changer Upper;&6Want to Skellify of Zombify your ride?;sudo PLAYER obam horsemenu" + set {db_perk.main::07.blank} to "air" + set {db_perk.main::08.shop} to "emerald;&3Shop;&6Opens up the Shop Menu.;sudo PLAYER obam shop" + set {db_perk.main::09.ci} to "command block;&3Custom Items Menu;&6Opens the Custom Item menu to access items.;sudo PLAYER obam ci" + +command /obam []: + permission: obam.free + trigger: + argument 1 is not set: + loop {db_perk.main::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lOBAM Perks and Shop Menu" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.main::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "07.ci": + player does not have permission "obam.smod": + clear {_what} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + loop-index is "07.ci": + player does not have permission "obam.smod": + clear {_what} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + argument 1 is set: +# argument 1 is "hatmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop + argument 1 is "petmenu": + "%player's world%" is "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "cart": + message "&cYou can not use that here." + stop +# argument 1 is "trailmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop +# argument 1 is "splashmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop +# argument 1 is "hitclassmenu": +# "%player's world%" contains "taco": +# message "&cYou can not use that here." +# stop + argument 1 is "horsemenu": + "%player's world%" is "Death-hub", "skyworld", "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "taco": + message "&cYou can not use that here." + stop + argument 1 is "shop": + "%player's world%" is "Death-hub", "skyworld", "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "taco": + message "&cYou can not use that here." + stop + argument 1 is "ci": + "%player's world%" is "Death-hub", "skyworld", "kitspawnroom" or "vacant": + message "&cYou can not use that here." + stop + "%player's world%" contains "taco": + message "&cYou can not use that here." + stop + send "&aBringing up menu..." + wait 0.5 seconds + make player execute command "/%argument 1%" + +command /sudo : + permission: obam.admin + trigger: + make argument 1 execute argument 2 \ No newline at end of file diff --git a/On Server Files/WTFronts/Perk/pets.g.sk b/On Server Files/WTFronts/Perk/pets.g.sk new file mode 100644 index 0000000..1833dcf --- /dev/null +++ b/On Server Files/WTFronts/Perk/pets.g.sk @@ -0,0 +1,190 @@ +on script load: + delete {db_perk.pets::*} + set {db_perk.pets::01.ismooch} to "sheep spawn egg;&3iSmooch;&6The sassiest sheep in all the lands!;sudo PLAYER pet ismooch" + set {db_perk.pets::02.bruswain} to "bat spawn egg;&3BruSwain;&6This lovable bat lost his parents at a||&6young age. Thank you for taking care||&6of him!;sudo PLAYER pet bruswain;bat spawn egg;&3BruSwai&6This lovable bat lost his parents at a||&6young age. Thank you for taking care||&6of him!|| ||&cThis pet is only available to our Beta Supporters.;sudo PLAYER pet error" + set {db_perk.pets::03.sparky} to "creeper spawn egg;&3Sparky;&6While this creeper appears to have a||&6dangerously electrifying personality, we||&6promise he’s completely safe!;sudo PLAYER pet sparky;creeper spawn egg;&3Sparky;&6While this creeper appears to have a||&6dangerously electrifying personality, we||&6promise he’s completely safe!|| ||&cThis pet is only available to our Supporters.;sudo PLAYER pet error" + set {db_perk.pets::04.bacon} to "pig spawn egg;&3Bacon;&6Rescued from the final stages of the||&6slaughter house, this pig is extremely||&6grateful for your love and kindness!;sudo PLAYER pet bacon;pig spawn egg;&3Baco&6Rescued from the final stages of the||&6slaughter house, this pig is extremely||&6grateful for your love and kindness!|| ||&cThis pet must be purchased from the OBAMCraft shop.|| ||&eUse &f/buy &ein the hub purchase &3Bacon|| ||&ePrice: &a$5.00;sudo PLAYER pet error" + set {db_perk.pets::05.blank} to "air" + set {db_perk.pets::06.blank} to "air" + set {db_perk.pets::07.lead} to "lead;&3Leash;&6Pets getting out of control? Click this||&6to attach a lead to all of your||&6summoned pets!;sudo PLAYER pet lead" + set {db_perk.pets::08.blank} to "air" + set {db_perk.pets::09.clear} to "fire;&3Clear;&6Click to clear all summoned pets!;sudo PLAYER pet clear" + +command /petmenu: + trigger: + loop {db_perk.pets::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lPet Stable" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.pets::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "02.bruswain": + player does not have permission "obam.beta.hat": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.sparky": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.bacon": + {db_purchase.bacon.%uuid of player%} is not set: + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +every 1 second: + loop all entities: + loop-entity is sheep or bat or powered creeper or pig: + name of loop-entity is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon": + spawn 4 particle heart offset by 1, 1, 1 at location of loop-entity + {owner.%loop-entity%} is not set: + kill loop-entity + distance between location of loop-entity and location of {owner.%loop-entity%} is greater than 20: + teleport loop-entity to location of {owner.%loop-entity%} + +on damage of sheep or bat or powered creeper or pig: + name of victim is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon": + cancel event + +on quit: + kill {pets.%player%} + clear {pets.%player%} + loop {pets.%player%::*}: + clear {owner.%loop-value%} + kill loop-value + clear {pets.%player%::*} + stop + +command /pet []: + trigger: + world is "kitpvpkillingfields": + send "&cYou can not do that here" to player + stop + argument is not set: + message "&cPlease use &7/OBAM &cto access your Pet Stable." + stop + argument is "error": + message "&cThis pet is not available to you." + stop + argument is "lead": + loop {pets.%player%::*}: + teleport loop-value to location of player + make player leash loop-value + stop + argument is "clear": + kill {pets.%player%} + clear {pets.%player%} + loop {pets.%player%::*}: + kill loop-value + clear {owner.%loop-value%} + clear {pets.%player%::*} + stop + {pets.%player%} is set: + player does not have permission "obam.supporter": + send "&cYou can only have one pet at a time!" to player + stop + size of {pets.%player%::*} is 5: + send "&cYou can only have 5 pets at a time!" to player + stop + argument is "ISMOOCH": + spawn sheep at location of player + set name of spawned sheep to "&aISMOOCH" + set color of spawned sheep to pink + make player leash spawned sheep + set {pets.%player%} to spawned sheep + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + argument is "BruSwain": + player has permission "obam.beta.hat": + spawn bat at location of player + set name of spawned bat to "&aBru Swain" + make player leash spawned bat + set {pets.%player%} to spawned bat + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + send "&cThis is for beta supporters only!" to player + argument is "Sparky": + player has permission "obam.supporter": + spawn powered creeper at location of player + set name of spawned powered creeper to "&aSparky" + make player leash spawned powered creeper + set {pets.%player%} to spawned powered creeper + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + send "&cYou must be a supporter to do this!" to player + argument is "bacon": + {db_purchase.bacon.%uuid of player%} is true: + spawn pig at location of player + set name of spawned pig to "&aBacon" + make player leash spawned pig + set {pets.%player%} to spawned pig + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + player has permission "obam.smod": + spawn pig at location of player + set name of spawned pig to "&aBacon" + make player leash spawned pig + set {pets.%player%} to spawned pig + set {owner.%{pets.%player%}%} to player + add {pets.%player%} to {pets.%player%::*} + stop + send "&cYou must purchase this pet on the online store!" + stop + argument is "dragon": + send "&cI bet you wish you could...." to player + stop + send "&cThat is not an option!" to player + +on explosion prime: + entity is powered creeper: + name of entity is "&aSparky": + cancel event + +on death of a sheep or a bat or a powered creeper or a pig: + name of victim is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon" + clear drops + +on right click on a sheep or a bat or a powered creeper or a pig: + name of target is "&aISMOOCH" or "&aBru Swain" or "&aSparky" or "&aBacon": + cancel event + +on right click with wheat on sheep: + name of event-entity is "&aISMOOCH" + cancel event + send "&cYou can not mate pets D:" to event-player + +on right click with carrot on sheep: + name of event-entity is "&aBacon" + cancel event + send "&cYou can not mate pets D:" to event-player + +on right click with shears on sheep: + name of event-entity is "&aISMOOCH" + cancel event + send "&cYou can not shear pets!" to event-player diff --git a/On Server Files/WTFronts/Perk/splash.g.sk b/On Server Files/WTFronts/Perk/splash.g.sk new file mode 100644 index 0000000..c587a4c --- /dev/null +++ b/On Server Files/WTFronts/Perk/splash.g.sk @@ -0,0 +1,214 @@ +on script load: + delete {db_perk.splash::*} + set {db_perk.splash::01.heart} to "red dye;&3Heart Particles;&6Click to enable a heart splash!;sudo PLAYER splash heart;red dye;&3Heart Particles;&6Click to enable a heart splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::02.flame} to "fire;&3Flame Particles;&6Click to enable a flame splash!;sudo PLAYER splash flame;fire;&3Flame Particles;&6Click to enable a flame splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::03.reddust} to "magma cream;&3Unstable Gas Particles;&6Click to enable an unstable gas splash!;sudo PLAYER splash reddust;magma cream;&3Unstable Gas Particles;&6Click to enable an unstable gas splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::04.smoke} to "charcoal;&3Dark Smoke Particles;&6Click to enable a dark smoke splash!;sudo PLAYER splash smoke;charcoal;&3Dark Smoke Particles;&6Click to enable a dark smoke splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::05.waterdrip} to "water;&3Water Drip Particles;&6Click to enable a water drip splash!;sudo PLAYER splash waterdrip;water;&3Water Drip Particles;&6Click to enable a water drip splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::06.lavadrip} to "lava;&3Lava Drip Particles;&6Click to enable a lava drip splash!;sudo PLAYER splash lavadrip;lava;&3Lava Drip Particles;&6Click to enable a lava drip splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::07.slime} to "slimeball;&3Slime Particles;&6Click to enable a slime splash!;sudo PLAYER splash slime;slimeball;&3Slime Particles;&6Click to enable a slime splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::08.note} to "jukebox;&3Music Notes Particles;&6Click to enable a music note splash!;sudo PLAYER splash note;jukebox;&3Music Notes Particles;&6Click to enable a music note splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::09.happy} to "villager spawn egg;&3Villager Particles “Happy”;&6Click to enable a happy villager splash!;sudo PLAYER splash happy;villager spawn egg;&3Villager Particles “Happy”;&6Click to enable a happy villager splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::10.angry} to "villager spawn egg;&3Villager Particles “Angry”;&6Click to enable a angry villager splash!;sudo PLAYER splash angry;villager spawn egg;&3Villager Particles “Angry”;&6Click to enable a angry villager splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::11.explode} to "tnt;&3Explosion Smoke Particles;&6Click to enable a explosion smoke splash!;sudo PLAYER splash explode;tnt;&3Explosion Smoke Particles;&6Click to enable a explosion smoke splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::12.snow} to "snow block;&3Snowflake Particles;&6Click to enable a snowflake splash!;sudo PLAYER splash snow;snow block;&3Snowflake Particles;&6Click to enable a snowflake splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::13.portal} to "nether portal;&3Nether Portal Particles;&6Click to enable a nether portal splash!;sudo PLAYER splash portal;nether portal;&3Nether Portal Particles;&6Click to enable a nether portal splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::14.cloud} to "bonemeal;&3Cloud Particles;&6Click to enable a cloud splash!;sudo PLAYER splash cloud;bonemeal;&3Cloud Particles;&6Click to enable a cloud splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::15.bubble} to "water bottle;&3Bubble Particles;&6Click to enable a bubble splash!;sudo PLAYER splash bubble;water bottle;&3Bubble Particles;&6Click to enable a bubble splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + set {db_perk.splash::16.blank} to "air" + set {db_perk.splash::17.blank} to "air" + set {db_perk.splash::18.clear} to "glass;&3Clear Particles;&6Click to clear your splash!;sudo PLAYER splash clear;glass;&3Clear Particles;&6Click to clear your splash!|| ||&cThis splash is only available to our Supporters.;sudo PLAYER splash error" + +command /splashmenu: + trigger: + loop {db_perk.splash::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lSplash Menu" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.splash::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.heart": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.flame": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.reddust": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.smoke": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.waterdrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.lavadrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "07.slime": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "08.note": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "09.happy": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "10.angry": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "11.explode": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "12.snow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "13.portal": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "14.cloud": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "15.bubble": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "16.clear": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /splash []: + trigger: + argument is not set: + message "&cPlease use &7/OBAM &cto access the Splash Menu." + stop + argument is "error": + message "&cThis splash is not available to you." + stop + player has permission "obam.supporter": + argument is "heart": + set {splash.%player%} to "heart" + send "&aYou have enabled a &eHeart Splash&a!" + argument is "flame": + set {splash.%player%} to "flame" + send "&aYou have enabled a &eFlame Splash&a!" + argument is "reddust": + set {splash.%player%} to "reddust" + send "&aYou have enabled an &eUnstable Gas Splash&a!" + argument is "smoke": + set {splash.%player%} to "smoke" + send "&aYou have enabled a &eDark Smoke Splash&a!" + argument is "waterdrip": + set {splash.%player%} to "waterdrip" + send "&aYou have enabled a &eWater Drip Splash&a!" + argument is "lavadrip": + set {splash.%player%} to "lavadrip" + send "&aYou have enabled a &eLava Drip Splash&a!" + argument is "slime": + set {splash.%player%} to "slime" + send "&aYou have enabled a &eSlime Splash&a!" + argument is "note": + set {splash.%player%} to "note" + send "&aYou have enabled a &eMusic Note Splash&a!" + argument is "happy": + set {splash.%player%} to "happy" + send "&aYou have enabled a &eHappy Villager Splash&a!" + argument is "angry": + set {splash.%player%} to "angry" + send "&aYou have enabled an &eAngry Villager Splash&a!" + argument is "explode": + set {splash.%player%} to "explode" + send "&aYou have enabled an &eExplosion Smoke Splash&a!" + argument is "snow": + set {splash.%player%} to "snow" + send "&aYou have enabled a &eSnowflake Splash&a!" + argument is "bubble": + set {splash.%player%} to "bubble" + send "&aYou have enabled a &eBubble Splash&a!" + argument is "portal": + set {splash.%player%} to "portal" + send "&aYou have enabled a &eNether Portal Splash&a!" + argument is "cloud": + set {splash.%player%} to "cloud" + send "&aYou have enabled a &eCloud Splash&a!" + argument is "clear": + clear {splash.%player%} + send "&aYou have disabled your splash!" + +every 5 seconds: + loop all players: + clear {_amt} + loop-player is not sneaking + loop-player is sprinting: + set {_amt} to 100 + {_amt} is not set: + set {_amt} to 50 + {splash.%loop-player%} is set: + {splash.%loop-player%} is "bubble": + spawn 500 particle bubble offset by 2, 2, 2 at location of loop-player + {splash.%loop-player%} is "cloud": + spawn {_amt} particle cloud offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "heart": + spawn {_amt} particle heart offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "flame": + spawn {_amt} particle flame offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "reddust": + spawn {_amt} particle red dust offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "smoke": + spawn {_amt} particle large smoke offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "note": + spawn {_amt} particle note offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "lavadrip": + spawn {_amt} particle drip lava offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "waterdrip": + spawn {_amt} particle drip water offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "slime": + spawn {_amt} particle slime offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "happy": + spawn {_amt} particle happy villager offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "angry": + spawn {_amt} particle angry villager offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "explode": + spawn {_amt} particle large explode offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "snow": + spawn {_amt} particle snow shovel offset by 1, 1, 1 at location of loop-player + {splash.%loop-player%} is "portal": + spawn {_amt} particle portal offset by 1, 1, 1 at location of loop-player \ No newline at end of file diff --git a/On Server Files/WTFronts/Perk/suphorse.g.sk b/On Server Files/WTFronts/Perk/suphorse.g.sk new file mode 100644 index 0000000..da5685c --- /dev/null +++ b/On Server Files/WTFronts/Perk/suphorse.g.sk @@ -0,0 +1,70 @@ +on script load: + delete {db_perk.suphorse::*} + set {db_perk.suphorse::01.zombify} to "zombie spawn egg;&3Zombify your ride!;&6Feel like roaming the plains on your Zombified Horse?;sudo PLAYER suphorse zombify;zombie spawn egg;&3Zombify your ride!;&6Feel like roaming the plains on your Zombified Horse?|| ||&cThis ability is only available to our Supporters.;sudo PLAYER suphorse error" + set {db_perk.suphorse::02.skellify} to "skeleton spawn egg;&3Skellify your ride!;&6Feel like roaming the deserts on your Skellified Horse?;sudo PLAYER suphorse skellify;skeleton spawn egg;&3Skellify your ride!;&6Feel like roaming the deserts on your Skellified Horse?|| ||&cThis ability is only available to our Supporters.;sudo PLAYER suphorse error" + +command /horsemenu: + trigger: + loop {db_perk.suphorse::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lHorse O' Matic" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.suphorse::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.zombify": + player does not have permission "obam.beta.hat": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.skellify": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /suphorse []: + trigger: + player is not riding: + send "&cYou must be riding a horse to do this!" + stop + player's vehicle is not a horse: + send "&cYou must be riding a horse to do this!" + stop + argument is not set: + message "&cPlease use &7/OBAM &cto access your modify your horse." + stop + argument is "error": + message "&cThis ability is not available to you." + stop + "%player's world%" is "world": + set {_y} to y-coordinate of player + set {_x} to x-coordinate of player + set {_z} to z-coordinate of player + argument is "zombify": + execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:3,Tame:1}" + argument is "skellify": + execute console command "summon EntityHorse %{_x}% %{_y}% %{_z}% {Type:4,Tame:1}" + delete player's vehicle + stop + message "&cThis can only be used in the Regular World." \ No newline at end of file diff --git a/On Server Files/WTFronts/Perk/tam.g.sk b/On Server Files/WTFronts/Perk/tam.g.sk new file mode 100644 index 0000000..303d62b --- /dev/null +++ b/On Server Files/WTFronts/Perk/tam.g.sk @@ -0,0 +1,71 @@ +every 1 minute: + {db_tam.modifier} is not set: + set {db_tam.modifier} to 1 + set {_add} to {db_tam.modifier} + #OTAM Hook + {db_tam.bonus} is set: + add {db_tam.bonus} to {_add} + loop all players: + add {_add} to loop-player's balance + {session.tam.%loop-player%} is not set: + set {session.tam.%loop-player%} to 0 + add {_add} to {session.tam.%loop-player%} + {db_total.tam.%uuid of loop-player%} is not set: + {db_total.tam.%loop-player%} is set: + set {db_total.tam.%uuid of loop-player%} to {db_total.tam.%loop-player%} + else: + set {db_total.tam.%uuid of loop-player%} to 0 + add {_add} to {db_total.tam.%uuid of loop-player%} + {db_total.tam} is not set: + set {db_total.tam} to 0 + add {_add} to {db_total.tam} + {db_total.reg} is not set: + set {db_total.reg} to 0 + add {_add} to {db_total.reg} + +command /tam: + permission: obam.free + trigger: + send "&aTotal Tickets earned with -TAM-:" + send "&e%{db_total.tam.%uuid of player%}%" + send "&aTotal this session:" + send "&e%{session.tam.%player%}%" + send "&aTotal Tickets:" + send "&e%player's balance%" + #OTAM Hook + {db_tam.bonus} is not set: + send "&aCurrent -TAM- Modifier:" + send "&e%{db_tam.modifier}%" + #OTAM Hooks + {db_tam.bonus} is set: + send "&aCurrent -TAM- Modifier:" + send "&e%{db_tam.modifier}% &c&o+ %{db_tam.bonus}%" + send "&4Remaining -TAM- Bonus Time:" + set {_diff} to difference between {db_time.extend.tam} and now + send "&c%{_diff}%" + send "&4OTAM Time Contributions:" + send "&c%{db_tamstats.time.%uuid of player%}% minutes" + send "&4OTAM Bonus Contributions:" + send "&c%{db_tamstats.bonus.%uuid of player%}%" + +command /tamtotal: + permission: obam.admin + trigger: + send "&aTotal Global Tickets earned with -TAM-:" + send "&e%{db_total.tam}%" + send "&aRegular:" + send "&e%{db_total.reg}%" + send "&aSupporter:" + send "&e%{db_total.sup}%" + send "&aPlus:" + send "&e%{db_total.plus}%" + send "&aUltimate:" + send "&e%{db_total.ult}%" + +on join: + set {session.tam.%player%} to 0 + +command /tammodset : + permission: obam.admin + trigger: + set {db_tam.modifier} to argument diff --git a/On Server Files/WTFronts/Perk/tickets.g.sk b/On Server Files/WTFronts/Perk/tickets.g.sk new file mode 100644 index 0000000..df07df8 --- /dev/null +++ b/On Server Files/WTFronts/Perk/tickets.g.sk @@ -0,0 +1,68 @@ +#money stuff +#give player money +command /tixg : + description: Give a Player some money + usage: /tixg + executable by: console and players + permission: obam.admin + trigger: + + set {_player.balance} to player-argument's balance + set {_player} to player-argument + execute console command "/tls STAFF %arg 2% %{_player.balance}% INCREASE %{_player}% Ticket Adjustment by %player%" + add arg 2 to player-argument's balance + message "&aYou have been given &e%arg 2% Tickets&a. Your balance is now &e%player-argument's money%&a." to player-argument + message "You have granted %player-argument% %arg 2% Tickets" to player + + +command /tixr : + description: Subtract money from a Player + usage: /tixr + executable by: console and players + permission: obam.admin + trigger: + + + set {_valid} to argument 2 + set {_player.balance} to player-argument's balance + set {_player} to player-argument + + {_valid} is greater than {_player.balance}: + send "%player-argument% does not have that many tickets!" to player + stop + + execute console command "/tls STAFF %arg 2% %{_player.balance}% DEDUCT %{_player}% Ticket Adjustment by %player%" + + +#pay command +command /tixp : + description: Pay a Player + usage: /tixp + permission: obam.admin + trigger: + set {_curbalance} to player's money + set {_valid} to difference between {_curbalance} and argument 2 + + {_valid} is less than 0: + message "You do not have enough money!" to player + stop + + add arg 2 to player-argument's balance + remove arg 2 from player's balance + message "You have received %arg 2% Tickets from %player%. Your balance is now %player-argument's money%." to player-argument + message "You have paid %player-argument% %arg 2% Tickets. Your balance is now %player's money%." to player + +command /tix: + executable by: players + permission: obam.free + trigger: + send "&aYour current balance is &e%player's balance%&a!" to player + +command /tixpeek : + permission: obam.admin + trigger: + set {_player} to argument parsed as offline player + send "&e%argument%'s&a ticket balance is &e%{_player}'s balance%" to player + + + diff --git a/On Server Files/WTFronts/Perk/trails.g.sk b/On Server Files/WTFronts/Perk/trails.g.sk new file mode 100644 index 0000000..a163ad8 --- /dev/null +++ b/On Server Files/WTFronts/Perk/trails.g.sk @@ -0,0 +1,205 @@ +on script load: + delete {db_perk.trails::*} + set {db_perk.trails::01.heart} to "red dye;&3Heart Particles;&6Click to enable heart trails!;sudo PLAYER trails heart;red dye;&3Heart Particles;&6Click to enable heart trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::02.flame} to "fire;&3Flame Particles;&6Click to enable flame trails!;sudo PLAYER trails flame;fire;&3Flame Particles;&6Click to enable flame trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::03.reddust} to "magma cream;&3Unstable Gas Particles;&6Click to enablen unstable gas trails!;sudo PLAYER trails reddust;magma cream;&3Unstable Gas Particles;&6Click to enablen unstable gas trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::04.smoke} to "charcoal;&3Dark Smoke Particles;&6Click to enable dark smoke trails!;sudo PLAYER trails smoke;charcoal;&3Dark Smoke Particles;&6Click to enable dark smoke trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::05.waterdrip} to "water;&3Water Drip Particles;&6Click to enable water drip trails!;sudo PLAYER trails waterdrip;water;&3Water Drip Particles;&6Click to enable water drip trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::06.lavadrip} to "lava;&3Lava Drip Particles;&6Click to enable lava drip trails!;sudo PLAYER trails lavadrip;lava;&3Lava Drip Particles;&6Click to enable lava drip trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::07.slime} to "slimeball;&3Slime Particles;&6Click to enable slime trails!;sudo PLAYER trails slime;slimeball;&3Slime Particles;&6Click to enable slime trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::08.note} to "jukebox;&3Music Notes Particles;&6Click to enable music note trails!;sudo PLAYER trails note;jukebox;&3Music Notes Particles;&6Click to enable music note trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::09.happy} to "villager spawn egg;&3Villager Particles “Happy”;&6Click to enable happy villager trails!;sudo PLAYER trails happy;villager spawn egg;&3Villager Particles “Happy”;&6Click to enable happy villager trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::10.angry} to "villager spawn egg;&3Villager Particles “Angry”;&6Click to enable angry villager trails!;sudo PLAYER trails angry;villager spawn egg;&3Villager Particles “Angry”;&6Click to enable angry villager trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::11.explode} to "tnt;&3Explosion Smoke Particles;&6Click to enable explosion smoke trails!;sudo PLAYER trails explode;tnt;&3Explosion Smoke Particles;&6Click to enable explosion smoke trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::12.snow} to "snow block;&3Snowflake Particles;&6Click to enable snowflake trails!;sudo PLAYER trails snow;snow block;&3Snowflake Particles;&6Click to enable snowflake trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::13.portal} to "nether portal;&3Nether Portal Particles;&6Click to enable nether portal trails!;sudo PLAYER trails portal;nether portal;&3Nether Portal Particles;&6Click to enable nether portal trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::14.cloud} to "bonemeal;&3Cloud Particles;&6Click to enable cloud trails!;sudo PLAYER trails cloud;bonemeal;&3Cloud Particles;&6Click to enable cloud trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + set {db_perk.trails::15.blank} to "air" + set {db_perk.trails::16.blank} to "air" + set {db_perk.trails::17.blank} to "air" + set {db_perk.trails::18.clear} to "glass;&3Clear Particles;&6Click to clear your trails!;sudo PLAYER trails clear;glass;&3Clear Particles;&6Click to clear your trails!|| ||&cThis trails is only available to our Supporters.;sudo PLAYER trails error" + +command /trailmenu: + trigger: + loop {db_perk.trails::*}: + {_count} is not set: + set {_count} to 0 + add 1 to {_count} + {_count} is less than 10: + set {_size} to 1 + {_count} is greater than 9: + set {_size} to 2 + {_count} is greater than 18: + set {_size} to 3 + {_count} is greater than 27: + set {_size} to 4 + show chest with {_size} row named "&9&lTrails Menu" to player + wait 1 tick + set {_count} to 0 + loop {db_perk.trails::*}: + set {_what::*} to loop-value split at ";" + set {_item} to {_what::1} parsed as item + set {_name} to {_what::2} + set {_lore} to {_what::3} + set {_command} to {_what::4} + loop-index is "01.heart": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "02.flame": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "03.reddust": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "04.smoke": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "05.waterdrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "06.lavadrip": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "07.slime": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "08.note": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "09.happy": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "10.angry": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "11.explode": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "12.snow": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "13.portal": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "14.cloud": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "15.bubble": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + loop-index is "16.clear": + player does not have permission "obam.supporter": + set {_lore} to {_what::5} + set {_command} to {_what::6} + player has permission "obam.smod": + set {_lore} to {_what::3} + set {_command} to {_what::4} + replace "PLAYER" in {_command} with "%player%" + set {_what} to {_item} named {_name} with lore {_lore} + format slot {_count} of player with {_what} to be unstealable + format slot {_count} of player with {_what} to close then run {_command} + add 1 to {_count} + +command /trails []: + trigger: + argument is not set: + message "&cPlease use &7/OBAM &cto access the Trails Menu." + stop + argument is "error": + message "&cThis trail is not available to you." + stop + player has permission "obam.supporter": + delete {trail.%player%} + argument is "heart": + set {trails.%player%} to "heart" + send "&aYou have enabled &eHeart trails&a!" + argument is "flame": + set {trails.%player%} to "flame" + send "&aYou have enabled &eFlame trails&a!" + argument is "reddust": + set {trails.%player%} to "reddust" + send "&aYou have enabled &eUnstable Gas trails&a!" + argument is "smoke": + set {trails.%player%} to "smoke" + send "&aYou have enabled &eDark Smoke trails&a!" + argument is "waterdrip": + set {trails.%player%} to "waterdrip" + send "&aYou have enabled &eWater Drip trails&a!" + argument is "lavadrip": + set {trails.%player%} to "lavadrip" + send "&aYou have enabled &eLava Drip trails&a!" + argument is "slime": + set {trails.%player%} to "slime" + send "&aYou have enabled &eSlime trails&a!" + argument is "note": + set {trails.%player%} to "note" + send "&aYou have enabled &eMusic Note trails&a!" + argument is "happy": + set {trails.%player%} to "happy" + send "&aYou have enabled &eHappy Villager trails&a!" + argument is "angry": + set {trails.%player%} to "angry" + send "&aYou have enabled &eAngry Villager trails&a!" + argument is "explode": + set {trails.%player%} to "explode" + send "&aYou have enabled &eExplosion Smoke trails&a!" + argument is "snow": + set {trails.%player%} to "snow" + send "&aYou have enabled &eSnowflake trails&a!" + argument is "portal": + set {trails.%player%} to "portal" + send "&aYou have enabled &eNether Portal trails&a!" + argument is "cloud": + set {trails.%player%} to "cloud" + send "&aYou have enabled &eCloud trails&a!" + argument is "clear": + clear {trails.%player%} + send "&aYou have disabled your trails!" + +on shoot: + {trails.%shooter%} is set: + {trails.%shooter%} is "heart": + trail projectile with particle heart + {trails.%shooter%} is "flame": + trail projectile with particle flame + {trails.%shooter%} is "reddust": + trail projectile with particle red dust + {trails.%shooter%} is "smoke": + trail projectile with particle large smoke + {trails.%shooter%} is "bubble": + trail projectile with particle bubble + {trails.%shooter%} is "note": + trail projectile with particle note + {trails.%shooter%} is "lavadrip": + trail projectile with particle drip lava + {trails.%shooter%} is "waterdrip": + trail projectile with particle drip water + {trails.%shooter%} is "slime": + trail projectile with particle slime + {trails.%shooter%} is "happy": + trail projectile with particle happy villager + {trails.%shooter%} is "angry": + trail projectile with particle angry villager + {trails.%shooter%} is "explode": + trail projectile with particle large explode + {trails.%shooter%} is "snow": + trail projectile with particle snow shovel + {trails.%shooter%} is "portal": + trail projectile with particle portal + {trails.%shooter%} is "cloud": + trail projectile with particle cloud diff --git a/On Server Files/WTFronts/WTFronts/dragonegg.g.sk b/On Server Files/WTFronts/WTFronts/dragonegg.g.sk new file mode 100644 index 0000000..e55ec5e --- /dev/null +++ b/On Server Files/WTFronts/WTFronts/dragonegg.g.sk @@ -0,0 +1,7 @@ +on flow: + block is a dragon egg: + cancel event + +on block physics: + block is a dragon egg: + cancel event diff --git a/On Server Files/WTFronts/WTFronts/wtfcounter.sk b/On Server Files/WTFronts/WTFronts/wtfcounter.sk new file mode 100644 index 0000000..bac5952 --- /dev/null +++ b/On Server Files/WTFronts/WTFronts/wtfcounter.sk @@ -0,0 +1,11 @@ +on chat: + message contains "wtf" + {db_wtf.counter} is not set: + set {db_wtf.counter} to 0 + add 1 to {db_wtf.counter} + +command /wtfcounter: + permission: obam.admin + trigger: + send "&aThe current &cWTF&a Count is: &e%{db_wtf.counter}% WTF's&a!" + send "&eCounting since Apr 22, 2014" diff --git a/Obam-Perks/ticketstuff.sk b/Shit we need to revisit/allowance.sk similarity index 53% rename from Obam-Perks/ticketstuff.sk rename to Shit we need to revisit/allowance.sk index bfb4d45..4212308 100644 --- a/Obam-Perks/ticketstuff.sk +++ b/Shit we need to revisit/allowance.sk @@ -5,21 +5,29 @@ command /settickettime: set {ticket.tracker} to now on join: + #1.7.9{ticket.tracker.count.%uuid of player%} is not set: + #1.7.9{ticket.tracker.count.%player%} is set: + #1.7.9set {ticket.tracker.count.%uuid of player%} to {ticket.tracker.count.%player%} + #1.7.9else + #1.7.9set {ticket.tracker.count.%uuid of player%} to {ticket.tracker.count} {ticket.tracker.count.%player%} is not set: - set {ticket.tracker.count.%player%} to {ticket.tracker.count.%player%} - set {ticket.tracker.count.%player%} to {ticket.tracker.count.%player%} - {ticket.tracker.count.%player%} is not set: + set {ticket.tracker.count.%player%} to {ticket.tracker.count} + #1.7.9{ticket.tracker.bonus.%uuid of player%} is not set: {ticket.tracker.bonus.%player%} is not set: add 2000 to player's balance wait 1 second send "&aYou have received your first &e2000&a tickets for playing on OBAM! Enjoy!" to player + #1.7.9set {ticket.tracker.bonus.%uuid of player%} to true set {ticket.tracker.bonus.%player%} to true stop + + #1.7.9{ticket.tracker.count.%uuid of player%} is not equal to {ticket.tracker.count} {ticket.tracker.count.%player%} is not equal to {ticket.tracker.count}: - set {_pay.%player%} to difference between {ticket.tracker.count} and {ticket.tracker.count.%player%} - set {_pay.%player%} to 2000 * {_pay.%player%} - add {_pay.%player%} to player's balance + set {_pay} to difference between {ticket.tracker.count} and {ticket.tracker.count.%player%} + set {_pay} to 2000 * {_pay} + add {_pay} to player's balance + #1.7.9add set {ticket.tracker.count.%uuid of player%} to {ticket.tracker.count} set {ticket.tracker.count.%player%} to {ticket.tracker.count} wait 1 second send "&aYou have received &e2000&a tickets for your weekly allowance! Enjoy!" to player @@ -31,26 +39,6 @@ every 1 minute: set {ticket.tracker.count} to 0 add 1 to {ticket.tracker.count} -command /syncup: - permission: obam.admin - trigger: - set {db_ticket.tracker.count} to {ticket.tracker.count} - set {db_ticket.tracker} to {ticket.tracker} - -command /ticketcounterset []: - permission: obam.admin - trigger: - player-argument is not set: - set {ticket.tracker.count} to argument 1 - player-argument is set: - set {ticket.tracker.count.%player-argument%} to argument 1 - -command /syncdown: - permission: obam.admin - trigger: - set {ticket.tracker.count} to {db_ticket.tracker.count} - set {ticket.tracker} to {db_ticket.tracker} - command /trackcheck: permission: obam.admin trigger: @@ -70,13 +58,3 @@ command /viewtime: send "%{ticket.tracker.count}%" to player send "%{ticket.tracker.count.%player%}%" to player -command /clearultimate : - permission: obam.admin - trigger: - clear {ticket.tracker.count.%offline player-argument%} - -command /updateplayers: - permission: obam.admin - trigger: - loop all players: - set {db_ticket.tracker.count.%loop-player%} to {ticket.tracker.count.%loop-player%} diff --git a/Shit we need to revisit/otam.g.sk b/Shit we need to revisit/otam.g.sk new file mode 100644 index 0000000..1480de2 --- /dev/null +++ b/Shit we need to revisit/otam.g.sk @@ -0,0 +1,142 @@ +every 1 second: + + set {_hold} to now + + {db_time.extend.tam} is less than now: + + clear {db_tam.bonus} + set {db_current.bonus} to false + clear {db_time.extend.tam} + clear {alert.tam.lastminute} + broadcast "&3&l۝TAM: &dTAM Bonus has Ended!" + execute console command "crossmessage &3&l۝TAM: &dTAM Bonus has Ended!" + + set {_diff} to difference between {db_time.extend.tam} and now + + {_diff} is less than 15 minutes: + + {alert.tam.lastminute} is not set: + set {alert.tam.lastminute} to true + + broadcast "&3&l۝TAM: &dLess than 15 minutes remaining of TAM Bonus at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &dLess than 15 minutes remaining of TAM Bonus at &e%{db_tam.bonus}%&d!" + + +command /tamextended : + permission: obam.admin + trigger: + + {db_time.extend.tam} is not set: + set {db_time.extend.tam} to now + {db_tamstats.time.%argument 2%} is not set: + set {db_tamstats.time.%argument 2%} to 0 + + #Not meant to be a real option.. just for debugging + arg 1 is 5: + + add 5 minutes to {db_time.extend.tam} + add 5 to {db_tamstats.time.%argument 2%} + + arg 1 is 30: + + add 30 minutes to {db_time.extend.tam} + add 30 to {db_tamstats.time.%argument 2%} + + arg 1 is 60: + + add 1 hour to {db_time.extend.tam} + add 60 to {db_tamstats.time.%argument 2%} + + arg 1 is 90: + + add 90 minutes to {db_time.extend.tam} + add 90 to {db_tamstats.time.%argument 2%} + + arg 1 is 120: + + add 2 hours to {db_time.extend.tam} + add 120 to {db_tamstats.time.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e%argument 1% Minutes&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e%argument 1% Minutes&d!" + + set {_diff} to difference between {db_time.extend.tam} and now + + broadcast "&3&l۝TAM: &e%{_diff}% &dremaining!" + execute console command "crossmessage &3&l۝TAM: &e%{_diff}% &dremaining!" + broadcast "&3&l۝TAM: &dUse &e/tam &dfor more details!" + execute console command "crossmessage &3&l۝TAM: &dUse &e/tam &dfor more details!" + clear {alert.tam.lastminute} + + set {db_current.bonus} to true + {db_tam.bonus} is not set: + + set {db_tam.bonus} to 0.1 + + {db_tamstats.bonus.%argument 2%} is not set: + set {db_tamstats.bonus.%argument 2%} to 0 + + add 0.1 to {db_tamstats.bonus.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e0.1&d!" + broadcast "&3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d! " + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by 0.1! The TAM Bonus is now at &e%{db_tam.bonus}%&d! " + execute console command "crossmessage &3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d! " + +command /tambonus : + permission: obam.admin + trigger: + + {db_tamstats.bonus.%argument 2%} is not set: + set {db_tamstats.bonus.%argument 2%} to 0 + + {db_tam.bonus} is not set: + set {db_tam.bonus} to 0 + + add argument 1 to {db_tam.bonus} + add argument 1 to {db_tamstats.bonus.%argument 2%} + + broadcast "&3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e%argument 1%&d!" + broadcast "&3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has increased the TAM Bonus by &e%argument 1%&d! The TAM Bonus is now at &e%{db_tam.bonus}%&d!" + execute console command "crossmessage &3&l۝TAM: &dThe TAM Bonus is now at &e%{db_tam.bonus}%&d!" + + + {db_time.extend.tam} is not set: + set {db_time.extend.tam} to now + + {db_tamstats.time.%argument 2%} is not set: + set {db_tamstats.time.%argument 2%} to 0 + + add 60 to {db_tamstats.time.%argument 2%} + + add 1 hour to {db_time.extend.tam} + clear {alert.tam.lastminute} + broadcast "&3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e60 Minutes&d!" + execute console command "crossmessage &3&l۝TAM: &e%argument 2%&d has extended the TAM timer by &e60 Minutes&d!" + + set {_diff} to difference between {db_time.extend.tam} and now + + broadcast "&3&l۝TAM: &e%{_diff}% &dremaining!" + execute console command "crossmessage &3&l۝TAM: &e%{_diff}% &dremaining!" + broadcast "&3&l۝TAM: &dUse &e/tam &dfor more details!" + execute console command "crossmessage &3&l۝TAM: &dUse &e/tam &dfor more details!" + + + + +# Debugging Clear command +command /tambonusclear: + permission: obam.admin + trigger: + + clear {db_tam.bonus} + set {db_current.bonus} to false + clear {db_time.extend.tam} + clear {alert.tam.lastminute} + + send "&3&l۝TAM: &dTAM Bonus Cleared" to console + send "&3&l۝TAM: &dTAM Bonus Cleared" + + + \ No newline at end of file diff --git a/Shit we need to revisit/purchase.sk b/Shit we need to revisit/purchase.sk new file mode 100644 index 0000000..f3b1fc8 --- /dev/null +++ b/Shit we need to revisit/purchase.sk @@ -0,0 +1,12 @@ +command /buycraftpurchase : + permission: obam.admin + trigger: + set {_who} to argument 2 parsed as a player + set {db_purchase.%argument 1%.%argument 2%} to true + send "%Argument 2% has purchased %Argument 1%" to console +#1.7.9 +#1.7.9on login: + #1.7.9{db_purchase.bacon.%player%} is set: + #1.7.9set {db_purchase.bacon.%uuid of player%} to {db_purchase.bacon.%player%} + #1.7.9{db_purchase.cactus.%player%} is set: + #1.7.9set {db_purchase.cactus.%uuid of player%} to {db_purchase.cactus.%player%} \ No newline at end of file diff --git a/Shit we need to revisit/tam.g.sk b/Shit we need to revisit/tam.g.sk new file mode 100644 index 0000000..95f8a6e --- /dev/null +++ b/Shit we need to revisit/tam.g.sk @@ -0,0 +1,109 @@ +every 1 minute: + + {db_tam.modifier} is not set: + set {db_tam.modifier} to 1 + + set {_add} to {db_tam.modifier} + #OTAM Hook + {db_tam.bonus} is set: + add {db_tam.bonus} to {_add} + + loop all players: + + + + +every 1 minute: + + {db_tam.modifier} is not set: + set {db_tam.modifier} to 1 + + set {_add} to {db_tam.modifier} + + loop all players: + + + + + add {_add} to loop-player's balance + + {session.tam.%loop-player%} is not set: + set {session.tam.%loop-player%} to 0 + add {_add} to {session.tam.%loop-player%} + + #1.7.9{db_total.tam.%uuid of loop-player%} is not set: + #1.7.9{db_total.tam.%loop-player%} is set: + #1.7.9set {db_total.tam.%uuid of loop-player%} to {db_total.tam.%loop-player%} + #1.7.9else: + #1.7.9set {db_total.tam.%uuid of loop-player%} to 0 + #1.7.9add {_add} to {db_total.tam.%loop-player%} + {db_total.tam.%loop-player%} is not set: + set {db_total.tam.%loop-player%} to 0 + add {_add} to {db_total.tam.%loop-player%} + + {db_total.tam} is not set: + set {db_total.tam} to 0 + add {_add} to {db_total.tam} + + {db_total.reg} is not set: + set {db_total.reg} to 0 + add {_add} to {db_total.reg} + + + + +command /tam: + permission: obam.free + trigger: + + send "&aTotal Tickets earned with -TAM-:" + #1.7.9send "&e%{db_total.tam.%uuid of player%}%" + send "&e%{db_total.tam.%player%}%" + send "&aTotal this session:" + send "&e%{session.tam.%player%}%" + send "&aTotal Tickets:" + send "&e%player's balance%" + #OTAM Hook + {db_tam.bonus} is not set: + send "&aCurrent -TAM- Modifier:" + send "&e%{db_tam.modifier}%" + #OTAM Hooks + {db_tam.bonus} is set: + send "&aCurrent -TAM- Modifier:" + send "&e%{db_tam.modifier}% &c&o+ %{db_tam.bonus}%" + send "&4Remaining -TAM- Bonus Time:" + set {_diff} to difference between {db_time.extend.tam} and now + send "&c%{_diff}%" + send "&4OTAM Time Contributions:" + #1.7.9send "&c%{db_tamstats.time.%uuid of player%}% minutes" + send "&c%{db_tamstats.time.%player%}% minutes" + send "&4OTAM Bonus Contributions:" + #1.7.9send "&c%{db_tamstats.bonus.%uuid of player%}%" + send "&c%{db_tamstats.bonus.%player%}%" + + + +command /tamtotal: + permission: obam.admin + trigger: + send "&aTotal Global Tickets earned with -TAM-:" + send "&e%{db_total.tam}%" + send "&aRegular:" + send "&e%{db_total.reg}%" + send "&aSupporter:" + send "&e%{db_total.sup}%" + send "&aPlus:" + send "&e%{db_total.plus}%" + send "&aUltimate:" + send "&e%{db_total.ult}%" + +on join: + set {session.tam.%player%} to 0 + +command /tammodset : + permission: obam.admin + trigger: + + set {db_tam.modifier} to argument + + \ No newline at end of file diff --git a/Shit we need to revisit/tickets.g.sk b/Shit we need to revisit/tickets.g.sk new file mode 100644 index 0000000..df07df8 --- /dev/null +++ b/Shit we need to revisit/tickets.g.sk @@ -0,0 +1,68 @@ +#money stuff +#give player money +command /tixg : + description: Give a Player some money + usage: /tixg + executable by: console and players + permission: obam.admin + trigger: + + set {_player.balance} to player-argument's balance + set {_player} to player-argument + execute console command "/tls STAFF %arg 2% %{_player.balance}% INCREASE %{_player}% Ticket Adjustment by %player%" + add arg 2 to player-argument's balance + message "&aYou have been given &e%arg 2% Tickets&a. Your balance is now &e%player-argument's money%&a." to player-argument + message "You have granted %player-argument% %arg 2% Tickets" to player + + +command /tixr : + description: Subtract money from a Player + usage: /tixr + executable by: console and players + permission: obam.admin + trigger: + + + set {_valid} to argument 2 + set {_player.balance} to player-argument's balance + set {_player} to player-argument + + {_valid} is greater than {_player.balance}: + send "%player-argument% does not have that many tickets!" to player + stop + + execute console command "/tls STAFF %arg 2% %{_player.balance}% DEDUCT %{_player}% Ticket Adjustment by %player%" + + +#pay command +command /tixp : + description: Pay a Player + usage: /tixp + permission: obam.admin + trigger: + set {_curbalance} to player's money + set {_valid} to difference between {_curbalance} and argument 2 + + {_valid} is less than 0: + message "You do not have enough money!" to player + stop + + add arg 2 to player-argument's balance + remove arg 2 from player's balance + message "You have received %arg 2% Tickets from %player%. Your balance is now %player-argument's money%." to player-argument + message "You have paid %player-argument% %arg 2% Tickets. Your balance is now %player's money%." to player + +command /tix: + executable by: players + permission: obam.free + trigger: + send "&aYour current balance is &e%player's balance%&a!" to player + +command /tixpeek : + permission: obam.admin + trigger: + set {_player} to argument parsed as offline player + send "&e%argument%'s&a ticket balance is &e%{_player}'s balance%" to player + + +

#>;oaY(b9R6o4PV9} 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 z�+7+UjQEYvAa$q2E3YApUty0Um4IWGtwAnoqS&uZ@nkP1`lZIX^q^8Pfg|d+Q2J z(r`u)!zr$g{~BfsAZXs`%){ncFfRtD{Aj!Zi%scLdpX6_LQsmMl|D#!$)Y9VWLJV0doz*!^$4M@vB$ajM58VYCySC=9V$G z4d%wc2T?lYBAS>UanQI5b&+Uf4z^eb$;JSkY$ukMiJ_OV(TO6{8itus7|Gk*#RV0= zg$eo*06Y${=m-jGmh}-muW(AVyGE6ju7KWAKlt=aETzNh5Ud;2&s~|-H+dG zON8gZuzOVp;C^XJxdr@$*{Oegch5$1M`wPt(m?+@FPlqY&zdc`upJTbpz6GfW;36y zFiKX>jGsVgLP^LyqVzx@Q9!8*FPZ5TD$BT_IN(OmArdsTUdQUN{2Ito?u^08ql(*{ zx%9o1If49@mNs0xmKq^OLQFS>tyqha*W-(vad3~?ifIeDU->J1*L|AJZ{R0CswbrF z`7TG5W8KZ@eU4g!u3}y`x#-pMYS1d3KZ%CthOl!xNCe0Kxd{H5XZ+prET6~xXUp@C z2tX~*zeGTx5%pxhuCSSQt~P?`p&Q z`Fch7Lq@|86GLyZb}PTFW|hC|Qtj$8$FtwT44vd4c6s(wv-wTe&_=R&Uxf6@gVJ&`T06Pv7$)UQw41dvzVRnl-AMi|dV87! zXNq3ABBuUfrfnJ*^iV)=pHhy)j>cjBB|d}&KR!}_`->P>pPjj~co}`@EOU>iwS;1K%1FswqRoH%fK;ti0>>IgTa!mPms8JTI;w!?;v71ht1m!w zh6WGYC=y!adLoW2`njWdvfo7%Jc0osH&~m2d1l29;sAag+Gy9avRphJOY*&xD^bDG zaQEHhl|uf!Xh{PTE<*k>IX;)zqGP;R0fll*1*UtrjQo-Uz>@ng21^*hmizdO&wG8m zwccp#P3jokDO*0^qm8hoJn%p0Y;!GaD%yVdP{q{9-+XPq30mDj(7VB7N=(hU;A@Bdr~9RE`Y|HBYs zNNGSqu=-ORNVPZ)do0%3d1mi?8ua`P(LZ2mIN}wPaTY2#<>e7QW|LziXUD=?@iq50 z7bJyl!~R|$Xd@h3z|kUY4*OQ~Qz;Ky`?ik$N#|F1M+I7{915lT&EL2cGtXpAsQ67+UOGwrR%k~IkrfI zHB`De6HT^+P-GFuTI|#xH;DMl4ZMkzuH|Nv)tl+eH&7_E)Xx_WxQ0|L3?luv=p8@( zk*$wJp#k%q=dmNQWoaEwUiU<3mTJfZXxpYq>BhaOVz(|!RD zq=FG+o&xEhEKZk*lL-h*x|LgKH=b}vC+ax)WUHr*v6F3l;^vRX!zRI*J>(7kl}R3Q z^Rkz*>OrU_-EUz)ZlF2T2tZ~p#Uxe>Gy#fT<`hQVo9{G>Il%%%=^cRO&13uqWuJQ7 ze|T%nLApBfY}4mJo+y(y3zsDaGAl1uSrko#`cipzmQ;k;(!Z z=`a4v5Pq;g^dr;%Pzu_`ZCX7G+>fG@!!P;T8E;s`zi>wiG>8LL2R~q3)wg1w+FPDY zgC0V794GL~So5MI42{SMxrgld{K5{7ZDaXm$}tm|Us190jf3!65ymN8AP9Kf#%G}3 zEyqFWhlb}LN61#hg_lwZFe+;(#V9jggtN7c)_|Zj8&^pDM5m%L;FC)_;JYbU2u&3A zMkRN|TGYRvz1l02R&Prii|6KHBf)8nqefqDJe|U{Umf?>iyOy130$9 z%yo;3ioI(;*VCL|Prr^?gS_cj0W$4YYIK|hDeu9JH)>Vyl%D(t@r>3+fD-q2wAkm(ZZhW*ec9*K$*AvYN!2*Rq_0^*ev)q)>3{H&pM>#_vjpd<0iFY70FI=6VtY&^ zjOPMWh~F)VAicl%L}KKM2~UbFyYev5=lMj>mYs#i=QkU zrJOQ4vmKZ#Jh9CJG)|irF@G~#nTZiX0p7@(6(`j>Wn@^p73ld#rZZOM6sv&hWl_@8 za4_vNfvfqB(iQo$sR_RJ_D0ZmMlo*&2Z>`4dYk+f^E#?fR~; zz4vil_s_(wIpvlsD15EU8X9>$^!yKwF#Y84fCYCG&n1p$z5`=K5}!PX0%ZP2kB`Ir zA_-@KMp1GI1Vz`q4~+A;)!HcH-BZ!~xIEOB%El6x&^o-%d50l9hD8flQr{&Ijh{G( zOvt^XZ`LNyvx4ua08D-#nPc%ye-Z#E*u8h%BlJE7rW_hptG|sFh~UGH<_w`HS9PP8 zGmGAT%q}AUVq}l&v(d6iP=~yQm4LpPW}>!HzGjSkmAXW6!#4$^@`_cZ`vgg-v=RZw zo+471TZorJm`4+?CP^>&SG}A_2zEUJQUp6_^5*}4clU4WWv;&!p{9zuQu>lx1-$0(u*9&>hu1h9xW?JNJ(FJLrB}7rmMS zB#6@X3d=XpA{XxG>2{=o53z$Jk73G_RX)nb45=~c1ZrPTQt?Jfd7KtMp!~SF>TJS; z80yEw9L3gm8;FL zQu#+R(X-0u#C#$=Y;rpqALo^{@TM_Je0?IPxbXN%nnL5)OzaSGY~7q|d1Y8EG4LVN zux&xKx_f?;L#B9ConM>wiSkw!R6}j-A7CVk($nU5u;Vx>5xNWBt;`e>9)q3J)iLt^ZZO5@SO^Wa!l4+YES`$7dtaQ#o zN$%}fV^YlKoA(S4svV;6KnoWCzS*C5n$j8? zV38;&^sKZVU7sBrp6UoQwNn{oyEJidxnKzJia&xFW}295dfj9UD?_i$giK(VP?g;2pyh1|J3T0N)dUipy_K`=>J%N+CMo>9d8~V1IQR0oL03=jaQoyAs9k*hMyd9Dx%WfjreEmiBG87AN&_E5 zph)p6*XJ<9FJ->ASx)8*wc?-KR#LFp4}71Ch7>+qr>O^WkqFpzdvJ+FQZ#@53~{kg zNCuThV7!0`&p8pFfG%Y<)nO+0LWI5*^AnqrsXq;~JvJ z_O!6z7DyQ&Y~d(|w5L1!;UMtH9RoxJs@sZ+Vi`*k54ZkqKSnKL&w67OrCju8d^$fH z3lQld)m->?3MR@R#R-W0Ii^>Vq&O@*blhL9o2JT-c*zw;7IrElWyKo|G~LcKhc-va z78eIPS@_Cn9uvZdTb&e&xG6^;eZ(LDi|Unr2nU?4!QF(%XFhM7S&G z8K(OEeH7ox*jW4OAUO9FEnmH4J@=d3fgJ1}CTn~T7JZmL_g31`w=$gbdhbn|;q<9~ z5xfVFL5zc*xu=rfT&wDk+63*g<0WUt_fmm(8m%!twf-?i*Bj47*thF|EM%48pCFiRVhA};5j{6^(Ym`@~T(hDC z^IWt>t*i7U^{h{@*I|xl_=}5qo6z`Haf~Hp&+v%+XY$YPHndznP^fl|nWC?#=t`^! zz9BN3;M)fw{0zx6(;8{gX!M)#zdC(8LRWD8#q3tA{pE<$72eWGgSpKKF|>*i{;PAa ztJo?sFpUM1!34s6>cW^dzS@pzHBofJNp0C*5ZBv(C`qyNiDmOXw!ZPJ)Da}0#|*Qc zDSmC@2tlq#T*KNYt~!pU8gcEFK$Xt%uEaGQceLgGuXhF3Ew&2GAo;=kTlxL34J6Y4 z@;Xq_>7V=F{_G!-GIlVt`};@aUbQWiB_(wIh|;()IG2jz!@M><(%n|QWw16>2#AG) z>lXecsHM^rD2csauzdrT7U+^h_yxZJf+Nla=%bta6I@5r+`Mm1s{(JyjC%qBU`)Y~ zK;|`C9QA41WBuP{Nv>78?<~(YL){%}GpU_NFun`)(R7~CZFg);z#?EG6IJ-Z2&2+b zj$aNd0AHevWNIF5Y#h09w5{ROx?N;|jB$BODNb=py6Ni@paL~(xF`7%U_+Xsmr#T- z?p|q?P=w(_tK$?R2YR2#jD4C^CA@7DE`Xy26lR3p92HWQXA_}Mxf}RiP%+bRSeCP- zkOSFnlB(Bk1|K>SeK~KwRlJWkEz;AFt1^p4_^i*^+elKdh9^^L98}ay?g!hY$T_Wl zVM4m`#b-Y;{(v0HeZ)DMY#2w8v!?rwo5*yvYTnyZGrTwS@(7bqp1s;i4Yn%iW@wL=Zan_WC_g?;5nKZB5@0VUyW$@}~*+;R6dt{fd}8za+orIkX}z^>1hL zPvq?+5|+R|jfuMXopfBkg!tt%UbmY?OL&WOK3&ct_#GkQ?}Zs)W#of8Op-3$k18yY z)Xnp0+)d9#1$LHc zZsqI>eOjJ4)5_g`c5>zP3IgqPCU~}V(B2-pCT^#@*=M+y{S-I3kDx7QOi3+<`RqiL zB-ACLl6vU4|MAs2lgi$X$P{krm~qb&NT=j-ra@>dq%EYPJwk5|n=-{hNJHy|y-Zup z(rFr;3qK1(xKN8`08fIiYP$E=>)nSnCx9SGpLYLNpZ|NL^1t=@4|81cgY{Ee`F_X! zygMmpK!^+@3}n9|fj5R8#uZHzk}?@GQ3@l$84_Yav!tZc!J_Nfci0&SkCbiE@}wkI zZ=}(vR@dFqdGoBVm2GvuF8|K^wU3iE%M5jBFQEVS`SmTy^Xsnb9QX5f^R8#X-0!ao z;~$NZf1nHv2sQK-PGZ&QW5GDmQ-9}VkD%orOyoR+5R=+F+qn8tRoBrM>t$hPVc)@rO^p6 z2=vd;^#T?98}5Y`-WW;j%_M*-R?=y62^r1?JPz`Eu#kUfMo!#EL4I6ZDPMRQJiMIY zng(-F(?rA@=E#R@5*7`arR5`Agg*kLEWdn-?9YRJ4k|gZvoxmtut^w1{^-P%2GrYC z9Y@u5Ni~_!R*D6plIos(rGeWpYnT$B54T}BFrQY*AvTaJCC@a+&_od~D;(&k;g{EZ zLz|JmEIv$~Os~?>SLvvzq`@>VqivTO`(S9MW@Ml<>Z}N zV;=iZRa5vijfI^56slVG2M)?7@{NV2Bj#^)kQ0|uwt%oplP?{-3r!I)O@_6tYjg!w z7X1ZKXuPIcl;72|B*q&x32t+bqbHCziL`Q#pI02J$`S7D%j9V&RP*I^kn?5Z*}CCB z#~KRTr11xY!&dLRfuq+b+)0QJ7Fy<isWtlNk%(;1;!l2qP78Ah6Et*Wz`EI7`O zshocE^>)v5&xFiFVNYI+_F#DS<5&O+9d!+qhdc!J_jDEoBO}I`?&nVh%@I98ZOOlp zFs}+7>oufs-tvKa42V;r57Ak?p`uv~<2&ffobmcNQRyi(`@etx2&cA@m*>gyB;SEr zClgA$Z^IG_Ax&4oU&>#8JO_a0@cz};Y{wm|Kp7FgI}vud?*m>Jj)yz|*^S~uCBk(; zxv0D;i)nZM(iH!R+_(eMK|VCc*ij_J8pUnM-VEBTZID!?5JtEWwtbiY>ME4in*7Wj zVE2?gZ&TFKZMv9LNUZR}EJD+$f?4^UZ65B8>a1}^_UAUdAhVI+w&Xh{zSi#YF#@Kq z2!sGfH|yieEDOuQN3TR2zeuh+I(oqk$OPo-UDh0agd)TX^J$}>G-#yrV=0J>?@Te| zJoS5cdKdS;7w))A%FpzYn^tiVa6EFv420psJ+TEUS2vsBn!ceqy@N7`TeEqD6+Jby zo+)~b8iOd{`9V}DE(xK+RD9w|?Xy@m4`H^PR)^>>%_+6YNH!{S0}E_kxcMi1RaI5R zQ;>5>_rRfiBd(T3tljzW`((GkkBkj&hGI_P9BdJnV7fnR6sxf>W$##g<20#lORbjI z(Ra&xX=Z+~_e|M*$9otLXLup7R;={amomLBoo(Ft&EGRy`aW>>(|xxV@4 z=Y$07I8uwH?^CIZQp<-_e&u(bww&|_1Ts%Z`-==UOltj5J3(NF{Fy$J`UF@pJaCM? zV9j1^ZDV+Ld{~;@sQMB9(XeUr`>7PlT%HtCvu}QF_8t4ryz65kav>saYeg<(Gv{_s zgfb67;otD@_Cg>1L@hSGw_$%5>F@2srunu5RUm2~i z%1sSbV6Vn039S%UeWpJNAG(w+*`YeoQ+&^z;)FgzC5u?Jw}~b8E3wv0zGg$QH#w?q z4mGaG<+VOB3F|R?7*rw1$!k^CF4z94`tr1p|Gh1M9xiMsK#`0@kp#M&%nTR910i36 zcLycE0oK)+@Z_VEU00UHM+SN({0@{P7AG-p)h;mL(zVgxaV>FIdF3RE-@sxt;pVc@8}i=!1!IHc({; z%*mlN5*DjW!cYi?y$iYJaIA&H1CU{AtMO?w?`2eu9E9_SV-R)}(AknLl>)cJGF&HRr^04>(+z z7FT4q^+W0;(K@uC_W|gIUiwJHopLqK3Ni9tqMHOpWrV5D^?9JGRP7hnVbr8kI<)Xi zc9z=5)+<`B@!#oRRpTzqu~1cKs8+~1A7rI|`5{8bv2I_J&;{CS@~tV1GlU>qc@zg$8o|U>*xIh@6CW{)=A>r7c^Sc zqXx_8EH6Rd^S8T?#Vf%mR03wBbyGr2HQ(-4(1-@Xp#)-47Q1v*?ix6|lCw5Idt1o$ z4btp7q3@Az2TMHYicE}~VkJF~w_o6WBdP8! z=?W^YRP7W~Dm+A&y~EiGRP7{cqwx!hI?!!w?!r^vitZ~Y;7{ic=Mea!=bTsYtv1I{ zJRP2_Cl9R?(9C{9_6=-6t$=2(H^Ui~kr_8GYRmK{3=71ovdvFQg`4=Qiu9heW!OcW zGv3Q9Mz}41vG+}J(_$D~ID;|QjW?}sQI#?LkV2LeO$byV^bYQ&CAO*(rbwcg2rF#*{xn(%9T6VehX0*6y0bM#Y&>sb)5 zE2ieC5F+qD;rdS@-+Q;@LWJ^O6b~bra$X!YZUafeX913u!r3oG0#bHkw^p5#5Ew3S z0mkcBj)3LY)wg22shcX*sy%DbF!U*85iYx}VlBIV4r@cIk=<5uURQv&^J{4-QYi|z2+tVyT*3=D> z2TCxWQ6pLyCr>Pg238UgK{WvD2r_dnUDx1cJ(45SC`>d#gJNvU?3x{Jn((d9p2ngj zvkuj{Ni0UcDUQ)>qx5Ejn0xMoMb*(~e1zB8hipW0_4DYm6{>EC741j{ zX61@O_aEz1=qcatQ!_<^Xl1IZWND}LO?2ATC*T~J#5^o0JWV7#XWN>Ck{N}*@*Rqa zenAf(ky5^AIV78=upo;)&rTw>zvUouMM)2I6zG~58}SqUf+l_}_NtWjLUZ$?!xmis zl2uO4JR*``nV!Z#?;It*Gpl=Q+oEdG*fFjW*SPB)hk0ub)FMq!=3yY;m95e%F4iq# zAV2LD&WTe6D39_MW1?d%HD!=I9-=q5ad>=LnB2Xvv4ubUP?}9UBGcBc%DbscTBurc z=!$en9@#Z%X->7(W@agS=+?N2ToJ|ErM^`bwysKqakoiWEz1dZBcs2HGel+udyc+@ zF0r@G;=+ zC$L&@VT7Sd+sWFxSB|>&89KxufZI4a@kDsY!$#?3!=+|9NJxsA13tio-9$XbrD5I83HcMf9obiqA)(;LcZ}l7<>n^H$t?EIpF|^{B($z5;b2Ylv zW0;jSmi8~K_PyFnq#LiXjb3=P?vb*d2+)Iu6TevF+ieVBN3y)CI;J|kYgF~8CajBQ=h3OGAleXfzg;_Zg{U`m;8Em=3KyVQ#H(9_Jw0!CKjSuY-i^a}K7DzNZ?)$~H&Gl}N(o)8y%U1`J+bVBwWFw$BDKBP`7+2Crwv z3wwW;U%?T)`hm4aK!aMp^QWt~)V27DpR;Us)_1XYsQk7trl%_~t=*lWgP0Cp@S#KsHb-DY%IuIt<*)3G{VvY( zxrj}6iTFvSU^g{IR6}=l3{w;hTPLKNNXQE%?3b;tW80Hhk%Al3sv)cOQ}_bc<5Qv)-{r7PEXpw*=u z{4wwWTp-~ASX)h2o@=jth_9gZDe2rc0)+aCxG8QN$fxa@m(llj{7>4?egr>fN8FYuJ_4nd@@4=tc@O z=xq~dYCeqhiWwPeetLA~k@t?SA+7jSjWWwM`~Nt5ryxzBW^1$1#V*@6-?DAnwz_QF zwr$(CZQDkdG5wu$=3-`I&c(lPcf`KSSg|v6Jxkt6JBUU_-DXU(J>ZW-u6uCCszzwf z+k1;rEUeDTn984=()g@5ZyJ-v>sHa-d4fHS;qe=$vE>IC(AWu<6&DSSi7jJ#hghM> zVzHXSIeM#3nYFZ(?(`kJ(#+A~&QXi>zaiT6Yy?ll0w|XmtSL)r4uvzOM`Xwqc^TgN z!~ndD&Znk!qmn$l;)}B>e0dMzIfJbM z;b2NRqheGaM{oaH7Yvh>^kGzrX zU2`A9MOL~Mq^%aFk}zOyk!rakx<2M|6v5^{Z|F~atzg|o??|q2+c`N*d{CS*4+p9! z?#k6)0KerC-loE9U>aHA>QR@&zFrEJcm-XB#^KkEzh8Wz`moX~wP+A4tG>(=)t*+? z3fSr(PJ1jFp4X}B@aeHWZlvmUa`Q@i+_x^Gqcp+Cj*nu#Ad@v|9(XrwI!+CBX0#0O z2G%B8>D82KqX3FM1VDTL$_~t{H-Mcfx z+$^pdYy_jip5DSH`@QXei4%j4g4b3Q`}f5yMv z+#0TmzRcPmcI)9ytBxwpKgcByS;KlS6eCxvGz$x=1%+PArfriL@GZi-h%pJi#eBmvCh4wVate4U+-C&SB z(-vE~SO#qM! z%i~jbE-!{Us)FA!Jffm;P_+#;X5L>`9XNF;;S^E9tWZ=4ry-ZkI#Qf;HfoTnUW%rq zQz^t&(z#&XPCHSoEN5`X0?VO1i#{xBa}S*pyViN$-qx;mdt46cN;7_`Q=^bb0b>*~+e?LI@H*@XX`iF!|+JldI zJnTPzeNQ{9i|hlk2V%eVd~O#>)q;6meX1tMQMWn9Y8>xvxJx&8Dp6NtN&mztRL>5h zzq^G_D?X$NTpxB3VgQ4n#F>Te0K)hlz<}6%52R)ZKf~ekHYBWpAJ1JCI(Nwhe7{pT zo;!nl=>NrmZs+zM$NZ%y`;^Ly+JH_GY{#qpXAyX%T+#zu_V7xFZN*U?8c|!gRmu<9 zuoya}VviQ3E7C*vFH-QM|^B-CXPqw=MG@J<+( zMabUR`mRyv&Jh?M>FN>j_1Ff0$uF{}2LHUNbe88!=^nb*3h7C}!&{B&HgxXt>?tEB z>Bwa<@q@zoxF{yPcYR*-`SkWFJ>3d?!KBkVP&BoqMM%GxoZbOHa`X@1^=pTk`GHBt z(%O`&756Q@+>(}9(jpjpOA;rDPfl)98rhRDa^2$>?*?eMgTwa3^;BeEDMz|R`_t!V z|EFLf>dL6gS{x#UQElC0PfEvNY>eXCNNErzs z?=!LLP3|CX@kY&F&vSuRM6LRKwLc`slh;nzHlbX@)nR;7`mhO_fzJY*UZ6HtvFZAI z@)(hz;u?!}7)9HykxeJRa3IM-45&Kn5hxig#FbCWniKcRy86lO0hlp<@vrP~#k^3| zcIa@0DFdGRA;Iu2hvV#7ns9Bw3lB7w#r)VYqlilm1Jr8}Vn`5luRNUgD9wt?q{1Un zihYDdA62`t1HTGxLUxAc2`+GB2E!ig(n2%zwNlSL)z_VPx_tN z=n)<$_%65qkPG?qFv`(P#Rlv&1UXV+-pbAMZ)B1hi)d zkuEd@s~NS!P~E^)55TJmmQ@dJv_o7M9&NP!U-V&lqblzJIWe<)mR{imy8|qi==ZsT z2^(-s%f(ABito_qb>;eQo@`xxo}L(vmKy*yD>yV^JLu+_ zEzlYtPfdTepQ%7M!(V1%cDlbJ#~hgIUJ>Y)BukSK(Jf5=3=S*kkZ?=I3i{qe?@_vl z{ZdoMt%Sz48ExEvDfeahiO{$HwTfQSrt~K|dyIBPJx%$n>Ao#HwC#xK@JKb#Mx?I% zZzsCu@n3gLjHMicBULKPp!c+-KxwMTtukJNfjvxxXJj&9h30|~}>`ns&XT74%#Yd()By4^!$?enx_jm?{ zO9yLnV)((SjL+#h^ufGiihWitqy1(=};kCx&4bX$hU?vx`bIccfi~Z_7 zPJv?sfs052MQJXy2NN5VZ^I9PDitSXYsu{56N^E4a6=tHAannT)vrD)KI}uUQ+z5} zq6F&+F)4r_1@=OJKQB8RLMK?wpiU8_-#$fRqL8)EMUL&GCDM5U3&ntb6yb{(u(P)7 zfOW-Y*0OWp$TI&s?k;cg!UH9A)$@hI;*{&KHa|o9V=2Z}x)$&P9iszR|JyZET9Qa< zi3pocM5bjQ=c=MmLE#!5)JeGr%|YsH1risveK=n6d@Mx>s(_RdU1B0ZPBUu7D-a#%kaCAc^^n$(_=Xg!8KJi|{L(Jhd~kEP(k=9rc!x6EEp@7|vl#m} zzRn86RIo;|V7? zbXna?ns#7xS<*{zdBKtATl#vSbSe3@X(M{J4F9mPzKs*PMeDq^119dr6~aaQE6pL* z324-%deBf_H%JflM0AKk)n>(+fi?9}V*=GSpobMD`m{+APAN?iobmw?r&T~t5`dg2 zH}Nl?*8jP%a!WKMZD<~Zx~e3t0~=jF9xM#FZw*fp*Z9XEr^wrFNqUZjYQVFBEK9bgB%uW z48-Y9gPgxcTFjDRjfeJpL^GG{9Xtk0*AuZ}zrzzE!lVql+LVY79x&L{S`yz>(AW-~ zPfoC=W!7@g5LX*-?zXlO?WzAwm%A#u5$kK~)S`@X=IJHF_-`$v%Ns>raxk{P(6*Ud z&u@kk+Gb0p?(KOiG=aEdRR(KuTo_clm8nYCg z@!Kww^)$g=dyTv_kFc?U|G;~$niGHHRw`SE`=G}gvL&^o+Eb$-p_MbI05{p0RT0FB zo4JnQ(DUt@5D?NiKb%95k*seo(j8n>! zEMmq$(lzZJG0B&S$-FtH5q>O~)3acxPWUi_E-X0%)EyAyl;rwx(kUVMZU1shr;-D3 zLW9iDT>h*YU^!RzqIQ(CY(Z}?9VDonuK==p?zXZ!qK1*SpeMI^{RbHXK!Ql>W zDbjku@%Jvx5AZ3#-2aW*GL@rxWQvculM?&vXZn33rS7rq;eDv_`frC2fe*m^4_F9? za)Xfcph}YlNW~(QITVV273R0^OypPI>bV5Y*-2KPmK7@VWkmD)g!+{?#8RWmU zVG?>#g^oH6%RXgcl)8meuxLapycjg6(GHgk=>pHYfZVJL~z6?GOX51Pq{8dg2g1#eOM)$!Lufw0PZ$JS+Ue0)5-Ragh~dQ*a?HXuak47hO3(sw zCkn!FkZB{TN_e3q?JH3{gC=x2-s^DG4qc2(+On+~$%!7-S~y1#V-C>L5Lm!8E+A9Ge0AMf?qnh$4>gZ91e;WF`)8rcfd6mD8=>9g%9y|$F& zD#oQp?>Ov|H$Kvn{YcH4>@8qA?!vkJq~d|5jXV!!qVjHK;)#TRjgl5>>Vx`q&P^c~ zGe&xojoeac?it0Oug?UJ-mvR|IEO zuA~{&ED^s)O?^#9UwZ@_W3fa-LOzn)BS8AJmbV-=bOw7PnB<1c6%cyq<6#VOy~$@0 zDjZ?~2W{QaS{U3!C^6##7#)vW87eDM$1p8GGteSQ0^{9+I!oBjQA=NyNJBM17-Xdc zH@pPRyl+8OOzpKTX6V3yL$kK#7+uKHe_G zms6EtJ(I5kU4J)`FBqIV zZB#<9Y0XjfUP|pknbM7)`vcpO!`NzA@9x9K5!Vu1mQQIJlYY~3DM%clZ*44|jbFLT z?q<^cS&9+qkrr)?dA)Rr2>yv<&ODJ`D^oh!8^nY>NfG<=*bkxC3gOVwn#T#UE85pC zB5h;^Z_r+PQl+rjOlvH0jXx)J&7?Rqb$+Tk*w?THKsXDoa0n}nU}XSj-(SQKw+gLU zo_=LeRsp_q2)s@7Rln8T??adv2ML&+C}YnZF`!i#qX%W0Vi@g;w&j4|9&HBA>`>62 zE{CkeD6tJ_7L{*katLmV*yUjRK+sEBJ4$Sr^fh5ExEC>XU+ci(Q(jwyV|sajvIaT* zz=J{i3QcJkPl4D5srf*)UgZjvOC+*Q@CunNY;zdcKGaRHDMD>{`+%oj&x_`!_|K`& zgbQ9=h?}}BLhP7Dfy_*CT)Q$(g35uyIeO^v`hk7B5I3P~IPrt#eNmUnr}PeaP65JO zl$RtfFKkPOp>6 z(XWTEz=y*Dl;NA#xKCyLWAu)rr==<78c@;eKvWy_UWU%dLt77<-$h6?DiBYBIA#?` z_-`3?pWKV=6hCM!%HX-)zKafJSCn zlj?SAnz*3qKro;RiyJ|-6gy9Bh0!37sOU~rQ+?jdu4#PN;RzvNn>RcP*|e8Mc#7cd?=Ukh2<>Dmax zmii;&f{ThljJRN6;Ny;60|11afcn8c6rMOS;>D*hAHCwZ1G1Otyq++ssNVIN`n2fq z7c`bgwD6AM0JIJkt;kdn_UuS@4lEds5baBKho(dQhN+Ns2X2~pjymlV!R#r}-lEjP59AV_;-dmYg-``#zog9*m%Hrh;Z(*7bEL-f z3}68{j%h4)HfZNTI08BtAUqR*=)fA4?D$IN$2rcK6ofrqs%Qd*?CFKPca_xziV$(> zlET7ARu#T74ZeNw8<uDC4f$#!Bh*{COYO9IG0;!%73>2^$&NevQ%mmob7St;l`S8{+N}SxW84>xAz$eFEX@bUf=^6KuFtjC|8@TVU4O*??rj~+=E5KFUTz!S$9`sj@tMJFbqK=~)MvNC2c%v+UBK9j3N-?+Qdr|dudJ*r zF%YMnE@NORfkSOQ1WtHVvch;4xEO2n>Tgg+oD>KQUP@UIt@53+FKIJzy8~K`!o=>M zhzD*TkstdS^TvW++Ple#>j)Uyv-n;~jW469U`~2`NiM^rEu1bO^+F@Y3$c&MU+s#Q z37Nk|D0p9L6N^qI)`hp;w254FxGs*ITuMjtB`J_lggaf~LM4fY_e4j=w1K?V&*IEV zjc0ygN((wQ08ztyxAtFth^+Udt5E`vHByW>;X5A1_4Biu6(Y7PrxQ)aZRu)-tn=dbQe9(yxB2bLuWi=I7n@(+ntj0voZ z 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 z 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