From e45200352c4bec309e53a98cc8fe0ab119a4db67 Mon Sep 17 00:00:00 2001 From: Abwasserrohr <44294954+Abwasserrohr@users.noreply.github.com> Date: Fri, 15 Mar 2019 15:34:12 +0100 Subject: [PATCH 1/8] Changed challenge configuration to yaml format --- SkyBlock/config/challenges.yml | 302 +++++++++++++++++++++++++++++++++ 1 file changed, 302 insertions(+) create mode 100644 SkyBlock/config/challenges.yml diff --git a/SkyBlock/config/challenges.yml b/SkyBlock/config/challenges.yml new file mode 100644 index 00000000..470bd74f --- /dev/null +++ b/SkyBlock/config/challenges.yml @@ -0,0 +1,302 @@ +# +# ============== +# challenges.yml +# ============== +# challenges.yml is part of the SKYBLOCK.SK configuration. +# ============== + +# +# > Define the xp threshold for every challenge level, the higher, the harder +# > it gets to climb up the levels. To have everything unlocked at the beginning, +# > set all thresholds to 0. +threshold: +- 1: 0 +- 2: 250 +- 3: 500 +- 4: 2500 +- 5: 5000 + +repeatmodifier: + # + # > Toggle the repeat bonus modifier from on [true] and off [false]. +- enabled: true + # + # > Set here the amount in percent, how much the repeats should be increased per level. + # > 10 means 10% per defined 500 xp + difficulty modifier per level. +- repeatincrease: 10 + # + # > Set the amount of xp needed for a increase of the repeats. +- xprepeatincrease: 500 + # + # > Increase the amount of the needed experience to increase the repeats + # > with a predefined difficulty modifier which gets harder every time the + # > increasement has happened. +- difficulty: 25 + # + # > Set the item which should appear to display the repeat modifier statistics. +- item: "magenta glazed terracotta" + +# +# > Define the challenges. You can edit the already existing challenges as you want or add new ones. +challenges: +- 1_1_needed: "64-cactus" +- 1_1_reward: "15-xp,2-sand" +- 1_1_repeatreward: "1-xp,1-sand" +- 1_1_item: "sand block" +- 1_1_repeat: true +- 1_1_repeatsperday: 150 +- 1_1_customfunction: "" +- 1_1_customreward: "" + +- 1_2_needed: "48-cobblestone,16-gunpowder" +- 1_2_reward: "1-xp,16-gravel" +- 1_2_repeatreward: "1-xp,8-gravel,2-soul sand" +- 1_2_item: "gravel block" +- 1_2_repeat: true +- 1_2_repeatsperday: 15 + +- 1_3_needed: "64-oak leaves,32-cobblestone,32-stone brick" +- 1_3_reward: "1-xp,16-mossy cobblestone,16-mossy stone brick" +- 1_3_repeatreward: "1-xp,4-mossy cobblestone,4-mossy stone brick" +- 1_3_item: "mossy stone brick" +- 1_3_repeat: true +- 1_3_repeatsperday: 10 +- 1_3_customfunction: "" + +- 1_4_needed: "6-apple" +- 1_4_reward: "15-xp,2-oak sapling,2-spruce sapling,2-birch sapling,2-jungle sapling,2-acacia sapling,4-dark oak sapling" +- 1_4_repeatreward: "5-xp,1-oak sapling,1-spruce sapling,1-birch sapling,1-jungle sapling,1-acacia sapling,2-dark oak sapling" +- 1_4_item: "apple" +- 1_4_repeat: true +- 1_4_repeatsperday: 5 + +- 1_5_needed: "64-sugar cane" +- 1_5_reward: "10-xp,20-clay block" +- 1_5_repeatreward: "1-xp,5-clay block" +- 1_5_item: "clay block" +- 1_5_repeat: true +- 1_5_repeatsperday: 45 + +- 1_6_needed: "128-melon slice" +- 1_6_reward: "15-xp,3-sand" +- 1_6_repeatreward: "1-xp,1-sand" +- 1_6_item: "melon slice" +- 1_6_repeat: true +- 1_6_repeatsperday: 30 + +- 1_7_needed: "64-pumpkin" +- 1_7_reward: "20-xp,3-red sand" +- 1_7_repeatreward: "1-xp,1-red sand" +- 1_7_item: "pumpkin" +- 1_7_repeat: true +- 1_7_repeatsperday: 15 + +- 2_1_needed: "16-oak log,16-spruce log,16-birch log,16-jungle log,16-acacia log,16-dark oak log" +- 2_1_reward: "20-xp,16-redstone dust,5-iron ore,1-wolf spawn egg" +- 2_1_repeatreward: "1-xp,3-redstone dust,1-iron ore,1-nether wart item" +- 2_1_item: "oak log" +- 2_1_repeat: true +- 2_1_repeatsperday: 5 + +- 2_2_needed: "3-diamond,2-iron ingot" +- 2_2_reward: "150-xp,3-dirt" +- 2_2_repeatreward: "10-xp,1-dirt" +- 2_2_item: "dirt" +- 2_2_repeat: true +- 2_2_repeatsperday: 5 + +- 2_3_needed: "64-nether wart item" +- 2_3_reward: "45-xp,32-netherrack" +- 2_3_repeatreward: "3-xp,1-magma block,18-netherrack" +- 2_3_item: "netherrack" +- 2_3_repeat: true +- 2_3_repeatsperday: 30 + +- 2_4_needed: "64-red mushroom,64-brown mushroom" +- 2_4_reward: "40-xp,1-mycelium" +- 2_4_repeatreward: "15-xp,1-mycelium" +- 2_4_item: "mycelium" +- 2_4_repeat: true +- 2_4_repeatsperday: 5 + +- 2_5_needed: "128-cookie,1-milk bucket" +- 2_5_reward: "25-xp,64-jungle log,1-bucket" +- 2_5_repeatreward: "3-xp,32-jungle log,1-bucket" +- 2_5_item: "cookie" +- 2_5_repeat: true +- 2_5_repeatsperday: 5 + +- 2_6_needed: "64-wheat seeds,64-pumpkin seeds,64-melon seeds,64-beetroot seeds" +- 2_6_reward: "70-xp,4-peony,4-rose bush,4-lilac,4-sunflower,4-brown mushroom,4-red mushroom" +- 2_6_repeatreward: "3-xp,1-peony,1-rose bush,1-lilac,1-sunflower,1-brown mushroom,1-red mushroom" +- 2_6_item: "peony" +- 2_6_repeat: true +- 2_6_repeatsperday: 5 + +- 2_7_needed: "12-pumpkin pie,2-cake,16-bread,32-cookie" +- 2_7_reward: "10-xp,2-gold ore,2-iron ore" +- 2_7_repeatreward: "2-xp,1-iron ore" +- 2_7_item: "pumpkin pie" +- 2_7_repeat: true +- 2_7_repeatsperday: 5 + +- 3_1_needed: "128-cobblestone" +- 3_1_reward: "20-xp,2-iron ore" +- 3_1_repeatreward: "1-xp,1-iron ore" +- 3_1_item: "cobblestone" +- 3_1_repeat: true +- 3_1_repeatsperday: 15 + +- 3_2_needed: "64-raw cod" +- 3_2_reward: "150-xp,4-sea pickle,4-kelp,2-nautilus shell" +- 3_2_repeatreward: "10-xp,2-sea pickle,2-kelp,1-nautilus shell" +- 3_2_item: "raw cod" +- 3_2_repeat: true +- 3_2_repeatsperday: 15 + +- 3_3_needed: "9-living tube coral plant,9-living brain coral plant,9-living bubble coral plant,9-living fire coral plant,9-living horn coral plant" +- 3_3_reward: "150-xp,2-living tube coral block,2-living brain coral block,2-living bubble coral block,2-living fire coral block,2-living horn coral block" +- 3_3_repeatreward: "10-xp,1-living tube coral block,1-living brain coral block,1-living bubble coral block,1-living fire coral block,1-living horn coral block" +- 3_3_item: "living pink coral block" +- 3_3_repeat: true +- 3_3_repeatsperday: 20 + +- 3_4_needed: "64-living tube coral block,64-living brain coral block,64-living bubble coral block,64-living fire coral block,64-living horn coral block" +- 3_4_reward: "150-xp,1-sponge,1-heart of the sea" +- 3_4_repeatreward: "10-xp,1-sponge,1-heart of the sea" +- 3_4_item: "heart of the sea" +- 3_4_repeat: true +- 3_4_repeatsperday: 5 + +- 3_5_needed: "128-ender pearl" +- 3_5_reward: "75-xp,2-shulker shell" +- 3_5_repeatreward: "10-xp,1-shulker shell" +- 3_5_item: "ender pearl" +- 3_5_repeat: true +- 3_5_repeatsperday: 5 + +- 3_6_needed: "16-emerald" +- 3_6_reward: "35-xp,32-bottle o' enchanting" +- 3_6_repeatreward: "5-xp,8-bottle o' enchanting" +- 3_6_item: "bottle o' enchanting" +- 3_6_repeat: true +- 3_6_repeatsperday: 15 + +- 3_7_needed: "32-diamond" +- 3_7_reward: "250-xp,1-lava bucket" +- 3_7_repeatreward: "150-xp,1-lava bucket" +- 3_7_item: "lava bucket" +- 3_7_repeat: true +- 3_7_repeatsperday: 2 + +- 4_1_needed: "256-gold ingot" +- 4_1_reward: "150-xp,4-blaze rod" +- 4_1_repeatreward: "25-xp,1-blaze rod" +- 4_1_item: "blaze rod" +- 4_1_repeat: true +- 4_1_repeatsperday: 5 + +- 4_2_needed: "1-saddle,64-hay bale,32-apple,64-carrot item" +- 4_2_reward: "25-xp,1-horse spawn egg,1-iron horse armor,1-leash,1-nametag" +- 4_2_repeatreward: "15-xp,1-horse spawn egg,1-leash,1-nametag" +- 4_2_item: "saddle" +- 4_2_repeat: true +- 4_2_repeatsperday: 5 + +- 4_3_needed: "128-glass" +- 4_3_reward: "150-xp,8-dirt" +- 4_3_repeatreward: "25-xp,2-dirt" +- 4_3_item: "dirt" +- 4_3_repeat: true +- 4_3_repeatsperday: 5 + +- 4_4_needed: "128-dried kelp" +- 4_4_reward: "30-xp,5-ink sac" +- 4_4_repeatreward: "5-xp,3-ink sac" +- 4_4_item: "ink sac" +- 4_4_repeat: true +- 4_4_repeatsperday: 5 + +- 4_5_needed: "4-awkward potion,64-ender pearl" +- 4_5_reward: "75-xp,2-chorus flower,18-end stone" +- 4_5_repeatreward: "10-xp,1-chorus flower,9-end stone" +- 4_5_item: "chorus flower" +- 4_5_repeat: true +- 4_5_repeatsperday: 5 + +- 4_6_needed: "4-gold sword,64-arrow,1-bow,1-water bucket" +- 4_6_reward: "75-xp,1-ghast tear,1-bucket" +- 4_6_repeatreward: "10-xp,1-ghast tear,1-bucket" +- 4_6_item: "ghast tear" +- 4_6_repeat: true +- 4_6_repeatsperday: 5 + +- 4_7_needed: "1728-rail,192-powered rail,64-detector rail,64-activator rail" +- 4_7_reward: "400-xp,1-elytra" +- 4_7_repeatreward: "200-xp,1-elytra" +- 4_7_item: "elytra" +- 4_7_repeat: true +- 4_7_repeatsperday: 5 + +- 4_8_needed: "64-sand,2-oak boat" +- 4_8_reward: "50-xp,24-prismarine shards,24-prismarine crystals" +- 4_8_repeatreward: "25-xp,12-prismarine shards,12-prismarine crystals" +- 4_8_item: "prismarine crystals" +- 4_8_repeat: true +- 4_8_repeatsperday: 10 + +- 4_9_needed: "1-water bucket,640-white wool" +- 4_9_reward: "50-xp,2-sponge" +- 4_9_repeatreward: "25-xp,1-sponge" +- 4_9_item: "sponge" +- 4_9_repeat: true +- 4_9_repeatsperday: 5 + +- 5_1_needed: "1728-rotten flesh" +- 5_1_reward: "150-xp,1-zombie head,3-diamond ore" +- 5_1_repeatreward: "50-xp,1-zombie head" +- 5_1_item: "zombie head" +- 5_1_repeat: true +- 5_1_repeatsperday: 5 + +- 5_2_needed: "1728-bone" +- 5_2_reward: "150-xp,1-skeleton head,3-diamond ore" +- 5_2_repeatreward: "50-xp,1-skeleton head" +- 5_2_item: "skeleton head" +- 5_2_repeat: true +- 5_2_repeatsperday: 5 + +- 5_3_needed: "1728-gunpowder" +- 5_3_reward: "150-xp,1-creeper head,3-diamond ore" +- 5_3_repeatreward: "50-xp,1-creeper head" +- 5_3_item: "creeper head" +- 5_3_repeat: true +- 5_3_repeatsperday: 5 + +- 5_4_needed: "576-leather,576-bone,576-rotten flesh,576-gunpowder" +- 5_4_reward: "150-xp,1-player head,3-diamond ore" +- 5_4_repeatreward: "50-xp,1-player head" +- 5_4_item: "player head" +- 5_4_repeat: true +- 5_4_repeatsperday: 5 + +- 5_5_needed: "64-living tube coral block,64-living brain coral block,64-living bubble coral block,64-living fire coral block,64-living horn coral block" +- 5_5_reward: "150-xp,2-dolphin spawn egg,2-turtle egg,4-nametag" +- 5_5_repeatreward: "10-xp,1-dolphin spawn egg,1-turtle egg,2-nametag" +- 5_5_item: "turtle egg" +- 5_5_repeat: true +- 5_5_repeatsperday: 5 + +- 5_6_needed: "128-iron block,64-emerald block,32-diamond block" +- 5_6_reward: "700-xp,1-villager spawn egg,1-nametag" +- 5_6_repeatreward: "400-xp,1-villager spawn egg,1-nametag" +- 5_6_item: "villager spawn egg" +- 5_6_repeat: true +- 5_6_repeatsperday: 2 + +- 5_7_needed: "2-zombie head,2-skeleton head,7-creeper head,7-player head" +- 5_7_reward: "2500-xp,1-dragon head" +- 5_7_repeatreward: "500-xp,1-dragon head" +- 5_7_item: "dragon head" +- 5_7_repeat: true +- 5_7_repeatsperday: 1 From 64d25dea32ef6c48e5881001c36d0887050a8cd3 Mon Sep 17 00:00:00 2001 From: Abwasserrohr <44294954+Abwasserrohr@users.noreply.github.com> Date: Fri, 15 Mar 2019 15:40:57 +0100 Subject: [PATCH 2/8] Delete challenges.sk --- SkyBlock/config/challenges.sk | 315 ---------------------------------- 1 file changed, 315 deletions(-) delete mode 100644 SkyBlock/config/challenges.sk diff --git a/SkyBlock/config/challenges.sk b/SkyBlock/config/challenges.sk deleted file mode 100644 index 61d4e264..00000000 --- a/SkyBlock/config/challenges.sk +++ /dev/null @@ -1,315 +0,0 @@ -# -# ============== -# challenges.sk -# ============== -# challenges.sk is part of the SKYBLOCK.SK configuration. -# ============== -on load: - # - # > Define the xp threshold for every challenge level, the higher, the harder - # > it gets to climb up the levels. To have everything unlocked at the beginning, - # > set all thresholds to 0. - set {SB::config::challenges::threshold::1} to 0 - set {SB::config::challenges::threshold::2} to 250 - set {SB::config::challenges::threshold::3} to 500 - set {SB::config::challenges::threshold::4} to 2500 - set {SB::config::challenges::threshold::5} to 5000 - - # - # > Set here the amount in percent, how much the repeats should be increased per level. - # > 20 means 20% per defined x. - set {SB::config::challenges::repeatmodifier::repeatincrease} to 20 - # - # > Set the amount of xp needed for a increase of the repeats. - set {SB::config::challenges::repeatmodifier::xprepeatincrease} to 100 - # - # > Increase the amount of the needed experience to increase the repeats - # > with a predefined difficulty modifier which gets harder every time the - # > increasement has happened. - set {SB::config::challenges::repeatmodifier::difficulty} to 20 - # - # > Set the item which should appear to display the repeat modifier statistics. - set {SB::config::challenges::repeatmodifier::item} to magenta glazed terracotta - - # - # > Define the challenges. Example: - # > The needed items as string. Format: amount-item name. - # > Multiple needed items can be split with a comma. - #set {SB::config::challenges::c::1::1::needed} to "64-cactus" - # > Rewards work the same as needed items. xp is needed to unlock new challenge levels. - #set {SB::config::challenges::c::1::1::reward} to "15-xp,2-sand" - #set {SB::config::challenges::c::1::1::repeatreward} to "1-xp,1-sand" - # > Set the item which should appear in the challenges menu. - #set {SB::config::challenges::c::1::1::item} to sand block - # > Set this to true, if the challenge should be repeatable, if it shouldn't, set it to false. - #set {SB::config::challenges::c::1::1::repeat} to true - # > Set how many times the challenge should be repeatable. -1 of unlimited. 0 complete once a day, 1 repeat every day and so on. - #set {SB::config::challenges::c::1::1::repeatsperday} to 1 - # - # > Add a custom function if you want, which is executed on completion of the challenge. - #set {SB::config::challenges::c::1::1::customfunction} to "" - # - # > Add a custom reward text to describe your custom function rewards. Set new lines with ||. - #set {SB::config::challenges::c::1::1::customreward} to "" - - set {SB::config::challenges::c::1::1::needed} to "64-cactus" - set {SB::config::challenges::c::1::1::reward} to "15-xp,2-sand" - set {SB::config::challenges::c::1::1::repeatreward} to "1-xp,1-sand" - set {SB::config::challenges::c::1::1::item} to sand block - set {SB::config::challenges::c::1::1::repeat} to true - set {SB::config::challenges::c::1::1::repeatsperday} to 150 - set {SB::config::challenges::c::1::1::customfunction} to "" - set {SB::config::challenges::c::1::1::customreward} to "" - - set {SB::config::challenges::c::1::2::needed} to "48-cobblestone,16-gunpowder" - set {SB::config::challenges::c::1::2::reward} to "1-xp,16-gravel" - set {SB::config::challenges::c::1::2::repeatreward} to "1-xp,8-gravel,2-soul sand" - set {SB::config::challenges::c::1::2::item} to gravel block - set {SB::config::challenges::c::1::2::repeat} to true - set {SB::config::challenges::c::1::2::repeatsperday} to 15 - - set {SB::config::challenges::c::1::3::needed} to "64-oak leaves,32-cobblestone,32-stone brick" - set {SB::config::challenges::c::1::3::reward} to "1-xp,16-mossy cobblestone,16-mossy stone brick" - set {SB::config::challenges::c::1::3::repeatreward} to "1-xp,4-mossy cobblestone,4-mossy stone brick" - set {SB::config::challenges::c::1::3::item} to mossy stone brick - set {SB::config::challenges::c::1::3::repeat} to true - set {SB::config::challenges::c::1::3::repeatsperday} to 10 - set {SB::config::challenges::c::1::3::customfunction} to "" - - set {SB::config::challenges::c::1::4::needed} to "6-apple" - set {SB::config::challenges::c::1::4::reward} to "15-xp,2-oak sapling,2-spruce sapling,2-birch sapling,2-jungle sapling,2-acacia sapling,4-dark oak sapling" - set {SB::config::challenges::c::1::4::repeatreward} to "5-xp,1-oak sapling,1-spruce sapling,1-birch sapling,1-jungle sapling,1-acacia sapling,2-dark oak sapling" - set {SB::config::challenges::c::1::4::item} to apple - set {SB::config::challenges::c::1::4::repeat} to true - set {SB::config::challenges::c::1::4::repeatsperday} to 5 - - set {SB::config::challenges::c::1::5::needed} to "64-sugar cane" - set {SB::config::challenges::c::1::5::reward} to "10-xp,20-clay block" - set {SB::config::challenges::c::1::5::repeatreward} to "1-xp,5-clay block" - set {SB::config::challenges::c::1::5::item} to clay block - set {SB::config::challenges::c::1::5::repeat} to true - set {SB::config::challenges::c::1::5::repeatsperday} to 45 - - set {SB::config::challenges::c::1::6::needed} to "128-melon slice" - set {SB::config::challenges::c::1::6::reward} to "15-xp,3-sand" - set {SB::config::challenges::c::1::6::repeatreward} to "1-xp,1-sand" - set {SB::config::challenges::c::1::6::item} to melon slice - set {SB::config::challenges::c::1::6::repeat} to true - set {SB::config::challenges::c::1::6::repeatsperday} to 30 - - set {SB::config::challenges::c::1::7::needed} to "64-pumpkin" - set {SB::config::challenges::c::1::7::reward} to "20-xp,3-red sand" - set {SB::config::challenges::c::1::7::repeatreward} to "1-xp,1-red sand" - set {SB::config::challenges::c::1::7::item} to pumpkin - set {SB::config::challenges::c::1::7::repeat} to true - set {SB::config::challenges::c::1::7::repeatsperday} to 15 - - set {SB::config::challenges::c::2::1::needed} to "16-oak log,16-spruce log,16-birch log,16-jungle log,16-acacia log,16-dark oak log" - set {SB::config::challenges::c::2::1::reward} to "20-xp,16-redstone dust,5-iron ore,1-wolf spawn egg" - set {SB::config::challenges::c::2::1::repeatreward} to "1-xp,3-redstone dust,1-iron ore,1-nether wart item" - set {SB::config::challenges::c::2::1::item} to oak log - set {SB::config::challenges::c::2::1::repeat} to true - set {SB::config::challenges::c::2::1::repeatsperday} to 5 - - set {SB::config::challenges::c::2::2::needed} to "3-diamond,2-iron ingot" - set {SB::config::challenges::c::2::2::reward} to "150-xp,3-dirt" - set {SB::config::challenges::c::2::2::repeatreward} to "10-xp,1-dirt" - set {SB::config::challenges::c::2::2::item} to dirt - set {SB::config::challenges::c::2::2::repeat} to true - set {SB::config::challenges::c::2::2::repeatsperday} to 5 - - set {SB::config::challenges::c::2::3::needed} to "64-nether wart item" - set {SB::config::challenges::c::2::3::reward} to "45-xp,32-netherrack" - set {SB::config::challenges::c::2::3::repeatreward} to "3-xp,1-magma block,18-netherrack" - set {SB::config::challenges::c::2::3::item} to netherrack - set {SB::config::challenges::c::2::3::repeat} to true - set {SB::config::challenges::c::2::3::repeatsperday} to 30 - - set {SB::config::challenges::c::2::4::needed} to "64-red mushroom,64-brown mushroom" - set {SB::config::challenges::c::2::4::reward} to "40-xp,1-mycelium" - set {SB::config::challenges::c::2::4::repeatreward} to "15-xp,1-mycelium" - set {SB::config::challenges::c::2::4::item} to mycelium - set {SB::config::challenges::c::2::4::repeat} to true - set {SB::config::challenges::c::2::4::repeatsperday} to 5 - - set {SB::config::challenges::c::2::5::needed} to "128-cookie,1-milk bucket" - set {SB::config::challenges::c::2::5::reward} to "25-xp,64-jungle log,1-bucket" - set {SB::config::challenges::c::2::5::repeatreward} to "3-xp,32-jungle log,1-bucket" - set {SB::config::challenges::c::2::5::item} to cookie - set {SB::config::challenges::c::2::5::repeat} to true - set {SB::config::challenges::c::2::5::repeatsperday} to 5 - - set {SB::config::challenges::c::2::6::needed} to "64-wheat seeds,64-pumpkin seeds,64-melon seeds,64-beetroot seeds" - set {SB::config::challenges::c::2::6::reward} to "70-xp,4-peony,4-rose bush,4-lilac,4-sunflower,4-brown mushroom,4-red mushroom" - set {SB::config::challenges::c::2::6::repeatreward} to "3-xp,1-peony,1-rose bush,1-lilac,1-sunflower,1-brown mushroom,1-red mushroom" - set {SB::config::challenges::c::2::6::item} to peony - set {SB::config::challenges::c::2::6::repeat} to true - set {SB::config::challenges::c::2::6::repeatsperday} to 5 - - set {SB::config::challenges::c::2::7::needed} to "12-pumpkin pie,2-cake,16-bread,32-cookie" - set {SB::config::challenges::c::2::7::reward} to "10-xp,2-gold ore,2-iron ore" - set {SB::config::challenges::c::2::7::repeatreward} to "2-xp,1-iron ore" - set {SB::config::challenges::c::2::7::item} to pumpkin pie - set {SB::config::challenges::c::2::7::repeat} to true - set {SB::config::challenges::c::2::7::repeatsperday} to 5 - - set {SB::config::challenges::c::3::1::needed} to "128-cobblestone" - set {SB::config::challenges::c::3::1::reward} to "20-xp,2-iron ore" - set {SB::config::challenges::c::3::1::repeatreward} to "1-xp,1-iron ore" - set {SB::config::challenges::c::3::1::item} to cobblestone - set {SB::config::challenges::c::3::1::repeat} to true - set {SB::config::challenges::c::3::1::repeatsperday} to 15 - - set {SB::config::challenges::c::3::2::needed} to "64-raw cod" - set {SB::config::challenges::c::3::2::reward} to "150-xp,4-sea pickle,4-kelp,2-nautilus shell" - set {SB::config::challenges::c::3::2::repeatreward} to "10-xp,2-sea pickle,2-kelp,1-nautilus shell" - set {SB::config::challenges::c::3::2::item} to raw cod - set {SB::config::challenges::c::3::2::repeat} to true - set {SB::config::challenges::c::3::2::repeatsperday} to 15 - - set {SB::config::challenges::c::3::3::needed} to "9-living tube coral plant,9-living brain coral plant,9-living bubble coral plant,9-living fire coral plant,9-living horn coral plant" - set {SB::config::challenges::c::3::3::reward} to "150-xp,2-living tube coral block,2-living brain coral block,2-living bubble coral block,2-living fire coral block,2-living horn coral block" - set {SB::config::challenges::c::3::3::repeatreward} to "10-xp,1-living tube coral block,1-living brain coral block,1-living bubble coral block,1-living fire coral block,1-living horn coral block" - set {SB::config::challenges::c::3::3::item} to living pink coral block - set {SB::config::challenges::c::3::3::repeat} to true - set {SB::config::challenges::c::3::3::repeatsperday} to 20 - - set {SB::config::challenges::c::3::4::needed} to "64-living tube coral block,64-living brain coral block,64-living bubble coral block,64-living fire coral block,64-living horn coral block" - set {SB::config::challenges::c::3::4::reward} to "150-xp,1-sponge,1-heart of the sea" - set {SB::config::challenges::c::3::4::repeatreward} to "10-xp,1-sponge,1-heart of the sea" - set {SB::config::challenges::c::3::4::item} to heart of the sea - set {SB::config::challenges::c::3::4::repeat} to true - set {SB::config::challenges::c::3::4::repeatsperday} to 5 - - set {SB::config::challenges::c::3::5::needed} to "128-ender pearl" - set {SB::config::challenges::c::3::5::reward} to "75-xp,2-shulker shell" - set {SB::config::challenges::c::3::5::repeatreward} to "10-xp,1-shulker shell" - set {SB::config::challenges::c::3::5::item} to ender pearl - set {SB::config::challenges::c::3::5::repeat} to true - set {SB::config::challenges::c::3::5::repeatsperday} to 5 - - set {SB::config::challenges::c::3::6::needed} to "16-emerald" - set {SB::config::challenges::c::3::6::reward} to "35-xp,32-bottle o' enchanting" - set {SB::config::challenges::c::3::6::repeatreward} to "5-xp,8-bottle o' enchanting" - set {SB::config::challenges::c::3::6::item} to bottle o' enchanting - set {SB::config::challenges::c::3::6::repeat} to true - set {SB::config::challenges::c::3::6::repeatsperday} to 15 - - set {SB::config::challenges::c::3::7::needed} to "32-diamond" - set {SB::config::challenges::c::3::7::reward} to "250-xp,1-lava bucket" - set {SB::config::challenges::c::3::7::repeatreward} to "150-xp,1-lava bucket" - set {SB::config::challenges::c::3::7::item} to lava bucket - set {SB::config::challenges::c::3::7::repeat} to true - set {SB::config::challenges::c::3::7::repeatsperday} to 2 - - set {SB::config::challenges::c::4::1::needed} to "256-gold ingot" - set {SB::config::challenges::c::4::1::reward} to "150-xp,4-blaze rod" - set {SB::config::challenges::c::4::1::repeatreward} to "25-xp,1-blaze rod" - set {SB::config::challenges::c::4::1::item} to blaze rod - set {SB::config::challenges::c::4::1::repeat} to true - set {SB::config::challenges::c::4::1::repeatsperday} to 5 - - set {SB::config::challenges::c::4::2::needed} to "1-saddle,64-hay bale,32-apple,64-carrot item" - set {SB::config::challenges::c::4::2::reward} to "25-xp,1-horse spawn egg,1-iron horse armor,1-leash,1-nametag" - set {SB::config::challenges::c::4::2::repeatreward} to "15-xp,1-horse spawn egg,1-leash,1-nametag" - set {SB::config::challenges::c::4::2::item} to saddle - set {SB::config::challenges::c::4::2::repeat} to true - set {SB::config::challenges::c::4::2::repeatsperday} to 5 - - set {SB::config::challenges::c::4::3::needed} to "128-glass" - set {SB::config::challenges::c::4::3::reward} to "150-xp,8-dirt" - set {SB::config::challenges::c::4::3::repeatreward} to "25-xp,2-dirt" - set {SB::config::challenges::c::4::3::item} to dirt - set {SB::config::challenges::c::4::3::repeat} to true - set {SB::config::challenges::c::4::3::repeatsperday} to 5 - - set {SB::config::challenges::c::4::4::needed} to "128-dried kelp" - set {SB::config::challenges::c::4::4::reward} to "30-xp,5-ink sac" - set {SB::config::challenges::c::4::4::repeatreward} to "5-xp,3-ink sac" - set {SB::config::challenges::c::4::4::item} to ink sac - set {SB::config::challenges::c::4::4::repeat} to true - set {SB::config::challenges::c::4::4::repeatsperday} to 5 - - set {SB::config::challenges::c::4::5::needed} to "4-awkward potion,64-ender pearl" - set {SB::config::challenges::c::4::5::reward} to "75-xp,2-chorus flower,18-end stone" - set {SB::config::challenges::c::4::5::repeatreward} to "10-xp,1-chorus flower,9-end stone" - set {SB::config::challenges::c::4::5::item} to chorus flower - set {SB::config::challenges::c::4::5::repeat} to true - set {SB::config::challenges::c::4::5::repeatsperday} to 5 - - set {SB::config::challenges::c::4::6::needed} to "4-gold sword,64-arrow,1-bow,1-water bucket" - set {SB::config::challenges::c::4::6::reward} to "75-xp,1-ghast tear,1-bucket" - set {SB::config::challenges::c::4::6::repeatreward} to "10-xp,1-ghast tear,1-bucket" - set {SB::config::challenges::c::4::6::item} to ghast tear - set {SB::config::challenges::c::4::6::repeat} to true - set {SB::config::challenges::c::4::6::repeatsperday} to 5 - - set {SB::config::challenges::c::4::7::needed} to "1728-rail,192-powered rail,64-detector rail,64-activator rail" - set {SB::config::challenges::c::4::7::reward} to "400-xp,1-elytra" - set {SB::config::challenges::c::4::7::repeatreward} to "200-xp,1-elytra" - set {SB::config::challenges::c::4::7::item} to elytra - set {SB::config::challenges::c::4::7::repeat} to true - set {SB::config::challenges::c::4::7::repeatsperday} to 5 - - set {SB::config::challenges::c::4::8::needed} to "64-sand,2-oak boat" - set {SB::config::challenges::c::4::8::reward} to "50-xp,24-prismarine shards,24-prismarine crystals" - set {SB::config::challenges::c::4::8::repeatreward} to "25-xp,12-prismarine shards,12-prismarine crystals" - set {SB::config::challenges::c::4::8::item} to prismarine crystals - set {SB::config::challenges::c::4::8::repeat} to true - set {SB::config::challenges::c::4::8::repeatsperday} to 10 - - set {SB::config::challenges::c::4::9::needed} to "1-water bucket,640-white wool" - set {SB::config::challenges::c::4::9::reward} to "50-xp,2-sponge" - set {SB::config::challenges::c::4::9::repeatreward} to "25-xp,1-sponge" - set {SB::config::challenges::c::4::9::item} to sponge - set {SB::config::challenges::c::4::9::repeat} to true - set {SB::config::challenges::c::4::9::repeatsperday} to 5 - - set {SB::config::challenges::c::5::1::needed} to "1728-rotten flesh" - set {SB::config::challenges::c::5::1::reward} to "150-xp,1-zombie head,3-diamond ore" - set {SB::config::challenges::c::5::1::repeatreward} to "50-xp,1-zombie head" - set {SB::config::challenges::c::5::1::item} to zombie head - set {SB::config::challenges::c::5::1::repeat} to true - set {SB::config::challenges::c::5::1::repeatsperday} to 5 - - set {SB::config::challenges::c::5::2::needed} to "1728-bone" - set {SB::config::challenges::c::5::2::reward} to "150-xp,1-skeleton head,3-diamond ore" - set {SB::config::challenges::c::5::2::repeatreward} to "50-xp,1-skeleton head" - set {SB::config::challenges::c::5::2::item} to skeleton head - set {SB::config::challenges::c::5::2::repeat} to true - set {SB::config::challenges::c::5::2::repeatsperday} to 5 - - set {SB::config::challenges::c::5::3::needed} to "1728-gunpowder" - set {SB::config::challenges::c::5::3::reward} to "150-xp,1-creeper head,3-diamond ore" - set {SB::config::challenges::c::5::3::repeatreward} to "50-xp,1-creeper head" - set {SB::config::challenges::c::5::3::item} to creeper head - set {SB::config::challenges::c::5::3::repeat} to true - set {SB::config::challenges::c::5::3::repeatsperday} to 5 - - set {SB::config::challenges::c::5::4::needed} to "576-leather,576-bone,576-rotten flesh,576-gunpowder" - set {SB::config::challenges::c::5::4::reward} to "150-xp,1-player head,3-diamond ore" - set {SB::config::challenges::c::5::4::repeatreward} to "50-xp,1-player head" - set {SB::config::challenges::c::5::4::item} to player head - set {SB::config::challenges::c::5::4::repeat} to true - set {SB::config::challenges::c::5::4::repeatsperday} to 5 - - set {SB::config::challenges::c::5::5::needed} to "64-living tube coral block,64-living brain coral block,64-living bubble coral block,64-living fire coral block,64-living horn coral block" - set {SB::config::challenges::c::5::5::reward} to "150-xp,2-dolphin spawn egg,2-turtle egg,4-nametag" - set {SB::config::challenges::c::5::5::repeatreward} to "10-xp,1-dolphin spawn egg,1-turtle egg,2-nametag" - set {SB::config::challenges::c::5::5::item} to turtle egg - set {SB::config::challenges::c::5::5::repeat} to true - set {SB::config::challenges::c::5::5::repeatsperday} to 5 - - set {SB::config::challenges::c::5::6::needed} to "128-iron block,64-emerald block,32-diamond block" - set {SB::config::challenges::c::5::6::reward} to "700-xp,1-villager spawn egg,1-nametag" - set {SB::config::challenges::c::5::6::repeatreward} to "400-xp,1-villager spawn egg,1-nametag" - set {SB::config::challenges::c::5::6::item} to villager spawn egg - set {SB::config::challenges::c::5::6::repeat} to true - set {SB::config::challenges::c::5::6::repeatsperday} to 2 - - set {SB::config::challenges::c::5::7::needed} to "2-zombie head,2-skeleton head,7-creeper head,7-player head" - set {SB::config::challenges::c::5::7::reward} to "2500-xp,1-dragon head" - set {SB::config::challenges::c::5::7::repeatreward} to "500-xp,1-dragon head" - set {SB::config::challenges::c::5::7::item} to dragon head - set {SB::config::challenges::c::5::7::repeat} to true - set {SB::config::challenges::c::5::7::repeatsperday} to 1 From 25d3ed4f9f3eb2ffe673643b0ec26f71a54c3a86 Mon Sep 17 00:00:00 2001 From: Abwasserrohr <44294954+Abwasserrohr@users.noreply.github.com> Date: Fri, 15 Mar 2019 16:08:53 +0100 Subject: [PATCH 3/8] Load challenges.yml now from loadconfig.sk The configuration gets loaded using the loadconfigobject function, which uses metadata instead of variables. --- SkyBlock/SKYBLOCK.SK/Functions/loadconfig.sk | 52 ++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/SkyBlock/SKYBLOCK.SK/Functions/loadconfig.sk b/SkyBlock/SKYBLOCK.SK/Functions/loadconfig.sk index 41444db1..486f674b 100644 --- a/SkyBlock/SKYBLOCK.SK/Functions/loadconfig.sk +++ b/SkyBlock/SKYBLOCK.SK/Functions/loadconfig.sk @@ -210,3 +210,55 @@ function loadconfig(): # # > Load explevel set {SB::config::explevel} to loadymlparsenumber("explevel",{_corefile}) + + # + # > Load challenge configuration: + + # + # > Load lists "threshold", "repeatmodifier" and "challenges" from challenges.yml. + delete {_load::*} + add "threshold", "repeatmodifier", "challenges" to {_load::*} + loop {_load::*}: + # + # > Get a list of the ones defined above. + set {_check::*} to yaml list "%loop-value%" from "plugins/Skript/scripts/SkyBlock/config/challenges.yml" + # + # > Loop through the list and parse the data. + loop {_check::*}: + set {_value::*} to parseymllistpart("%loop-value-2%") + # + # > Load the threshold configuration. + if loop-value-1 is "threshold": + # + # > Load number based challenge configuration. + loadconfigobject("challenges-config-threshold-%{_value::1}%",{_value::2} parsed as number) + # + # > Load the repeatmodifier configuration. + else if loop-value-1 is "repeatmodifier": + # + # > Load boolean based challenge configuration. + if {_value::1} is "enabled": + loadconfigobject("challenges-config-repeatmodifier-%{_value::1}%",{_value::2} parsed as boolean) + # + # > Load text based challenge configuration. + else if {_value::1} is "repeatincrease" or "xprepeatincrease" or "difficulty": + loadconfigobject("challenges-config-repeatmodifier-%{_value::1}%",{_value::2} parsed as number) + # + # > Load item based challenge configuration. + else if {_value::1} is "item": + loadconfigobject("challenges-config-repeatmodifier-%{_value::1}%",{_value::2} parsed as item) + # + # > Load the challenges. + else if loop-value-1 is "challenges": + # + # > Load text based challenge configuration. + if {_value::1} contains "needed" or "reward" or "repeatreward" or "item" or "customfunction" or "customreward": + loadconfigobject("challenges-config-c-%{_value::1}%",{_value::2}) + # + # > Load number based challenge configuration. + else if {_value::1} contains "repeatsperday": + loadconfigobject("challenges-config-c-%{_value::1}%",{_value::2} parsed as number) + # + # > Load boolean based challenge configuration. + else if {_value::1} contains "repeat": + loadconfigobject("challenges-config-c-%{_value::1}%",{_value::2} parsed as boolean) From 3c0ae120fff2ade3acc7aaff113cc417ff9bbf89 Mon Sep 17 00:00:00 2001 From: Abwasserrohr <44294954+Abwasserrohr@users.noreply.github.com> Date: Fri, 15 Mar 2019 16:10:06 +0100 Subject: [PATCH 4/8] Fixed some tab/space issues --- SkyBlock/SKYBLOCK.SK/Functions/loadconfig.sk | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/SkyBlock/SKYBLOCK.SK/Functions/loadconfig.sk b/SkyBlock/SKYBLOCK.SK/Functions/loadconfig.sk index 486f674b..6a0d8170 100644 --- a/SkyBlock/SKYBLOCK.SK/Functions/loadconfig.sk +++ b/SkyBlock/SKYBLOCK.SK/Functions/loadconfig.sk @@ -226,39 +226,39 @@ function loadconfig(): # > Loop through the list and parse the data. loop {_check::*}: set {_value::*} to parseymllistpart("%loop-value-2%") - # - # > Load the threshold configuration. + # + # > Load the threshold configuration. if loop-value-1 is "threshold": # # > Load number based challenge configuration. loadconfigobject("challenges-config-threshold-%{_value::1}%",{_value::2} parsed as number) - # - # > Load the repeatmodifier configuration. + # + # > Load the repeatmodifier configuration. else if loop-value-1 is "repeatmodifier": # # > Load boolean based challenge configuration. if {_value::1} is "enabled": loadconfigobject("challenges-config-repeatmodifier-%{_value::1}%",{_value::2} parsed as boolean) - # + # # > Load text based challenge configuration. else if {_value::1} is "repeatincrease" or "xprepeatincrease" or "difficulty": loadconfigobject("challenges-config-repeatmodifier-%{_value::1}%",{_value::2} parsed as number) - # + # # > Load item based challenge configuration. else if {_value::1} is "item": loadconfigobject("challenges-config-repeatmodifier-%{_value::1}%",{_value::2} parsed as item) # # > Load the challenges. else if loop-value-1 is "challenges": - # + # # > Load text based challenge configuration. if {_value::1} contains "needed" or "reward" or "repeatreward" or "item" or "customfunction" or "customreward": loadconfigobject("challenges-config-c-%{_value::1}%",{_value::2}) - # + # # > Load number based challenge configuration. else if {_value::1} contains "repeatsperday": loadconfigobject("challenges-config-c-%{_value::1}%",{_value::2} parsed as number) - # + # # > Load boolean based challenge configuration. else if {_value::1} contains "repeat": loadconfigobject("challenges-config-c-%{_value::1}%",{_value::2} parsed as boolean) From 529227b3614a717e279026d2981495d11e6ea088 Mon Sep 17 00:00:00 2001 From: Abwasserrohr <44294954+Abwasserrohr@users.noreply.github.com> Date: Fri, 15 Mar 2019 16:41:31 +0100 Subject: [PATCH 5/8] Load challenge items as items and not as text --- SkyBlock/SKYBLOCK.SK/Functions/loadconfig.sk | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/SkyBlock/SKYBLOCK.SK/Functions/loadconfig.sk b/SkyBlock/SKYBLOCK.SK/Functions/loadconfig.sk index 6a0d8170..4e7b7034 100644 --- a/SkyBlock/SKYBLOCK.SK/Functions/loadconfig.sk +++ b/SkyBlock/SKYBLOCK.SK/Functions/loadconfig.sk @@ -252,9 +252,13 @@ function loadconfig(): else if loop-value-1 is "challenges": # # > Load text based challenge configuration. - if {_value::1} contains "needed" or "reward" or "repeatreward" or "item" or "customfunction" or "customreward": + if {_value::1} contains "needed" or "reward" or "repeatreward" or "customfunction" or "customreward": loadconfigobject("challenges-config-c-%{_value::1}%",{_value::2}) # + # > Load item based challenge configuration. + if {_value::1} contains "item": + loadconfigobject("challenges-config-c-%{_value::1}%",{_value::2} parsed as item) + # # > Load number based challenge configuration. else if {_value::1} contains "repeatsperday": loadconfigobject("challenges-config-c-%{_value::1}%",{_value::2} parsed as number) From c13361dfb5288138d806fe565e4e49e560ccfac7 Mon Sep 17 00:00:00 2001 From: Abwasserrohr <44294954+Abwasserrohr@users.noreply.github.com> Date: Fri, 15 Mar 2019 16:55:12 +0100 Subject: [PATCH 6/8] Challenges are now work with metadata based configuration --- SkyBlock/SKYBLOCK.SK/Functions/challenges.sk | 117 +++++++++++-------- 1 file changed, 66 insertions(+), 51 deletions(-) diff --git a/SkyBlock/SKYBLOCK.SK/Functions/challenges.sk b/SkyBlock/SKYBLOCK.SK/Functions/challenges.sk index 8a04cb4d..ee95f69c 100644 --- a/SkyBlock/SKYBLOCK.SK/Functions/challenges.sk +++ b/SkyBlock/SKYBLOCK.SK/Functions/challenges.sk @@ -41,7 +41,7 @@ function openchallenges(p:player,page:number=0): message "%{_prefix}% %{_msg}%" to {_p} stop # - # > Get the date and check, if the day is over. If the day is over, + # > Get the date and check, if the day is over, # > reset repeat counters. set {_date} to new Date() set {_d} to new SimpleDateFormat("yyyy-MM-dd").format({_date}) @@ -68,7 +68,7 @@ function openchallenges(p:player,page:number=0): # # > Get the current level. loop 5 times: - if {_xp} >= {SB::config::challenges::threshold::%{_challengelvl}%}: + if {_xp} >= getconfigobject("challenges-config-threshold-%{_challengelvl}%"): set {_currentlevel} to {_challengelvl} add 1 to {_challengelvl} set {_challengelvl} to 1 @@ -107,38 +107,41 @@ function openchallenges(p:player,page:number=0): setguiitem({_p},45,{_item},1,"&r%{_name}%","&r%{_lore}%"," ",false) set {_xplang} to getlang("challenge_xp",{_lang}) replace all "" with "%{_xp}%" in {_xplang} - setguiitem({_p},22,{_p}'s skull,1,"&r%{SB::robot::stats::%{_lang}%}%","%{_xplang}%"," ",false) + setguiitem({_p},22,{_p}'s skull,1,getlang("robot_stats",{_lang},"&r"),"%{_xplang}%"," ",false) set {_repeatbonus} to getcurrentrepeats({_xp},100) remove 100 from {_repeatbonus} # - # > Calculate repeat statistic. - set {_neededxp} to {SB::config::challenges::repeatmodifier::xprepeatincrease} - set {_repeatincrease} to {SB::config::challenges::repeatmodifier::repeatincrease} - set {_diffincrease} to {SB::config::challenges::repeatmodifier::difficulty} - set {_startrepeats} to 100 - # - # > While loop as long we're not done. - while {_done} is not set: + # > Calculate repeat statistic, if enabled. + set {_repeatbonusenabled} to getconfigobject("challenges-config-repeatmodifier-enabled") + if {_repeatbonusenabled} is true: + set {_neededxp} to getconfigobject("challenges-config-repeatmodifier-xprepeatincrease") + set {_repeatincrease} to getconfigobject("challenges-config-repeatmodifier-repeatincrease") + set {_diffincrease} to getconfigobject("challenges-config-repeatmodifier-difficulty") + set {_repeatmodifieritem} to getconfigobject("challenges-config-repeatmodifier-item") + set {_startrepeats} to 100 # - # > If the experience is equal or bigger than the needed xp, - # > increase the repeats and needed xp counter. - if {_xp} >= {_neededxp}: - set {_neededxp} to (({_neededxp}/100)*{_diffincrease})+{_neededxp} - set {_repeats} to (({_repeats}/100)*{_repeatincrease})+{_repeats} + # > While loop as long we're not done. + while {_done} is not set: + # + # > If the experience is equal or bigger than the needed xp, + # > increase the repeats and needed xp counter. + if {_xp} >= {_neededxp}: + set {_neededxp} to (({_neededxp}/100)*{_diffincrease})+{_neededxp} + set {_repeats} to (({_repeats}/100)*{_repeatincrease})+{_repeats} + # + # > If there is not enough experience, we're done here, return. + else: + set {_done} to true # - # > If there is not enough experience, we're done here, return. - else: - set {_done} to true - # - # > Calculate the progress in percent until the new repeat bonus is hit. - set {_progress} to ({_xp}/{_neededxp})*100 - # - # > Display the repeat bonus statistic item. - getlang("challenge_repeatbonustitle",{_lang}) - set {_lore} to getlang("challenge_repeatbonuslore",{_lang}) - replace all "" with "%{_repeatbonus}%" in {_lore} - replace all "" with "%{_progress}%" in {_lore} - setguiitem({_p},24,{SB::config::challenges::repeatmodifier::item},1,getlang("challenge_repeatbonustitle",{_lang}),{_lore}," ",false) + # > Calculate the progress in percent until the new repeat bonus is hit. + set {_progress} to ({_xp}/{_neededxp})*100 + # + # > Display the repeat bonus statistic item. + getlang("challenge_repeatbonustitle",{_lang}) + set {_lore} to getlang("challenge_repeatbonuslore",{_lang}) + replace all "" with "%{_repeatbonus}%" in {_lore} + replace all "" with "%{_progress}%" in {_lore} + setguiitem({_p},24,{_repeatmodifieritem},1,getlang("challenge_repeatbonustitle",{_lang}),{_lore}," ",false) else: set {_item} to getcustomhead("blackexclamation", "%{_lvlhead::exclamation}%") setguiitem({_p},45,{_item},1,"&r%{_name}%","&r%{_lore}%","openchallenges(""%{_p}%"" parsed as player,0)",false) @@ -172,7 +175,8 @@ function openchallenges(p:player,page:number=0): # > The level has to be unlocked first, add a specific lore for that and make it unclickable. set {_lore1} to getlang("challenge_xpneeded",{_lang}) set {_lore2} to getlang("challenge_xpionlywclvl",{_lang}) - set {_lore} to "%{_lore1}%||%{SB::config::guispacer}%||&r%{_xp}%/%{SB::config::challenges::threshold::%loop-number%}%||%{SB::config::guispacer}%||%{_lore2}%" + set {_thresholdamount} to getconfigobject("challenges-config-threshold-%loop-number%") + set {_lore} to "%{_lore1}%||%{SB::config::guispacer}%||&r%{_xp}%/%{_thresholdamount}%||%{SB::config::guispacer}%||%{_lore2}%" replace all "||" with "\n" in {_lore} setguiitem({_p},{_slot},{_item},1,"&r%{_lvltranslation}%","&r%{_lore}%"," ",false) # @@ -217,15 +221,15 @@ function renderchallengeitems(player:player,page:number,currentxp:number=0): if {_loops} is 8: set {_loops} to 1 add 2 to {_slot} - if {SB::config::challenges::c::%{_page}%::%{_challangelvlpart}%::item} is set: - set {_item} to {SB::config::challenges::c::%{_page}%::%{_challangelvlpart}%::item} + if getconfigobject("challenges-config-c-%{_page}%_%{_challangelvlpart}%_item") is set: + set {_item} to getconfigobject("challenges-config-c-%{_page}%_%{_challangelvlpart}%_item") # # > If the display item isn't set, stop rendering here. else: stop loop # # > Extract needed items for this challenge: - set {_needed} to {SB::config::challenges::c::%{_page}%::%{_challangelvlpart}%::needed} + set {_needed} to getconfigobject("challenges-config-c-%{_page}%_%{_challangelvlpart}%_needed") set {_needed::*} to {_needed} split at "," # # > Loop trough all needed items and create a lore compatible text: @@ -249,12 +253,12 @@ function renderchallengeitems(player:player,page:number,currentxp:number=0): set {_finalchallenges::*} to metadata value "finalchallenges" of {_player} if {_finalchallenges::%{_page}%%{_challangelvlpart}%} is set: set {_done} to true - set {_reward} to {SB::config::challenges::c::%{_page}%::%{_challangelvlpart}%::repeatreward} + set {_reward} to getconfigobject("challenges-config-c-%{_page}%_%{_challangelvlpart}%_repeatreward") # # > The challenge has not been done, display first rewards. else: set {_done} to false - set {_reward} to {SB::config::challenges::c::%{_page}%::%{_challangelvlpart}%::reward} + set {_reward} to getconfigobject("challenges-config-c-%{_page}%_%{_challangelvlpart}%_reward") # # > Split the rewards string to get a list of rewards. set {_reward::*} to {_reward} split at "," @@ -262,9 +266,10 @@ function renderchallengeitems(player:player,page:number,currentxp:number=0): set {_lorereward} to "\n%{_msg}%" # # > Add custom reward text to reward lore. - if {SB::config::challenges::c::%{_page}%::%{_challangelvlpart}%::customreward} is set: - if {SB::config::challenges::c::%{_page}%::%{_challangelvlpart}%::customreward} is not "": - set {_lorereward} to "%{_lorereward}%\n%{SB::config::challenges::c::%{_page}%::%{_challangelvlpart}%::customreward}%" + if getconfigobject("challenges-config-c-%{_page}%_%{_challangelvlpart}%_customreward") is set: + if getconfigobject("challenges-config-c-%{_page}%_%{_challangelvlpart}%_customreward") is not "": + set {_customreward} to getconfigobject("challenges-config-c-%{_page}%_%{_challangelvlpart}%_customreward") + set {_lorereward} to "%{_lorereward}%\n%{_customreward}%" # # > Loop through the reward list. loop {_reward::*}: @@ -285,11 +290,11 @@ function renderchallengeitems(player:player,page:number,currentxp:number=0): # # > Repeat information is added at the end of the item lore, a spacer is added to make it easier to read. set {_loreend} to "\n%{SB::config::guispacer}%\n" - if {SB::config::challenges::c::%{_page}%::%{_challangelvlpart}%::repeat} is true: + if getconfigobject("challenges-config-c-%{_page}%_%{_challangelvlpart}%_repeat") is true: set {_m} to getlang("challenge_repeatable",{_lang}) set {_c} to 0 set {_c} to {SB::crepeats::%{_uuid}%-%{_page}%%{_challangelvlpart}%} - set {_max} to {SB::config::challenges::c::%{_page}%::%{_challangelvlpart}%::repeatsperday} + set {_max} to getconfigobject("challenges-config-c-%{_page}%_%{_challangelvlpart}%_repeatsperday") # # > If the server operator set the repeat amount per day to -1, it is endless. if {_max} is -1: @@ -329,13 +334,18 @@ function renderchallengeitems(player:player,page:number,currentxp:number=0): # > This function gets called, if the player tries to solve a challenge trough # > the challange menu. If successfull, remove items, add xp and items to player's inventory. function solvechallenge(p:player,challenge:text,page:number=0,shift:boolean=false): + # + # > Convert challenge format to page and challenge level page part. + set {_challengesplit::*} to {_challenge} split at "::" + #set {_page} to {_challengesplit::1} + set {_challangelvlpart} to {_challengesplit::2} # # > Set needed local variables. - set {_needed} to {SB::config::challenges::c::%{_challenge}%::needed} - set {_reward} to {SB::config::challenges::c::%{_challenge}%::reward} - set {_repeatreward} to {SB::config::challenges::c::%{_challenge}%::repeatreward} - set {_repeat} to {SB::config::challenges::c::%{_challenge}%::repeat} - set {_repeatsperday} to {SB::config::challenges::c::%{_challenge}%::repeatsperday} + set {_needed} to getconfigobject("challenges-config-c-%{_page}%_%{_challangelvlpart}%_needed") + set {_reward} to getconfigobject("challenges-config-c-%{_page}%_%{_challangelvlpart}%_reward") + set {_repeatreward} to getconfigobject("challenges-config-c-%{_page}%_%{_challangelvlpart}%_repeatreward") + set {_repeat} to getconfigobject("challenges-config-c-%{_page}%_%{_challangelvlpart}%_repeat") + set {_repeatsperday} to getconfigobject("challenges-config-c-%{_page}%_%{_challangelvlpart}%_repeatsperday") set {_cid} to {_challenge} replace all "::" with "" in {_cid} set {_uuid} to uuid of {_p} @@ -465,9 +475,9 @@ function solvechallenge(p:player,challenge:text,page:number=0,shift:boolean=fals # # > If there is a custom function set for this challenge, execute it with evaluate. - if {SB::config::challenges::c::%{_challenge}%::customfunction} is set: - if {SB::config::challenges::c::%{_challenge}%::customfunction} is not "": - set {_exec} to {SB::config::challenges::c::%{_challenge}%::customfunction} + if getconfigobject("challenges-config-c-%{_page}%_%{_challangelvlpart}%_customfunction") is set: + if getconfigobject("challenges-config-c-%{_page}%_%{_challangelvlpart}%_customfunction") is not "": + set {_exec} to getconfigobject("challenges-config-c-%{_page}%_%{_challangelvlpart}%_customfunction") replace all "" with "%{_p}%" in {_exec} evaluate "%{_exec}%" # @@ -539,10 +549,15 @@ function changechallengexp(player:offline player,action:text,amount:number) :: n # > challenge experience. function getcurrentrepeats(experience:number, repeats:number) :: number: # + # > If the repeat bonus is disabled, return the default repeat amount. + set {_repeatbonusenabled} to getconfigobject("challenges-config-repeatmodifier-enabled") + if {_repeatbonusenabled} is false: + return {_repeats} + # # > Shorten the long variables to short local variables. - set {_neededxp} to {SB::config::challenges::repeatmodifier::xprepeatincrease} - set {_repeatincrease} to {SB::config::challenges::repeatmodifier::repeatincrease} - set {_diffincrease} to {SB::config::challenges::repeatmodifier::difficulty} + set {_neededxp} to getconfigobject("challenges-config-repeatmodifier-xprepeatincrease") + set {_repeatincrease} to getconfigobject("challenges-config-repeatmodifier-repeatincrease") + set {_diffincrease} to getconfigobject("challenges-config-repeatmodifier-difficulty") set {_startrepeats} to {_repeats} # # > While loop as long we're not done. From dcd27939d71d88b2000a81e1b9506ce3d9850027 Mon Sep 17 00:00:00 2001 From: Abwasserrohr <44294954+Abwasserrohr@users.noreply.github.com> Date: Fri, 15 Mar 2019 17:20:54 +0100 Subject: [PATCH 7/8] Only send challenges disabled message if they're disabled --- SkyBlock/SKYBLOCK.SK/Functions/challenges.sk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SkyBlock/SKYBLOCK.SK/Functions/challenges.sk b/SkyBlock/SKYBLOCK.SK/Functions/challenges.sk index ee95f69c..281ace21 100644 --- a/SkyBlock/SKYBLOCK.SK/Functions/challenges.sk +++ b/SkyBlock/SKYBLOCK.SK/Functions/challenges.sk @@ -36,7 +36,7 @@ function openchallenges(p:player,page:number=0): set {_prefix} to getlang("prefix",{_lang}) # # > If the challenges are disabled, print error and stop here. - if {SB::config::usechallenges} is not true: + if {SB::config::usechallenges} is false: set {_msg} to getlang("challenge_disabled",{_lang}) message "%{_prefix}% %{_msg}%" to {_p} stop From 987b5d4951fb3ef9d620fdf365f143100d215334 Mon Sep 17 00:00:00 2001 From: Abwasserrohr <44294954+Abwasserrohr@users.noreply.github.com> Date: Fri, 15 Mar 2019 17:23:06 +0100 Subject: [PATCH 8/8] Removed extra bonus mistake --- SkyBlock/SKYBLOCK.SK/Functions/challenges.sk | 1 - 1 file changed, 1 deletion(-) diff --git a/SkyBlock/SKYBLOCK.SK/Functions/challenges.sk b/SkyBlock/SKYBLOCK.SK/Functions/challenges.sk index 281ace21..84dc80eb 100644 --- a/SkyBlock/SKYBLOCK.SK/Functions/challenges.sk +++ b/SkyBlock/SKYBLOCK.SK/Functions/challenges.sk @@ -572,6 +572,5 @@ function getcurrentrepeats(experience:number, repeats:number) :: number: # > If there is not enough experience, we're done here, return. else: set {_done} to true - add {_startrepeats} to {_repeats} delete {_done} return round({_repeats})