From bb8ebf561baee94894092397b1f611e2ecb87159 Mon Sep 17 00:00:00 2001 From: Stephen Seo Date: Fri, 28 Sep 2018 12:02:39 +0900 Subject: [PATCH] Change how silly music is triggered Can now specify in config what minimum percentage of silly entities trigger silly music in battle. --- .../TurnBasedMinecraft/client/ClientProxy.java | 16 +++++++++++++++- .../common/BattleManager.java | 2 +- .../TurnBasedMinecraft/common/Config.java | 18 ++++++++++++++++++ .../common/TurnBasedMinecraftMod.java | 5 +++++ .../assets/TurnBasedMinecraft/TBM_Config.xml | 2 ++ 5 files changed, 41 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/seodisparate/TurnBasedMinecraft/client/ClientProxy.java b/src/main/java/com/seodisparate/TurnBasedMinecraft/client/ClientProxy.java index 63142f1..dd9c7ba 100644 --- a/src/main/java/com/seodisparate/TurnBasedMinecraft/client/ClientProxy.java +++ b/src/main/java/com/seodisparate/TurnBasedMinecraft/client/ClientProxy.java @@ -181,7 +181,21 @@ public class ClientProxy extends CommonProxy private void checkBattleTypes() { - if(battleMusicCount <= 1 && sillyMusicCount > 0) + float percentage = 0.0f; + if(sillyMusicCount == 0 && battleMusicCount == 0) + { + percentage = 0.0f; + } + else if(battleMusicCount == 0) + { + percentage = 100.0f; + } + else + { + percentage = 100.0f * (float)sillyMusicCount / (float)(sillyMusicCount + battleMusicCount); + } + + if(percentage >= (float)TurnBasedMinecraftMod.getConfig().getSillyMusicThreshold()) { if(battleMusic.isPlaying()) { diff --git a/src/main/java/com/seodisparate/TurnBasedMinecraft/common/BattleManager.java b/src/main/java/com/seodisparate/TurnBasedMinecraft/common/BattleManager.java index a8f6e8e..c248d0d 100644 --- a/src/main/java/com/seodisparate/TurnBasedMinecraft/common/BattleManager.java +++ b/src/main/java/com/seodisparate/TurnBasedMinecraft/common/BattleManager.java @@ -142,7 +142,7 @@ public class BattleManager // battle limit reached, cannot add to battle return true; } - if(battle.hasCombatantInSideA(inBattle.getEntityId())) + else if(battle.hasCombatantInSideA(inBattle.getEntityId())) { battle.addCombatantToSideB(notInBattle); } diff --git a/src/main/java/com/seodisparate/TurnBasedMinecraft/common/Config.java b/src/main/java/com/seodisparate/TurnBasedMinecraft/common/Config.java index 476442e..42d7ee2 100644 --- a/src/main/java/com/seodisparate/TurnBasedMinecraft/common/Config.java +++ b/src/main/java/com/seodisparate/TurnBasedMinecraft/common/Config.java @@ -38,6 +38,7 @@ public class Config private Set musicBattleTypes; private Set musicSillyTypes; private boolean freezeCombatantsInBattle = false; + private int sillyMusicThreshold = 40; public Config(Logger logger) { @@ -277,6 +278,18 @@ public class Config TurnBasedMinecraftMod.setBattleDurationSeconds(TurnBasedMinecraftMod.BATTLE_DECISION_DURATION_NANO_DEFAULT / 1000000000L); } } + else if(xmlReader.getLocalName().equals("SillyMusicThreshold")) + { + sillyMusicThreshold = Integer.parseInt(xmlReader.getElementText()); + if(sillyMusicThreshold < 0) + { + sillyMusicThreshold = 0; + } + else if(sillyMusicThreshold > 100) + { + sillyMusicThreshold = 100; + } + } else if(xmlReader.getLocalName().equals("EntityEntry")) { EntityInfo eInfo = new EntityInfo(); @@ -521,4 +534,9 @@ public class Config { return freezeCombatantsInBattle; } + + public int getSillyMusicThreshold() + { + return sillyMusicThreshold; + } } diff --git a/src/main/java/com/seodisparate/TurnBasedMinecraft/common/TurnBasedMinecraftMod.java b/src/main/java/com/seodisparate/TurnBasedMinecraft/common/TurnBasedMinecraftMod.java index c56e4fa..b23cb86 100644 --- a/src/main/java/com/seodisparate/TurnBasedMinecraft/common/TurnBasedMinecraftMod.java +++ b/src/main/java/com/seodisparate/TurnBasedMinecraft/common/TurnBasedMinecraftMod.java @@ -165,4 +165,9 @@ public class TurnBasedMinecraftMod BATTLE_DECISION_DURATION_NANOSECONDS = BATTLE_DECISION_DURATION_NANO_MAX; } } + + public static Config getConfig() + { + return config; + } } diff --git a/src/main/resources/assets/TurnBasedMinecraft/TBM_Config.xml b/src/main/resources/assets/TurnBasedMinecraft/TBM_Config.xml index ffbf514..fb217c0 100644 --- a/src/main/resources/assets/TurnBasedMinecraft/TBM_Config.xml +++ b/src/main/resources/assets/TurnBasedMinecraft/TBM_Config.xml @@ -40,6 +40,8 @@ 4 15 + + 40