mirror of
https://github.com/ProjectSWGCore/NGECore2.git
synced 2026-10-13 03:13:26 -04:00
Cleanup + persistence fix
This commit is contained in:
@@ -14,7 +14,7 @@ def run(core, actor, target, commandString):
|
||||
if actorContainer != None and (container.getTemplate() == "object/cell/shared_cell.iff") & core.housingService.getPermissions(actor, actorContainer):
|
||||
target.getContainer().transferTo(actor, container, target)
|
||||
core.simulationService.teleport(target, actor.getPosition(), Quaternion(1,0,0,0), containerID)
|
||||
core.housingService.addItemToHouseItemList(target,actorContainer)
|
||||
#core.housingService.addItemToHouseItemList(target,actorContainer)
|
||||
return
|
||||
elif actorContainer != None and container.getTemplate() == "object/cell/shared_cell.iff":
|
||||
actor.sendSystemMessage("You do not have permission to access that container!", 0)
|
||||
|
||||
@@ -43,7 +43,7 @@ import engine.resources.scene.Planet;
|
||||
import engine.resources.scene.Point3D;
|
||||
import engine.resources.scene.Quaternion;
|
||||
|
||||
@Entity(version=5)
|
||||
@Entity(version=6)
|
||||
public class BuildingObject extends TangibleObject implements IPersistent {
|
||||
|
||||
@NotPersistent
|
||||
@@ -58,7 +58,6 @@ public class BuildingObject extends TangibleObject implements IPersistent {
|
||||
private byte privacy=(byte)0;
|
||||
public static byte PRIVATE = (byte)0;
|
||||
public static byte PUBLIC = (byte)1;
|
||||
private Vector<TangibleObject> itemsList = new Vector<TangibleObject>();
|
||||
private short maximumStorageCapacity=0;
|
||||
private Vector<Long> entryList = new Vector<Long>(); // Preferably the OIDs should be stored, because of name changes
|
||||
private Vector<Long> banList = new Vector<Long>();
|
||||
@@ -150,13 +149,11 @@ public class BuildingObject extends TangibleObject implements IPersistent {
|
||||
}
|
||||
|
||||
public Vector<TangibleObject> getItemsList() {
|
||||
return itemsList;
|
||||
Vector<TangibleObject> items = new Vector<TangibleObject>();
|
||||
getCells().forEach(c -> c.viewChildren(c, true, false, (item) -> items.add((TangibleObject) item)));
|
||||
return items;
|
||||
}
|
||||
|
||||
public void setItemsList(Vector<TangibleObject> itemsList) {
|
||||
this.itemsList = itemsList;
|
||||
}
|
||||
|
||||
public short getMaximumStorageCapacity() {
|
||||
return maximumStorageCapacity;
|
||||
}
|
||||
@@ -238,4 +235,11 @@ public class BuildingObject extends TangibleObject implements IPersistent {
|
||||
txn = env.beginTransaction(null, null);
|
||||
txn.setLockTimeout(500, TimeUnit.MILLISECONDS);
|
||||
}
|
||||
|
||||
public Vector<CellObject> getCells() {
|
||||
Vector<CellObject> cells = new Vector<CellObject>();
|
||||
this.viewChildren(this, true, false, (cell) -> cells.add((CellObject) cell));
|
||||
return cells;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -125,7 +125,7 @@ public class HarvesterObject extends InstallationObject {
|
||||
private byte resourceUpdateCount;
|
||||
private Vector<String> adminList = new Vector<String>();
|
||||
private Vector<String> hopperList = new Vector<String>();
|
||||
private SWGObject owner;
|
||||
private long owner;
|
||||
private float currentHarvestedCountFloat=0.0F;
|
||||
private String deedTemplate;
|
||||
|
||||
@@ -192,7 +192,7 @@ public class HarvesterObject extends InstallationObject {
|
||||
|
||||
public void activateHarvester(CreatureObject owner){
|
||||
activated = true;
|
||||
this.setOwner(owner);
|
||||
this.setOwner(owner.getObjectID());
|
||||
owner.getClient().getSession().write(messageBuilder.buildHINO3Delta(this,(byte)1));
|
||||
owner.getClient().getSession().write(messageBuilder.buildHINO7ActivateDelta2(this));
|
||||
}
|
||||
@@ -335,12 +335,12 @@ public class HarvesterObject extends InstallationObject {
|
||||
}
|
||||
|
||||
|
||||
public SWGObject getOwner() {
|
||||
public long getOwner() {
|
||||
return owner;
|
||||
}
|
||||
|
||||
|
||||
public void setOwner(SWGObject owner) {
|
||||
public void setOwner(long owner) {
|
||||
this.owner = owner;
|
||||
}
|
||||
|
||||
@@ -388,11 +388,11 @@ public class HarvesterObject extends InstallationObject {
|
||||
}
|
||||
|
||||
public void deActivate(){
|
||||
owner.getClient().getSession().write(messageBuilder.buildResourceHarvesterActivatePageMessage(this));
|
||||
NGECore.getInstance().objectService.getObject(owner).getClient().getSession().write(messageBuilder.buildResourceHarvesterActivatePageMessage(this));
|
||||
}
|
||||
|
||||
public void placeHarvester(){
|
||||
owner.getClient().getSession().write(messageBuilder.buildResourceHarvesterActivatePageMessage(this));
|
||||
NGECore.getInstance().objectService.getObject(owner).getClient().getSession().write(messageBuilder.buildResourceHarvesterActivatePageMessage(this));
|
||||
}
|
||||
|
||||
public static void createAndPlaceHarvester(SWGObject object){
|
||||
@@ -487,14 +487,14 @@ public class HarvesterObject extends InstallationObject {
|
||||
|
||||
public void createNewHopperContainer(){
|
||||
Vector<GalacticResource> planetResourcesVector = NGECore.getInstance().resourceService.getSpawnedResourcesByPlanetAndHarvesterType(this.getPlanetId(),this.getHarvester_type());
|
||||
((CreatureObject)this.getOwner()).getClient().getSession().write(messageBuilder.buildHINOBaseline7(this, planetResourcesVector));
|
||||
((CreatureObject)this.getOwner()).getClient().getSession().write(messageBuilder.buildHINO7Delta(this,(byte)1));
|
||||
NGECore.getInstance().objectService.getObject(owner).getClient().getSession().write(messageBuilder.buildHINOBaseline7(this, planetResourcesVector));
|
||||
NGECore.getInstance().objectService.getObject(owner).getClient().getSession().write(messageBuilder.buildHINO7Delta(this,(byte)1));
|
||||
}
|
||||
|
||||
public void continueHopperContainer(){
|
||||
Vector<GalacticResource> planetResourcesVector = NGECore.getInstance().resourceService.getSpawnedResourcesByPlanetAndHarvesterType(this.getPlanetId(),this.getHarvester_type());
|
||||
((CreatureObject)this.getOwner()).getClient().getSession().write(messageBuilder.buildHarvesterGetResourceData(this, owner, planetResourcesVector));
|
||||
((CreatureObject)this.getOwner()).getClient().getSession().write(messageBuilder.buildHINOBaseline7(this, planetResourcesVector));
|
||||
NGECore.getInstance().objectService.getObject(owner).getClient().getSession().write(messageBuilder.buildHarvesterGetResourceData(this, NGECore.getInstance().objectService.getObject(owner), planetResourcesVector));
|
||||
NGECore.getInstance().objectService.getObject(owner).getClient().getSession().write(messageBuilder.buildHINOBaseline7(this, planetResourcesVector));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -21,15 +21,15 @@
|
||||
******************************************************************************/
|
||||
package resources.objects.installation;
|
||||
|
||||
import com.sleepycat.persist.model.Entity;
|
||||
import com.sleepycat.persist.model.Persistent;
|
||||
|
||||
import engine.resources.scene.Planet;
|
||||
import engine.resources.scene.Point3D;
|
||||
import engine.resources.scene.Quaternion;
|
||||
|
||||
import resources.objects.tangible.TangibleObject;
|
||||
|
||||
@Persistent(version=0)
|
||||
@Entity(version=0)
|
||||
public class InstallationObject extends TangibleObject {
|
||||
|
||||
public InstallationObject(long objectID, Planet planet, String template, Point3D position, Quaternion orientation){
|
||||
|
||||
@@ -544,7 +544,6 @@ public class HousingService implements INetworkDispatch {
|
||||
for (TangibleObject del : building.getItemsList()){
|
||||
core.objectService.destroyObject(del);
|
||||
}
|
||||
building.getItemsList().clear();
|
||||
ownerC.sendSystemMessage("@player_structure:items_deleted",(byte)1);
|
||||
core.suiService.closeSUIWindow(owner, 0);
|
||||
}
|
||||
|
||||
@@ -787,12 +787,12 @@ public class HarvesterService implements INetworkDispatch {
|
||||
|
||||
public void updateHarvester(HarvesterObject harvester){
|
||||
|
||||
|
||||
CreatureObject owner = (CreatureObject)core.objectService.getObject(harvester.getOwner());
|
||||
|
||||
if(harvester.isActivated())
|
||||
{
|
||||
// Check maintenance and power
|
||||
if (harvester.getMaintenanceAmount()<=0){
|
||||
CreatureObject owner = (CreatureObject)harvester.getOwner();
|
||||
owner.sendSystemMessage("The installation is lacking maintenance.", (byte) 0);
|
||||
// ToDo: Send mail
|
||||
harvester.deactivateHarvester(owner);
|
||||
@@ -800,7 +800,6 @@ public class HarvesterService implements INetworkDispatch {
|
||||
}
|
||||
|
||||
if (harvester.getPowerLevel()<=0 && !harvester.isGenerator()){
|
||||
CreatureObject owner = (CreatureObject)harvester.getOwner();
|
||||
owner.sendSystemMessage("The installation is lacking power.", (byte) 0);
|
||||
// ToDo: Send mail
|
||||
harvester.deactivateHarvester(owner);
|
||||
@@ -840,7 +839,6 @@ public class HarvesterService implements INetworkDispatch {
|
||||
|
||||
int oldStackCount = hopperContainer.getStackCount();
|
||||
int newStackCount = (int) (harvester.getCurrentHarvestedCountFloat());
|
||||
CreatureObject owner = (CreatureObject)harvester.getOwner();
|
||||
if (newStackCount>oldStackCount){
|
||||
for (ResourceContainerObject iterContainer : outputHopperContent){
|
||||
if (iterContainer.getReferenceID()==hopperContainer.getReferenceID()){
|
||||
|
||||
@@ -46,6 +46,7 @@ import resources.common.FileUtilities;
|
||||
import resources.common.ObjControllerOpcodes;
|
||||
import resources.common.Opcodes;
|
||||
import resources.common.RadialOptions;
|
||||
import resources.objects.creature.CreatureObject;
|
||||
import resources.objects.harvester.HarvesterObject;
|
||||
import services.sui.SUIWindow.SUICallback;
|
||||
import services.sui.SUIWindow.Trigger;
|
||||
@@ -86,8 +87,8 @@ public class SUIService implements INetworkDispatch {
|
||||
HarvesterObject harvester = (HarvesterObject) target;
|
||||
Vector<String> admins = harvester.getAdminList();
|
||||
Vector<String> hoppers = harvester.getHopperList();
|
||||
|
||||
if (harvester.getOwner()==owner && !admins.contains(owner.getCustomName())){
|
||||
CreatureObject creature = (CreatureObject) core.objectService.getObject(harvester.getOwner());
|
||||
if (creature == owner && !admins.contains(owner.getCustomName())){
|
||||
admins.add(owner.getCustomName());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user