Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- load("util:items.js");
- load("util:levels.js");
- load("util:menus.js");
- load("util:nkv.js")
- load("loads/holoutil.js");
- load("loads/npcutil.js");
- var data = database.getDatabase(database.infoService().byName("currency"));
- var datautil = systems.byName("datautil");
- bukkit.registerCommand("resetcurrencies", sender => {
- if (!sender.hasPermission("currencies.commands.reset")) {
- sender.sendMessage(colorize("&cYou do not have permission to execute this command!"));
- return
- }
- for (var key of Object.keys(config().crates)) {
- var id = nkv("currency.newcrates." + datautil.getDataId() + "." + key);
- data.async().executeUpdate("DELETE FROM rt_currency WHERE currency_id = ?", statement => {
- statement.setString(1, id);
- }, result => {});
- }
- sender.sendMessage(colorize("&aCleared database!"));
- });
- var menus = systems.byName("menu");
- var currencyutil = exports.ptr("currencyutil");
- var crateRollingAttribute = exports.getOrDefault(cwd + "/rollingAttribute", bukkit.newAttribute());
- var crateIdAttribute = exports.getOrDefault(cwd + "/idAttribute", bukkit.newAttribute());
- var config = () => ({
- settings: {},
- crates: {
- "common": {
- title: "&7&lCommon Key",
- normal: {
- title: "&a&lCommon",
- color: 5,
- chance: 100,
- rewards: [
- {
- icon: itemEss("nametag 1 name:&a30_minutes_1.25x_Sell_Booster"),
- commands: "givebooster {player} sell 1.25 30"
- },
- {
- icon: itemEss("paper 1 name:&a$100,000"),
- commands: "eco give {player} 100000"
- },
- {
- icon: itemEss("paper 1 name:&a$150,000"),
- commands: "eco give {player} 150000"
- },
- {
- icon: itemEss("sunflower 1 name:&a50_Mobcoins"),
- commands: "givemobcoins {player} 50"
- },
- {
- icon: itemEss("expbottle 1 name:&a5,000_XP"),
- commands: "xp give {player} 5000"
- },
- {
- icon: itemEss("beacon 1 name:&a8x_Beacon"),
- commands: "give {player} beacon 8"
- },
- {
- icon: itemEss("hopper 1 name:&a3x_Hopper"),
- commands: "give hopper {player} 3"
- },
- {
- icon: itemEss("creeperegg 1 name:&a4x_Creeper_Eggs"),
- commands: "give {player} 383:50 4"
- },
- ]
- },
- rare: {
- title: "&b&lRare",
- color: 3,
- chance: 70,
- rewards: [
- {
- icon: itemEss("nametag 1 name:&a60_minutes_1.25x_Sell_Booster"),
- commands: "givebooster {player} sell 1.25 60"
- },
- {
- icon: itemEss("paper 1 name:&a$300,000"),
- commands: "eco give {player} 300000"
- },
- {
- icon: itemEss("sunflower 1 name:&a75_Mobcoins"),
- commands: "givemobcoins {player} 75"
- },
- {
- icon: itemEss("mobspawner 1 name:&e1x_Cow_Spawner"),
- commands: "give {player} spawner 1 name:&eCow_Spawner"
- },
- {
- icon: itemEss("beacon 1 name:&a8x_Beacon"),
- commands: "give {player} beacon 8"
- },
- {
- icon: itemEss("expbottle 1 name:&a10,000_XP"),
- commands: "xp give {player} 10000"
- },
- {
- icon: itemEss("creeperegg 1 name:&a8x_Creeper_Eggs"),
- commands: "give {player} 383:50 8"
- },
- {
- icon: itemEss("hopper 1 name:&a4x_Hopper"),
- commands: "give hopper {player} 4"
- },
- ]
- },
- super: {
- title: "&9&lSuper",
- color: 11,
- chance: 30,
- rewards: [
- {
- icon: itemEss("expbottle 1 name:&a25,000_XP"),
- commands: "xp give {player} 25000"
- },
- {
- icon: itemEss("sunflower 1 name:&a150_Mobcoins"),
- commands: "givemobcoins {player} 150"
- },
- {
- icon: itemEss("paper 1 name:&a$200,000"),
- commands: "eco give {player} 200000"
- },
- {
- icon: itemEss("paper 1 name:&a$250,000"),
- commands: "eco give {player} 250000"
- },
- {
- icon: itemEss("mobspawner 1 name:&e1x_Cow_Spawner"),
- commands: "give {player} spawner 1 name:&eCow_Spawner"
- },
- {
- icon: itemEss("creeperegg 1 name:&a16x_Creeper_Eggs"),
- commands: "give {player} 383:50 16"
- },
- {
- icon: itemEss("diamondpickaxe 1 name:&b3x3x3_Trench_Pickaxe"),
- commands: "givetrenchpickaxe {player} 3"
- },
- {
- icon: itemEss("beacon 1 name:&a8x_Beacon"),
- commands: "give {player} beacon 8"
- },
- {
- icon: itemEss("hopper 1 name:&a8x_Hopper"),
- commands: "give hopper {player} 8"
- },
- ]
- },
- mega: {
- title: "&5&lMega",
- color: 10,
- chance: 5,
- manual: false,
- rewards: [
- {
- icon: itemEss("nametag 1 name:&a30_minutes_2x_Sell_Booster"),
- commands: "givebooster {player} sell 2 30"
- },
- {
- icon: itemEss("sunflower 1 name:&a150_Mobcoins"),
- commands: "givemobcoins {player} 150"
- },
- {
- icon: itemEss("beacon 1 name:&a32x_Beacon"),
- commands: "give {player} beacon 32"
- },
- {
- icon: itemEss("paper 1 name:&a$350,000"),
- commands: "eco give {player} 350000"
- },
- {
- icon: itemEss("paper 1 name:&a$300,000"),
- commands: "eco give {player} 300000"
- },
- {
- icon: itemEss("creeperegg 1 name:&a3x_Creeper_Eggs"),
- commands: "give {player} 383:50 3"
- },
- {
- icon: itemEss("expbottle 1 name:&a30,000_XP"),
- commands: "xp give {player} 30000"
- },
- {
- icon: itemEss("hopper 1 name:&dCrop_Hopper"),
- commands: "givecrophopper {player} 1"
- },
- {
- icon: itemEss("hopper 1 name:&dMob_Hopper"),
- commands: "givemobhopper {player} 1"
- },
- {
- icon: itemEss("mobspawner 1 name:&e1x_Cow_Spawner"),
- commands: "give {player} spawner 1 name:&eCow_Spawner"
- },
- ]
- },
- jackpot: {
- title: "&6&lJackpot",
- color: 3,
- chance: 1,
- rewards: [
- {
- icon: itemEss("netherstar 1 name:&6Soldier_Rank"),
- commands: "padd {player} group.donator.soldier"
- },
- {
- icon: itemEss("goldhoe 1 name:&dSell_Wand_[1000_Uses]"),
- commands: "givesellwand {player} 1000"
- },
- {
- icon: itemEss("paper 1 name:&a$400,000"),
- commands: "eco give {player} 400000"
- },
- {
- icon: itemEss("paper 1 name:&a$700,000"),
- commands: "eco give {player} 700000"
- },
- {
- icon: itemEss("mobspawner 1 name:&e3x_Cow_Spawner"),
- commands: "give {player} spawner 3 name:&eCow_Spawner"
- },
- {
- icon: itemEss("nametag 1 name:&a2x_sell_booster_30m"),
- commands: "givebooster {player} sell 2 30"
- },
- {
- icon: itemEss("nametag 1 name:&a60_minutes_2x_Sell_Booster"),
- commands: "givebooster {player} sell 2 60"
- },
- {
- icon: itemEss("expbottle 1 name:&a45,000_XP"),
- commands: "xp give {player} 45000"
- },
- {
- icon: itemEss("sunflower 1 name:&a300_Mobcoins"),
- commands: "givemobcoins {player} 300"
- },
- {
- icon: itemEss("mobspawner 1 name:&e3x_Cow_Spawner"),
- commands: "give {player} spawner 3 name:&eCow_Spawner"
- },
- {
- icon: itemEss("sunflower 1 name:&a200_Mobcoins"),
- commands: "givemobcoins {player} 200"
- },
- {
- icon: itemEss("beacon 1 name:&a64x_Beacon"),
- commands: "give {player} beacon 64"
- }
- ]
- }
- },
- "uncommon": {
- title: "&a&lUncommon Key",
- normal: {
- title: "&a&lNormal",
- color: 5,
- chance: 100,
- rewards: [
- {
- icon: itemEss("paper 1 name:&a$300,000"),
- commands: "eco give {player} 300000"
- },
- {
- icon: itemEss("paper 1 name:&a$250,000"),
- commands: "eco give {player} 250000"
- },
- {
- icon: itemEss("sunflower 1 name:&a100_Mobcoins"),
- commands: "givemobcoins {player} 100"
- },
- {
- icon: itemEss("hopper 1 name:&e8x_Hopper"),
- commands: "give {player} hopper 8"
- },
- {
- icon: itemEss("expbottle 1 name:&a30,000_XP"),
- commands: "xp give {player} 30000"
- },
- {
- icon: itemEss("mobspawner 1 name:&e1x_Cow_Spawner"),
- commands: "give {player} spawner 1 name:&eCow_Spawner"
- },
- {
- icon: itemEss("nametag 1 name:&a60_minutes_1.25x_Sell_Booster"),
- commands: "givebooster {player} sell 1.25 60"
- },
- {
- icon: itemEss("creeperegg 1 name:&a3x_Creeper_Eggs"),
- commands: "give {player} 383:50 3"
- },
- ]
- },
- rare: {
- title: "&b&lRare",
- color: 3,
- chance: 70,
- rewards: [
- {
- icon: itemEss("nametag 1 name:&a60_minutes_1.35x_Sell_Booster"),
- commands: "givebooster {player} sell 1.35 60"
- },
- {
- icon: itemEss("sunflower 1 name:&a150_Mobcoins"),
- commands: "givemobcoins {player} 150"
- },
- {
- icon: itemEss("mobspawner 1 name:&e2x_Cow_Spawner"),
- commands: "give {player} spawner 2 name:&eCow_Spawner"
- },
- {
- icon: itemEss("beacon 1 name:&a8x_Beacon"),
- commands: "give {player} beacon 8"
- },
- {
- icon: itemEss("paper 1 name:&a$350,000"),
- commands: "eco give {player} 350000"
- },
- {
- icon: itemEss("paper 1 name:&a$400,000"),
- commands: "eco give {player} 400000"
- },
- {
- icon: itemEss("diamondpickaxe 1 name:&b3x3x3_Trench_Pickaxe"),
- commands: "givetrenchpickaxe {player} 3"
- },
- ]
- },
- super: {
- title: "&9&lSuper",
- color: 11,
- chance: 25,
- rewards: [
- {
- icon: itemEss("mobspawner 1 name:&e4x_Pig_Spawner"),
- commands: "give {player} spawner 4 name:&ePig_Spawner"
- },
- {
- icon: itemEss("sunflower 1 name:&a250_Mobcoins"),
- commands: "givemobcoins {player} 250"
- },
- {
- icon: itemEss("mobspawner 1 name:&e3x_Cow_Spawner"),
- commands: "give {player} spawner 4 name:&eCow_Spawner"
- },
- {
- icon: itemEss("paper 1 name:&a$100,000"),
- commands: "eco give {player} 100000"
- },
- {
- icon: itemEss("diamondpickaxe 1 name:&b5x5x5_Trench_Pickaxe"),
- commands: "givetrenchpickaxe {player} 5"
- },
- {
- icon: itemEss("paper 1 name:&a$450,000"),
- commands: "eco give {player} 450000"
- },
- {
- icon: itemEss("diamondpickaxe 1 name:&b3x3x3_Trench_Pickaxe"),
- commands: "givetrenchpickaxe {player} 3"
- },
- ]
- },
- mega: {
- title: "&5&lMega",
- color: 10,
- chance: 5,
- manual: true,
- rewards: [
- {
- icon: itemEss("sunflower 1 name:&a300_Mobcoins"),
- commands: "givemobcoins {player} 300"
- },
- {
- icon: itemEss("expbottle 1 name:&a45,000_XP"),
- commands: "xp give {player} 45000"
- },
- {
- icon: itemEss("mobspawner 1 name:&e8x_Cow_Spawner"),
- commands: "give {player} spawner 8 name:&eCow_Spawner"
- },
- {
- icon: itemEss("creeperegg 1 name:&a8x_Creeper_Eggs"),
- commands: "give {player} 383:50 8"
- },
- {
- icon: itemEss("hopper 1 name:&dMob_Hopper"),
- commands: "givemobhopper {player} 2"
- },
- {
- icon: itemEss("hopper 1 name:&dCrop_Hopper"),
- commands: "givecrophopper {player} 2"
- },
- {
- icon: itemEss("paper 1 name:&a$500,000"),
- commands: "eco give {player} 500000"
- },
- {
- icon: itemEss("paper 1 name:&a$600,000"),
- commands: "eco give {player} 600000"
- },
- ]
- },
- jackpot: {
- title: "&6&lJackpot",
- color: 3,
- chance: 0.8,
- rewards: [
- {
- icon: itemEss("nametag 1 name:&a60_minutes_2x_Sell_Booster"),
- commands: "givebooster {player} sell 2 60"
- },
- {
- icon: itemEss("nametag 1 name:&a30_minutes_2x_Sell_Booster"),
- commands: "givebooster {player} sell 2 30"
- },
- {
- icon: itemEss("sunflower 1 name:&a500_Mobcoins"),
- commands: "givemobcoins {player} 500"
- },
- {
- icon: itemEss("goldhoe 1 name:&61x_Sell_Wand"),
- commands: "givesellwand {player}"
- },
- {
- icon: itemEss("paper 1 name:&a$3,000,000"),
- commands: "eco give {player} 3000000"
- },
- {
- icon: itemEss("netherstar 1 name:&6Aristocrat_Rank"),
- commands: "padd {player} group.donator.aristocrat"
- }
- ]
- }
- },
- "rare": {
- title: "&b&lRare Key",
- normal: {
- title: "&a&lNormal",
- color: 5,
- chance: 100,
- rewards: [
- {
- icon: itemEss("paper 1 name:&a$500,000"),
- commands: "eco give {player} 500000"
- },
- {
- icon: itemEss("paper 1 name:&a$650,000"),
- commands: "eco give {player} 650000"
- },
- {
- icon: itemEss("sunflower 1 name:&a150_Mobcoins"),
- commands: "givemobcoins {player} 150"
- },
- {
- icon: itemEss("expbottle 1 name:&a30,000_XP"),
- commands: "xp give {player} 30000"
- },
- {
- icon: itemEss("diamondpickaxe 1 name:&b3x3x3_Trench_Pickaxe"),
- commands: "givetrenchpickaxe {player} 3"
- },
- {
- icon: itemEss("diamondhoe 1 name:&aHarvester_Hoe_(100,000_Uses)"),
- commands: "giveharvesterhoe {player} 100000"
- },
- {
- icon: itemEss("mobspawner 1 name:&e4x_Cow_Spawner"),
- commands: "give {player} spawner 4 name:&eCow_Spawner"
- },
- ]
- },
- rare: {
- title: "&b&lRare",
- color: 3,
- chance: 70,
- rewards: [
- {
- icon: itemEss("nametag 1 name:&a60_minutes_1.35x_Sell_Booster"),
- commands: "givebooster {player} sell 1.35 60"
- },
- {
- icon: itemEss("sunflower 1 name:&a200_Mobcoins"),
- commands: "givemobcoins {player} 200"
- },
- {
- icon: itemEss("mobspawner 1 name:&e3x_Cow_Spawner"),
- commands: "give {player} spawner 3 name:&eCow_Spawner"
- },
- {
- icon: itemEss("beacon 1 name:&a10x_Beacon"),
- commands: "give {player} beacon 10"
- },
- {
- icon: itemEss("mobspawner 1 name:&e8x_Cow_Spawner"),
- commands: "give {player} spawner 8 name:&eCow_Spawner"
- },
- {
- icon: itemEss("paper 1 name:&a$750,000"),
- commands: "eco give {player} 750000"
- },
- {
- icon: itemEss("paper 1 name:&a$1,000,000"),
- commands: "eco give {player} 1000000"
- },
- {
- icon: itemEss("diamondpickaxe 1 name:&b5x5x5_Trench_Pickaxe"),
- commands: "givetrenchpickaxe {player} 5"
- },
- ]
- },
- super: {
- title: "&9&lSuper",
- color: 11,
- chance: 30,
- rewards: [
- {
- icon: itemEss("mobspawner 1 name:&c1x_Creeper_Spawner"),
- commands: "give {player} spawner 1 name:&eCreeper_Spawner"
- },
- {
- icon: itemEss("sunflower 1 name:&a300_Mobcoins"),
- commands: "givemobcoins {player} 300"
- },
- {
- icon: itemEss("diamondpickaxe 1 name:&b7x7x7_Trench_Pickaxe"),
- commands: "givetrenchpickaxe {player} 7"
- },
- {
- icon: itemEss("sunflower 1 name:&a300_Mobcoins"),
- commands: "givemobcoins {player} 300"
- },
- {
- icon: itemEss("paper 1 name:&a$1,000,000"),
- commands: "eco give {player} 1000000"
- },
- {
- icon: itemEss("paper 1 name:&a$1,250,000"),
- commands: "eco give {player} 1250000"
- },
- {
- icon: itemEss("creeperegg 1 name:&a16x_Creeper_Eggs"),
- commands: "give {player} 383:50 16"
- },
- ]
- },
- mega: {
- title: "&5&lMega",
- color: 10,
- chance: 5,
- manual: true,
- rewards: [
- {
- icon: itemEss("sunflower 1 name:&a500_Mobcoins"),
- commands: "givemobcoins {player} 500"
- },
- {
- icon: itemEss("mobspawner 1 name:&c2x_Creeper_Spawner"),
- commands: "give {player} spawner 2 name:&eCreeper_Spawner"
- },
- {
- icon: itemEss("expbottle 1 name:&a75,000_XP"),
- commands: "xp give {player} 75000"
- },
- {
- icon: itemEss("hopper 1 name:&d4x_Crop_Hopper"),
- commands: "givecrophopper {player} 4"
- },
- {
- icon: itemEss("hopper 1 name:&d4x_mob_Hopper"),
- commands: "givemobhopper {player} 4"
- },
- {
- icon: itemEss("hopper 1 name:&a32x_Hopper"),
- commands: "give hopper {player} 32"
- },
- {
- icon: itemEss("creeperegg 1 name:&a2x_Throwable_Creeper_Egg"),
- commands: "givethrowablecegg {player} 2"
- },
- ]
- },
- jackpot: {
- title: "&6&lJackpot",
- color: 3,
- chance: 0.6,
- rewards: [
- {
- icon: itemEss("netherstar 1 name:&6Equestrian_Rank"),
- commands: "padd {player} group.donator.equestrian"
- },
- {
- icon: itemEss("diamondpickaxe 1 name:&b10x10x10_Trench_Pickaxe"),
- commands: "givetrenchpickaxe {player} 10"
- }
- ]
- }
- },
- "legendary": {
- title: "&c&lLegendary Key",
- normal: {
- title: "&a&lNormal",
- color: 5,
- chance: 100,
- rewards: [
- {
- icon: itemEss("sunflower 1 name:&a300_Mobcoins"),
- commands: "givemobcoins {player} 300"
- },
- {
- icon: itemEss("expbottle 1 name:&a100,000_XP"),
- commands: "xp give {player} 100000"
- },
- {
- icon: itemEss("mobspawner 1 name:&e1x_Iron_Golem_Spawner"),
- commands: "give {player} spawner 1 name:&eIron_Golem_Spawner"
- },
- {
- icon: itemEss("nametag 1 name:&a30_minutes_1.50x_Sell_Booster"),
- commands: "givebooster {player} sell 1.50 30"
- },
- {
- icon: itemEss("diamondpickaxe 1 name:&b7x7x7_Trench_Pickaxe"),
- commands: "givetrenchpickaxe {player} 7"
- },
- {
- icon: itemEss("hopper 1 name:&dCrop_Hopper"),
- commands: "givecrophopper {player} 4"
- },
- {
- icon: itemEss("hopper 1 name:&dmob_Hopper"),
- commands: "givemobhopper {player} 4"
- },
- ]
- },
- rare: {
- title: "&b&lRare",
- color: 3,
- chance: 70,
- rewards: [
- {
- icon: itemEss("sunflower 1 name:&a400_Mobcoins"),
- commands: "givemobcoins {player} 400"
- },
- {
- icon: itemEss("mobspawner 1 name:&e1x_Iron_Golem_Spawner"),
- commands: "give {player} spawner 1 name:&eIron_Golem_Spawner"
- },
- {
- icon: itemEss("mobspawner 1 name:&e2x_Creeper_Spawner"),
- commands: "give {player} spawner 2 name:&eCreeper_Spawner"
- },
- {
- icon: itemEss("mobspawner 1 name:&e1x_TntPaper"),
- commands: "givetntpaper {player} 1"
- },
- {
- icon: itemEss("diamondhoe 1 name:&aHarvester _Hoe_[Infinite_Uses]"),
- commands: "giveharvesterhoe {player} 1"
- },
- {
- icon: itemEss("goldhoe 1 name:&6Sell Wand_[Infinite_Uses]"),
- commands: "givesellwand {player}"
- },
- {
- icon: itemEss("mobspawner 1 name:&e2x_Skeleton_Spawner"),
- commands: "give {player} spawner 2 name:&eSkeleton_Spawner"
- },
- {
- icon: itemEss("creeperegg 1 name:&a16x_Creeper_Eggs"),
- commands: "give {player} 383:50 16"
- },
- {
- icon: itemEss("diamondpickaxe 1 name:&b7x7x7_Trench_Pickaxe"),
- commands: "givetrenchpickaxe {player} 7"
- },
- ]
- },
- super: {
- title: "&9&lSuper",
- color: 11,
- chance: 30,
- rewards: [
- {
- icon: itemEss("enderchest 1 name:&9Void_Chest"),
- commands: "givevoidchest {player} "
- },
- {
- icon: itemEss("hopper 1 name:&dCrop_Hopper"),
- commands: "givecrophopper {player} 8"
- },
- {
- icon: itemEss("hopper 1 name:&dmob_Hopper"),
- commands: "givemobhopper {player} 8"
- },
- {
- icon: itemEss("mobspawner 1 name:&e1x_SVillager_Spawner"),
- commands: "give {player} spawner 1 name:&eVillager_Spawner"
- },
- {
- icon: itemEss("mobspawner 1 name:&e2x_SEnderman_Spawner"),
- commands: "give {player} spawner 2 name:&eEnderman_Spawner"
- },
- {
- icon: itemEss("goldhoe 1 name:&6Sell Wand_[Infinite_Uses]"),
- commands: "givesellwand {player}"
- },
- {
- icon: itemEss("creeperegg 1 name:&a4x_Throwable_Creeper_Egg"),
- commands: "givethrowablecegg {player} 4"
- },
- {
- icon: itemEss("expbottle 1 name:&a100,000_XP"),
- commands: "xp give {player} 100000"
- },
- {
- icon: itemEss("diamondpickaxe 1 name:&b7x7x7_Trench_Pickaxe"),
- commands: "givetrenchpickaxe {player} 7"
- },
- ]
- },
- mega: {
- title: "&5&lMega",
- color: 10,
- chance: 5,
- manual: true,
- rewards: [
- {
- icon: itemEss("sunflower 1 name:&a500_Mobcoins"),
- commands: "givemobcoins {player} 500"
- },
- {
- icon: itemEss("goldhoe 1 name:&6Sell Wand_[Infinite_Uses]"),
- commands: "givesellwand {player}"
- },
- {
- icon: itemEss("diamondpickaxe 1 name:&b7x7x7_Trench_Pickaxe"),
- commands: "givetrenchpickaxe {player} 7"
- },
- {
- icon: itemEss("diamondpickaxe 1 name:&b10x10x10_Trench_Pickaxe"),
- commands: "givetrenchpickaxe {player} 10"
- },
- {
- icon: itemEss("mobspawner 1 name:&e1x_TntPaper"),
- commands: "givetntpaper {player} 1"
- },
- {
- icon: itemEss("mobspawner 1 name:&c6x_Creeper_Spawner"),
- commands: "give {player} spawner 6 name:&eCreeper_Spawner"
- },
- {
- icon: itemEss("mobspawner 1 name:&c3x_Blaze_Spawner"),
- commands: "give {player} spawner 3 name:&eBlaze_Spawner"
- },
- ]
- },
- jackpot: {
- title: "&6&lJackpot",
- color: 3,
- chance: 0.5,
- rewards: [
- {
- icon: itemEss("netherstar 1 name:&6Senator_Rank"),
- commands: "padd {player} group.donator.senator"
- }
- ]
- }
- },
- "koth": {
- title: "&e&lKoth Key",
- normal: {
- title: "&a&lNormal",
- color: 5,
- chance: 100,
- rewards: [
- {
- icon: itemEss("hopper 1 name:&d4x_Crop_Hopper"),
- commands: "givecrophopper {player} 4"
- },
- {
- icon: itemEss("nametag 1 name:&a30_minutes_1.25x_Sell_Booster"),
- commands: "givebooster {player} sell 1.25 30"
- },
- {
- icon: itemEss("diamondpickaxe 1 name:&b3x3x3_Trench_Pickaxe"),
- commands: "givetrenchpickaxe {player} 3"
- },
- {
- icon: itemEss("sunflower 1 name:&a200_Mobcoins"),
- commands: "givemobcoins {player} 200"
- },
- {
- icon: itemEss("creeperegg 1 name:&a2x_Throwable_Creeper_Egg"),
- commands: "givethrowablecegg {player} 2"
- },
- {
- icon: itemEss("paper 1 name:&a$100,000"),
- commands: "eco give {player} 100000"
- },
- ]
- },
- rare: {
- title: "&b&lRare",
- color: 3,
- chance: 70,
- rewards: [
- {
- icon: itemEss("nametag 1 name:&a30_minutes_1.25x_Sell_Booster"),
- commands: "givebooster {player} sell 1.25 30"
- },
- {
- icon: itemEss("mobspawner 1 name:&c2x_Creeper_Spawner"),
- commands: "give {player} spawner 2 name:&eCreeper_Spawner"
- },
- {
- icon: itemEss("diamondhoe 1 name:&aHarvester_Hoe_(100,000_Uses)"),
- commands: "giveharvesterhoe {player} 100000"
- },
- {
- icon: itemEss("paper 1 name:&a$500,000"),
- commands: "eco give {player} 500000"
- },
- {
- icon: itemEss("creeperegg 1 name:&a4x_Creeper_Eggs"),
- commands: "give {player} 383:50 4"
- },
- ]
- },
- super: {
- title: "&9&lSuper",
- color: 11,
- chance: 30,
- rewards: [
- {
- icon: itemEss("mobspawner 1 name:&e1x_TntPaper"),
- commands: "givetntpaper {player} 1"
- },
- {
- icon: itemEss("diamondpickaxe 1 name:&b10x10x10_Trench_Pickaxe"),
- commands: "givetrenchpickaxe {player} 10"
- },
- {
- icon: itemEss("diamondsword 1 name:&bKit_Legendary"),
- commands: "kit{player} legendary"
- },
- {
- icon: itemEss("hopper 1 name:&d8x_Crop_Hopper"),
- commands: "givecrophopper {player} 8"
- },
- {
- icon: itemEss("creeperegg 1 name:&a8x_Throwable_Creeper_Egg"),
- commands: "givethrowablecegg {player} 8"
- },
- ]
- },
- mega: {
- title: "&5&lMega",
- color: 10,
- chance: 5,
- manual: true,
- rewards: [
- {
- icon: itemEss("creeperegg 1 name:&a8x_Throwable_Creeper_Egg"),
- commands: "givethrowablecegg {player} 8"
- },
- ]
- },
- jackpot: {
- title: "&6&lJackpot",
- color: 3,
- chance: 0.5,
- rewards: [
- {
- icon: itemEss("creeperegg 1 name:&a64x_Throwable_Creeper_Egg"),
- commands: "givethrowablecegg {player} 64"
- },
- {
- icon: itemEss("netherstar 1 name:&6Senator_Rank"),
- commands: "padd {player} group.donator.senator"
- }
- ]
- }
- },
- }
- });
- var crateKeys = {};
- var crateTypeKeys = Object.keys(config().crates);
- for (var index in crateTypeKeys) {
- var key = crateTypeKeys[index];
- crateKeys[key] = Object.keys(config().crates[key]);
- crateKeys[key].shift()
- }
- var crateConfig;
- var cratelistMenuSchemeMask = "111101111 101010101 111111111";
- var cratelistItemMenuSchemeMask = "000010000 010101010 000000000";
- var cratelistMenuScheme = [
- 1, 2, 1, 5, 3, 1, 14, 1,
- 1, 1, 1, 1, 1,
- 1, 2, 1, 5, 1, 3, 1, 14, 1,
- ];
- var mainMenuSchemeMask = "111111111 110101011 111111111";
- var mainMenuScheme = [
- 11, 11, 3, 3, 0, 3, 3, 11, 11,
- 11, 11, , 3, , 3, , 11, 11,
- 11, 11, 3, 3, 0, 3, 3, 11, 11,
- ];
- var cratesMenuSchemeMask = "111101111 110000011 111111111 110000011 111111110";
- var cratesMenuScheme = [
- 5, 4, 5, 4, /**/, 4, 5, 4, 5,
- 4, 5, /**/ /**/ /**/ /**/ /**/ 5, 4,
- 5, 4, 5, 4, 5, 4, 5, 4, 5,
- 4, 5, /**/ /**/ /**/ /**/ /**/ 5, 4,
- 5, 4, 5, 4, 5, 4, 5, 4, /**/
- ];
- var rewardMenuScheme = [
- 11, 11, 3, 3, 0, 3, 3, 11, 11,
- , 11, , 3, , 3, , 11, ,
- 11, 11, 3, 3, 0, 3, 3, 11, 11,
- ];
- var goBackItem = itemName(itemStack("arrow"), colorize("&7&lBack"));
- var helpItem = itemStack("book");
- itemName(helpItem, colorize("&b&lCrates"));
- itemSetLore(helpItem, [
- "",
- colorize("&fFor each &cCrate Key&f, you have the"),
- colorize("&fopportunity to roll &bevery &fcrate."),
- "",
- colorize("&fEach crate has a different chance to be rolled."),
- "",
- ]);
- var crateLoc = {world: "main", x: -6, y: 55, z: 1};
- bukkit.registerEvent(PlayerInteractEvent.class, EventPriority.LOWEST, false, event => {
- if (event.hasBlock()) {
- var player = event.getPlayer();
- var clicked = event.getClickedBlock().getLocation();
- //System.out.println(clicked.getWorld().getName() + ", " + clicked.getBlockX() + ", " + clicked.getBlockY() + ", " + clicked.getBlockZ())
- if (clicked.getWorld().getName() == crateLoc.world &&
- clicked.getBlockX() == crateLoc.x &&
- clicked.getBlockY() == crateLoc.y &&
- clicked.getBlockZ() == crateLoc.z) {
- event.setCancelled(true);
- openCrateTypeMenu(player)
- }
- }
- });
- function reloadConfig() {
- crateConfig = new HashMap({
- settings: {},
- crates: {}
- });
- var originalCrates = config().crates;
- for (var crate in originalCrates) {
- var originalCrate = originalCrates[crate];
- crateConfig.crates[crate] = {};
- var newCrate = crateConfig.crates[crate];
- for (var key in originalCrate) {
- if (key == "rewards") {
- continue
- }
- newCrate[key] = originalCrate[key]
- }
- newCrate.rewards = new ArrayList(originalCrate.rewards)
- }
- }
- function cratesCurrency(cratesType) {
- return currencyutil()("newcrates." + datautil.getDataId() + "." + cratesType)
- }
- bukkit.registerCommand("givecratekey", (player, args) => {
- if (!player.isOp()) {
- return
- }
- if (args.length < 2) {
- player.sendMessage(colorize("&c/givecratekey <player> <crate> <amount>"));
- return
- }
- var otherPlayer = bukkit.getPlayer(args[0]);
- if (!otherPlayer) {
- player.sendMessage(colorize("&cPlayer not found."));
- return
- }
- var crateType = args[1];
- var amount = parseInt(args[2]);
- cratesCurrency(crateType).give(otherPlayer, amount);
- player.sendMessage(colorize(`&aGave ${otherPlayer.getName()} ${args[2]} ${args[1]} crate key(s)!`))
- });
- bukkit.aliasCommand("crate", "crates");
- bukkit.registerCommand("crates", player => {
- openCrateTypeMenu(player)
- });
- function openCrateTypeMenu(player) {
- var menu = menus.newBuilder("chest");
- menu.newPartition(cratelistMenuSchemeMask, menuScheme(cratelistMenuScheme))
- .newPartition(cratelistItemMenuSchemeMask, partition => {
- partition.newSlot(helpItem);
- for (const key in config().crates) {
- var crateType = config().crates[key];
- var selectItem = itemStack("chest");
- itemName(selectItem, colorize(`&a${crateType.title}`));
- var currency = cratesCurrency(key);
- itemSetLore(selectItem, [
- colorize(""),
- colorize("&7You have: &b" + currency.get(player))
- ]);
- partition.newSlot(selectItem, () => openCratesMenu(player, key))
- }
- });
- menus.openTitledMenu(player, menu, "§b§lCrates")
- }
- function openCratesMenu(player, crateType) {
- var menu = menus.newBuilder("chest");
- menu.newPartition(mainMenuSchemeMask, menuScheme(mainMenuScheme)).newPartition("0 001010100", partition => {
- var rollItem = itemStack("redstone torch on");
- itemName(rollItem, colorize(`&bYou have &n${cratesCurrency(crateType).get(player)}&b crates.`));
- itemSetLore(rollItem, [
- colorize("&fClick to roll a crate."),
- "",
- colorize("&ePurchase more crates at &b&nbuy.gotpvp.com")
- ]);
- var rewardsItem = itemEss("goldingot 1");
- itemName(rewardsItem, colorize("&6&lRewards"));
- itemSetLore(rewardsItem, [
- colorize("&eThe list of rewards can be viewed"),
- colorize("&eby clicking this item."),
- ""
- ]);
- for (var index in crateKeys[crateType]) {
- var crateId = crateKeys[crateType][index];
- var crate = config().crates[crateType][crateId];
- itemAddLore(rewardsItem, colorize(crate.title + " Crate")) // &f- &e" + crate.chance + "%"))
- }
- partition.newSlot(rewardsItem, () => showRewards(player, crateType));
- partition.newSlot(rollItem, () => tryRollCrate(player, crateType));
- partition.newSlot(goBackItem, () => openCrateTypeMenu(player))
- });
- menus.openTitledMenu(player, menu, colorize(config().crates[crateType].title))
- }
- function showRewards(player, crateType) {
- var menu = menus.newBuilder("chest");
- menu.newPartition("111111111 010101010 111111111", menuScheme(rewardMenuScheme))
- .newPartition("000000000 101010101 000000000", partition => {
- for (var index in crateKeys[crateType]) {
- var crateId = crateKeys[crateType][index];
- var crate = config().crates[crateType][crateId];
- const finalCrate = crate;
- partition.newSlot(itemEss("netherstar 1 name:" + crate.title + "_Crate"), () => showReward(player, crateType, finalCrate));
- }
- }).setCloseCallback(() => {
- openCrateTypeMenu(player)
- });
- menus.openTitledMenu(player, menu, "§b§lRewards")
- }
- function showReward(player, crateType, crate) {
- var menu = menus.newBuilder("chest");
- menu.newPartition("111111111*", partition => {
- for (const index in crate.rewards) {
- var reward = crate.rewards[index];
- partition.newSlot(reward.icon)
- }
- }).setCloseCallback(() => {
- showRewards(player, crateType)
- });
- menus.openTitledMenu(player, menu, colorize(crate.title + " Rewards"))
- }
- function tryRollCrate(player, crateType) {
- if (!cratesCurrency(crateType).has(player, 1)) {
- player.sendMessage(colorize("&cYou do not have any keys for that crate. Purchase more at &b&nbuy.GotPvP.com"));
- return
- }
- cratesCurrency(crateType).take(player, 1, rollback => {
- if (!player || !player.isOnline()) {
- return rollback()
- }
- rollCrates(player, crateType)
- })
- }
- function rollCrates(player, crateType) {
- rollCrate(player, crateType, crateKeys[crateType][0])
- }
- function rollCrate(player, crateType, crateId) {
- bukkit.getAttributes(player).put(crateRollingAttribute, true);
- bukkit.getAttributes(player).put(crateIdAttribute, crateId);
- var crate = config().crates[crateType][crateId];
- var spin = 0;
- var spinEnded = false;
- var menu = menus.newBuilder("chest");
- var rewards = crate.rewards;
- var reward = rewards[Math.floor(Math.random() * rewards.length)];
- var endRoll = () => {
- if (!spinEnded) {
- spinEnded = true;
- giveCrateReward(player, reward);
- bukkit.getAttributes(player).remove(crateRollingAttribute);
- if (crateId >= 3) {
- bukkit.getPlayers().forEach(other => {
- if (!other.equals(player)) {
- other.sendMessege(colorize(" &a&l➤&a " + player.getName() + " has won a " + crate.title + " &acrate. You can roll crates using /crates."))
- }
- })
- }
- }
- };
- menu.newPartition("000010000", partition => {
- var chest = itemStack("chest");
- itemName(chest, colorize(crate.title + " Crate"));
- partition.newSlot(chest)
- }).newPartition(cratesMenuSchemeMask, partition => {
- var pane = itemName(itemStack("stained glass pane", 1, crate.color), " ");
- for (var i = 0; i < 45; i++) {
- partition.newSlot(pane)
- }
- }).newPartition("0 001111100", partition => {
- if (spin == 0) {
- if ((Math.random() * 100) > crate.chance) {
- spinEnded = true;
- bukkit.getAttributes(player).remove(crateRollingAttribute);
- return
- }
- }
- if (!spinEnded && spin > 20) {
- if (crate.manual) {
- openManualChoice(player, crateType, crate);
- bukkit.getAttributes(player).remove(crateRollingAttribute);
- return
- } else {
- endRoll()
- }
- }
- for (var i = 0; i < 7; i++) {
- if (spin < 20) {
- partition.newSlot(rewards[(spin + i) % rewards.length].icon);
- continue
- }
- partition.newSlot(reward.icon)
- }
- spin++
- }).newPartition("0 001111100 0 001111100", partition => {
- if (spinEnded && spin == 0) {
- var fail = itemName(itemStack("barrier"), colorize("&cYou did not win the opportunity to roll this crate."));
- for (var i = 0; i < 10; i++) {
- partition.newSlot(fail)
- }
- return
- }
- if (!spinEnded) {
- var pane = itemName(itemStack("stained glass pane", 1, spin % 14), colorize("&fRolling..."));
- for (var i = 0; i < 5; i++) {
- partition.newSlot(pane)
- }
- return
- }
- var barrier = itemName(itemStack("barrier"), " ");
- for (var i = 0; i < 7; i++) {
- if (i == 2) {
- partition.newSlot(reward.icon);
- continue
- }
- partition.newSlot(barrier)
- }
- }).newPartition("0 0 0 0 000000001", partition => {
- if (!spinEnded) {
- partition.newSlot(itemName(itemStack("barrier"), " "));
- return
- }
- partition.newSlot(itemName(itemStack("wool", 1, 5), hasNextCrate(player, crateType) ? colorize("&eNext crate") : colorize("&eClick to finish")), nextCrate(player, crateType))
- }).setCloseCallback(() => {
- endRoll();
- nextCrate(player, crateType)()
- });
- menus.openTitledMenu(player, menu, "Crate")
- }
- function giveCrateReward(player, reward) {
- var commands = reward.commands;
- if (typeof commands === "string") {
- commands = [commands]
- }
- bukkit.runSync(() => {
- for (var command of commands) {
- bukkit.dispatchCommand(command.replace("{player}", player.getName()))
- }
- });
- player.sendMessage(colorize("&aYou opened a crate and won &f&n" + itemGetName(reward.icon)))
- }
- function openManualChoice(player, crateType, crate) {
- var menu = menus.newBuilder("chest");
- menu.newPartition("111111111*", partition => {
- for (var reward of crate.rewards) {
- partition.newSlot(reward.icon, handleRewardChoice(player, crateType, reward))
- }
- }).setCloseCallback(() => {
- giveCrateReward(player, crate.rewards[(Math.random() * 100) % crate.rewards.length]);
- nextCrate(player, crateType)()
- });
- menus.openTitledMenu(player, menu, "Pick a reward")
- }
- function handleRewardChoice(player, crateType, reward) {
- return () => {
- giveCrateReward(player, reward);
- nextCrate(player, crateType)()
- }
- }
- function getCrateIndex(player, crateType) {
- return crateKeys[crateType].indexOf(bukkit.getAttributes(player).get(crateIdAttribute))
- }
- function hasNextCrate(player, crateType) {
- var crateIndex = getCrateIndex(player, crateType);
- return !(crateIndex == crateKeys[crateType].length - 1 || crateIndex == -1)
- }
- function nextCrate(player, crateType) {
- return () => {
- if (!hasNextCrate(player, crateType)) {
- openCratesMenu(player, crateType);
- return
- }
- rollCrate(player, crateType, crateKeys[crateType][getCrateIndex(player, crateType) + 1])
- }
- }
- bukkit.registerCommand("int/crates", player => {
- if (!player.isOp()) {
- return
- }
- reloadConfig()
- });
- bukkit.runSync(() => bukkit.dispatchCommand("int/crates"));
- bukkit.runSyncTimer(() => {
- bukkit.getPlayersWithAttribute(crateRollingAttribute).keySet().forEach(player => {
- menus.refreshMenus(player)
- });
- }, 5, 5);
- bukkit.registerCommand("int/crates/config/original", player => {
- if (!player.isOp()) {
- return
- }
- player.sendMessage(JSON.stringify(config()))
- });
- bukkit.registerCommand("int/crates/config/parsed", player => {
- if (!player.isOp()) {
- return
- }
- player.sendMessage(JSON.stringify(crateConfig.crates));
- player.sendMessage("rewards" in crateConfig.crates.voting);
- player.sendMessage(crateConfig.crates.voting.rewards.size());
- player.sendMessage("index: " + crateKeys.indexOf("voting"))
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement