diff --git a/build.gradle b/build.gradle index d2c7a67..fbcdd02 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ apply plugin: 'java' group "mod.sin" -version "2.3" +version "2.4" repositories { mavenCentral() diff --git a/mods/Armoury.properties b/mods/Armoury.properties index 28a60ac..1cecc0c 100644 --- a/mods/Armoury.properties +++ b/mods/Armoury.properties @@ -1,4 +1,4 @@ -classname=ArmouryMod +classname=mod.sin.armoury.ArmouryMod classpath=Armoury.jar depend.import=SinduskLibrary depend.suggests=ServerTweaks diff --git a/src/main/java/mod/sin/armoury/ArmouryMod.java b/src/main/java/mod/sin/armoury/ArmouryMod.java index 06b6478..a8e6fcf 100644 --- a/src/main/java/mod/sin/armoury/ArmouryMod.java +++ b/src/main/java/mod/sin/armoury/ArmouryMod.java @@ -502,6 +502,7 @@ implements WurmServerMod, Configurable, PreInitable, ItemTemplatesCreatedListene @Override public void onServerStarted(){ WeaponTweaks.onServerStarted(); + CombatTweaks.onServerStarted(); for(CreatureTemplate template : CreatureTemplateFactory.getInstance().getTemplates()){ if(ArmourAssist.armourTypeToName.containsKey((int) template.getArmourType())) { logger.info(template.getName() + " - " + ArmourAssist.armourTypeToName.get((int) template.getArmourType())); diff --git a/src/main/java/mod/sin/armoury/CombatTweaks.java b/src/main/java/mod/sin/armoury/CombatTweaks.java index 6e2437f..f29fda5 100644 --- a/src/main/java/mod/sin/armoury/CombatTweaks.java +++ b/src/main/java/mod/sin/armoury/CombatTweaks.java @@ -38,6 +38,20 @@ public class CombatTweaks { return null; } } + + public static void onServerStarted(){ + // - Make spell effects hud show your armour limit properly - // + if(ArmouryMod.fixArmourLimitSpellEffect){ + try { + ReflectionUtil.setPrivateField(SpellEffectsEnum.ARMOUR_LIMIT_HEAVY, ReflectionUtil.getField(SpellEffectsEnum.ARMOUR_LIMIT_HEAVY.getClass(), "name"), "Armour Penalty"); + ReflectionUtil.setPrivateField(SpellEffectsEnum.ARMOUR_LIMIT_MEDIUM, ReflectionUtil.getField(SpellEffectsEnum.ARMOUR_LIMIT_MEDIUM.getClass(), "name"), "Armour Penalty"); + ReflectionUtil.setPrivateField(SpellEffectsEnum.ARMOUR_LIMIT_LIGHT, ReflectionUtil.getField(SpellEffectsEnum.ARMOUR_LIMIT_LIGHT.getClass(), "name"), "Armour Bonus"); + ReflectionUtil.setPrivateField(SpellEffectsEnum.ARMOUR_LIMIT_NONE, ReflectionUtil.getField(SpellEffectsEnum.ARMOUR_LIMIT_NONE.getClass(), "name"), "Armour Bonus"); + } catch (IllegalAccessException | NoSuchFieldException e) { + e.printStackTrace(); + } + } + } public static void preInit(){ try { @@ -121,15 +135,7 @@ public class CombatTweaks { } }); } - - // - Make spell effects hud show your armour limit properly - // - if(ArmouryMod.fixArmourLimitSpellEffect){ - ReflectionUtil.setPrivateField(SpellEffectsEnum.ARMOUR_LIMIT_HEAVY, ReflectionUtil.getField(SpellEffectsEnum.ARMOUR_LIMIT_HEAVY.getClass(), "name"), "Armour Penalty"); - ReflectionUtil.setPrivateField(SpellEffectsEnum.ARMOUR_LIMIT_MEDIUM, ReflectionUtil.getField(SpellEffectsEnum.ARMOUR_LIMIT_MEDIUM.getClass(), "name"), "Armour Penalty"); - ReflectionUtil.setPrivateField(SpellEffectsEnum.ARMOUR_LIMIT_LIGHT, ReflectionUtil.getField(SpellEffectsEnum.ARMOUR_LIMIT_LIGHT.getClass(), "name"), "Armour Bonus"); - ReflectionUtil.setPrivateField(SpellEffectsEnum.ARMOUR_LIMIT_NONE, ReflectionUtil.getField(SpellEffectsEnum.ARMOUR_LIMIT_NONE.getClass(), "name"), "Armour Bonus"); - } - + // - Change the minimum swing timer - // if(ArmouryMod.minimumSwingTime != 3.0f){ CtClass ctCombatHandler = classPool.get("com.wurmonline.server.creatures.CombatHandler"); @@ -293,7 +299,7 @@ public class CombatTweaks { desc = Descriptor.ofMethod(CtClass.booleanType, params3); ctCombatHandler.getMethod("attack", desc).insertBefore("logger.info(\"Calling attack(Creature, Item, boolean)\");");*/ - } catch (CannotCompileException | NotFoundException | IllegalArgumentException | IllegalAccessException | ClassCastException | NoSuchFieldException e) { + } catch (CannotCompileException | NotFoundException | IllegalArgumentException | ClassCastException e) { // TODO Auto-generated catch block e.printStackTrace(); }