From dfa4ecbe4fff8169e5cee040f9e9f12aa9031624 Mon Sep 17 00:00:00 2001 From: KHobbits Date: Tue, 13 Dec 2011 01:47:58 +0000 Subject: [PATCH 1/9] Inform user that they were healed. --- .../src/com/earth2me/essentials/commands/Commandheal.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandheal.java b/Essentials/src/com/earth2me/essentials/commands/Commandheal.java index 02b8ed30c..82678c96e 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandheal.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandheal.java @@ -64,6 +64,8 @@ public class Commandheal extends EssentialsCommand continue; } p.setHealth(20); + p.setFoodLevel(20); + p.sendMessage(_("heal")); sender.sendMessage(_("healOther", p.getDisplayName())); } } From faddbd09a499a3ce515dd15f04bd075746b6b7ef Mon Sep 17 00:00:00 2001 From: KHobbits Date: Tue, 13 Dec 2011 03:11:11 +0000 Subject: [PATCH 2/9] Update copylibs. --- BuildAll/nbproject/build-impl.xml | 8 +++++--- BuildAll/nbproject/genfiles.properties | 4 ++-- Essentials/nbproject/build-impl.xml | 8 +++++--- Essentials/nbproject/genfiles.properties | 4 ++-- EssentialsChat/nbproject/build-impl.xml | 8 +++++--- EssentialsChat/nbproject/genfiles.properties | 4 ++-- EssentialsGeoIP/nbproject/build-impl.xml | 8 +++++--- EssentialsGeoIP/nbproject/genfiles.properties | 4 ++-- .../nbproject/build-impl.xml | 8 +++++--- .../nbproject/genfiles.properties | 4 ++-- .../nbproject/build-impl.xml | 8 +++++--- .../nbproject/genfiles.properties | 4 ++-- EssentialsProtect/nbproject/build-impl.xml | 8 +++++--- .../nbproject/genfiles.properties | 4 ++-- EssentialsSpawn/nbproject/build-impl.xml | 8 +++++--- EssentialsSpawn/nbproject/genfiles.properties | 4 ++-- EssentialsXMPP/nbproject/build-impl.xml | 8 +++++--- EssentialsXMPP/nbproject/genfiles.properties | 4 ++-- ...-modules-java-j2seproject-copylibstask.jar | Bin 17873 -> 22335 bytes 19 files changed, 63 insertions(+), 45 deletions(-) diff --git a/BuildAll/nbproject/build-impl.xml b/BuildAll/nbproject/build-impl.xml index 34bc10d88..7c88bb114 100644 --- a/BuildAll/nbproject/build-impl.xml +++ b/BuildAll/nbproject/build-impl.xml @@ -20,10 +20,10 @@ is divided into following sections: --> - + - + @@ -223,6 +223,7 @@ is divided into following sections: + @@ -409,6 +410,7 @@ is divided into following sections: + @@ -539,7 +541,7 @@ is divided into following sections: - + diff --git a/BuildAll/nbproject/genfiles.properties b/BuildAll/nbproject/genfiles.properties index d832e2cec..64276c0d9 100644 --- a/BuildAll/nbproject/genfiles.properties +++ b/BuildAll/nbproject/genfiles.properties @@ -4,5 +4,5 @@ build.xml.stylesheet.CRC32=28e38971@1.44.1.45 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. nbproject/build-impl.xml.data.CRC32=51b33957 -nbproject/build-impl.xml.script.CRC32=66b89647 -nbproject/build-impl.xml.stylesheet.CRC32=0ae3a408@1.44.1.45 +nbproject/build-impl.xml.script.CRC32=c8376938 +nbproject/build-impl.xml.stylesheet.CRC32=c12040a1@1.47.1.46 diff --git a/Essentials/nbproject/build-impl.xml b/Essentials/nbproject/build-impl.xml index 0816b04c9..8ee1561bd 100644 --- a/Essentials/nbproject/build-impl.xml +++ b/Essentials/nbproject/build-impl.xml @@ -20,10 +20,10 @@ is divided into following sections: --> - + - + @@ -223,6 +223,7 @@ is divided into following sections: + @@ -409,6 +410,7 @@ is divided into following sections: + @@ -539,7 +541,7 @@ is divided into following sections: - + diff --git a/Essentials/nbproject/genfiles.properties b/Essentials/nbproject/genfiles.properties index d39edfe18..d261d97cb 100644 --- a/Essentials/nbproject/genfiles.properties +++ b/Essentials/nbproject/genfiles.properties @@ -4,8 +4,8 @@ build.xml.stylesheet.CRC32=28e38971@1.38.2.45 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. nbproject/build-impl.xml.data.CRC32=a830bc14 -nbproject/build-impl.xml.script.CRC32=64a00ba6 -nbproject/build-impl.xml.stylesheet.CRC32=0ae3a408@1.44.1.45 +nbproject/build-impl.xml.script.CRC32=40df7eaf +nbproject/build-impl.xml.stylesheet.CRC32=c12040a1@1.47.1.46 nbproject/profiler-build-impl.xml.data.CRC32=ab78ce15 nbproject/profiler-build-impl.xml.script.CRC32=abda56ed nbproject/profiler-build-impl.xml.stylesheet.CRC32=f10cf54c@1.11.1 diff --git a/EssentialsChat/nbproject/build-impl.xml b/EssentialsChat/nbproject/build-impl.xml index 4dc2d2659..520e8a1d5 100644 --- a/EssentialsChat/nbproject/build-impl.xml +++ b/EssentialsChat/nbproject/build-impl.xml @@ -20,10 +20,10 @@ is divided into following sections: --> - + - + @@ -223,6 +223,7 @@ is divided into following sections: + @@ -409,6 +410,7 @@ is divided into following sections: + @@ -539,7 +541,7 @@ is divided into following sections: - + diff --git a/EssentialsChat/nbproject/genfiles.properties b/EssentialsChat/nbproject/genfiles.properties index 95704bf4b..b6146a42a 100644 --- a/EssentialsChat/nbproject/genfiles.properties +++ b/EssentialsChat/nbproject/genfiles.properties @@ -4,5 +4,5 @@ build.xml.stylesheet.CRC32=28e38971@1.38.2.45 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. nbproject/build-impl.xml.data.CRC32=7c7f517b -nbproject/build-impl.xml.script.CRC32=2447bdf5 -nbproject/build-impl.xml.stylesheet.CRC32=0ae3a408@1.44.1.45 +nbproject/build-impl.xml.script.CRC32=4e36cf00 +nbproject/build-impl.xml.stylesheet.CRC32=c12040a1@1.47.1.46 diff --git a/EssentialsGeoIP/nbproject/build-impl.xml b/EssentialsGeoIP/nbproject/build-impl.xml index 41af95ec2..77f4373b4 100644 --- a/EssentialsGeoIP/nbproject/build-impl.xml +++ b/EssentialsGeoIP/nbproject/build-impl.xml @@ -20,10 +20,10 @@ is divided into following sections: --> - + - + @@ -223,6 +223,7 @@ is divided into following sections: + @@ -409,6 +410,7 @@ is divided into following sections: + @@ -539,7 +541,7 @@ is divided into following sections: - + diff --git a/EssentialsGeoIP/nbproject/genfiles.properties b/EssentialsGeoIP/nbproject/genfiles.properties index 397a15928..55370a872 100644 --- a/EssentialsGeoIP/nbproject/genfiles.properties +++ b/EssentialsGeoIP/nbproject/genfiles.properties @@ -4,5 +4,5 @@ build.xml.stylesheet.CRC32=28e38971@1.44.1.45 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. nbproject/build-impl.xml.data.CRC32=cbf94f59 -nbproject/build-impl.xml.script.CRC32=e7684555 -nbproject/build-impl.xml.stylesheet.CRC32=0ae3a408@1.44.1.45 +nbproject/build-impl.xml.script.CRC32=ae9285d7 +nbproject/build-impl.xml.stylesheet.CRC32=c12040a1@1.47.1.46 diff --git a/EssentialsGroupBridge/nbproject/build-impl.xml b/EssentialsGroupBridge/nbproject/build-impl.xml index c0958cd2d..b6dfa7cef 100644 --- a/EssentialsGroupBridge/nbproject/build-impl.xml +++ b/EssentialsGroupBridge/nbproject/build-impl.xml @@ -20,10 +20,10 @@ is divided into following sections: --> - + - + @@ -198,6 +198,7 @@ is divided into following sections: + @@ -384,6 +385,7 @@ is divided into following sections: + @@ -514,7 +516,7 @@ is divided into following sections: - + diff --git a/EssentialsGroupBridge/nbproject/genfiles.properties b/EssentialsGroupBridge/nbproject/genfiles.properties index e2ec78d4f..2a94f2294 100644 --- a/EssentialsGroupBridge/nbproject/genfiles.properties +++ b/EssentialsGroupBridge/nbproject/genfiles.properties @@ -4,5 +4,5 @@ build.xml.stylesheet.CRC32=28e38971@1.38.2.45 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. nbproject/build-impl.xml.data.CRC32=475c8f4d -nbproject/build-impl.xml.script.CRC32=6ab1a006 -nbproject/build-impl.xml.stylesheet.CRC32=0ae3a408@1.44.1.45 +nbproject/build-impl.xml.script.CRC32=aa68bcd9 +nbproject/build-impl.xml.stylesheet.CRC32=c12040a1@1.47.1.46 diff --git a/EssentialsGroupManager/nbproject/build-impl.xml b/EssentialsGroupManager/nbproject/build-impl.xml index 9382e257b..5012acdb9 100644 --- a/EssentialsGroupManager/nbproject/build-impl.xml +++ b/EssentialsGroupManager/nbproject/build-impl.xml @@ -20,10 +20,10 @@ is divided into following sections: --> - + - + @@ -198,6 +198,7 @@ is divided into following sections: + @@ -384,6 +385,7 @@ is divided into following sections: + @@ -514,7 +516,7 @@ is divided into following sections: - + diff --git a/EssentialsGroupManager/nbproject/genfiles.properties b/EssentialsGroupManager/nbproject/genfiles.properties index d5696760f..48463b7ff 100644 --- a/EssentialsGroupManager/nbproject/genfiles.properties +++ b/EssentialsGroupManager/nbproject/genfiles.properties @@ -4,5 +4,5 @@ build.xml.stylesheet.CRC32=28e38971@1.38.2.45 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. nbproject/build-impl.xml.data.CRC32=a6709b83 -nbproject/build-impl.xml.script.CRC32=4191e2b2 -nbproject/build-impl.xml.stylesheet.CRC32=0ae3a408@1.44.1.45 +nbproject/build-impl.xml.script.CRC32=142d30c4 +nbproject/build-impl.xml.stylesheet.CRC32=c12040a1@1.47.1.46 diff --git a/EssentialsProtect/nbproject/build-impl.xml b/EssentialsProtect/nbproject/build-impl.xml index 1c9bf07bf..7931eda6c 100644 --- a/EssentialsProtect/nbproject/build-impl.xml +++ b/EssentialsProtect/nbproject/build-impl.xml @@ -20,10 +20,10 @@ is divided into following sections: --> - + - + @@ -223,6 +223,7 @@ is divided into following sections: + @@ -409,6 +410,7 @@ is divided into following sections: + @@ -539,7 +541,7 @@ is divided into following sections: - + diff --git a/EssentialsProtect/nbproject/genfiles.properties b/EssentialsProtect/nbproject/genfiles.properties index 728aaf424..a5a167f5e 100644 --- a/EssentialsProtect/nbproject/genfiles.properties +++ b/EssentialsProtect/nbproject/genfiles.properties @@ -4,5 +4,5 @@ build.xml.stylesheet.CRC32=28e38971@1.38.3.45 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. nbproject/build-impl.xml.data.CRC32=40644caa -nbproject/build-impl.xml.script.CRC32=0e9dab07 -nbproject/build-impl.xml.stylesheet.CRC32=0ae3a408@1.44.1.45 +nbproject/build-impl.xml.script.CRC32=a451c39a +nbproject/build-impl.xml.stylesheet.CRC32=c12040a1@1.47.1.46 diff --git a/EssentialsSpawn/nbproject/build-impl.xml b/EssentialsSpawn/nbproject/build-impl.xml index 1f4e8e9fb..84746698d 100644 --- a/EssentialsSpawn/nbproject/build-impl.xml +++ b/EssentialsSpawn/nbproject/build-impl.xml @@ -20,10 +20,10 @@ is divided into following sections: --> - + - + @@ -223,6 +223,7 @@ is divided into following sections: + @@ -409,6 +410,7 @@ is divided into following sections: + @@ -539,7 +541,7 @@ is divided into following sections: - + diff --git a/EssentialsSpawn/nbproject/genfiles.properties b/EssentialsSpawn/nbproject/genfiles.properties index bf3a6888d..531fe7094 100644 --- a/EssentialsSpawn/nbproject/genfiles.properties +++ b/EssentialsSpawn/nbproject/genfiles.properties @@ -4,5 +4,5 @@ build.xml.stylesheet.CRC32=28e38971@1.38.2.45 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. nbproject/build-impl.xml.data.CRC32=e7b96939 -nbproject/build-impl.xml.script.CRC32=fd1c94f8 -nbproject/build-impl.xml.stylesheet.CRC32=0ae3a408@1.44.1.45 +nbproject/build-impl.xml.script.CRC32=2b257042 +nbproject/build-impl.xml.stylesheet.CRC32=c12040a1@1.47.1.46 diff --git a/EssentialsXMPP/nbproject/build-impl.xml b/EssentialsXMPP/nbproject/build-impl.xml index 08076c6cb..c0dfd2504 100644 --- a/EssentialsXMPP/nbproject/build-impl.xml +++ b/EssentialsXMPP/nbproject/build-impl.xml @@ -20,10 +20,10 @@ is divided into following sections: --> - + - + @@ -223,6 +223,7 @@ is divided into following sections: + @@ -409,6 +410,7 @@ is divided into following sections: + @@ -539,7 +541,7 @@ is divided into following sections: - + diff --git a/EssentialsXMPP/nbproject/genfiles.properties b/EssentialsXMPP/nbproject/genfiles.properties index 3df7372ea..bb3b3a973 100644 --- a/EssentialsXMPP/nbproject/genfiles.properties +++ b/EssentialsXMPP/nbproject/genfiles.properties @@ -4,5 +4,5 @@ build.xml.stylesheet.CRC32=28e38971@1.42.1.45 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. nbproject/build-impl.xml.data.CRC32=1012a5dd -nbproject/build-impl.xml.script.CRC32=6ad41b28 -nbproject/build-impl.xml.stylesheet.CRC32=0ae3a408@1.44.1.45 +nbproject/build-impl.xml.script.CRC32=4ece3e29 +nbproject/build-impl.xml.stylesheet.CRC32=c12040a1@1.47.1.46 diff --git a/lib/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar b/lib/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar index 5ee71d2e349cf9272cafca15cd20bf737f90f97e..01aed63a2ac91ecb4b6c988bb3e9b5d1f3afbd03 100644 GIT binary patch literal 22335 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 delta 6110 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 Date: Tue, 13 Dec 2011 04:29:16 +0000 Subject: [PATCH 3/9] Fixing Sell/Buy Signs which use EXP as a currency. --- .../src/com/earth2me/essentials/IUser.java | 4 ++-- .../src/com/earth2me/essentials/Trade.java | 8 ++++---- .../src/com/earth2me/essentials/User.java | 17 +++++++++++++++++ .../src/com/earth2me/essentials/user/User.java | 13 +++++++++++++ 4 files changed, 36 insertions(+), 6 deletions(-) diff --git a/Essentials/src/com/earth2me/essentials/IUser.java b/Essentials/src/com/earth2me/essentials/IUser.java index 09d3c294d..c7038e905 100644 --- a/Essentials/src/com/earth2me/essentials/IUser.java +++ b/Essentials/src/com/earth2me/essentials/IUser.java @@ -65,7 +65,7 @@ public interface IUser void setJail(String jail); - public int getTotalExperience(); + public int getXP(); - public void setTotalExperience(int l); + public void setXP(int l); } diff --git a/Essentials/src/com/earth2me/essentials/Trade.java b/Essentials/src/com/earth2me/essentials/Trade.java index 1c8e20db9..8ca6ede1b 100644 --- a/Essentials/src/com/earth2me/essentials/Trade.java +++ b/Essentials/src/com/earth2me/essentials/Trade.java @@ -80,7 +80,7 @@ public class Trade } if (exp != null && exp > 0 - && user.getTotalExperience() < exp) { + && user.getXP() < exp) { throw new ChargeException(_("notEnoughExperience")); } } @@ -115,7 +115,7 @@ public class Trade } if (getExperience() != null) { - user.setTotalExperience(user.getTotalExperience() + getExperience()); + user.setXP(user.getXP() + getExperience()); } return success; } @@ -154,12 +154,12 @@ public class Trade } if (getExperience() != null) { - final int experience = user.getTotalExperience(); + final int experience = user.getXP(); if (experience < getExperience() && getExperience() > 0) { throw new ChargeException(_("notEnoughExperience")); } - user.setTotalExperience(experience - getExperience()); + user.setXP(experience - getExperience()); } } diff --git a/Essentials/src/com/earth2me/essentials/User.java b/Essentials/src/com/earth2me/essentials/User.java index 8c678d734..6f389f749 100644 --- a/Essentials/src/com/earth2me/essentials/User.java +++ b/Essentials/src/com/earth2me/essentials/User.java @@ -544,4 +544,21 @@ public class User extends UserData implements Comparable, IReplyTo, IUser { return teleportRequestTime; } + + @Override + public int getXP() { + return base.getTotalExperience(); + } + + @Override + public void setXP(int l) { + base.setExp(0); + base.setLevel(0); + base.setTotalExperience(0); + for(int i=0;i Date: Tue, 13 Dec 2011 04:52:09 +0000 Subject: [PATCH 4/9] Update exp trade signs on purchase. --- Essentials/src/com/earth2me/essentials/User.java | 5 ++--- .../com/earth2me/essentials/signs/SignTrade.java | 14 +++++++++++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/Essentials/src/com/earth2me/essentials/User.java b/Essentials/src/com/earth2me/essentials/User.java index 6f389f749..b16570374 100644 --- a/Essentials/src/com/earth2me/essentials/User.java +++ b/Essentials/src/com/earth2me/essentials/User.java @@ -551,14 +551,13 @@ public class User extends UserData implements Comparable, IReplyTo, IUser } @Override - public void setXP(int l) { + public void setXP(final int exp) { base.setExp(0); base.setLevel(0); base.setTotalExperience(0); - for(int i=0;i Date: Tue, 13 Dec 2011 07:35:46 +0100 Subject: [PATCH 5/9] Disabling exp as currency. Normal money will be used. --- Essentials/src/com/earth2me/essentials/Trade.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Essentials/src/com/earth2me/essentials/Trade.java b/Essentials/src/com/earth2me/essentials/Trade.java index 8ca6ede1b..5e9f82b88 100644 --- a/Essentials/src/com/earth2me/essentials/Trade.java +++ b/Essentials/src/com/earth2me/essentials/Trade.java @@ -40,7 +40,8 @@ public class Trade public Trade(final int exp, final IEssentials ess) { - this(null, null, null, exp, ess); + //TODO: Revert this change, when exp is fixed in Bukkit + this(null, (double)exp, null, null, ess); } private Trade(final String command, final Double money, final ItemStack item, final Integer exp, final IEssentials ess) From 15ce04b53952228180052c620211b6f8803f2c36 Mon Sep 17 00:00:00 2001 From: snowleo Date: Tue, 13 Dec 2011 08:38:15 +0100 Subject: [PATCH 6/9] Better exp fix and allow exp on buy and sell signs. --- Essentials/nbproject/project.properties | 2 +- .../src/com/earth2me/essentials/IUser.java | 24 +--- .../src/com/earth2me/essentials/Trade.java | 12 +- .../src/com/earth2me/essentials/User.java | 128 ++++++++---------- .../essentials/craftbukkit/SetExpFix.java | 41 ++++++ .../essentials/signs/EssentialsSign.java | 12 +- .../com/earth2me/essentials/user/User.java | 13 -- EssentialsUpdate/nbproject/project.properties | 4 +- 8 files changed, 118 insertions(+), 118 deletions(-) create mode 100644 Essentials/src/com/earth2me/essentials/craftbukkit/SetExpFix.java diff --git a/Essentials/nbproject/project.properties b/Essentials/nbproject/project.properties index 87e522254..8fe72adb3 100644 --- a/Essentials/nbproject/project.properties +++ b/Essentials/nbproject/project.properties @@ -1,5 +1,5 @@ annotation.processing.enabled=true -annotation.processing.enabled.in.editor=false +annotation.processing.enabled.in.editor=true annotation.processing.processors.list=lombok.core.AnnotationProcessor annotation.processing.run.all.processors=false annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output diff --git a/Essentials/src/com/earth2me/essentials/IUser.java b/Essentials/src/com/earth2me/essentials/IUser.java index c7038e905..bff556ab4 100644 --- a/Essentials/src/com/earth2me/essentials/IUser.java +++ b/Essentials/src/com/earth2me/essentials/IUser.java @@ -11,16 +11,8 @@ import org.bukkit.inventory.PlayerInventory; * @deprecated This will be moved to the api package soon */ @Deprecated -public interface IUser +public interface IUser extends Player { - int getHealth(); - - Location getLocation(); - - boolean isOnline(); - - void sendMessage(String string); - long getLastTeleportTimestamp(); boolean isAuthorized(String node); @@ -41,10 +33,6 @@ public interface IUser void giveMoney(double value); - PlayerInventory getInventory(); - - void updateInventory(); - String getGroup(); void setLastLocation(); @@ -53,19 +41,9 @@ public interface IUser Location getHome(Location loc) throws Exception; - String getName(); - - InetSocketAddress getAddress(); - - String getDisplayName(); - boolean isHidden(); Teleport getTeleport(); void setJail(String jail); - - public int getXP(); - - public void setXP(int l); } diff --git a/Essentials/src/com/earth2me/essentials/Trade.java b/Essentials/src/com/earth2me/essentials/Trade.java index 5e9f82b88..ca9db12a7 100644 --- a/Essentials/src/com/earth2me/essentials/Trade.java +++ b/Essentials/src/com/earth2me/essentials/Trade.java @@ -1,6 +1,7 @@ package com.earth2me.essentials; import com.earth2me.essentials.craftbukkit.InventoryWorkaround; +import com.earth2me.essentials.craftbukkit.SetExpFix; import static com.earth2me.essentials.I18n._; import java.io.File; import java.io.FileWriter; @@ -40,8 +41,7 @@ public class Trade public Trade(final int exp, final IEssentials ess) { - //TODO: Revert this change, when exp is fixed in Bukkit - this(null, (double)exp, null, null, ess); + this(null, null, null, exp, ess); } private Trade(final String command, final Double money, final ItemStack item, final Integer exp, final IEssentials ess) @@ -81,7 +81,7 @@ public class Trade } if (exp != null && exp > 0 - && user.getXP() < exp) { + && user.getTotalExperience() < exp) { throw new ChargeException(_("notEnoughExperience")); } } @@ -116,7 +116,7 @@ public class Trade } if (getExperience() != null) { - user.setXP(user.getXP() + getExperience()); + SetExpFix.setTotalExperience(user, user.getTotalExperience() + getExperience()); } return success; } @@ -155,12 +155,12 @@ public class Trade } if (getExperience() != null) { - final int experience = user.getXP(); + final int experience = user.getTotalExperience(); if (experience < getExperience() && getExperience() > 0) { throw new ChargeException(_("notEnoughExperience")); } - user.setXP(experience - getExperience()); + SetExpFix.setTotalExperience(user, experience - getExperience()); } } diff --git a/Essentials/src/com/earth2me/essentials/User.java b/Essentials/src/com/earth2me/essentials/User.java index b16570374..daf756e5b 100644 --- a/Essentials/src/com/earth2me/essentials/User.java +++ b/Essentials/src/com/earth2me/essentials/User.java @@ -25,32 +25,32 @@ public class User extends UserData implements Comparable, IReplyTo, IUser private boolean hidden = false; private transient Location afkPosition; private static final Logger logger = Logger.getLogger("Minecraft"); - + User(final Player base, final IEssentials ess) { super(base, ess); teleport = new Teleport(this, ess); afkPosition = getLocation(); } - + User update(final Player base) { setBase(base); return this; } - + @Override public boolean isAuthorized(final IEssentialsCommand cmd) { return isAuthorized(cmd, "essentials."); } - + @Override public boolean isAuthorized(final IEssentialsCommand cmd, final String permissionPrefix) { return isAuthorized(permissionPrefix + (cmd.getName().equals("r") ? "msg" : cmd.getName())); } - + @Override public boolean isAuthorized(final String node) { @@ -58,20 +58,20 @@ public class User extends UserData implements Comparable, IReplyTo, IUser { return false; } - + if (isOp()) { return true; } - + if (isJailed()) { return false; } - + return ess.getPermissionsHandler().hasPermission(base, node); } - + public void healCooldown() throws Exception { final Calendar now = new GregorianCalendar(); @@ -89,13 +89,13 @@ public class User extends UserData implements Comparable, IReplyTo, IUser } setLastHealTimestamp(now.getTimeInMillis()); } - + @Override public void giveMoney(final double value) { giveMoney(value, null); } - + public void giveMoney(final double value, final CommandSender initiator) { if (value == 0) @@ -109,7 +109,7 @@ public class User extends UserData implements Comparable, IReplyTo, IUser initiator.sendMessage(_("addedToOthersAccount", Util.formatCurrency(value, ess), this.getDisplayName())); } } - + public void payUser(final User reciever, final double value) throws Exception { if (value == 0) @@ -128,13 +128,13 @@ public class User extends UserData implements Comparable, IReplyTo, IUser throw new Exception(_("notEnoughMoney")); } } - + @Override public void takeMoney(final double value) { takeMoney(value, null); } - + public void takeMoney(final double value, final CommandSender initiator) { if (value == 0) @@ -148,36 +148,36 @@ public class User extends UserData implements Comparable, IReplyTo, IUser initiator.sendMessage(_("takenFromOthersAccount", Util.formatCurrency(value, ess), this.getDisplayName())); } } - + public boolean canAfford(final double cost) { final double mon = getMoney(); return mon >= cost || isAuthorized("essentials.eco.loan"); } - + public void dispose() { this.base = new OfflinePlayer(getName(), ess); } - + @Override public void setReplyTo(final CommandSender user) { replyTo = user; } - + @Override public CommandSender getReplyTo() { return replyTo; } - + @Override public int compareTo(final User other) { return Util.stripColor(this.getDisplayName()).compareToIgnoreCase(Util.stripColor(other.getDisplayName())); } - + @Override public boolean equals(final Object object) { @@ -186,58 +186,58 @@ public class User extends UserData implements Comparable, IReplyTo, IUser return false; } return this.getName().equalsIgnoreCase(((User)object).getName()); - + } - + @Override public int hashCode() { - return this.getName().hashCode(); + return this.getName().hashCode(); } - + public Boolean canSpawnItem(final int itemId) { return !ess.getSettings().itemSpawnBlacklist().contains(itemId); } - + public Location getHome() throws Exception { return getHome(getHomes().get(0)); } - + public void setHome() { setHome("home", getLocation()); } - + public void setHome(final String name) { setHome(name, getLocation()); } - + @Override public void setLastLocation() { setLastLocation(getLocation()); } - + public void requestTeleport(final User player, final boolean here) { teleportRequestTime = System.currentTimeMillis(); teleportRequester = player; teleportRequestHere = here; } - + public User getTeleportRequest() { return teleportRequester; } - + public boolean isTeleportRequestHere() { return teleportRequestHere; } - + public String getNick(boolean addprefixsuffix) { final StringBuilder nickname = new StringBuilder(); @@ -261,7 +261,7 @@ public class User extends UserData implements Comparable, IReplyTo, IUser { } } - + if (addprefixsuffix && ess.getSettings().addPrefixSuffix()) { if (!ess.getSettings().disablePrefix()) @@ -283,10 +283,10 @@ public class User extends UserData implements Comparable, IReplyTo, IUser nickname.append("§f"); } } - + return nickname.toString(); } - + public void setDisplayNick() { String name = getNick(true); @@ -308,7 +308,7 @@ public class User extends UserData implements Comparable, IReplyTo, IUser logger.log(Level.INFO, "Playerlist for " + name + " was not updated. Use a shorter displayname prefix."); } } - + @Override public String getDisplayName() { @@ -318,22 +318,22 @@ public class User extends UserData implements Comparable, IReplyTo, IUser } return super.getDisplayName() == null ? super.getName() : super.getDisplayName(); } - + public Teleport getTeleport() { return teleport; } - + public long getLastOnlineActivity() { return lastOnlineActivity; } - + public void setLastOnlineActivity(final long timestamp) { lastOnlineActivity = timestamp; } - + @Override public double getMoney() { @@ -355,7 +355,7 @@ public class User extends UserData implements Comparable, IReplyTo, IUser } return super.getMoney(); } - + @Override public void setMoney(final double value) { @@ -377,7 +377,7 @@ public class User extends UserData implements Comparable, IReplyTo, IUser } super.setMoney(value); } - + @Override public void setAfk(final boolean set) { @@ -388,7 +388,7 @@ public class User extends UserData implements Comparable, IReplyTo, IUser } super.setAfk(set); } - + @Override public boolean toggleAfk() { @@ -396,13 +396,13 @@ public class User extends UserData implements Comparable, IReplyTo, IUser this.setSleepingIgnored(this.isAuthorized("essentials.sleepingignored") ? true : now); return now; } - + @Override public boolean isHidden() { return hidden; } - + public void setHidden(final boolean hidden) { this.hidden = hidden; @@ -453,7 +453,7 @@ public class User extends UserData implements Comparable, IReplyTo, IUser } return false; } - + public void updateActivity(final boolean broadcast) { if (isAfk()) @@ -466,7 +466,7 @@ public class User extends UserData implements Comparable, IReplyTo, IUser } lastActivity = System.currentTimeMillis(); } - + public void checkActivity() { final long autoafkkick = ess.getSettings().getAutoAfkKick(); @@ -476,8 +476,8 @@ public class User extends UserData implements Comparable, IReplyTo, IUser final String kickReason = _("autoAfkKickReason", autoafkkick / 60.0); lastActivity = 0; kickPlayer(kickReason); - - + + for (Player player : ess.getServer().getOnlinePlayers()) { final User user = ess.getUser(player); @@ -497,12 +497,12 @@ public class User extends UserData implements Comparable, IReplyTo, IUser } } } - + public Location getAfkPosition() { return afkPosition; } - + @Override public boolean toggleGodModeEnabled() { @@ -512,7 +512,7 @@ public class User extends UserData implements Comparable, IReplyTo, IUser } return super.toggleGodModeEnabled(); } - + @Override public boolean isGodModeEnabled() { @@ -524,17 +524,17 @@ public class User extends UserData implements Comparable, IReplyTo, IUser { return super.isGodModeEnabled(); } - + public String getGroup() { return ess.getPermissionsHandler().getGroup(base); } - + public boolean inGroup(final String group) { return ess.getPermissionsHandler().inGroup(base, group); } - + public boolean canBuild() { return ess.getPermissionsHandler().canBuild(base, getGroup()); @@ -543,21 +543,5 @@ public class User extends UserData implements Comparable, IReplyTo, IUser public long getTeleportRequestTime() { return teleportRequestTime; - } - - @Override - public int getXP() { - return base.getTotalExperience(); - } - - @Override - public void setXP(final int exp) { - base.setExp(0); - base.setLevel(0); - base.setTotalExperience(0); - for(int i=0;i 0) + { + final int expToLevel = getExpTolevel(player); + amount -= expToLevel; + if (amount >= 0) + { + // give until next level + player.giveExp(expToLevel); + } + else + { + // give the rest + amount += expToLevel; + player.giveExp(amount); + amount = 0; + } + } + } + + private static int getExpTolevel(final Player player) + { + return 7 + (player.getLevel() * 7 >> 1); + } +} diff --git a/Essentials/src/com/earth2me/essentials/signs/EssentialsSign.java b/Essentials/src/com/earth2me/essentials/signs/EssentialsSign.java index 1e62a6097..5fe6c9ac0 100644 --- a/Essentials/src/com/earth2me/essentials/signs/EssentialsSign.java +++ b/Essentials/src/com/earth2me/essentials/signs/EssentialsSign.java @@ -273,6 +273,12 @@ public class EssentialsSign protected final void validateTrade(final ISign sign, final int amountIndex, final int itemIndex, final User player, final IEssentials ess) throws SignException { + if (sign.getLine(itemIndex).equalsIgnoreCase("exp") || sign.getLine(itemIndex).equalsIgnoreCase("xp")) + { + int amount = getIntegerPositive(sign.getLine(amountIndex)); + sign.setLine(amountIndex, Integer.toString(amount)); + sign.setLine(itemIndex, "exp"); + } final Trade trade = getTrade(sign, amountIndex, itemIndex, player, ess); final ItemStack item = trade.getItemStack(); sign.setLine(amountIndex, Integer.toString(item.getAmount())); @@ -282,7 +288,11 @@ public class EssentialsSign protected final Trade getTrade(final ISign sign, final int amountIndex, final int itemIndex, final User player, final IEssentials ess) throws SignException { - + if (sign.getLine(itemIndex).equalsIgnoreCase("exp") || sign.getLine(itemIndex).equalsIgnoreCase("xp")) + { + final int amount = getIntegerPositive(sign.getLine(amountIndex)); + return new Trade(amount, ess); + } final ItemStack item = getItemStack(sign.getLine(itemIndex), 1, ess); final int amount = Math.min(getIntegerPositive(sign.getLine(amountIndex)), item.getType().getMaxStackSize() * player.getInventory().getSize()); if (item.getTypeId() == 0 || amount < 1) diff --git a/Essentials/src/com/earth2me/essentials/user/User.java b/Essentials/src/com/earth2me/essentials/user/User.java index 724920b38..0e544ae06 100644 --- a/Essentials/src/com/earth2me/essentials/user/User.java +++ b/Essentials/src/com/earth2me/essentials/user/User.java @@ -196,17 +196,4 @@ public class User extends UserBase implements IUser unlock(); } } - - @Override - public int getXP() - { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public void setXP(int l) - { - throw new UnsupportedOperationException("Not supported yet."); - } - } diff --git a/EssentialsUpdate/nbproject/project.properties b/EssentialsUpdate/nbproject/project.properties index b73c58ae9..88315dfa0 100644 --- a/EssentialsUpdate/nbproject/project.properties +++ b/EssentialsUpdate/nbproject/project.properties @@ -63,11 +63,11 @@ dist.jar=${dist.dir}/EssentialsUpdate.jar dist.javadoc.dir=${dist.dir}/javadoc endorsed.classpath= excludes= -file.reference.bukkit-1.0.0-R1-SNAPSHOT.jar=../lib/bukkit-1.0.0-R1-SNAPSHOT.jar +file.reference.bukkit.jar=../lib/bukkit.jar includes=** jar.compress=true javac.classpath=\ - ${file.reference.bukkit-1.0.0-R1-SNAPSHOT.jar} + ${file.reference.bukkit.jar} # Space-separated list of extra javac options javac.compilerargs= javac.deprecation=false From af4dde2086f539551a5b835692bef1955b49da6c Mon Sep 17 00:00:00 2001 From: snowleo Date: Tue, 13 Dec 2011 08:41:28 +0100 Subject: [PATCH 7/9] Tiny fix to the last commit. --- Essentials/nbproject/project.properties | 2 +- .../src/com/earth2me/essentials/signs/EssentialsSign.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Essentials/nbproject/project.properties b/Essentials/nbproject/project.properties index 8fe72adb3..87e522254 100644 --- a/Essentials/nbproject/project.properties +++ b/Essentials/nbproject/project.properties @@ -1,5 +1,5 @@ annotation.processing.enabled=true -annotation.processing.enabled.in.editor=true +annotation.processing.enabled.in.editor=false annotation.processing.processors.list=lombok.core.AnnotationProcessor annotation.processing.run.all.processors=false annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output diff --git a/Essentials/src/com/earth2me/essentials/signs/EssentialsSign.java b/Essentials/src/com/earth2me/essentials/signs/EssentialsSign.java index 5fe6c9ac0..b0df73a42 100644 --- a/Essentials/src/com/earth2me/essentials/signs/EssentialsSign.java +++ b/Essentials/src/com/earth2me/essentials/signs/EssentialsSign.java @@ -278,6 +278,7 @@ public class EssentialsSign int amount = getIntegerPositive(sign.getLine(amountIndex)); sign.setLine(amountIndex, Integer.toString(amount)); sign.setLine(itemIndex, "exp"); + return; } final Trade trade = getTrade(sign, amountIndex, itemIndex, player, ess); final ItemStack item = trade.getItemStack(); From 32564fb4f7efa411499d4662e70565934079f232 Mon Sep 17 00:00:00 2001 From: snowleo Date: Tue, 13 Dec 2011 08:46:50 +0100 Subject: [PATCH 8/9] Netbeans 7.1 changes for EssentialsUpdate --- EssentialsUpdate/nbproject/build-impl.xml | 8 +++++--- EssentialsUpdate/nbproject/genfiles.properties | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/EssentialsUpdate/nbproject/build-impl.xml b/EssentialsUpdate/nbproject/build-impl.xml index 7a38ac1d4..4e62c50ea 100644 --- a/EssentialsUpdate/nbproject/build-impl.xml +++ b/EssentialsUpdate/nbproject/build-impl.xml @@ -20,10 +20,10 @@ is divided into following sections: --> - + - + @@ -223,6 +223,7 @@ is divided into following sections: + @@ -409,6 +410,7 @@ is divided into following sections: + @@ -539,7 +541,7 @@ is divided into following sections: - + diff --git a/EssentialsUpdate/nbproject/genfiles.properties b/EssentialsUpdate/nbproject/genfiles.properties index 992379672..0791ac507 100644 --- a/EssentialsUpdate/nbproject/genfiles.properties +++ b/EssentialsUpdate/nbproject/genfiles.properties @@ -4,5 +4,5 @@ build.xml.stylesheet.CRC32=28e38971@1.44.1.45 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. nbproject/build-impl.xml.data.CRC32=fd4b98a9 -nbproject/build-impl.xml.script.CRC32=1cab9494 -nbproject/build-impl.xml.stylesheet.CRC32=0ae3a408@1.44.1.45 +nbproject/build-impl.xml.script.CRC32=6c5a1616 +nbproject/build-impl.xml.stylesheet.CRC32=c12040a1@1.47.1.46 From 70bd9bd1f35edf6eadb5238c11b5e74294ed2381 Mon Sep 17 00:00:00 2001 From: snowleo Date: Tue, 13 Dec 2011 10:28:15 +0100 Subject: [PATCH 9/9] Renamed /butcher to /killall and fixes to the code. --- ...ommandbutcher.java => Commandkillall.java} | 46 ++++++++++++------- Essentials/src/plugin.yml | 8 ++-- 2 files changed, 33 insertions(+), 21 deletions(-) rename Essentials/src/com/earth2me/essentials/commands/{Commandbutcher.java => Commandkillall.java} (74%) diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandbutcher.java b/Essentials/src/com/earth2me/essentials/commands/Commandkillall.java similarity index 74% rename from Essentials/src/com/earth2me/essentials/commands/Commandbutcher.java rename to Essentials/src/com/earth2me/essentials/commands/Commandkillall.java index fa628f8e0..b9679e8b9 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandbutcher.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandkillall.java @@ -3,6 +3,7 @@ package com.earth2me.essentials.commands; import com.earth2me.essentials.Mob; import static com.earth2me.essentials.I18n._; import java.util.Collections; +import java.util.Locale; import org.bukkit.Chunk; import org.bukkit.Server; import org.bukkit.World; @@ -22,11 +23,12 @@ import org.bukkit.entity.WaterMob; import org.bukkit.entity.Wolf; import org.bukkit.event.entity.EntityDeathEvent; -public class Commandbutcher extends EssentialsCommand + +public class Commandkillall extends EssentialsCommand { - public Commandbutcher() + public Commandkillall() { - super("butcher"); + super("killall"); } //TODO: Tidy - missed this during command cleanup @@ -79,10 +81,23 @@ public class Commandbutcher extends EssentialsCommand world = ess.getWorld(args[1]); } } - if (radius >=0) { + if (radius >= 0) + { radius *= radius; } - String killType = type.toLowerCase(); + String killType = type.toLowerCase(Locale.ENGLISH); + boolean animals = killType.startsWith("animal"); + boolean monster = killType.startsWith("monster") || killType.startsWith("mob"); + boolean all = killType.equals("all"); + Class entityClass = null; + if (!animals && !monster && !all) + { + if (Mob.fromName(killType) == null) + { + throw new Exception(_("invalidMob")); + } + entityClass = Mob.fromName(killType).getType().getEntityClass(); + } int numKills = 0; for (Chunk chunk : world.getLoadedChunks()) { @@ -90,7 +105,7 @@ public class Commandbutcher extends EssentialsCommand { if (sender instanceof Player) { - if (((Player)sender).getLocation().distanceSquared(entity.getLocation()) > radius && radius >= 0) + if (radius >= 0 && ((Player)sender).getLocation().distanceSquared(entity.getLocation()) > radius) { continue; } @@ -106,7 +121,7 @@ public class Commandbutcher extends EssentialsCommand continue; } } - if (killType.contains("animal")) + if (animals) { if (entity instanceof Animals || entity instanceof NPC || entity instanceof Snowman || entity instanceof WaterMob) { @@ -116,7 +131,7 @@ public class Commandbutcher extends EssentialsCommand numKills++; } } - else if (killType.contains("monster")) + else if (monster) { if (entity instanceof Monster || entity instanceof ComplexLivingEntity || entity instanceof Flying || entity instanceof Slime) { @@ -126,22 +141,19 @@ public class Commandbutcher extends EssentialsCommand numKills++; } } - else if (killType.contains("all")) + else if (all) { EntityDeathEvent event = new EntityDeathEvent(entity, Collections.EMPTY_LIST); ess.getServer().getPluginManager().callEvent(event); entity.remove(); numKills++; } - else + else if (entityClass != null && entityClass.isAssignableFrom(entity.getClass())) { - if (Mob.fromName(killType).getType().getEntityClass().isAssignableFrom(entity.getClass())) - { - EntityDeathEvent event = new EntityDeathEvent(entity, Collections.EMPTY_LIST); - ess.getServer().getPluginManager().callEvent(event); - entity.remove(); - numKills++; - } + EntityDeathEvent event = new EntityDeathEvent(entity, Collections.EMPTY_LIST); + ess.getServer().getPluginManager().callEvent(event); + entity.remove(); + numKills++; } } } diff --git a/Essentials/src/plugin.yml b/Essentials/src/plugin.yml index c3ed49ad1..a92210d69 100644 --- a/Essentials/src/plugin.yml +++ b/Essentials/src/plugin.yml @@ -55,10 +55,6 @@ commands: description: Set a player on fire. usage: / aliases: [eburn] - butcher: - description: Kill all mobs in a world. - usage: / - aliases: [ebutcher] clearinventory: description: Clear all items in your inventory. usage: / @@ -186,6 +182,10 @@ commands: description: Kills specified player. usage: / aliases: [ekill] + killall: + description: Kill all mobs in a world. + usage: / + aliases: [ekillall,butcher] list: description: List all online players. usage: /