treasures.yml now has specific entries for Standard/Retro

This commit is contained in:
nossr50 2021-03-30 15:37:01 -07:00
parent ae538d8c72
commit fdefea3235
7 changed files with 138 additions and 45 deletions

View File

@ -1,9 +1,14 @@
Version 2.1.183 Version 2.1.183
treasures.yml now has separate settings for Drop_Level for Standard/Retro mode (see notes / this change is automatic)
Updated Russian locale (thanks ImDaniX) Updated Russian locale (thanks ImDaniX)
Added Donkeys to beat lore (thanks QuantumToasted) Added Donkeys to beat lore (thanks QuantumToasted)
Alchemy guide now correctly labels Rabbit's foot for potion of leaping (thanks mldriscoll) Alchemy guide now correctly labels Rabbit's foot for potion of leaping (thanks mldriscoll)
Fixed a bug where sweet berry bushes would give XP in situations where they shouldn't Fixed a bug where sweet berry bushes would give XP in situations where they shouldn't
NOTES:
Previously treasures.yml would take drop_level and multiply it by 10 if you were on Retro Mode, this is confusing so it has been changed
treasures.yml will update old entries to follow the new format automatically, please review them to make sure they match expected values, and if not edit them and save then reboot your server
Version 2.1.182 Version 2.1.182
Players now receive XP from harvesting Sweet Berry bushes (double XP for harvesting fully grown berries) Players now receive XP from harvesting Sweet Berry bushes (double XP for harvesting fully grown berries)
Fixed an error when using mcMMO with Featherboard that broke mcMMO skill boards when using certain commands Fixed an error when using mcMMO with Featherboard that broke mcMMO skill boards when using certain commands

View File

@ -43,7 +43,7 @@ public class SalvageConfig extends ConfigLoader {
if(mcMMO.getUpgradeManager().shouldUpgrade(UpgradeType.FIX_NETHERITE_SALVAGE_QUANTITIES)) { if(mcMMO.getUpgradeManager().shouldUpgrade(UpgradeType.FIX_NETHERITE_SALVAGE_QUANTITIES)) {
mcMMO.p.getLogger().info("Fixing incorrect Salvage quantities on Netherite gear, this will only run once..."); mcMMO.p.getLogger().info("Fixing incorrect Salvage quantities on Netherite gear, this will only run once...");
for(String namespacedkey : mcMMO.getMaterialMapStore().getNetheriteArmor()) { for(String namespacedkey : mcMMO.getMaterialMapStore().getNetheriteArmor()) {
config.set("Salvageables." + namespacedkey.toUpperCase() + ".MaximumQuantity", 4); config.set("Salvageables." + namespacedkey.toUpperCase() + ".MaximumQuantity", 4); //TODO: Doesn't make sense to default to 4 for everything
} }
try { try {

View File

@ -164,7 +164,7 @@ public class FishingTreasureConfig extends ConfigLoader {
} }
if (dropLevel < 0) { if (dropLevel < 0) {
reason.add(treasureName + " has an invalid Drop_Level: " + dropLevel); reason.add("Fishing Config: " + treasureName + " has an invalid Drop_Level: " + dropLevel);
} }
/* /*

View File

@ -3,6 +3,7 @@ package com.gmail.nossr50.config.treasure;
import com.gmail.nossr50.config.ConfigLoader; import com.gmail.nossr50.config.ConfigLoader;
import com.gmail.nossr50.datatypes.treasure.ExcavationTreasure; import com.gmail.nossr50.datatypes.treasure.ExcavationTreasure;
import com.gmail.nossr50.datatypes.treasure.HylianTreasure; import com.gmail.nossr50.datatypes.treasure.HylianTreasure;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.util.text.StringUtils; import com.gmail.nossr50.util.text.StringUtils;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.Material; import org.bukkit.Material;
@ -14,6 +15,7 @@ import org.bukkit.inventory.meta.PotionMeta;
import org.bukkit.potion.PotionData; import org.bukkit.potion.PotionData;
import org.bukkit.potion.PotionType; import org.bukkit.potion.PotionType;
import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -21,6 +23,9 @@ import java.util.List;
public class TreasureConfig extends ConfigLoader { public class TreasureConfig extends ConfigLoader {
public static final String FILENAME = "treasures.yml"; public static final String FILENAME = "treasures.yml";
public static final String LEVEL_REQUIREMENT_RETRO_MODE = ".Level_Requirement.Retro_Mode";
public static final String LEVEL_REQUIREMENT_STANDARD_MODE = ".Level_Requirement.Standard_Mode";
public static final String LEGACY_DROP_LEVEL = ".Drop_Level";
private static TreasureConfig instance; private static TreasureConfig instance;
public HashMap<String, List<ExcavationTreasure>> excavationMap = new HashMap<>(); public HashMap<String, List<ExcavationTreasure>> excavationMap = new HashMap<>();
@ -60,6 +65,7 @@ public class TreasureConfig extends ConfigLoader {
} }
private void loadTreasures(String type) { private void loadTreasures(String type) {
boolean updatedFile = false;
boolean isExcavation = type.equals("Excavation"); boolean isExcavation = type.equals("Excavation");
boolean isHylian = type.equals("Hylian_Luck"); boolean isHylian = type.equals("Hylian_Luck");
@ -103,7 +109,29 @@ public class TreasureConfig extends ConfigLoader {
int xp = config.getInt(type + "." + treasureName + ".XP"); int xp = config.getInt(type + "." + treasureName + ".XP");
double dropChance = config.getDouble(type + "." + treasureName + ".Drop_Chance"); double dropChance = config.getDouble(type + "." + treasureName + ".Drop_Chance");
int dropLevel = config.getInt(type + "." + treasureName + ".Drop_Level"); int legacyDropLevel = config.getInt(type + "." + treasureName + LEGACY_DROP_LEVEL, -1);
int dropLevel = -1;
if(legacyDropLevel >= 0) {
//Config needs to be updated to be more specific
mcMMO.p.getLogger().info("(" + treasureName + ") Updating Drop_Level in treasures.yml for treasure to match new expected format");
config.set(type + "." + treasureName + LEGACY_DROP_LEVEL, null);
config.set(type + "." + treasureName + LEVEL_REQUIREMENT_RETRO_MODE, legacyDropLevel * 10);
config.set(type + "." + treasureName + LEVEL_REQUIREMENT_STANDARD_MODE, legacyDropLevel);
updatedFile = true;
}
if(mcMMO.isRetroModeEnabled()) {
dropLevel = config.getInt(type + "." + treasureName + LEVEL_REQUIREMENT_RETRO_MODE, 0);
} else {
dropLevel = config.getInt(type + "." + treasureName + LEVEL_REQUIREMENT_STANDARD_MODE, 0);
}
if(dropLevel < 0) {
mcMMO.p.getLogger().info("Treasure drop level wasn't valid, using a default value.");
//Set it to the "max" if we don't have a drop level
dropLevel = 0;
}
if (xp < 0) { if (xp < 0) {
reason.add(treasureName + " has an invalid XP value: " + xp); reason.add(treasureName + " has an invalid XP value: " + xp);
@ -113,9 +141,6 @@ public class TreasureConfig extends ConfigLoader {
reason.add(treasureName + " has an invalid Drop_Chance: " + dropChance); reason.add(treasureName + " has an invalid Drop_Chance: " + dropChance);
} }
if (dropLevel < 0) {
reason.add(treasureName + " has an invalid Drop_Level: " + dropLevel);
}
/* /*
* Itemstack * Itemstack
@ -219,6 +244,15 @@ public class TreasureConfig extends ConfigLoader {
} }
} }
} }
//Apply our fix
if(updatedFile) {
try {
config.save(getFile());
} catch (IOException e) {
e.printStackTrace();
}
}
} }
private void AddHylianTreasure(String dropper, HylianTreasure treasure) { private void AddHylianTreasure(String dropper, HylianTreasure treasure) {

View File

@ -1,6 +1,5 @@
package com.gmail.nossr50.datatypes.treasure; package com.gmail.nossr50.datatypes.treasure;
import com.gmail.nossr50.config.Config;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
public abstract class Treasure { public abstract class Treasure {
@ -41,10 +40,6 @@ public abstract class Treasure {
} }
public int getDropLevel() { public int getDropLevel() {
//If they are in retro mode all requirements are scaled up by 10
if(Config.getInstance().getIsRetroMode())
return dropLevel * 10;
return dropLevel; return dropLevel;
} }

View File

@ -163,6 +163,9 @@ public class mcMMO extends JavaPlugin {
@Override @Override
public void onEnable() { public void onEnable() {
try { try {
//Store this value so other plugins can check it
isRetroModeEnabled = Config.getInstance().getIsRetroMode();
//Platform Manager //Platform Manager
platformManager = new PlatformManager(); platformManager = new PlatformManager();
@ -190,9 +193,6 @@ public class mcMMO extends JavaPlugin {
return; return;
} }
//Store this value so other plugins can check it
isRetroModeEnabled = Config.getInstance().getIsRetroMode();
if (getServer().getName().equals("Cauldron") || getServer().getName().equals("MCPC+")) { if (getServer().getName().equals("Cauldron") || getServer().getName().equals("MCPC+")) {
checkModConfigs(); checkModConfigs();
} }

View File

@ -1,133 +1,174 @@
# #
# Settings for Excavation's Archaeology # Settings for Excavation's Archaeology
# If you are in retro mode, Drop_Level is multiplied by 10.
### ###
Excavation: Excavation:
CAKE: CAKE:
Amount: 1 Amount: 1
XP: 3000 XP: 3000
Drop_Chance: 0.05 Drop_Chance: 0.05
Drop_Level: 75 Drop_Level:
Standard: 75
Retro_Mode: 750
Drops_From: [Dirt, Coarse_Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand, Soul_Soil] Drops_From: [Dirt, Coarse_Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand, Soul_Soil]
GUNPOWDER: GUNPOWDER:
Amount: 1 Amount: 1
XP: 30 XP: 30
Drop_Chance: 10.0 Drop_Chance: 10.0
Drop_Level: 10 Drop_Level:
Standard: 10
Retro_Mode: 1000
Drops_From: [Gravel] Drops_From: [Gravel]
BONE: BONE:
Amount: 1 Amount: 1
XP: 30 XP: 30
Drop_Chance: 10.0 Drop_Chance: 10.0
Drop_Level: 20 Drop_Level:
Standard: 20
Retro_Mode: 200
Drops_From: [Gravel] Drops_From: [Gravel]
APPLE: APPLE:
Amount: 1 Amount: 1
XP: 100 XP: 100
Drop_Chance: 0.1 Drop_Chance: 0.1
Drop_Level: 25 Drop_Level:
Standard: 25
Retro_Mode: 250
Drops_From: [Grass_Block, Mycelium] Drops_From: [Grass_Block, Mycelium]
SLIME_BALL: SLIME_BALL:
Amount: 1 Amount: 1
XP: 100 XP: 100
Drop_Chance: 5.0 Drop_Chance: 5.0
Drop_Level: 15 Drop_Level:
Standard: 15
Retro_Mode: 150
Drops_From: [Clay] Drops_From: [Clay]
BUCKET: BUCKET:
Amount: 1 Amount: 1
XP: 100 XP: 100
Drop_Chance: 0.1 Drop_Chance: 0.1
Drop_Level: 50 Drop_Level:
Standard: 50
Retro_Mode: 500
Drops_From: [Clay] Drops_From: [Clay]
NETHERRACK: NETHERRACK:
Amount: 1 Amount: 1
XP: 30 XP: 30
Drop_Chance: 0.5 Drop_Chance: 0.5
Drop_Level: 85 Drop_Level:
Standard: 85
Retro_Mode: 850
Drops_From: [Gravel] Drops_From: [Gravel]
RED_MUSHROOM: RED_MUSHROOM:
Amount: 1 Amount: 1
XP: 80 XP: 80
Drop_Chance: 0.5 Drop_Chance: 0.5
Drop_Level: 50 Drop_Level:
Standard: 50
Retro_Mode: 500
Drops_From: [Dirt, Coarse_Dirt, Podzol, Grass_Block, Mycelium] Drops_From: [Dirt, Coarse_Dirt, Podzol, Grass_Block, Mycelium]
BROWN_MUSHROOM: BROWN_MUSHROOM:
Amount: 1 Amount: 1
XP: 80 XP: 80
Drop_Chance: 0.5 Drop_Chance: 0.5
Drop_Level: 50 Drop_Level:
Standard: 50
Retro_Mode: 500
Drops_From: [Dirt, Coarse_Dirt, Podzol, Grass_Block, Mycelium] Drops_From: [Dirt, Coarse_Dirt, Podzol, Grass_Block, Mycelium]
EGG: EGG:
Amount: 1 Amount: 1
XP: 100 XP: 100
Drop_Chance: 1.0 Drop_Chance: 1.0
Drop_Level: 25 Drop_Level:
Standard: 25
Retro_Mode: 250
Drops_From: [Grass_Block] Drops_From: [Grass_Block]
SOUL_SAND: SOUL_SAND:
Amount: 1 Amount: 1
XP: 80 XP: 80
Drop_Chance: 0.5 Drop_Chance: 0.5
Drop_Level: 65 Drop_Level:
Standard: 65
Retro_Mode: 650
Drops_From: [Sand, Red_Sand] Drops_From: [Sand, Red_Sand]
CLOCK: CLOCK:
Amount: 1 Amount: 1
XP: 100 XP: 100
Drop_Chance: 0.1 Drop_Chance: 0.1
Drop_Level: 50 Drop_Level:
Standard: 50
Retro_Mode: 500
Drops_From: [Clay] Drops_From: [Clay]
COBWEB: COBWEB:
Amount: 1 Amount: 1
XP: 150 XP: 150
Drop_Chance: 5.0 Drop_Chance: 5.0
Drop_Level: 75 Drop_Level:
Standard: 75
Retro_Mode: 750
Drops_From: [Clay] Drops_From: [Clay]
STRING: STRING:
Amount: 1 Amount: 1
XP: 200 XP: 200
Drop_Chance: 5.0 Drop_Chance: 5.0
Drop_Level: 25 Drop_Level:
Standard: 25
Retro_Mode: 250
Drops_From: [Clay] Drops_From: [Clay]
GLOWSTONE_DUST: GLOWSTONE_DUST:
Amount: 1 Amount: 1
XP: 80 XP: 80
Drop_Chance: 5.0 Drop_Chance: 5.0
Drop_Level: 5 Drop_Level:
Standard: 5
Retro_Mode: 50
Drops_From: [Dirt, Coarse_Dirt, Podzol, Grass_Block, Sand, Red_Sand, Mycelium] Drops_From: [Dirt, Coarse_Dirt, Podzol, Grass_Block, Sand, Red_Sand, Mycelium]
MUSIC_DISC_13: MUSIC_DISC_13:
Amount: 1 Amount: 1
XP: 3000 XP: 3000
Drop_Chance: 0.05 Drop_Chance: 0.05
Drop_Level: 25 Drop_Level:
Standard: 25
Retro_Mode: 250
Drops_From: [Dirt, Coarse_Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand, Soul_Soil] Drops_From: [Dirt, Coarse_Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand, Soul_Soil]
MUSIC_DISC_CAT: MUSIC_DISC_CAT:
Amount: 1 Amount: 1
XP: 3000 XP: 3000
Drop_Chance: 0.05 Drop_Chance: 0.05
Drop_Level: 25 Drop_Level:
Standard: 25
Retro_Mode: 250
Drops_From: [Dirt, Coarse_Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand, Soul_Soil] Drops_From: [Dirt, Coarse_Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand, Soul_Soil]
DIAMOND: DIAMOND:
Amount: 1 Amount: 1
XP: 1000 XP: 1000
Drop_Chance: 0.13 Drop_Chance: 0.13
Drop_Level: 35 Drop_Level:
Standard: 35
Retro_Mode: 350
Drops_From: [Dirt, Coarse_Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand, Soul_Soil] Drops_From: [Dirt, Coarse_Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand, Soul_Soil]
COCOA_BEANS: COCOA_BEANS:
Amount: 1 Amount: 1
XP: 100 XP: 100
Drop_Chance: 1.33 Drop_Chance: 1.33
Drop_Level: 35 Drop_Level:
Standard: 35
Retro_Mode: 350
Drops_From: [Dirt, Coarse_Dirt, Podzol, Grass_Block, Mycelium] Drops_From: [Dirt, Coarse_Dirt, Podzol, Grass_Block, Mycelium]
QUARTZ: QUARTZ:
Amount: 1 Amount: 1
XP: 100 XP: 100
Drop_Chance: 0.5 Drop_Chance: 0.5
Drop_Level: 85 Drop_Level:
Standard: 85
Retro_Mode: 850
Drops_From: [Dirt, Coarse_Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Mycelium, Soul_Sand, Soul_Soil] Drops_From: [Dirt, Coarse_Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Mycelium, Soul_Sand, Soul_Soil]
NAME_TAG: NAME_TAG:
Amount: 1 Amount: 1
XP: 3000 XP: 3000
Drop_Chance: 0.05 Drop_Chance: 0.05
Drop_Level: 25 Drop_Level:
Standard: 25
Retro_Mode: 250
Drops_From: [Dirt, Coarse_Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand, Soul_Soil] Drops_From: [Dirt, Coarse_Dirt, Podzol, Grass_Block, Sand, Red_Sand, Gravel, Clay, Mycelium, Soul_Sand, Soul_Soil]
# #
# Settings for Hylian Luck # Settings for Hylian Luck
@ -138,53 +179,71 @@ Hylian_Luck:
Amount: 1 Amount: 1
XP: 0 XP: 0
Drop_Chance: 100.0 Drop_Chance: 100.0
Drop_Level: 0 Drop_Level:
Standard: 0
Retro_Mode: 0
Drops_From: [Bushes] Drops_From: [Bushes]
PUMPKIN_SEEDS: PUMPKIN_SEEDS:
Amount: 1 Amount: 1
XP: 0 XP: 0
Drop_Chance: 100.0 Drop_Chance: 100.0
Drop_Level: 0 Drop_Level:
Standard: 0
Retro_Mode: 0
Drops_From: [Bushes] Drops_From: [Bushes]
COCOA_BEANS: COCOA_BEANS:
Amount: 1 Amount: 1
XP: 0 XP: 0
Drop_Chance: 100.0 Drop_Chance: 100.0
Drop_Level: 0 Drop_Level:
Standard: 0
Retro_Mode: 0
Drops_From: [Bushes] Drops_From: [Bushes]
CARROT: CARROT:
Amount: 1 Amount: 1
XP: 0 XP: 0
Drop_Chance: 100.0 Drop_Chance: 100.0
Drop_Level: 0 Drop_Level:
Standard: 0
Retro_Mode: 0
Drops_From: [Flowers] Drops_From: [Flowers]
POTATO: POTATO:
Amount: 1 Amount: 1
XP: 0 XP: 0
Drop_Chance: 100.0 Drop_Chance: 100.0
Drop_Level: 0 Drop_Level:
Standard: 0
Retro_Mode: 0
Drops_From: [Flowers] Drops_From: [Flowers]
APPLE: APPLE:
Amount: 1 Amount: 1
XP: 0 XP: 0
Drop_Chance: 100.0 Drop_Chance: 100.0
Drop_Level: 0 Drop_Level:
Standard: 0
Retro_Mode: 0
Drops_From: [Flowers] Drops_From: [Flowers]
EMERALD: EMERALD:
Amount: 1 Amount: 1
XP: 0 XP: 0
Drop_Chance: 100.0 Drop_Chance: 100.0
Drop_Level: 0 Drop_Level:
Standard: 0
Retro_Mode: 0
Drops_From: [Pots] Drops_From: [Pots]
DIAMOND: DIAMOND:
Amount: 1 Amount: 1
XP: 0 XP: 0
Drop_Chance: 100.0 Drop_Chance: 100.0
Drop_Level: 0 Drop_Level:
Standard: 0
Retro_Mode: 0
Drops_From: [Pots] Drops_From: [Pots]
GOLD_NUGGET: GOLD_NUGGET:
Amount: 1 Amount: 1
XP: 0 XP: 0
Drop_Chance: 100.0 Drop_Chance: 100.0
Drop_Level: 0 Drop_Level:
Standard: 0
Retro_Mode: 0
Drops_From: [Pots] Drops_From: [Pots]