From 7a503ea76c68a883da8fde1bd8402695e890ae40 Mon Sep 17 00:00:00 2001 From: TfT_02 Date: Mon, 31 Dec 2012 02:24:07 +0100 Subject: [PATCH 1/6] Updated the changelog This hasen't got any major attention since the 14th of August, untill now. --- Changelog.txt | 46 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 39 insertions(+), 7 deletions(-) diff --git a/Changelog.txt b/Changelog.txt index a498432cf..0b3d9c57a 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -10,34 +10,66 @@ Key: Version 1.3.13-dev + Added Craftbukkit 1.4.6 compatibility + Added a configurable durability cap for ArmorImpact to advanced.yml - + Added version number to /mcmmo + + Added the version number to /mcmmo + + Added wooden button to the list of items that shouldn't trigger abilities = Fixed issue with missing default cases from several switch/case statements = Fixed issue with Mining using actual skill level rather than max skill level = Fixed some issues with static access = Fixed ItemStack deprecation issues = Fixed Async deprecation issues - = Fixed some issues with mySQL databases (non-alphanumeric characters preventing MySQL) - = Fixed skill commands displaying .x% instead of 0.x% - = Fixed Unbreaking enchantments being ignored when using Treefelling and when hit by Armor Impact + = Fixed a bug with MySQL databases (non-alphanumeric characters preventing MySQL access) + = Fixed a bug where the /skillreset command was broken + = Fixed a bug where skill commands displaying .x% instead of 0.x% + = Fixed a bug Unbreaking enchantments being ignored when using Treefelling and when hit by Armor Impact + = Fixed a bug where only 1 diamond was needed to fully repair a broken item: Repaired the Repair skill! + = Fixed a bug where a infinite loop of errors caused by mySQL database could cause the server to crash + = Fixed a bug where PartyChangeEvent was fired even when a player isn't able to change parties + = Fixed a NPE with custom blocks ! GJ stopped being a lazy slacker and got stuff done + ! Changed code that uses SpoutPlugin to make it compatible with the latest version + ! Changed Reimplemented skill level and power level caps. - Removed dead code relating to null profiles - Removed unused imports Version 1.3.12 + Added Craftbukkit 1.4.5 compatibility + + Added the new 1.3.2 items, xp and double drops for Cocao beans & Emeralds, EnderChest to the list of blocks that shouldn't trigger abilities + Added new items from Minecraft 1.4 to Herbalism (potatoes & carrots) + + Added new configuration file for advanced users. + + Added new permission nodes to greenthumb for the 1.4 items + Added new mobs from Minecraft 1.4 checks for every ability + Added new active ability for Repair: Salvage + Added options to 'config.yml' configure shake chance + Added the option to negate experience earned for Herbalism while in a minecart to prevent afk leveling + Added Green thumb now converts cobble walls to mossy cobble walls + Added beacons and anvils to list of blocks that don't trigger abilities + + Added a configuration option to disable experience gains when in a minecraft for Acrobatics and Herbalism, to prevent AFK leveling + + Added a new passive ability for Fishing, Fishermans diet. Increases hunger restored from fish + + Added a feature to display all active perks on login ! Changed Fishing, Shake drops changed from guaranteed to based upon fishing level and perks ! Changed Woodcutting, the amount of experience earned when using Tree Feller on jungle trees has increased + ! Changed Herbalism double drop rates for melons and netherwart ! Changed filesystem usage, it's reduced a lot. Should help reduce lag on larger servers - = Fixed Woodcutting bug, excessive null chunk before earning Woodcutting experience - = Fixed a null pointer error related to skill cooldowns - = Fixed more NPE ?? Needs better explanation + ! Changed database connection handling. Support for aggressive connection timeouts, with exponential backoff for multiple failures + ! Changed Cobblestone walls are now mossy-able with Greenthumb + ! Changed the skull drop rates of the shake ability to 3% + = Fixed a NPE when Citizens perform certain tasks + = Fixed a NPE with Woodcutting, excessive null chunk before earning Woodcutting experience + = Fixed a NPE related to skill cooldowns + = Fixed a NPE when a players profile was null + = Fixed a NPE involving certain explosions + = Fixed a dupe bug when for players who were using a 'nuker' client + = Fixed a dupe bug where pistons were used to dupe ores + = Fixed a dupe bug with Salvage when players were in Creative mode + = Fixed a bug where the player was displayed an incorrect cooldown time + = Fixed a bug where players could earn experience when they were dealing 0 damage + = Fixed a bug where players could get double drops from mossified Cobblestone + = Fixed a bug where Herablism magically converted potatoes to carrots + = Fixed a bug where you couldn't modify the stats of offline players + = Fixed a bug where treefeller didn't work properly on tree's with side-way logs + = Fixed a bug where the Arcane forging downgrade chance should've been 0, but actually wasn't + = Fixed a bug where Fishing would sometimes give items with empty enchantments + = Fixed a bug where the lucky perk for Fishing was actually an unlucky perk - Removed nothing Version 1.3.11 From cc18794a9353ee04250bac4ca487becfa4a96f74 Mon Sep 17 00:00:00 2001 From: TfT_02 Date: Mon, 31 Dec 2012 11:00:27 +0100 Subject: [PATCH 2/6] Don't damage the tool more than it's max durability --- .../java/com/gmail/nossr50/skills/gathering/WoodCutting.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/gmail/nossr50/skills/gathering/WoodCutting.java b/src/main/java/com/gmail/nossr50/skills/gathering/WoodCutting.java index c588ceb37..6e0886f8f 100644 --- a/src/main/java/com/gmail/nossr50/skills/gathering/WoodCutting.java +++ b/src/main/java/com/gmail/nossr50/skills/gathering/WoodCutting.java @@ -97,7 +97,8 @@ public class WoodCutting { } /* Damage the tool */ - inHand.setDurability((short) (inHand.getDurability() + durabilityLoss)); + if (inHand.getDurability() + durabilityLoss > inHand.getType().getMaxDurability()) inHand.setDurability((short) (inHand.getType().getMaxDurability())); + else inHand.setDurability((short) (inHand.getDurability() + durabilityLoss)); //Prepare ItemStacks ItemStack item = null; From 00279502e486f9244953cad60fab4a791f51e53b Mon Sep 17 00:00:00 2001 From: TfT_02 Date: Mon, 31 Dec 2012 11:04:01 +0100 Subject: [PATCH 3/6] This does prevent using wood axes everytime you tree fell --- .../com/gmail/nossr50/skills/gathering/WoodCutting.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/skills/gathering/WoodCutting.java b/src/main/java/com/gmail/nossr50/skills/gathering/WoodCutting.java index 6e0886f8f..5a11558d2 100644 --- a/src/main/java/com/gmail/nossr50/skills/gathering/WoodCutting.java +++ b/src/main/java/com/gmail/nossr50/skills/gathering/WoodCutting.java @@ -84,6 +84,8 @@ public class WoodCutting { if (health >= 2) { Combat.dealDamage(player, random.nextInt(health - 1)); } + inHand.setDurability((short) (inHand.getType().getMaxDurability())); + return; } } else if ((inHand.getDurability() + durabilityLoss >= inHand.getType().getMaxDurability()) || inHand.getType().equals(Material.AIR)) { @@ -94,11 +96,12 @@ public class WoodCutting { if (health >= 2) { Combat.dealDamage(player, random.nextInt(health - 1)); } + inHand.setDurability((short) (inHand.getType().getMaxDurability())); + return; } /* Damage the tool */ - if (inHand.getDurability() + durabilityLoss > inHand.getType().getMaxDurability()) inHand.setDurability((short) (inHand.getType().getMaxDurability())); - else inHand.setDurability((short) (inHand.getDurability() + durabilityLoss)); + inHand.setDurability((short) (inHand.getDurability() + durabilityLoss)); //Prepare ItemStacks ItemStack item = null; From 802d1dfa8ecddfe83ce3b78ebc6e01b2278f05cc Mon Sep 17 00:00:00 2001 From: TfT_02 Date: Mon, 31 Dec 2012 18:40:15 +0100 Subject: [PATCH 4/6] Fixed some mistakes with the path names #404 --- Changelog.txt | 1 + .../gmail/nossr50/config/AdvancedConfig.java | 18 +++++++++--------- src/main/resources/advanced.yml | 4 ++-- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/Changelog.txt b/Changelog.txt index 0b3d9c57a..27e8943d4 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -24,6 +24,7 @@ Version 1.3.13-dev = Fixed a bug where only 1 diamond was needed to fully repair a broken item: Repaired the Repair skill! = Fixed a bug where a infinite loop of errors caused by mySQL database could cause the server to crash = Fixed a bug where PartyChangeEvent was fired even when a player isn't able to change parties + = Fixed a bug which caused advanced.yml not to work for Swords = Fixed a NPE with custom blocks ! GJ stopped being a lazy slacker and got stuff done ! Changed code that uses SpoutPlugin to make it compatible with the latest version diff --git a/src/main/java/com/gmail/nossr50/config/AdvancedConfig.java b/src/main/java/com/gmail/nossr50/config/AdvancedConfig.java index f9a32ce3d..7ab839a42 100644 --- a/src/main/java/com/gmail/nossr50/config/AdvancedConfig.java +++ b/src/main/java/com/gmail/nossr50/config/AdvancedConfig.java @@ -99,17 +99,17 @@ public class AdvancedConfig extends ConfigLoader { public int getSuperRepairMaxLevel() { return config.getInt("Skills.Repair.SuperRepair_MaxBonusLevel", 1000); } /* SWORDS */ - public int getBleedChanceMax() { return config.getInt("Skills.Sword.Bleed_ChanceMax", 75); } - public int getBleedMaxBonusLevel() { return config.getInt("Skills.Sword.Bleed_MaxBonusLevel", 750); } - public int getBleedMaxTicks() { return config.getInt("Skills.Sword.Bleed_MaxTicks", 3); } - public int getBleedBaseTicks() { return config.getInt("Skills.Sword.Bleed_BaseTicks", 2); } + public int getBleedChanceMax() { return config.getInt("Skills.Swords.Bleed_ChanceMax", 75); } + public int getBleedMaxBonusLevel() { return config.getInt("Skills.Swords.Bleed_MaxBonusLevel", 750); } + public int getBleedMaxTicks() { return config.getInt("Skills.Swords.Bleed_MaxTicks", 3); } + public int getBleedBaseTicks() { return config.getInt("Skills.Swords.Bleed_BaseTicks", 2); } - public int getCounterChanceMax() { return config.getInt("Skills.Sword.Counter_ChanceMax", 30); } - public int getCounterMaxBonusLevel() { return config.getInt("Skills.Sword.Counter_MaxBonusLevel", 600); } - public int getCounterModifier() { return config.getInt("Skills.Sword.Counter_DamageModifier", 2); } + public int getCounterChanceMax() { return config.getInt("Skills.Swords.Counter_ChanceMax", 30); } + public int getCounterMaxBonusLevel() { return config.getInt("Skills.Swords.Counter_MaxBonusLevel", 600); } + public int getCounterModifier() { return config.getInt("Skills.Swords.Counter_DamageModifier", 2); } - public int getSerratedStrikesModifier() { return config.getInt("Skills.Sword.SerratedStrikes_DamageModifier", 4); } - public int getSerratedStrikesTicks() { return config.getInt("Skills.Sword.SerratedStrikes_BleedTicks", 5); } + public int getSerratedStrikesModifier() { return config.getInt("Skills.Swords.SerratedStrikes_DamageModifier", 4); } + public int getSerratedStrikesTicks() { return config.getInt("Skills.Swords.SerratedStrikes_BleedTicks", 5); } /* TAMING */ public int getGoreChanceMax() { return config.getInt("Skills.Taming.Gore_ChanceMax", 100); } public int getGoreMaxBonusLevel() { return config.getInt("Skills.Taming.Gore_MaxBonusLevel", 1000); } diff --git a/src/main/resources/advanced.yml b/src/main/resources/advanced.yml index 1191f3f79..10b3bebd3 100644 --- a/src/main/resources/advanced.yml +++ b/src/main/resources/advanced.yml @@ -77,8 +77,8 @@ Skills: Bleed_MaxBonusLevel: 750 Bleed_MaxTicks: 3 Bleed_BaseTicks: 2 - CounterAttack_ChanceMax: 30 - CounterAttack_MaxBonusLevel: 600 + Counter_ChanceMax: 30 + Counter_MaxBonusLevel: 600 Counter_DamageModifier: 2 SerratedStrikes_DamageModifier: 4 SerratedStrikes_BleedTicks: 5 From c598f202f8f3a6008025f3c5ccc4af85203a5fee Mon Sep 17 00:00:00 2001 From: TfT_02 Date: Mon, 31 Dec 2012 19:09:10 +0100 Subject: [PATCH 5/6] Updated the changelog --- Changelog.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Changelog.txt b/Changelog.txt index 27e8943d4..c74e9fee8 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -11,6 +11,8 @@ Version 1.3.13-dev + Added Craftbukkit 1.4.6 compatibility + Added a configurable durability cap for ArmorImpact to advanced.yml + Added the version number to /mcmmo + + Added bats, giants, witches, withers, and wither skeletons to the mcMMO combat experience list, and makes their experience drops configurable + + Added the ability to track mobs spawned by mob spawners or the Taming ability when the chunks they are in unload and reload + Added wooden button to the list of items that shouldn't trigger abilities = Fixed issue with missing default cases from several switch/case statements = Fixed issue with Mining using actual skill level rather than max skill level From 7a49fbb0bb32c85cd03335f48e53605e7fcb92b3 Mon Sep 17 00:00:00 2001 From: TfT_02 Date: Tue, 1 Jan 2013 22:42:27 +0100 Subject: [PATCH 6/6] Update the changelog with recent changes by Glitchfinder --- Changelog.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Changelog.txt b/Changelog.txt index c74e9fee8..578abaf87 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -27,6 +27,9 @@ Version 1.3.13-dev = Fixed a bug where a infinite loop of errors caused by mySQL database could cause the server to crash = Fixed a bug where PartyChangeEvent was fired even when a player isn't able to change parties = Fixed a bug which caused advanced.yml not to work for Swords + = Fixed a bug where Repair would remove enchantments but the glow effect remained + = Fixed a bug where dropped items did not retain custom NBT data + = Fixed a bug which caused a potentially infinite recursion in a btree structure = Fixed a NPE with custom blocks ! GJ stopped being a lazy slacker and got stuff done ! Changed code that uses SpoutPlugin to make it compatible with the latest version