Temp patchfix for creating chars issue

Will fix it properly soon, atm everyone needs to be able to create
chars.
This commit is contained in:
Treeku
2014-05-02 20:33:01 +02:00
committed by CharonInferar
parent 35b978afdb
commit b4cb399bc1
29 changed files with 309 additions and 100 deletions
+1 -3
View File
@@ -21,12 +21,10 @@
******************************************************************************/
package resources.objects;
import java.io.Serializable;
import com.sleepycat.persist.model.Persistent;
@Persistent
public interface IDelta {
public interface IDelta {
public byte[] getBytes();
@@ -42,7 +42,7 @@ public abstract class ObjectMessageBuilder {
public SWGObject object;
@NotPersistent
public SimpleBufferAllocator bufferPool = new SimpleBufferAllocator();
public IoBuffer createBaseline(String objectType, byte viewType, IoBuffer data, int size) {
IoBuffer buffer = bufferPool.allocate(23 + size, false).order(ByteOrder.LITTLE_ENDIAN);
+35 -8
View File
@@ -22,7 +22,7 @@
package resources.objects;
import java.io.Serializable;
import java.nio.ByteOrder;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
@@ -35,12 +35,16 @@ import java.util.function.Predicate;
import java.util.function.UnaryOperator;
import java.util.stream.Stream;
import main.NGECore;
import org.apache.mina.core.buffer.IoBuffer;
import org.python.google.common.collect.Lists;
import com.sleepycat.persist.model.NotPersistent;
import com.sleepycat.persist.model.Persistent;
import engine.resources.objects.SWGObject;
/* A SWGList element MUST implement IDelta, or it will refuse to work with it */
@Persistent
@@ -50,7 +54,8 @@ public class SWGList<E> implements List<E>, Serializable {
private List<E> list = new ArrayList<E>();
@NotPersistent
private transient int updateCounter = 1;
private ObjectMessageBuilder messageBuilder;
private long objectId;
private transient ObjectMessageBuilder messageBuilder;
private byte viewType;
private short updateType;
@NotPersistent
@@ -58,8 +63,8 @@ public class SWGList<E> implements List<E>, Serializable {
public SWGList() { }
public SWGList(ObjectMessageBuilder messageBuilder, int viewType, int updateType) {
this.messageBuilder = messageBuilder;
public SWGList(long objectId, int viewType, int updateType) {
this.objectId = objectId;
this.viewType = (byte) viewType;
this.updateType = (short) updateType;
}
@@ -296,7 +301,7 @@ public class SWGList<E> implements List<E>, Serializable {
if (!list.isEmpty()) {
for (E element : list) {
if (element instanceof IDelta) {
IoBuffer buffer = messageBuilder.bufferPool.allocate((newListData.length + ((IDelta) element).getBytes().length), false).order(ByteOrder.LITTLE_ENDIAN);
IoBuffer buffer = Delta.createBuffer((newListData.length + ((IDelta) element).getBytes().length));
buffer.put(newListData);
buffer.put(((IDelta) element).getBytes());
newListData = buffer.array();
@@ -361,7 +366,7 @@ public class SWGList<E> implements List<E>, Serializable {
return new byte[] { };
}
IoBuffer buffer = messageBuilder.bufferPool.allocate((size), false).order(ByteOrder.LITTLE_ENDIAN);
IoBuffer buffer = Delta.createBuffer(size);
buffer.put((byte) type);
if (useIndex) buffer.putShort((short) index);
if (useData) buffer.put(data);
@@ -372,7 +377,18 @@ public class SWGList<E> implements List<E>, Serializable {
}
private void queue(byte[] data) {
IoBuffer buffer = messageBuilder.bufferPool.allocate((data.length + 8), false).order(ByteOrder.LITTLE_ENDIAN);
if (messageBuilder == null) {
try {
SWGObject object = NGECore.getInstance().objectService.getObject(objectId);
this.messageBuilder = (ObjectMessageBuilder) object.getClass().getMethod("getMessageBuilder", new Class[] {}).invoke(object, new Object[] { });
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
IoBuffer buffer = Delta.createBuffer((data.length + 8));
buffer.putInt(1);
buffer.putInt(updateCounter);
buffer.put(data);
@@ -386,7 +402,18 @@ public class SWGList<E> implements List<E>, Serializable {
size += queued.length;
}
IoBuffer buffer = messageBuilder.bufferPool.allocate((size + 8), false).order(ByteOrder.LITTLE_ENDIAN);
if (messageBuilder == null) {
try {
SWGObject object = NGECore.getInstance().objectService.getObject(objectId);
this.messageBuilder = (ObjectMessageBuilder) object.getClass().getMethod("getMessageBuilder", new Class[] {}).invoke(object, new Object[] { });
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
IoBuffer buffer = Delta.createBuffer((size + 8));
buffer.putInt(data.size());
buffer.putInt(updateCounter);
for (byte[] queued : data) buffer.put(queued);
+35 -6
View File
@@ -22,6 +22,7 @@
package resources.objects;
import java.io.Serializable;
import java.lang.reflect.InvocationTargetException;
import java.nio.ByteOrder;
import java.util.ArrayList;
import java.util.Collection;
@@ -34,6 +35,8 @@ import java.util.function.BiConsumer;
import java.util.function.BiFunction;
import java.util.function.Function;
import main.NGECore;
import org.apache.mina.core.buffer.IoBuffer;
import resources.common.StringUtilities;
@@ -41,6 +44,8 @@ import resources.common.StringUtilities;
import com.sleepycat.persist.model.NotPersistent;
import com.sleepycat.persist.model.Persistent;
import engine.resources.objects.SWGObject;
@SuppressWarnings("unused")
@Persistent
@@ -50,7 +55,8 @@ public class SWGMap<K, V> implements Map<K, V>, Serializable {
private Map<K, V> map = new TreeMap<K, V>();
@NotPersistent
private transient int updateCounter = 0;
private ObjectMessageBuilder messageBuilder;
long objectId;
private transient ObjectMessageBuilder messageBuilder;
private byte viewType;
private short updateType;
@NotPersistent
@@ -58,14 +64,15 @@ public class SWGMap<K, V> implements Map<K, V>, Serializable {
public SWGMap() { }
public SWGMap(ObjectMessageBuilder messageBuilder, int viewType, int updateType) {
this.messageBuilder = messageBuilder;
public SWGMap(long objectId, int viewType, int updateType) {
this.objectId = objectId;
this.viewType = (byte) viewType;
this.updateType = (short) updateType;
}
public SWGMap(Map<K, V> m) {
if (m instanceof SWGMap) {
this.objectId = ((SWGMap<K, V>) m).objectId;
this.messageBuilder = ((SWGMap<K, V>) m).messageBuilder;
this.viewType = ((SWGMap<K, V>) m).viewType;
this.updateType = ((SWGMap<K, V>) m).updateType;
@@ -216,7 +223,7 @@ public class SWGMap<K, V> implements Map<K, V>, Serializable {
int size = 1 + ((useIndex) ? (2 + index.toString().getBytes().length) : 0) + ((useData) ? data.length : 0);
IoBuffer buffer = messageBuilder.bufferPool.allocate((size), false).order(ByteOrder.LITTLE_ENDIAN);
IoBuffer buffer = Delta.createBuffer((size));
buffer.put((byte) type);
if (useIndex) {
if (index instanceof String) {
@@ -244,7 +251,18 @@ public class SWGMap<K, V> implements Map<K, V>, Serializable {
}
private void queue(byte[] data) {
IoBuffer buffer = messageBuilder.bufferPool.allocate((data.length + 8), false).order(ByteOrder.LITTLE_ENDIAN);
if (messageBuilder == null) {
try {
SWGObject object = NGECore.getInstance().objectService.getObject(objectId);
this.messageBuilder = (ObjectMessageBuilder) object.getClass().getMethod("getMessageBuilder", new Class[] {}).invoke(object, new Object[] { });
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
IoBuffer buffer = Delta.createBuffer((data.length + 8));
buffer.putInt(1);
buffer.putInt(updateCounter);
buffer.put(data);
@@ -259,7 +277,18 @@ public class SWGMap<K, V> implements Map<K, V>, Serializable {
size += queued.length;
}
IoBuffer buffer = messageBuilder.bufferPool.allocate((size + 8), false).order(ByteOrder.LITTLE_ENDIAN);
if (messageBuilder == null) {
try {
SWGObject object = NGECore.getInstance().objectService.getObject(objectId);
this.messageBuilder = (ObjectMessageBuilder) object.getClass().getMethod("getMessageBuilder", new Class[] {}).invoke(object, new Object[] { });
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
IoBuffer buffer = Delta.createBuffer((size + 8));
buffer.putInt(data.size());
buffer.putInt(updateCounter);
for (byte[] queued : data) buffer.put(queued);
+35 -6
View File
@@ -22,6 +22,7 @@
package resources.objects;
import java.io.Serializable;
import java.lang.reflect.InvocationTargetException;
import java.nio.ByteOrder;
import java.util.ArrayList;
import java.util.Collection;
@@ -32,6 +33,8 @@ import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;
import main.NGECore;
import org.apache.mina.core.buffer.IoBuffer;
import org.python.google.common.collect.ArrayListMultimap;
import org.python.google.common.collect.Multimap;
@@ -44,6 +47,8 @@ import resources.common.StringUtilities;
import com.sleepycat.persist.model.NotPersistent;
import com.sleepycat.persist.model.Persistent;
import engine.resources.objects.SWGObject;
@SuppressWarnings("unused")
@Persistent
@@ -53,7 +58,8 @@ public class SWGMultiMap<K, V> implements Multimap<K, V>, Serializable {
private Multimap<K, V> map = ArrayListMultimap.create();
@NotPersistent
private transient int updateCounter = 0;
private ObjectMessageBuilder messageBuilder;
private long objectId;
private transient ObjectMessageBuilder messageBuilder;
private byte viewType;
private short updateType;
@NotPersistent
@@ -61,14 +67,15 @@ public class SWGMultiMap<K, V> implements Multimap<K, V>, Serializable {
public SWGMultiMap() { }
public SWGMultiMap(ObjectMessageBuilder messageBuilder, int viewType, int updateType) {
this.messageBuilder = messageBuilder;
public SWGMultiMap(long objectId, int viewType, int updateType) {
this.objectId = objectId;
this.viewType = (byte) viewType;
this.updateType = (short) updateType;
}
public SWGMultiMap(Multimap<K, V> m) {
if (m instanceof SWGMultiMap) {
this.objectId = ((SWGMultiMap<K, V>) m).objectId;
this.messageBuilder = ((SWGMultiMap<K, V>) m).messageBuilder;
this.viewType = ((SWGMultiMap<K, V>) m).viewType;
this.updateType = ((SWGMultiMap<K, V>) m).updateType;
@@ -298,7 +305,7 @@ public class SWGMultiMap<K, V> implements Multimap<K, V>, Serializable {
int size = 1 + ((useIndex) ? (2 + index.toString().getBytes().length) : 0) + ((useData) ? data.length : 0);
IoBuffer buffer = messageBuilder.bufferPool.allocate((size), false).order(ByteOrder.LITTLE_ENDIAN);
IoBuffer buffer = Delta.createBuffer(size);
buffer.put((byte) type);
if (useIndex) {
if (index instanceof String) {
@@ -325,7 +332,18 @@ public class SWGMultiMap<K, V> implements Multimap<K, V>, Serializable {
}
private void queue(byte[] data) {
IoBuffer buffer = messageBuilder.bufferPool.allocate((data.length + 8), false).order(ByteOrder.LITTLE_ENDIAN);
if (messageBuilder == null) {
try {
SWGObject object = NGECore.getInstance().objectService.getObject(objectId);
this.messageBuilder = (ObjectMessageBuilder) object.getClass().getMethod("getMessageBuilder", new Class[] {}).invoke(object, new Object[] { });
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
IoBuffer buffer = Delta.createBuffer((data.length + 8));
buffer.putInt(1);
buffer.putInt(updateCounter);
buffer.put(data);
@@ -339,7 +357,18 @@ public class SWGMultiMap<K, V> implements Multimap<K, V>, Serializable {
size += queued.length;
}
IoBuffer buffer = messageBuilder.bufferPool.allocate((size + 8), false).order(ByteOrder.LITTLE_ENDIAN);
if (messageBuilder == null) {
try {
SWGObject object = NGECore.getInstance().objectService.getObject(objectId);
this.messageBuilder = (ObjectMessageBuilder) object.getClass().getMethod("getMessageBuilder", new Class[] {}).invoke(object, new Object[] { });
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
IoBuffer buffer = Delta.createBuffer((size + 8));
buffer.putInt(data.size());
buffer.putInt(updateCounter);
for (byte[] queued : data) buffer.put(queued);
@@ -27,7 +27,7 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;
import main.NGECore;
import resources.objects.cell.CellMessageBuilder;
import resources.objects.ObjectMessageBuilder;
import resources.objects.cell.CellObject;
import resources.objects.creature.CreatureObject;
@@ -271,4 +271,8 @@ public class BuildingObject extends TangibleObject implements IPersistent, Seria
messageBuilder = new BuildingMessageBuilder(this);
}
public ObjectMessageBuilder getMessageBuilder() {
return messageBuilder;
}
}
+6 -2
View File
@@ -24,6 +24,7 @@ package resources.objects.cell;
import java.io.Serializable;
import protocol.swg.UpdateCellPermissionMessage;
import resources.objects.ObjectMessageBuilder;
import com.sleepycat.persist.model.NotPersistent;
import com.sleepycat.persist.model.Persistent;
@@ -89,6 +90,9 @@ public class CellObject extends SWGObject implements Serializable {
super.init();
messageBuilder = new CellMessageBuilder(this);
}
public ObjectMessageBuilder getMessageBuilder() {
return messageBuilder;
}
}
@@ -23,7 +23,7 @@ package resources.objects.craft;
import java.io.Serializable;
import resources.objects.building.BuildingMessageBuilder;
import resources.objects.ObjectMessageBuilder;
import com.sleepycat.persist.model.Persistent;
@@ -37,6 +37,7 @@ import engine.resources.scene.Quaternion;
public class DraftSchematic extends SWGObject implements Serializable {
private static final long serialVersionUID = 1L;
private transient ObjectMessageBuilder messageBuilder = null;
public DraftSchematic(long objectID, Planet planet, String template, Point3D position, Quaternion orientation){
super(objectID, planet, position, orientation, template);
@@ -52,7 +53,9 @@ public class DraftSchematic extends SWGObject implements Serializable {
public void initAfterDBLoad() {
super.init();
}
public ObjectMessageBuilder getMessageBuilder() {
return messageBuilder;
}
}
@@ -43,8 +43,6 @@ import protocol.swg.objectControllerObjects.Animation;
import protocol.swg.objectControllerObjects.Posture;
import protocol.swg.objectControllerObjects.StartTask;
import com.sleepycat.je.Environment;
import com.sleepycat.je.Transaction;
import com.sleepycat.persist.model.Entity;
import com.sleepycat.persist.model.NotPersistent;
@@ -54,16 +52,15 @@ import resources.buffs.Buff;
import resources.buffs.DamageOverTime;
import resources.common.Cooldown;
import resources.common.OutOfBand;
import resources.objects.ObjectMessageBuilder;
import resources.objects.SWGList;
import resources.objects.SWGMap;
import engine.resources.common.CRC;
import engine.resources.objects.IPersistent;
import engine.resources.objects.MissionCriticalObject;
import engine.resources.objects.SWGObject;
import engine.resources.scene.Planet;
import engine.resources.scene.Point3D;
import engine.resources.scene.Quaternion;
import resources.objects.building.BuildingMessageBuilder;
import resources.objects.player.PlayerObject;
import resources.objects.tangible.TangibleObject;
import resources.skills.SkillMod;
@@ -80,7 +77,7 @@ public class CreatureObject extends TangibleObject implements Serializable {
private List<String> skills;
@NotPersistent
private transient int skillsUpdateCounter = 0;
// CREO 3
private byte posture = 0;
private float height;
@@ -103,12 +100,11 @@ public class CreatureObject extends TangibleObject implements Serializable {
private SWGList<String> abilities;
private int abilitiesUpdateCounter = 0;
private int xpBarValue = 0;
private SWGList<MissionCriticalObject> missionCriticalObjects;
@NotPersistent
private transient int missionCriticalObjectsUpdateCounter = 0;
// CREO6
private byte combatFlag = 0;
private short level = -1;
@@ -198,12 +194,12 @@ public class CreatureObject extends TangibleObject implements Serializable {
messageBuilder = new CreatureMessageBuilder(this);
loadTemplateData();
skills = new ArrayList<String>();
skillMods = new SWGMap<String, SkillMod>(messageBuilder, 4, 3);
abilities = new SWGList<String>(messageBuilder, 4, 14);
missionCriticalObjects = new SWGList<MissionCriticalObject>(messageBuilder, 4, 13);
equipmentList = new SWGList<SWGObject>(messageBuilder, 6, 0x17);
buffList = new SWGList<Buff>(messageBuilder, 6, 0x1A);
appearanceEquipmentList = new SWGList<SWGObject>(messageBuilder, 6, 0x1F);
skillMods = new SWGMap<String, SkillMod>(getObjectID(), 4, 3);
abilities = new SWGList<String>(getObjectID(), 4, 14);
missionCriticalObjects = new SWGList<MissionCriticalObject>(getObjectID(), 4, 13);
equipmentList = new SWGList<SWGObject>(getObjectID(), 6, 0x17);
buffList = new SWGList<Buff>(getObjectID(), 6, 0x1A);
appearanceEquipmentList = new SWGList<SWGObject>(getObjectID(), 6, 0x1F);
}
public CreatureObject() {
@@ -1851,4 +1847,8 @@ public class CreatureObject extends TangibleObject implements Serializable {
//return ((float) getCooldown(cooldownGroup) / (float) 1000);
//}
public ObjectMessageBuilder getMessageBuilder() {
return messageBuilder;
}
}
@@ -30,7 +30,6 @@ import protocol.swg.SceneCreateObjectByCrc;
import protocol.swg.SceneDestroyObject;
import protocol.swg.SceneEndBaselines;
import protocol.swg.UpdateContainmentMessage;
import protocol.swg.UpdatePVPStatusMessage;
import com.sleepycat.persist.model.NotPersistent;
import com.sleepycat.persist.model.Persistent;
@@ -41,7 +40,7 @@ import engine.resources.objects.SWGObject;
import engine.resources.scene.Planet;
import engine.resources.scene.Point3D;
import engine.resources.scene.Quaternion;
import resources.objects.creature.CreatureMessageBuilder;
import resources.objects.ObjectMessageBuilder;
import resources.objects.creature.CreatureObject;
import resources.objects.tangible.TangibleObject;
@@ -276,4 +275,9 @@ public class FactoryCrateObject extends TangibleObject implements Serializable {
this.getAttributes().put("@obj_attr_n:factory_count", ""+this.getQuantity());
//services.CharonPacketUtils.printAnalysis(messageBuilder.buildDelta3(),"FCYT3 Delta");
}
public ObjectMessageBuilder getMessageBuilder() {
return messageBuilder;
}
}
+7 -2
View File
@@ -21,9 +21,9 @@
******************************************************************************/
package resources.objects.group;
import java.io.Serializable;
import java.util.Vector;
import resources.objects.ObjectMessageBuilder;
import resources.objects.universe.UniverseObject;
import engine.clients.Client;
import engine.resources.objects.SWGObject;
@@ -38,7 +38,7 @@ public class GroupObject extends UniverseObject {
private SWGObject lootMaster;
private short groupLevel;
private int lootMode;
private GroupMessageBuilder messageBuilder;
private transient GroupMessageBuilder messageBuilder;
private int chatRoomId;
public static int FREE_FOR_ALL = 0;
@@ -165,4 +165,9 @@ public class GroupObject extends UniverseObject {
destination.getSession().write(messageBuilder.buildBaseline6());
}
public ObjectMessageBuilder getMessageBuilder() {
return messageBuilder;
}
}
+11 -11
View File
@@ -33,20 +33,17 @@ import resources.gcw.CurrentServerGCWZoneHistory;
import resources.gcw.CurrentServerGCWZonePercent;
import resources.gcw.OtherServerGCWZonePercent;
import resources.guild.Guild;
import resources.objects.ObjectMessageBuilder;
import resources.objects.SWGList;
import resources.objects.SWGMap;
import resources.objects.SWGMultiMap;
import resources.objects.cell.CellMessageBuilder;
import resources.objects.universe.UniverseObject;
import services.collections.ServerFirst;
import com.sleepycat.je.Environment;
import com.sleepycat.je.Transaction;
import com.sleepycat.persist.model.Entity;
import com.sleepycat.persist.model.NotPersistent;
import engine.clients.Client;
import engine.resources.objects.IPersistent;
import engine.resources.scene.Planet;
import engine.resources.scene.Point3D;
import engine.resources.scene.Quaternion;
@@ -71,19 +68,19 @@ public class GuildObject extends UniverseObject implements Serializable {
private String STFName = "";
private String customName = "";
private int volume = 0;
private SWGList<Guild> guildList = new SWGList<Guild>(messageBuilder, 3, 4);
private SWGList<Guild> guildList = new SWGList<Guild>(getObjectID(), 3, 4);
// GILD 6
private int serverId = 0x43;
//private String STFName = "string_id_table";
private int unknown1 = 0;
private short unknown2 = 0;
private SWGMap<String, CurrentServerGCWZonePercent> currentServerGCWZonePercentMap = new SWGMap<String, CurrentServerGCWZonePercent>(messageBuilder, 6, 2);
private SWGMap<String, CurrentServerGCWZonePercent> currentServerGCWTotalPercentMap = new SWGMap<String, CurrentServerGCWZonePercent>(messageBuilder, 6, 3);
private SWGMultiMap<String, CurrentServerGCWZoneHistory> currentServerGCWZoneHistoryMap = new SWGMultiMap<String, CurrentServerGCWZoneHistory>(messageBuilder, 6, 4);
private SWGMultiMap<String, CurrentServerGCWZoneHistory> currentServerGCWTotalHistoryMap = new SWGMultiMap<String, CurrentServerGCWZoneHistory>(messageBuilder, 6, 5);
private SWGMultiMap<String, OtherServerGCWZonePercent> otherServerGCWZonePercentMap = new SWGMultiMap<String, OtherServerGCWZonePercent>(messageBuilder, 6, 6);
private SWGMultiMap<String, OtherServerGCWZonePercent> otherServerGCWTotalPercentMap = new SWGMultiMap<String, OtherServerGCWZonePercent>(messageBuilder, 6, 7);
private SWGMap<String, CurrentServerGCWZonePercent> currentServerGCWZonePercentMap = new SWGMap<String, CurrentServerGCWZonePercent>(getObjectID(), 6, 2);
private SWGMap<String, CurrentServerGCWZonePercent> currentServerGCWTotalPercentMap = new SWGMap<String, CurrentServerGCWZonePercent>(getObjectID(), 6, 3);
private SWGMultiMap<String, CurrentServerGCWZoneHistory> currentServerGCWZoneHistoryMap = new SWGMultiMap<String, CurrentServerGCWZoneHistory>(getObjectID(), 6, 4);
private SWGMultiMap<String, CurrentServerGCWZoneHistory> currentServerGCWTotalHistoryMap = new SWGMultiMap<String, CurrentServerGCWZoneHistory>(getObjectID(), 6, 5);
private SWGMultiMap<String, OtherServerGCWZonePercent> otherServerGCWZonePercentMap = new SWGMultiMap<String, OtherServerGCWZonePercent>(getObjectID(), 6, 6);
private SWGMultiMap<String, OtherServerGCWZonePercent> otherServerGCWTotalPercentMap = new SWGMultiMap<String, OtherServerGCWZonePercent>(getObjectID(), 6, 7);
private int unknown3 = 5;
public GuildObject(NGECore core, long objectID, Planet planet, Point3D position, Quaternion orientation, String Template) {
@@ -309,5 +306,8 @@ public class GuildObject extends UniverseObject implements Serializable {
}
}
public ObjectMessageBuilder getMessageBuilder() {
return messageBuilder;
}
}
@@ -32,8 +32,8 @@ import engine.clients.Client;
import engine.resources.scene.Planet;
import engine.resources.scene.Point3D;
import engine.resources.scene.Quaternion;
import resources.objects.ObjectMessageBuilder;
import resources.objects.creature.CreatureObject;
import resources.objects.guild.GuildMessageBuilder;
import resources.objects.installation.InstallationMessageBuilder;
import resources.objects.installation.InstallationObject;
import resources.objects.resource.GalacticResource;
@@ -48,8 +48,8 @@ public class HarvesterObject extends InstallationObject implements Serializable
private static final long serialVersionUID = 1L;
private HarvesterMessageBuilder messageBuilder;
private InstallationMessageBuilder installationMessageBuilder;
private transient HarvesterMessageBuilder messageBuilder;
private transient InstallationMessageBuilder installationMessageBuilder;
public final static byte HARVESTER_TYPE_MINERAL = 0;
public final static byte HARVESTER_TYPE_CHEMICAL = 1;
@@ -419,4 +419,9 @@ public class HarvesterObject extends InstallationObject implements Serializable
//destination.getSession().write(installationMessageBuilder.buildBaseline9());
}
public ObjectMessageBuilder getMessageBuilder() {
return messageBuilder;
}
}
@@ -29,16 +29,18 @@ import engine.clients.Client;
import engine.resources.scene.Planet;
import engine.resources.scene.Point3D;
import engine.resources.scene.Quaternion;
import resources.objects.cell.CellMessageBuilder;
import resources.objects.ObjectMessageBuilder;
import resources.objects.tangible.TangibleObject;
@Entity(version=0)
public class InstallationObject extends TangibleObject implements Serializable {
private static final long serialVersionUID = 1L;
private transient InstallationMessageBuilder messageBuilder;
public InstallationObject(long objectID, Planet planet, String template, Point3D position, Quaternion orientation){
super(objectID, planet, template, position, orientation);
super(objectID, planet, template, position, orientation);
messageBuilder = new InstallationMessageBuilder(this);
}
@Override
@@ -49,6 +51,11 @@ public class InstallationObject extends TangibleObject implements Serializable {
@Override
public void initAfterDBLoad() {
super.init();
messageBuilder = new InstallationMessageBuilder(this);
}
public ObjectMessageBuilder getMessageBuilder() {
return messageBuilder;
}
}
@@ -21,6 +21,26 @@
******************************************************************************/
package resources.objects.intangible;
public class IntangibleMessageBuilder {
import org.apache.mina.core.buffer.IoBuffer;
import resources.objects.ObjectMessageBuilder;
public class IntangibleMessageBuilder extends ObjectMessageBuilder {
public IntangibleMessageBuilder(IntangibleObject intangibleObject) {
setObject(intangibleObject);
}
@Override
public void sendListDelta(byte viewType, short updateType, IoBuffer buffer) {
// TODO Auto-generated method stub
}
@Override
public void sendBaselines() {
// TODO Auto-generated method stub
}
}
@@ -23,7 +23,7 @@ package resources.objects.intangible;
import java.io.Serializable;
import resources.objects.cell.CellMessageBuilder;
import resources.objects.ObjectMessageBuilder;
import com.sleepycat.persist.model.Persistent;
@@ -37,20 +37,23 @@ import engine.resources.scene.Quaternion;
public class IntangibleObject extends SWGObject implements Serializable {
private static final long serialVersionUID = 1L;
private transient IntangibleMessageBuilder messageBuilder;
private int genericInt;
public IntangibleObject() {
super();
messageBuilder = new IntangibleMessageBuilder(this);
}
public IntangibleObject(long objectID, Planet planet, Point3D position, Quaternion orientation, String Template) {
super(objectID, planet, position, orientation, Template);
messageBuilder = new IntangibleMessageBuilder(this);
}
@Override
public void initAfterDBLoad() {
super.init();
messageBuilder = new IntangibleMessageBuilder(this);
}
public int getGenericInt() {
@@ -70,5 +73,9 @@ public class IntangibleObject extends SWGObject implements Serializable {
// TODO Auto-generated method stub
}
public ObjectMessageBuilder getMessageBuilder() {
return messageBuilder;
}
}
@@ -0,0 +1,46 @@
/*******************************************************************************
* Copyright (c) 2013 <Project SWG>
*
* This File is part of NGECore2.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
******************************************************************************/
package resources.objects.manufacture;
import org.apache.mina.core.buffer.IoBuffer;
import resources.objects.ObjectMessageBuilder;
public class ManufactureSchematicMessageBuilder extends ObjectMessageBuilder {
public ManufactureSchematicMessageBuilder(ManufactureSchematicObject object) {
setObject(object);
}
@Override
public void sendListDelta(byte viewType, short updateType, IoBuffer buffer) {
// TODO Auto-generated method stub
}
@Override
public void sendBaselines() {
// TODO Auto-generated method stub
}
}
@@ -21,10 +21,9 @@
******************************************************************************/
package resources.objects.manufacture;
import java.io.Serializable;
import resources.objects.cell.CellMessageBuilder;
import resources.objects.ObjectMessageBuilder;
import resources.objects.intangible.IntangibleObject;
import com.sleepycat.persist.model.Persistent;
@@ -42,19 +41,21 @@ import engine.resources.scene.Quaternion;
public class ManufactureSchematicObject extends IntangibleObject implements Serializable {
private static final long serialVersionUID = 1L;
//@NotPersistent
//private ManufactureSchematicMessageBuilder messageBuilder;
private transient ManufactureSchematicMessageBuilder messageBuilder;
public ManufactureSchematicObject(long objectID, Planet planet, String template, Point3D position, Quaternion orientation) {
super(objectID, planet, position, orientation, template);
//messageBuilder = new ManufactureSchematicMessageBuilder(this);
messageBuilder = new ManufactureSchematicMessageBuilder(this);
}
@Override
public void initAfterDBLoad() {
super.init();
//messageBuilder = new ManufactureSchematicMessageBuilder(this);
messageBuilder = new ManufactureSchematicMessageBuilder(this);
}
public ObjectMessageBuilder getMessageBuilder() {
return messageBuilder;
}
}
@@ -23,18 +23,14 @@ package resources.objects.mission;
import java.io.Serializable;
import com.sleepycat.je.Environment;
import com.sleepycat.je.Transaction;
import com.sleepycat.persist.model.NotPersistent;
import com.sleepycat.persist.model.Persistent;
import resources.common.BountyListItem;
import resources.objects.cell.CellMessageBuilder;
import resources.objects.ObjectMessageBuilder;
import resources.objects.intangible.IntangibleObject;
import resources.objects.waypoint.WaypointObject;
import services.mission.MissionObjective;
import engine.clients.Client;
import engine.resources.objects.IPersistent;
import engine.resources.scene.Planet;
import engine.resources.scene.Point3D;
import engine.resources.scene.Quaternion;
@@ -326,5 +322,9 @@ public class MissionObject extends IntangibleObject implements Serializable {
destination.getSession().write(messageBuilder.buildBaseline8());
destination.getSession().write(messageBuilder.buildBaseline9());
}
public ObjectMessageBuilder getMessageBuilder() {
return messageBuilder;
}
}
@@ -29,11 +29,11 @@ import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import resources.objects.ObjectMessageBuilder;
import resources.objects.intangible.IntangibleObject;
import resources.objects.resource.ResourceContainerObject;
import resources.objects.tool.SurveyTool;
import resources.objects.waypoint.WaypointObject;
import resources.objects.cell.CellMessageBuilder;
import resources.objects.creature.CreatureObject;
import com.sleepycat.persist.model.NotPersistent;
@@ -908,4 +908,8 @@ public class PlayerObject extends IntangibleObject implements Serializable {
this.callingCompanion = callingCompanion;
}
public ObjectMessageBuilder getMessageBuilder() {
return messageBuilder;
}
}
@@ -29,17 +29,13 @@ import java.util.Vector;
import main.NGECore;
import protocol.swg.SurveyMapUpdateMessage;
import resources.objects.creature.CreatureObject;
import resources.objects.player.PlayerMessageBuilder;
import resources.objects.player.PlayerObject;
import resources.objects.waypoint.WaypointObject;
import com.sleepycat.je.Environment;
import com.sleepycat.je.Transaction;
import com.sleepycat.persist.model.Entity;
import com.sleepycat.persist.model.NotPersistent;
import engine.clients.Client;
import engine.resources.objects.IPersistent;
import engine.resources.objects.SWGObject;
import engine.resources.scene.Planet;
import engine.resources.scene.Point3D;
@@ -21,7 +21,6 @@
******************************************************************************/
package resources.objects.resource;
import java.io.Serializable;
import main.NGECore;
@@ -34,8 +33,8 @@ import engine.resources.objects.SWGObject;
import engine.resources.scene.Planet;
import engine.resources.scene.Point3D;
import engine.resources.scene.Quaternion;
import resources.objects.ObjectMessageBuilder;
import resources.objects.creature.CreatureObject;
import resources.objects.player.PlayerMessageBuilder;
import resources.objects.tangible.TangibleObject;
/**
@@ -559,4 +558,9 @@ public class ResourceContainerObject extends TangibleObject implements Serializa
destination.getSession().write(messageBuilder.buildDelta3());
}
public ObjectMessageBuilder getMessageBuilder() {
return messageBuilder;
}
}
+7 -2
View File
@@ -25,17 +25,22 @@ import java.io.Serializable;
import com.sleepycat.persist.model.Persistent;
import resources.objects.resource.ResourceContainerMessageBuilder;
import resources.objects.ObjectMessageBuilder;
import resources.objects.tangible.TangibleObject;
@Persistent(version=0)
public class ShipObject extends TangibleObject implements Serializable {
private static final long serialVersionUID = 1L;
private transient ObjectMessageBuilder messageBuilder = null;
@Override
public void initAfterDBLoad() {
super.init();
}
public ObjectMessageBuilder getMessageBuilder() {
return messageBuilder;
}
}
@@ -23,7 +23,7 @@ package resources.objects.staticobject;
import java.io.Serializable;
import resources.objects.resource.ResourceContainerMessageBuilder;
import resources.objects.ObjectMessageBuilder;
import com.sleepycat.persist.model.NotPersistent;
import com.sleepycat.persist.model.Persistent;
@@ -71,5 +71,9 @@ public class StaticObject extends SWGObject implements Serializable {
super.init();
messageBuilder = new StaticMessageBuilder(this);
}
public ObjectMessageBuilder getMessageBuilder() {
return messageBuilder;
}
}
@@ -42,8 +42,8 @@ import resources.common.OutOfBand;
import resources.common.RGB;
import resources.datatables.Options;
import resources.loot.LootGroup;
import resources.objects.ObjectMessageBuilder;
import resources.objects.creature.CreatureObject;
import resources.objects.staticobject.StaticMessageBuilder;
import resources.visitors.IDManagerVisitor;
import com.sleepycat.persist.model.NotPersistent;
@@ -631,4 +631,9 @@ public class TangibleObject extends SWGObject implements Serializable {
}
public ObjectMessageBuilder getMessageBuilder() {
return messageBuilder;
}
}
@@ -35,7 +35,6 @@ import engine.resources.scene.Quaternion;
import resources.objects.creature.CreatureObject;
import resources.objects.resource.GalacticResource;
import resources.objects.resource.ResourceConcentration;
import resources.objects.tangible.TangibleMessageBuilder;
import resources.objects.tangible.TangibleObject;
/**
@@ -23,7 +23,7 @@ package resources.objects.universe;
import java.io.Serializable;
import resources.objects.tangible.TangibleMessageBuilder;
import resources.objects.ObjectMessageBuilder;
import com.sleepycat.persist.model.Persistent;
@@ -37,7 +37,8 @@ import engine.resources.scene.Quaternion;
public class UniverseObject extends SWGObject implements Serializable {
private static final long serialVersionUID = 1L;
private transient ObjectMessageBuilder messageBuilder = null;
public UniverseObject(long objectID, Planet planet, Point3D position, Quaternion orientation, String Template) {
super(objectID, planet, position, orientation, Template);
}
@@ -57,4 +58,8 @@ public class UniverseObject extends SWGObject implements Serializable {
}
public ObjectMessageBuilder getMessageBuilder() {
return messageBuilder;
}
}
@@ -24,7 +24,6 @@ package resources.objects.waypoint;
import java.io.Serializable;
import resources.objects.intangible.IntangibleObject;
import resources.objects.tangible.TangibleMessageBuilder;
import com.sleepycat.persist.model.Persistent;
@@ -37,7 +36,7 @@ import engine.resources.scene.Quaternion;
public class WaypointObject extends IntangibleObject implements Serializable {
private static final long serialVersionUID = 1L;
private int cellId; // ???
private long locationNetworkId;
private int planetCRC;
@@ -24,7 +24,7 @@ package resources.objects.weapon;
import java.io.Serializable;
import resources.datatables.WeaponType;
import resources.objects.tangible.TangibleMessageBuilder;
import resources.objects.ObjectMessageBuilder;
import resources.objects.tangible.TangibleObject;
import com.sleepycat.persist.model.NotPersistent;
@@ -224,5 +224,4 @@ public class WeaponObject extends TangibleObject implements Serializable {
return false;
}
}