Marauroa Core API: Difference between revisions

Content deleted Content added
imported>Hendrik Brummermann
imported>Hendrik Brummermann
Line 216:
onInit and onFinish are called on server startup and finalization. You need to subclass RPWorld to give proper behaviour to them.
 
<source lang="java">
public void onInit() throws Exception
public void onFinishonInit() throws Exception
public void onInitonFinish() throws Exception
</source>
 
Some helper methods to add zones and iterate them.
 
<source lang="java">
public void addRPZone(IRPZone zone)
public IRPZonevoid getRPZoneaddRPZone(IRPZone.ID zoneidzone)
public IRPZone getRPZone(RPObjectIRPZone.ID objectidzoneid)
public Iterator<IRPZone> iteratorgetRPZone(RPObject.ID objectid)
public intIterator<IRPZone> sizeiterator()
public int size()
</source>
 
Methods to add, get, test existence, remove and modify objects. modify() is as you know for delta^2 algorithm.
Modify is as you know for delta^2 algorithm.
 
<source lang="java">
public void add(RPObject object) throws NoRPZoneException, RPObjectInvalidException
public RPObjectvoid getadd(RPObject.ID idobject) throws NoRPZoneException, RPObjectInvalidException
public booleanRPObject hasget(RPObject.ID id) throws NoRPZoneException, RPObjectInvalidException
public RPObjectboolean removehas(RPObject.ID id) throws NoRPZoneException, RPObjectNotFoundExceptionRPObjectInvalidException
public voidRPObject modifyremove(RPObject.ID objectid) throws NoRPZoneException, RPObjectNotFoundException
public void addmodify(RPObject object) throws NoRPZoneException, RPObjectInvalidException
</source>
 
These are helper methods for changing the zone of an object. Use them instead of doing it by hand.
 
<source lang="java">
public void changeZone(IRPZone.ID oldzoneid, IRPZone.ID newzoneid, RPObject object) throws NoRPZoneException
public void changeZone(StringIRPZone.ID oldzoneoldzoneid, StringIRPZone.ID newzonenewzoneid, RPObject object) throws NoRPZoneException
public void changeZone(IRPZone.IDString oldzoneidoldzone, IRPZone.IDString newzoneidnewzone, RPObject object) throws NoRPZoneException
</source>
 
=IRPZone=