From d06ec5e45243be4743a805065096cec8c36a32da Mon Sep 17 00:00:00 2001 From: GJ Date: Wed, 22 Feb 2012 15:12:01 -0500 Subject: [PATCH] Get Taming XP for milking cows. --- Changelog.txt | 1 + .../gmail/nossr50/config/LoadProperties.java | 3 ++- .../nossr50/listeners/mcPlayerListener.java | 17 +++++++++++++++++ src/main/resources/config.yml | 1 + 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/Changelog.txt b/Changelog.txt index 5c191b1a0..4e4a5df32 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -24,6 +24,7 @@ Version 1.3.00-dev ! Changed god mode to turn off if player enters world where he does not have mcgod permission ! Changed Taming to also gain XP from shearing ! Changed Taming to also gain XP from animal taming + ! Changed Taming to also gain XP from milking cows ! Changed Swords Bleeding effect to never kill ! Changed Bleeding to never go beyond 10 ticks ! Changed to use Bukkit's built-in ignoreCancelledEvents system diff --git a/src/main/java/com/gmail/nossr50/config/LoadProperties.java b/src/main/java/com/gmail/nossr50/config/LoadProperties.java index 747708344..d2978c70c 100644 --- a/src/main/java/com/gmail/nossr50/config/LoadProperties.java +++ b/src/main/java/com/gmail/nossr50/config/LoadProperties.java @@ -56,7 +56,7 @@ public class LoadProperties { MySQLserverName, MySQLdbName, MySQLdbPass, nWood, nStone, nIron, nGold, nDiamond, locale, nString, nLeather; - public static int mtameWolf, mshearing, mfishing, xpbar_x, xpbar_y, xpicon_x, xpicon_y, + public static int mtameWolf, mshearing, mmilkCow, mfishing, xpbar_x, xpbar_y, xpicon_x, xpicon_y, chimaeraId, msandstone, mbase, mpine, mbirch, mspruce, mmelon, mcactus, mmushroom, mflower, msugar, mpumpkin, mwheat, mgold, mdiamond, miron, mredstone, mlapis, mobsidian, mnetherrack, @@ -270,6 +270,7 @@ public class LoadProperties { mshearing = readInteger("Experience.Taming.Shearing", 250); mtameWolf = readInteger("Experience.Taming.Animal_Taming.Wolf", 250); + mmilkCow = readInteger("Experience.Taming.Milking", 50); mfishing = readInteger("Experience.Fishing.Base", 800); diff --git a/src/main/java/com/gmail/nossr50/listeners/mcPlayerListener.java b/src/main/java/com/gmail/nossr50/listeners/mcPlayerListener.java index bcb31db73..44dc16434 100644 --- a/src/main/java/com/gmail/nossr50/listeners/mcPlayerListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/mcPlayerListener.java @@ -34,6 +34,7 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; +import org.bukkit.event.player.PlayerBucketFillEvent; import org.bukkit.event.player.PlayerChangedWorldEvent; import org.bukkit.event.player.PlayerChatEvent; import org.bukkit.event.player.PlayerCommandPreprocessEvent; @@ -209,6 +210,7 @@ public class mcPlayerListener implements Listener player.sendMessage(ChatColor.GOLD+"mcMMO is currently in an XP rate event! XP rate is "+LoadProperties.xpGainMultiplier+"x!"); } + @SuppressWarnings("deprecation") @EventHandler(priority = EventPriority.MONITOR) public void onPlayerInteract(PlayerInteractEvent event) { @@ -375,6 +377,21 @@ public class mcPlayerListener implements Listener log.log(Level.INFO, "[A]<" + name + ">" + event.getMessage()); } } + + @EventHandler(priority = EventPriority.LOW) + public void onCowMilking(PlayerBucketFillEvent event){ + Player player = event.getPlayer(); + + if(mcPermissions.getInstance().taming(player)) + { + if(event.getItemStack().getTypeId() == 335) + { + PlayerProfile PP = Users.getProfile(player); + PP.addXP(SkillType.TAMING, LoadProperties.mmilkCow, player); + Skills.XpCheckSkill(SkillType.TAMING, player); + } + } + } // Dynamically aliasing commands need to be re-done. // For now, using a command with an alias will send both the original command, and the mcMMO command diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index c85d3a5fa..bd2c1b45c 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -219,6 +219,7 @@ Experience: Shearing: 250 Animal_Taming: Wolf: 250 + Milking: 50 # # Settings for Fishing