diff --git a/src/main/NGECore.java b/src/main/NGECore.java index 9738693b..1c04d540 100644 --- a/src/main/NGECore.java +++ b/src/main/NGECore.java @@ -210,6 +210,7 @@ public class NGECore { setGalaxyStatus(1); creatureODB = new ObjectDatabase("creature", true, false, true); mailODB = new ObjectDatabase("mails", true, false, true); + guildODB = new ObjectDatabase("guild", true, false, true); // Services loginService = new LoginService(this); connectionService = new ConnectionService(this); @@ -413,6 +414,10 @@ public class NGECore { return config; } + public String getGalaxyName() { + return config.getString("GALAXY_NAME"); + } + public DatabaseConnection getDatabase1() { return databaseConnection; } diff --git a/src/resources/common/RGB.java b/src/resources/common/RGB.java index d5d62dde..50723be5 100644 --- a/src/resources/common/RGB.java +++ b/src/resources/common/RGB.java @@ -1,8 +1,8 @@ package resources.common; -import resources.objects.ListObject; +import resources.objects.Delta; -public class RGB extends ListObject { +public class RGB extends Delta { private byte red, green, blue; diff --git a/src/resources/gcw/CurrentServerGCWZoneHistory.java b/src/resources/gcw/CurrentServerGCWZoneHistory.java index f56ed235..a7a77e98 100644 --- a/src/resources/gcw/CurrentServerGCWZoneHistory.java +++ b/src/resources/gcw/CurrentServerGCWZoneHistory.java @@ -27,10 +27,10 @@ import org.apache.mina.core.buffer.IoBuffer; import com.sleepycat.persist.model.Persistent; -import resources.objects.ListObject; +import resources.objects.Delta; @Persistent -public class CurrentServerGCWZoneHistory extends ListObject implements Cloneable { +public class CurrentServerGCWZoneHistory extends Delta implements Cloneable { private int lastUpdateTime; private int percent; diff --git a/src/resources/gcw/CurrentServerGCWZonePercent.java b/src/resources/gcw/CurrentServerGCWZonePercent.java index ad9c3895..09034cf6 100644 --- a/src/resources/gcw/CurrentServerGCWZonePercent.java +++ b/src/resources/gcw/CurrentServerGCWZonePercent.java @@ -31,10 +31,10 @@ import com.sleepycat.persist.model.Persistent; import engine.resources.scene.Point2D; -import resources.objects.ListObject; +import resources.objects.Delta; @Persistent -public class CurrentServerGCWZonePercent extends ListObject implements Cloneable { +public class CurrentServerGCWZonePercent extends Delta implements Cloneable { private Point2D position; private float radius = 0; diff --git a/src/resources/gcw/OtherServerGCWZonePercent.java b/src/resources/gcw/OtherServerGCWZonePercent.java index 6b4d410d..a006d7a8 100644 --- a/src/resources/gcw/OtherServerGCWZonePercent.java +++ b/src/resources/gcw/OtherServerGCWZonePercent.java @@ -27,10 +27,10 @@ import org.apache.mina.core.buffer.IoBuffer; import com.sleepycat.persist.model.Persistent; -import resources.objects.ListObject; +import resources.objects.Delta; @Persistent -public class OtherServerGCWZonePercent extends ListObject implements Cloneable { +public class OtherServerGCWZonePercent extends Delta implements Cloneable { private String zone = ""; private int percent = 50; diff --git a/src/resources/guild/Guild.java b/src/resources/guild/Guild.java index 2a900945..1cebf0f6 100644 --- a/src/resources/guild/Guild.java +++ b/src/resources/guild/Guild.java @@ -26,11 +26,11 @@ import java.util.List; import org.apache.mina.core.buffer.IoBuffer; -import resources.objects.ListObject; +import resources.objects.Delta; import engine.resources.objects.SWGObject; -public class Guild extends ListObject { +public class Guild extends Delta { private int id; private String abbreviation; diff --git a/src/resources/objects/Buff.java b/src/resources/objects/Buff.java index ea55a20e..c545b5a0 100644 --- a/src/resources/objects/Buff.java +++ b/src/resources/objects/Buff.java @@ -41,7 +41,7 @@ import engine.clientdata.visitors.DatatableVisitor; import engine.resources.common.CRC; @Persistent(version=8) -public class Buff implements IListObject { +public class Buff implements IDelta { @NotPersistent private SimpleBufferAllocator bufferPool = new SimpleBufferAllocator(); diff --git a/src/resources/objects/ListObject.java b/src/resources/objects/Delta.java similarity index 91% rename from src/resources/objects/ListObject.java rename to src/resources/objects/Delta.java index 815fe632..8b1e7f18 100644 --- a/src/resources/objects/ListObject.java +++ b/src/resources/objects/Delta.java @@ -29,9 +29,9 @@ import org.apache.mina.core.buffer.SimpleBufferAllocator; import resources.common.StringUtilities; -public abstract class ListObject implements IListObject { +public abstract class Delta implements IDelta { - public ListObject() { } + public Delta() { } protected final Object objectMutex = new Object(); public SimpleBufferAllocator bufferPool = new SimpleBufferAllocator(); @@ -52,4 +52,8 @@ public abstract class ListObject implements IListObject { return StringUtilities.getUnicodeString(string); } + protected byte getBoolean(boolean variable) { + return ((byte) ((variable) ? 1 : 0)); + } + } diff --git a/src/resources/objects/IListObject.java b/src/resources/objects/IDelta.java similarity index 97% rename from src/resources/objects/IListObject.java rename to src/resources/objects/IDelta.java index 12b36650..cf1d8802 100644 --- a/src/resources/objects/IListObject.java +++ b/src/resources/objects/IDelta.java @@ -24,7 +24,7 @@ package resources.objects; import com.sleepycat.persist.model.Persistent; @Persistent -public interface IListObject { +public interface IDelta { public byte[] getBytes(); diff --git a/src/resources/objects/SWGList.java b/src/resources/objects/SWGList.java index cbef0018..1c72a400 100644 --- a/src/resources/objects/SWGList.java +++ b/src/resources/objects/SWGList.java @@ -33,7 +33,7 @@ import org.apache.mina.core.buffer.IoBuffer; import com.sleepycat.persist.model.NotPersistent; import com.sleepycat.persist.model.Persistent; -/* A SWGList element MUST implement IListObject, or it will refuse to work with it */ +/* A SWGList element MUST implement IDelta, or it will refuse to work with it */ @Persistent public class SWGList implements List { @@ -58,8 +58,8 @@ public class SWGList implements List { @Override public boolean add(E e) { synchronized(objectMutex) { - if (list.add(e) && e instanceof IListObject) { - queue(item(1, list.lastIndexOf(e), ((IListObject) e).getBytes(), true, true)); + if (list.add(e) && e instanceof IDelta) { + queue(item(1, list.lastIndexOf(e), ((IDelta) e).getBytes(), true, true)); return true; } return false; @@ -69,9 +69,9 @@ public class SWGList implements List { @Override public void add(int index, E element) { synchronized(objectMutex) { - if (element instanceof IListObject) { + if (element instanceof IDelta) { list.add(index, element); - queue(item(1, index, ((IListObject) element).getBytes(), true, true)); + queue(item(1, index, ((IDelta) element).getBytes(), true, true)); } } } @@ -84,9 +84,9 @@ public class SWGList implements List { boolean success = false; for (E element : c) { - if (element instanceof IListObject) { + if (element instanceof IDelta) { if (list.add(element)) { - buffer.add(item(1, list.lastIndexOf(element), ((IListObject) element).getBytes(), true, true)); + buffer.add(item(1, list.lastIndexOf(element), ((IDelta) element).getBytes(), true, true)); success = true; } } else { @@ -112,9 +112,9 @@ public class SWGList implements List { List buffer = new ArrayList(); for (E element : c) { - if (element instanceof IListObject) { + if (element instanceof IDelta) { list.add(index, element); - buffer.add(item(1, index, ((IListObject) element).getBytes(), true, true)); + buffer.add(item(1, index, ((IDelta) element).getBytes(), true, true)); index++; } else { return false; @@ -268,10 +268,10 @@ public class SWGList implements List { @Override public E set(int index, E element) { synchronized(objectMutex) { - if (element instanceof IListObject) { + if (element instanceof IDelta) { E previousElement = list.set(index, element); - queue(item(2, index, ((IListObject) element).getBytes(), true, true)); + queue(item(2, index, ((IDelta) element).getBytes(), true, true)); return previousElement; } @@ -286,10 +286,10 @@ public class SWGList implements List { if (!list.isEmpty()) { for (E element : list) { - if (element instanceof IListObject) { - IoBuffer buffer = messageBuilder.bufferPool.allocate((newListData.length + ((IListObject) element).getBytes().length), false).order(ByteOrder.LITTLE_ENDIAN); + if (element instanceof IDelta) { + IoBuffer buffer = messageBuilder.bufferPool.allocate((newListData.length + ((IDelta) element).getBytes().length), false).order(ByteOrder.LITTLE_ENDIAN); buffer.put(newListData); - buffer.put(((IListObject) element).getBytes()); + buffer.put(((IDelta) element).getBytes()); newListData = buffer.array(); } else { return false; diff --git a/src/resources/objects/SWGMap.java b/src/resources/objects/SWGMap.java index d3485f93..57e6e7a9 100644 --- a/src/resources/objects/SWGMap.java +++ b/src/resources/objects/SWGMap.java @@ -112,17 +112,17 @@ public class SWGMap implements Map { synchronized(objectMutex) { if ((key instanceof String || key instanceof Byte || key instanceof Short || key instanceof Integer || key instanceof Float ||key instanceof Long) && - value instanceof IListObject) { + value instanceof IDelta) { if (map.containsKey(key)) { V oldValue = map.put(key, value); - queue(item(2, (String) key, ((IListObject) value).getBytes(), true, true)); + queue(item(2, (String) key, ((IDelta) value).getBytes(), true, true)); return oldValue; } else { V oldValue = map.put(key, value); - queue(item(0, (String) key, ((IListObject) value).getBytes(), true, true)); + queue(item(0, (String) key, ((IDelta) value).getBytes(), true, true)); return oldValue; } @@ -142,14 +142,14 @@ public class SWGMap implements Map { if (key instanceof String || key instanceof Byte || key instanceof Short || key instanceof Integer || key instanceof Float || key instanceof Long || - value instanceof IListObject) { + value instanceof IDelta) { if (map.containsKey(key)) { if (map.put(key, value) != null) { - buffer.add(item(2, (String) key, ((IListObject) value).getBytes(), true, true)); + buffer.add(item(2, (String) key, ((IDelta) value).getBytes(), true, true)); } } else { if (map.put(key, value) != null) { - buffer.add(item(0, (String) key, ((IListObject) value).getBytes(), true, true)); + buffer.add(item(0, (String) key, ((IDelta) value).getBytes(), true, true)); } } } @@ -167,7 +167,7 @@ public class SWGMap implements Map { key instanceof Integer || key instanceof Float || key instanceof Long) { V value = map.remove(key); - queue(item(1, key, ((IListObject) map.get(key)).getBytes(), true, true)); + queue(item(1, key, ((IDelta) map.get(key)).getBytes(), true, true)); return value; } diff --git a/src/resources/objects/SWGMultiMap.java b/src/resources/objects/SWGMultiMap.java index a73157fe..850b55f9 100644 --- a/src/resources/objects/SWGMultiMap.java +++ b/src/resources/objects/SWGMultiMap.java @@ -136,9 +136,9 @@ public class SWGMultiMap implements Multimap { synchronized(objectMutex) { if (key instanceof String || key instanceof Byte || key instanceof Short || key instanceof Integer || key instanceof Float || key instanceof Long || - value instanceof IListObject) { + value instanceof IDelta) { if (map.put(key, value)) { - queue(item(0, (String) key, ((IListObject) value).getBytes(), true, true)); + queue(item(0, (String) key, ((IDelta) value).getBytes(), true, true)); return true; } } @@ -154,9 +154,9 @@ public class SWGMultiMap implements Multimap { List buffer = new ArrayList(); for (V value : values) { - if (value instanceof IListObject) { + if (value instanceof IDelta) { if (map.put(key, value)) { - buffer.add(item(0, (String) key, ((IListObject) value).getBytes(), true, true)); + buffer.add(item(0, (String) key, ((IDelta) value).getBytes(), true, true)); } } } @@ -181,9 +181,9 @@ public class SWGMultiMap implements Multimap { if (key instanceof String || key instanceof Byte || key instanceof Short || key instanceof Integer || key instanceof Float || key instanceof Long || - value instanceof IListObject) { + value instanceof IDelta) { if (this.map.put(key, value)) { - buffer.add(item(0, (String) key, ((IListObject) value).getBytes(), true, true)); + buffer.add(item(0, (String) key, ((IDelta) value).getBytes(), true, true)); } } } @@ -203,7 +203,7 @@ public class SWGMultiMap implements Multimap { if (key instanceof String || key instanceof Byte || key instanceof Short || key instanceof Integer || key instanceof Float || key instanceof Long) { if (map.remove(key, value)) { - queue(item(1, (String) key, ((IListObject) map.get((K) key)).getBytes(), true, true)); + queue(item(1, (String) key, ((IDelta) map.get((K) key)).getBytes(), true, true)); return true; } @@ -223,7 +223,7 @@ public class SWGMultiMap implements Multimap { for (V value : map.get((K) key)) { if (map.remove(key, value)) { - buffer.add(item(1, (String) key, ((IListObject) map.get((K) key)).getBytes(), true, true)); + buffer.add(item(1, (String) key, ((IDelta) map.get((K) key)).getBytes(), true, true)); } } @@ -245,9 +245,9 @@ public class SWGMultiMap implements Multimap { List buffer = new ArrayList(); for (V value : values) { - if (value instanceof IListObject) { + if (value instanceof IDelta) { if (!map.get(key).contains(value)) { - buffer.add(item(2, (String) key, ((IListObject) value).getBytes(), true, true)); + buffer.add(item(2, (String) key, ((IDelta) value).getBytes(), true, true)); } } else { return null; diff --git a/src/services/collections/ServerFirst.java b/src/services/collections/ServerFirst.java index a11a01f6..1a955ed2 100644 --- a/src/services/collections/ServerFirst.java +++ b/src/services/collections/ServerFirst.java @@ -21,12 +21,12 @@ ******************************************************************************/ package services.collections; -import resources.objects.ListObject; +import resources.objects.Delta; import com.sleepycat.persist.model.Persistent; @Persistent -public class ServerFirst extends ListObject { +public class ServerFirst extends Delta { private String name; private long time; diff --git a/src/services/guild/GuildService.java b/src/services/guild/GuildService.java index d0879121..902bd569 100644 --- a/src/services/guild/GuildService.java +++ b/src/services/guild/GuildService.java @@ -49,9 +49,9 @@ public class GuildService implements INetworkDispatch { if (object == null) { object = (GuildObject) this.core.objectService.createObject("object/guild/shared_guild_object.iff", core.terrainService.getPlanetList().get(0)); - - object.createTransaction(core.getGuildODB().getEnvironment()); } + + object.createTransaction(core.getGuildODB().getEnvironment()); } public Guild createGuild(String abbreviation, String name, SWGObject leader) {