Harvesters introduced

Working harvesters and generators
Big update
This commit is contained in:
CharonInferar
2014-04-11 01:48:27 +02:00
parent 6374f9d5b8
commit 646476c17d
71 changed files with 3476 additions and 11 deletions
+41 -1
View File
@@ -48,6 +48,7 @@ import protocol.swg.objectControllerObjects.CommandEnqueueRemove;
import protocol.swg.objectControllerObjects.ShowFlyText;
import protocol.swg.objectControllerObjects.StartTask;
import resources.objects.creature.CreatureObject;
import resources.objects.harvester.HarvesterObject;
import resources.objects.tangible.TangibleObject;
import resources.objects.weapon.WeaponObject;
@@ -137,7 +138,7 @@ public class CommandService implements INetworkDispatch {
target = actor;
}
if (target != actor) {
if (target != actor && target instanceof CreatureObject) {
return false;
}
@@ -521,6 +522,45 @@ public class CommandService implements INetworkDispatch {
}
});
objControllerOpcodes.put(ObjControllerOpcodes.RESOURCE_EMPTY_HOPPER, new INetworkRemoteEvent() {
@Override
public void handlePacket(IoSession session, IoBuffer data) throws Exception {
data.order(ByteOrder.LITTLE_ENDIAN);
Client client = core.getClient(session);
CommandEnqueue commandEnqueue = new CommandEnqueue();
// StringBuilder sb = new StringBuilder();
// for (byte b : data.array()) {
// sb.append(String.format("%02X ", b));
// }
// System.out.println(sb.toString());
/*
05 00 46 5E CE 80 83 00 00 00 ED 00 00 00 3E 45
04 00 00 00 00 00 00 00 00 00 3E 45 04 00 00 00
00 00 90 52 05 00 00 00 00 00 D7 35 05 00 00 00
00 00 01 00 00 00 00 07
*/
long playerId = data.getLong(); // 3E 45 04 00 00 00 00 00
data.getInt(); // 00 00 00 00
data.getLong(); // 3E 45 04 00 00 00 00 00
long harvesterId = data.getLong(); // 1E 55 05 00 00 00 00 00
//long containerId = data.getLong(); // 1E 55 05 00 00 00 00 00 Resources ID
long resourceId = data.getLong(); // 1E 55 05 00 00 00 00 00 Resources ID
int stackCount = data.getInt(); // Stack count
byte actionMode = data.get(); // 0 for retrieving, 1 for discarding
byte updateCount = data.get(); // updateCount
CreatureObject actor = (CreatureObject) client.getParent();
SWGObject target = core.objectService.getObject(harvesterId);
core.harvesterService.handleEmptyHopper(actor,target,harvesterId,resourceId,stackCount,actionMode,updateCount);
}
});
}