Cleanup of the iConomyBridge Code

git-svn-id: https://svn.java.net/svn/essentials~svn/trunk@1321 e251c2fe-e539-e718-e476-b85c1f46cddb
This commit is contained in:
snowleo 2011-05-02 18:22:17 +00:00
parent 2af13fd062
commit 79c0ef69c4
20 changed files with 347 additions and 317 deletions

View File

@ -1,78 +1,78 @@
annotation.processing.enabled=true annotation.processing.enabled=true
annotation.processing.enabled.in.editor=false annotation.processing.enabled.in.editor=false
annotation.processing.run.all.processors=true annotation.processing.run.all.processors=true
annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
application.title=Essentials application.title=Essentials
application.vendor=Paul application.vendor=Paul
build.classes.dir=${build.dir}/classes build.classes.dir=${build.dir}/classes
build.classes.excludes=**/*.java,**/*.form build.classes.excludes=**/*.java,**/*.form
# This directory is removed when the project is cleaned: # This directory is removed when the project is cleaned:
build.dir=build build.dir=build
build.generated.dir=${build.dir}/generated build.generated.dir=${build.dir}/generated
build.generated.sources.dir=${build.dir}/generated-sources build.generated.sources.dir=${build.dir}/generated-sources
# Only compile against the classpath explicitly listed here: # Only compile against the classpath explicitly listed here:
build.sysclasspath=ignore build.sysclasspath=ignore
build.test.classes.dir=${build.dir}/test/classes build.test.classes.dir=${build.dir}/test/classes
build.test.results.dir=${build.dir}/test/results build.test.results.dir=${build.dir}/test/results
# Uncomment to specify the preferred debugger connection transport: # Uncomment to specify the preferred debugger connection transport:
#debug.transport=dt_socket #debug.transport=dt_socket
debug.classpath=\ debug.classpath=\
${run.classpath} ${run.classpath}
debug.test.classpath=\ debug.test.classpath=\
${run.test.classpath} ${run.test.classpath}
# This directory is removed when the project is cleaned: # This directory is removed when the project is cleaned:
dist.dir=dist dist.dir=dist
dist.jar=${dist.dir}/Essentials.jar dist.jar=${dist.dir}/Essentials.jar
dist.javadoc.dir=${dist.dir}/javadoc dist.javadoc.dir=${dist.dir}/javadoc
endorsed.classpath= endorsed.classpath=
excludes= excludes=
file.reference.craftbukkit-0.0.1-SNAPSHOT.jar=..\\lib\\craftbukkit-0.0.1-SNAPSHOT.jar file.reference.craftbukkit-0.0.1-SNAPSHOT.jar=..\\lib\\craftbukkit-0.0.1-SNAPSHOT.jar
file.reference.EssentialsiConomyBridge.jar=..\\lib\\EssentialsiConomyBridge.jar file.reference.iConomy.jar=../lib/iConomy.jar
file.reference.junit-4.5.jar=..\\lib\\junit_4\\junit-4.5.jar file.reference.junit-4.5.jar=..\\lib\\junit_4\\junit-4.5.jar
file.reference.Permissions.jar=..\\lib\\Permissions.jar file.reference.Permissions.jar=..\\lib\\Permissions.jar
includes=** includes=**
jar.compress=false jar.compress=false
javac.classpath=\ javac.classpath=\
${file.reference.Permissions.jar}:\ ${file.reference.Permissions.jar}:\
${file.reference.craftbukkit-0.0.1-SNAPSHOT.jar}:\ ${file.reference.craftbukkit-0.0.1-SNAPSHOT.jar}:\
${file.reference.EssentialsiConomyBridge.jar} ${file.reference.iConomy.jar}
# Space-separated list of extra javac options # Space-separated list of extra javac options
javac.compilerargs= javac.compilerargs=
javac.deprecation=false javac.deprecation=false
javac.processorpath=\ javac.processorpath=\
${javac.classpath} ${javac.classpath}
javac.source=1.5 javac.source=1.5
javac.target=1.5 javac.target=1.5
javac.test.classpath=\ javac.test.classpath=\
${javac.classpath}:\ ${javac.classpath}:\
${build.classes.dir}:\ ${build.classes.dir}:\
${file.reference.junit-4.5.jar} ${file.reference.junit-4.5.jar}
javac.test.processorpath=\ javac.test.processorpath=\
${javac.test.classpath} ${javac.test.classpath}
javadoc.additionalparam= javadoc.additionalparam=
javadoc.author=false javadoc.author=false
javadoc.encoding=${source.encoding} javadoc.encoding=${source.encoding}
javadoc.noindex=false javadoc.noindex=false
javadoc.nonavbar=false javadoc.nonavbar=false
javadoc.notree=false javadoc.notree=false
javadoc.private=false javadoc.private=false
javadoc.splitindex=true javadoc.splitindex=true
javadoc.use=true javadoc.use=true
javadoc.version=false javadoc.version=false
javadoc.windowtitle= javadoc.windowtitle=
meta.inf.dir=${src.dir}/META-INF meta.inf.dir=${src.dir}/META-INF
mkdist.disabled=false mkdist.disabled=false
platform.active=default_platform platform.active=default_platform
run.classpath=\ run.classpath=\
${javac.classpath}:\ ${javac.classpath}:\
${build.classes.dir} ${build.classes.dir}
# Space-separated list of JVM arguments used when running the project # Space-separated list of JVM arguments used when running the project
# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value # (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value
# or test-sys-prop.name=value to set system properties for unit tests): # or test-sys-prop.name=value to set system properties for unit tests):
run.jvmargs=-Djline.terminal=jline.UnsupportedTerminal run.jvmargs=-Djline.terminal=jline.UnsupportedTerminal
run.test.classpath=\ run.test.classpath=\
${javac.test.classpath}:\ ${javac.test.classpath}:\
${build.test.classes.dir} ${build.test.classes.dir}
source.encoding=UTF-8 source.encoding=UTF-8
src.dir=src src.dir=src
test.src.dir=test test.src.dir=test

View File

@ -41,6 +41,7 @@ public class Essentials extends JavaPlugin
private Backup backup; private Backup backup;
private Map<String, User> users = new HashMap<String, User>(); private Map<String, User> users = new HashMap<String, User>();
private EssentialsTimer timer; private EssentialsTimer timer;
private boolean iConomyFallback = true;
public Essentials() public Essentials()
{ {
@ -605,4 +606,12 @@ public class Essentials extends JavaPlugin
} }
return null; return null;
} }
public void setIConomyFallback(boolean iConomyFallback) {
this.iConomyFallback = iConomyFallback;
}
public boolean isIConomyFallbackEnabled() {
return iConomyFallback;
}
} }

View File

@ -1,6 +1,5 @@
package com.earth2me.essentials; package com.earth2me.essentials;
import java.text.DecimalFormat;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.block.Sign; import org.bukkit.block.Sign;
import org.bukkit.craftbukkit.block.CraftSign; import org.bukkit.craftbukkit.block.CraftSign;
@ -12,7 +11,6 @@ import org.bukkit.inventory.ItemStack;
public class EssentialsEcoBlockListener extends BlockListener public class EssentialsEcoBlockListener extends BlockListener
{ {
public static DecimalFormat df = new DecimalFormat("0.##");
Essentials ess; Essentials ess;
public EssentialsEcoBlockListener(Essentials ess) public EssentialsEcoBlockListener(Essentials ess)
@ -116,8 +114,8 @@ public class EssentialsEcoBlockListener extends BlockListener
{ {
throw new Exception("Don't sell air."); throw new Exception("Don't sell air.");
} }
String d = df.format(Double.parseDouble(event.getLine(3).replaceAll("[^0-9\\.]", ""))); double price = Double.parseDouble(event.getLine(3).replaceAll("[^0-9\\.]", ""));
event.setLine(3, "$" + d); event.setLine(3, Util.formatCurrency(price));
} }
catch (Throwable ex) catch (Throwable ex)
{ {
@ -141,8 +139,8 @@ public class EssentialsEcoBlockListener extends BlockListener
{ {
throw new Exception("Don't buy air."); throw new Exception("Don't buy air.");
} }
String d = df.format(Double.parseDouble(event.getLine(3).replaceAll("[^0-9\\.]", ""))); double price = Double.parseDouble(event.getLine(3).replaceAll("[^0-9\\.]", ""));
event.setLine(3, "$" + d); event.setLine(3, Util.formatCurrency(price));
} }
catch (Throwable ex) catch (Throwable ex)
{ {

View File

@ -125,7 +125,7 @@ public class EssentialsEcoPlayerListener extends PlayerListener
user.updateInventory(); user.updateInventory();
} }
r1 = 0; r1 = 0;
sign.setLine(1, (m1 ? "$" + q1 : q1 + " " + l1[1]) + ":" + r1); sign.setLine(1, (m1 ? Util.formatCurrency(q1) : (int)q1 + " " + l1[1]) + ":" + r1);
} }
else else
{ {
@ -177,8 +177,8 @@ public class EssentialsEcoPlayerListener extends PlayerListener
r2 -= q2; r2 -= q2;
sign.setLine(0, "§1[Trade]"); sign.setLine(0, "§1[Trade]");
sign.setLine(1, (m1 ? "$" + q1 : q1 + " " + l1[1]) + ":" + r1); sign.setLine(1, (m1 ? Util.formatCurrency(q1) : (int)q1 + " " + l1[1]) + ":" + r1);
sign.setLine(2, (m2 ? "$" + q2 : q2 + " " + l2[1]) + ":" + r2); sign.setLine(2, (m2 ? Util.formatCurrency(q2) : (int)q2 + " " + l2[1]) + ":" + r2);
user.sendMessage("§7Trade completed."); user.sendMessage("§7Trade completed.");
} }

View File

@ -19,7 +19,6 @@ public class User extends UserData implements Comparable<User>, IReplyTo
private boolean teleportRequestHere; private boolean teleportRequestHere;
private Teleport teleport; private Teleport teleport;
private long lastActivity; private long lastActivity;
private static DecimalFormat df = new DecimalFormat("0.##");
User(Player base, Essentials ess) User(Player base, Essentials ess)
{ {
@ -86,8 +85,7 @@ public class User extends UserData implements Comparable<User>, IReplyTo
return; return;
} }
setMoney(getMoney() + value); setMoney(getMoney() + value);
String d = df.format(Double.parseDouble(Double.toString(value))); sendMessage("§a" + Util.formatCurrency(value) + " has been added to your account.");
sendMessage("§a$" + d + " has been added to your account.");
} }
public void payUser(User reciever, double value) throws Exception public void payUser(User reciever, double value) throws Exception
@ -104,9 +102,8 @@ public class User extends UserData implements Comparable<User>, IReplyTo
{ {
setMoney(getMoney() - value); setMoney(getMoney() - value);
reciever.setMoney(reciever.getMoney() + value); reciever.setMoney(reciever.getMoney() + value);
String d = df.format(Double.parseDouble(Double.toString(value))); sendMessage("§a" + Util.formatCurrency(value) + " has been sent to " + reciever.getDisplayName());
sendMessage("§a$" + d + " has been sent to " + reciever.getDisplayName()); reciever.sendMessage("§a" + Util.formatCurrency(value) + " has been recieved from " + getDisplayName());
reciever.sendMessage("§a$" + d + " has been recieved from " + getDisplayName());
} }
} }
@ -117,8 +114,7 @@ public class User extends UserData implements Comparable<User>, IReplyTo
return; return;
} }
setMoney(getMoney() - value); setMoney(getMoney() - value);
String d = df.format(Double.parseDouble(Double.toString(value))); sendMessage("§c$" + Util.formatCurrency(value) + " has been taken from your account.");
sendMessage("§c$" + d + " has been taken from your account.");
} }
public void charge(String cmd) throws Exception public void charge(String cmd) throws Exception

View File

@ -63,28 +63,33 @@ public abstract class UserData extends PlayerExtension implements IConf
{ {
return config.getDouble("money", ess.getSettings().getStartingBalance()); return config.getDouble("money", ess.getSettings().getStartingBalance());
} }
if (ess.isIConomyFallbackEnabled())
try
{ {
return com.nijiko.coelho.iConomy.iConomy.getBank().getAccount(getName()).getBalance(); try
} {
catch (Throwable ex) return com.nijiko.coelho.iConomy.iConomy.getBank().getAccount(getName()).getBalance();
{ }
return ess.getSettings().getStartingBalance(); catch (Throwable ex)
{
}
} }
return ess.getSettings().getStartingBalance();
} }
public void setMoney(double value) public void setMoney(double value)
{ {
try if (ess.isIConomyFallbackEnabled())
{ {
com.nijiko.coelho.iConomy.iConomy.getBank().getAccount(getName()).setBalance(value); try
} {
catch (Throwable ex) com.nijiko.coelho.iConomy.iConomy.getBank().getAccount(getName()).setBalance(value);
{ }
config.setProperty("money", value); catch (Throwable ex)
config.save(); {
}
} }
config.setProperty("money", value);
config.save();
} }
public boolean hasHome() public boolean hasHome()

View File

@ -1,5 +1,6 @@
package com.earth2me.essentials; package com.earth2me.essentials;
import java.text.DecimalFormat;
import java.util.Calendar; import java.util.Calendar;
import java.util.GregorianCalendar; import java.util.GregorianCalendar;
import java.util.regex.Matcher; import java.util.regex.Matcher;
@ -256,19 +257,9 @@ public class Util
} }
return isBlockAboveAir(world, x, y, z); return isBlockAboveAir(world, x, y, z);
} }
public static boolean detectFay()
{ private static DecimalFormat df = new DecimalFormat("0.##");
try public static String formatCurrency(double value) {
{ return "$"+df.format(value);
if (com.nijiko.coelho.iConomy.iConomy.isFay())
{
return true;
}
}
catch (Throwable ex)
{
return false;
}
return false;
} }
} }

View File

@ -1,5 +1,8 @@
package com.earth2me.essentials; package com.earth2me.essentials.api;
import com.earth2me.essentials.Essentials;
import com.earth2me.essentials.User;
import com.earth2me.essentials.Util;
import java.io.BufferedWriter; import java.io.BufferedWriter;
import java.io.File; import java.io.File;
import java.io.FileWriter; import java.io.FileWriter;
@ -8,11 +11,10 @@ import java.text.DecimalFormat;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
public class Economy
public class EcoAPI
{ {
protected static Essentials ess=Essentials.getStatic(); protected static Essentials ess = Essentials.getStatic();
//Does the file exists? //Does the file exists?
protected static boolean accountCreated(String name) protected static boolean accountCreated(String name)
{ {
@ -29,7 +31,7 @@ public class EcoAPI
File folder = new File(ess.getDataFolder(), "userdata"); File folder = new File(ess.getDataFolder(), "userdata");
File npcFile = new File(folder, name + ".yml"); File npcFile = new File(folder, name + ".yml");
try try
{ {
if (!npcFile.createNewFile()) if (!npcFile.createNewFile())
@ -125,7 +127,7 @@ public class EcoAPI
{ {
if (accountCreated(name)) if (accountCreated(name))
{ {
User user = usrConv(name); User user = usrConv(name);
return user.getMoney(); return user.getMoney();
} }
return 0; return 0;
@ -314,7 +316,6 @@ public class EcoAPI
//Eco remove account, only use this for NPCS! //Eco remove account, only use this for NPCS!
public static void removeAccount(String name) public static void removeAccount(String name)
{ {
if (!exist(name)) if (!exist(name))
{ {
if (accountCreated(name)) if (accountCreated(name))

View File

@ -4,13 +4,13 @@ import org.bukkit.Server;
import com.earth2me.essentials.Essentials; import com.earth2me.essentials.Essentials;
import com.earth2me.essentials.ItemDb; import com.earth2me.essentials.ItemDb;
import com.earth2me.essentials.User; import com.earth2me.essentials.User;
import java.text.DecimalFormat; import com.earth2me.essentials.Util;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
public class Commandworth extends EssentialsCommand public class Commandworth extends EssentialsCommand
{ {
private static DecimalFormat df = new DecimalFormat("0.##");
public Commandworth() public Commandworth()
{ {
super("worth"); super("worth");
@ -46,9 +46,10 @@ public class Commandworth extends EssentialsCommand
throw new Exception("That item cannot be sold to the server."); throw new Exception("That item cannot be sold to the server.");
} }
user.charge(this); user.charge(this);
String d = df.format(Double.parseDouble(Double.toString(worth))); user.sendMessage("§7Stack of "
String d2 = df.format(Double.parseDouble(Double.toString(Double.parseDouble(d)*amount))); + is.getType().toString().toLowerCase().replace("_", "")
user.sendMessage("§7Stack of " + is.getType().toString().toLowerCase().replace("_", "") + " worth §c$" + d2 + "§7 (" + amount + " item(s) at $" + d + " each)"); + " worth §c$" + Util.formatCurrency(worth*amount) + "§7 ("
+ amount + " item(s) at $" + Util.formatCurrency(worth) + " each)");
} }
} }

View File

@ -5,7 +5,7 @@ main: com.earth2me.essentials.Essentials
version: TeamCity version: TeamCity
website: http://www.earth2me.net:8001/ website: http://www.earth2me.net:8001/
description: Provides an essential, core set of commands for Bukkit. description: Provides an essential, core set of commands for Bukkit.
authors: [Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo] authors: [Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo, ceulemans, Xeology]
commands: commands:
afk: afk:
description: Marks you as away-from-keyboard. description: Marks you as away-from-keyboard.

View File

@ -5,4 +5,4 @@ main: com.earth2me.essentials.chat.EssentialsChat
version: TeamCity version: TeamCity
website: http://www.earth2me.net:8001/ website: http://www.earth2me.net:8001/
description: Provides chat control features for Essentials. Requires Permissions. description: Provides chat control features for Essentials. Requires Permissions.
authors: [Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo] authors: [Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo, ceulemans, Xeology]

View File

@ -5,4 +5,4 @@ main: com.earth2me.essentials.geoip.EssentialsGeoIP
version: TeamCity version: TeamCity
website: http://www.earth2me.net:8001/ website: http://www.earth2me.net:8001/
description: Shows the country or city of a user on login and /whois. description: Shows the country or city of a user on login and /whois.
authors: [Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo] authors: [Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo, ceulemans, Xeology]

View File

@ -5,4 +5,4 @@ main: com.earth2me.essentials.protect.EssentialsProtect
version: TeamCity version: TeamCity
website: http://www.earth2me.net:8001/ website: http://www.earth2me.net:8001/
description: Provides protection for various parts of the world. description: Provides protection for various parts of the world.
authors: [Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo] authors: [Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo, ceulemans, Xeology]

View File

@ -5,7 +5,7 @@ main: com.earth2me.essentials.spawn.EssentialsSpawn
version: TeamCity version: TeamCity
website: http://www.earth2me.net:8001/ website: http://www.earth2me.net:8001/
description: Provides spawn control commands, utilizing Essentials. description: Provides spawn control commands, utilizing Essentials.
authors: [Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo] authors: [Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo, ceulemans, Xeology]
commands: commands:
setspawn: setspawn:
description: Set the spawnpoint to your current position. description: Set the spawnpoint to your current position.

View File

@ -1,78 +1,78 @@
annotation.processing.enabled=true annotation.processing.enabled=true
annotation.processing.enabled.in.editor=false annotation.processing.enabled.in.editor=false
annotation.processing.run.all.processors=true annotation.processing.run.all.processors=true
annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
application.title=EssentialsiConomyBridge application.title=EssentialsiConomyBridge
application.vendor=schlex application.vendor=schlex
build.classes.dir=${build.dir}/classes build.classes.dir=${build.dir}/classes
build.classes.excludes=**/*.java,**/*.form build.classes.excludes=**/*.java,**/*.form
# This directory is removed when the project is cleaned: # This directory is removed when the project is cleaned:
build.dir=build build.dir=build
build.generated.dir=${build.dir}/generated build.generated.dir=${build.dir}/generated
build.generated.sources.dir=${build.dir}/generated-sources build.generated.sources.dir=${build.dir}/generated-sources
# Only compile against the classpath explicitly listed here: # Only compile against the classpath explicitly listed here:
build.sysclasspath=ignore build.sysclasspath=ignore
build.test.classes.dir=${build.dir}/test/classes build.test.classes.dir=${build.dir}/test/classes
build.test.results.dir=${build.dir}/test/results build.test.results.dir=${build.dir}/test/results
# Uncomment to specify the preferred debugger connection transport: # Uncomment to specify the preferred debugger connection transport:
#debug.transport=dt_socket #debug.transport=dt_socket
debug.classpath=\ debug.classpath=\
${run.classpath} ${run.classpath}
debug.test.classpath=\ debug.test.classpath=\
${run.test.classpath} ${run.test.classpath}
# This directory is removed when the project is cleaned: # This directory is removed when the project is cleaned:
dist.dir=dist dist.dir=dist
dist.jar=${dist.dir}/EssentialsiConomyBridge.jar dist.jar=${dist.dir}/EssentialsiConomyBridge.jar
dist.javadoc.dir=${dist.dir}/javadoc dist.javadoc.dir=${dist.dir}/javadoc
endorsed.classpath= endorsed.classpath=
excludes= excludes=
file.reference.bukkit-0.0.1-SNAPSHOT.jar=..\\lib\\bukkit-0.0.1-SNAPSHOT.jar file.reference.bukkit-0.0.1-SNAPSHOT.jar=..\\lib\\bukkit-0.0.1-SNAPSHOT.jar
file.reference.Essentials.jar=..\\Essentials\\dist\\Essentials.jar file.reference.Essentials.jar=..\\Essentials\\dist\\Essentials.jar
file.reference.Essentials.jar=..\\lib\\bukkit-0.0.1-SNAPSHOT.jar file.reference.Essentials.jar=..\\lib\\bukkit-0.0.1-SNAPSHOT.jar
includes=** includes=**
jar.compress=false jar.compress=false
javac.classpath=\ javac.classpath=\
${reference.Essentials.jar}:\ ${reference.Essentials.jar}:\
${file.reference.bukkit-0.0.1-SNAPSHOT.jar} ${file.reference.bukkit-0.0.1-SNAPSHOT.jar}
javac.compilerargs= javac.compilerargs=
javac.deprecation=false javac.deprecation=false
javac.processorpath=\ javac.processorpath=\
${javac.classpath} ${javac.classpath}
javac.source=1.6 javac.source=1.6
javac.target=1.6 javac.target=1.6
javac.test.classpath=\ javac.test.classpath=\
${javac.classpath}:\ ${javac.classpath}:\
${build.classes.dir} ${build.classes.dir}
javac.test.processorpath=\ javac.test.processorpath=\
${javac.test.classpath} ${javac.test.classpath}
javadoc.additionalparam= javadoc.additionalparam=
javadoc.author=false javadoc.author=false
javadoc.encoding=${source.encoding} javadoc.encoding=${source.encoding}
javadoc.noindex=false javadoc.noindex=false
javadoc.nonavbar=false javadoc.nonavbar=false
javadoc.notree=false javadoc.notree=false
javadoc.private=false javadoc.private=false
javadoc.splitindex=true javadoc.splitindex=true
javadoc.use=true javadoc.use=true
javadoc.version=false javadoc.version=false
javadoc.windowtitle= javadoc.windowtitle=
main.class= main.class=
manifest.file=manifest.mf manifest.file=manifest.mf
meta.inf.dir=${src.dir}/META-INF meta.inf.dir=${src.dir}/META-INF
mkdist.disabled=false mkdist.disabled=false
platform.active=default_platform platform.active=default_platform
project.Essentials=../Essentials project.Essentials=../Essentials
reference.Essentials.jar=${project.Essentials}/dist/Essentials.jar reference.Essentials.jar=${project.Essentials}/dist/Essentials.jar
run.classpath=\ run.classpath=\
${javac.classpath}:\ ${javac.classpath}:\
${build.classes.dir} ${build.classes.dir}
# Space-separated list of JVM arguments used when running the project # Space-separated list of JVM arguments used when running the project
# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value # (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value
# or test-sys-prop.name=value to set system properties for unit tests): # or test-sys-prop.name=value to set system properties for unit tests):
run.jvmargs= run.jvmargs=
run.test.classpath=\ run.test.classpath=\
${javac.test.classpath}:\ ${javac.test.classpath}:\
${build.test.classes.dir} ${build.test.classes.dir}
source.encoding=UTF-8 source.encoding=UTF-8
src.dir=src src.dir=src
test.src.dir=test test.src.dir=test

View File

@ -1,19 +1,25 @@
package com.nijiko.coelho.iConomy; package com.nijiko.coelho.iConomy;
import java.util.logging.Logger;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
public class existCheck {
public class existCheck
{
private static final Logger logger = Logger.getLogger("Minecraft");
//We have to make sure the user exists! //We have to make sure the user exists!
public static boolean exist(String name)
public static boolean exist(String name){ {
if (name==null){
System.out.println("Essentials iConpomy Bridge - Whatever plugin is calling for users that are null is BROKEN!"); if (name == null)
{
logger.info("Essentials iConomy Bridge - Whatever plugin is calling for users that are null is BROKEN!");
return false; return false;
} }
if (Bukkit.getServer().getPlayer(name)!=null){ if (Bukkit.getServer().getPlayer(name) != null)
return true; {
} return true;
}
return false; return false;
} }
} }

View File

@ -1,39 +1,58 @@
package com.nijiko.coelho.iConomy; package com.nijiko.coelho.iConomy;
import com.earth2me.essentials.Essentials;
import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.java.JavaPlugin;
import com.nijiko.coelho.iConomy.system.Bank; import com.nijiko.coelho.iConomy.system.Bank;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginManager;
//This is not iConomy and I take NO credit for iConomy! /**
//This is FayConomy, a iConomy Essentials Eco bridge! * This is not iConomy and I take NO credit for iConomy!
//@author Xeology * This is FayConomy, a iConomy Essentials Eco bridge!
* @author Xeology
*/
//Pretend we are iConomy public class iConomy extends JavaPlugin
{
public static Bank Bank = null;
private static final Logger logger = Logger.getLogger("Minecraft");
public class iConomy extends JavaPlugin{ @Override
public static Bank Bank=null; public void onDisable()
{
//This is for the Essentials to detect FayConomy!
public static boolean isFay(){
return true;
} }
@Override @Override
public void onDisable() { public void onEnable()
} {
PluginManager pm = this.getServer().getPluginManager();
Plugin p = pm.getPlugin("Essentials");
if (p != null)
{
if (!pm.isPluginEnabled(p))
{
pm.enablePlugin(p);
}
}
@Override String version = this.getDescription().getDescription().replaceAll(".*: ", "");
public void onEnable() { if (!version.equals(Essentials.getStatic().getDescription().getVersion()))
Bank=new Bank(); {
logger.log(Level.WARNING, "Version mismatch! Please update all Essentials jars to the same version.");
}
Essentials.getStatic().setIConomyFallback(false);
//Can not announce my plugin.yml file, this is NOT iConomy! Bank = new Bank();
System.out.println("Essentials iConomy Bridge v1.0 iz in ur Bukkitz emulating ur iConomyz!"); logger.info("Loaded " + this.getDescription().getDescription() + " by " + Essentials.AUTHORS);
logger.info("Make sure you don't have iConomy installed, if you use this.");
} }
//Fake bank //Fake bank
public static Bank getBank()
public static Bank getBank() { {
return Bank; return Bank;
} }
} }

View File

@ -1,6 +1,6 @@
package com.nijiko.coelho.iConomy.system; package com.nijiko.coelho.iConomy.system;
import com.earth2me.essentials.EcoAPI; import com.earth2me.essentials.api.Economy;
import com.nijiko.coelho.iConomy.existCheck; import com.nijiko.coelho.iConomy.existCheck;
@ -8,13 +8,15 @@ public class Account
{ {
private String name; private String name;
//Fake getname
public String getName() public String getName()
{ {
return name; return name;
} }
//Essentials doesnt have hidden accounts so just say yeah whatever! /**
* Essentials does not support hidden accounts.
* @return false
*/
public boolean setHidden(boolean hidden) public boolean setHidden(boolean hidden)
{ {
return true; return true;
@ -26,122 +28,118 @@ public class Account
this.name = name; this.name = name;
} }
//Fake return balance
public double getBalance() public double getBalance()
{ {
if (!existCheck.exist(name)) if (!existCheck.exist(name))
{ {
if (EcoAPI.accountExist(name)) if (Economy.accountExist(name))
{ {
return EcoAPI.getMoney(name); return Economy.getMoney(name);
} }
return 0; return 0;
} }
return EcoAPI.getMoney(name); return Economy.getMoney(name);
} }
//Fake Set balance
public void setBalance(double bal) public void setBalance(double bal)
{ {
if (!existCheck.exist(name)) if (!existCheck.exist(name))
{ {
if (EcoAPI.accountExist(name)) if (Economy.accountExist(name))
{ {
EcoAPI.setMoney(name, bal); Economy.setMoney(name, bal);
} }
return; return;
} }
EcoAPI.setMoney(name, bal); Economy.setMoney(name, bal);
} }
//Fake add balance
public void add(double money) public void add(double money)
{ {
if (!existCheck.exist(name)) if (!existCheck.exist(name))
{ {
if (EcoAPI.accountExist(name)) if (Economy.accountExist(name))
{ {
EcoAPI.add(name, money); Economy.add(name, money);
} }
return; return;
} }
EcoAPI.add(name, money); Economy.add(name, money);
} }
//Fake divide balance
public void divide(double money) public void divide(double money)
{ {
if (!existCheck.exist(name)) if (!existCheck.exist(name))
{ {
if (EcoAPI.accountExist(name)) if (Economy.accountExist(name))
{ {
EcoAPI.divide(name, money); Economy.divide(name, money);
} }
return; return;
} }
EcoAPI.divide(name, money); Economy.divide(name, money);
} }
//Fake multiply balance
public void multiply(double money) public void multiply(double money)
{ {
if (!existCheck.exist(name)) if (!existCheck.exist(name))
{ {
if (EcoAPI.accountExist(name)) if (Economy.accountExist(name))
{ {
EcoAPI.multiply(name, money); Economy.multiply(name, money);
} }
return; return;
} }
EcoAPI.multiply(name, money); Economy.multiply(name, money);
} }
//Fake subtract balance
public void subtract(double money) public void subtract(double money)
{ {
if (!existCheck.exist(name)) if (!existCheck.exist(name))
{ {
if (EcoAPI.accountExist(name)) if (Economy.accountExist(name))
{ {
EcoAPI.subtract(name, money); Economy.subtract(name, money);
} }
return; return;
} }
EcoAPI.subtract(name, money); Economy.subtract(name, money);
} }
//fake reset balance!
public void resetBalance() public void resetBalance()
{ {
this.setBalance(0); this.setBalance(0);
} }
//fake bal check
public boolean hasEnough(double amount) public boolean hasEnough(double amount)
{ {
return amount <= this.getBalance(); return amount <= this.getBalance();
} }
//fake another balance check
public boolean hasOver(double amount) public boolean hasOver(double amount)
{ {
return amount < this.getBalance(); return amount < this.getBalance();
} }
//Again we dont have hidden accounts here! /**
* Essentials does not support hidden accounts.
* @return false
*/
public boolean isHidden() public boolean isHidden()
{ {
return false; return false;
} }
//Fake is negative check!
public boolean isNegative() public boolean isNegative()
{ {
return this.getBalance() < 0.0; return this.getBalance() < 0.0;
} }
//Because some plugins like to use depricated methods I must save /**
//admins' log from the overflow of dumb * Because some plugins like to use depricated methods I must save
* admins' log from the overflow of dumb
*/
@Deprecated
public void save() public void save()
{ {
} }

View File

@ -1,53 +1,56 @@
package com.nijiko.coelho.iConomy.system; package com.nijiko.coelho.iConomy.system;
import com.earth2me.essentials.EcoAPI; import com.earth2me.essentials.api.Economy;
import com.nijiko.coelho.iConomy.existCheck; import com.nijiko.coelho.iConomy.existCheck;
public class Bank { public class Bank
{
//The fake formatter //The fake formatter
public String format(double amount)
public String format(double amount) { {
return EcoAPI.format(amount); return Economy.format(amount);
} }
//Fake currency! //Fake currency!
public String getCurrency()
public String getCurrency() { {
return EcoAPI.getCurrency(); return Economy.getCurrency();
} }
//Fake "does player have an account?" but essentials eco doesnt need to make one, so TRUE, unless its an NPC. //Fake "does player have an account?" but essentials eco doesnt need to make one, so TRUE, unless its an NPC.
public boolean hasAccount(String account)
public boolean hasAccount(String account) { {
if (!existCheck.exist(account)){ if (!existCheck.exist(account))
if (!EcoAPI.accountExist(account)){ {
EcoAPI.newAccount(account); if (!Economy.accountExist(account))
} {
Economy.newAccount(account);
}
} }
return true; return true;
} }
//simply switches the name to an account type? //simply switches the name to an account type?
public Account getAccount(String name)
public Account getAccount(String name){ {
Account Account=null; Account Account = null;
Account=new Account(name); Account = new Account(name);
hasAccount(name); hasAccount(name);
return Account; return Account;
} }
//Fake remove account //Fake remove account
public void removeAccount(String name)
public void removeAccount(String name){ {
if (!existCheck.exist(name)){ if (!existCheck.exist(name))
if (EcoAPI.accountExist(name)){ {
EcoAPI.removeAccount(name); if (Economy.accountExist(name))
{
Economy.removeAccount(name);
} }
return; return;
} }
EcoAPI.setMoney(name, 0); Economy.setMoney(name, 0);
} }
} }

View File

@ -1,3 +1,6 @@
name: iConomy name: iConomy
version: 4.65 version: 4.65
main: com.nijiko.coelho.iConomy.iConomy main: com.nijiko.coelho.iConomy.iConomy
website: http://www.earth2me.net:8001/
description: "Essentials iConomy Bridge version: TeamCity"
authors: [Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo, ceulemans, Xeology]