work on unifying inventory transforms
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit
This commit is contained in:
parent
2173f96b0b
commit
ea86e06734
@ -61,13 +61,21 @@ public class ClientInventoryState implements BehaviorTree {
|
|||||||
for(InventoryMessage message : networkMessageQueue){
|
for(InventoryMessage message : networkMessageQueue){
|
||||||
networkMessageQueue.remove(message);
|
networkMessageQueue.remove(message);
|
||||||
switch(message.getMessageSubtype()){
|
switch(message.getMessageSubtype()){
|
||||||
case ADDITEMTOINVENTORY: {
|
case SERVERCOMMANDSTOREITEM: {
|
||||||
if(Globals.clientSceneWrapper.containsServerId(message.getitemEntId())){
|
LoggerInterface.loggerNetworking.WARNING("Client create/move item " + message.getitemEntId());
|
||||||
LoggerInterface.loggerNetworking.WARNING("Client move item " + message.getitemEntId());
|
|
||||||
Entity clientSideContainer = Globals.clientSceneWrapper.getEntityFromServerId(message.gettargetEntId());
|
Entity clientSideContainer = Globals.clientSceneWrapper.getEntityFromServerId(message.gettargetEntId());
|
||||||
Entity clientSideItem = Globals.clientSceneWrapper.getEntityFromServerId(message.getitemEntId());
|
Entity clientSideItem = null;
|
||||||
ClientInventoryState.moveItem(clientSideContainer, clientSideItem, message.getcontainerType(), message.getequipPointId());
|
if(Globals.clientSceneWrapper.containsServerId(message.getitemEntId())){
|
||||||
|
clientSideItem = Globals.clientSceneWrapper.getEntityFromServerId(message.getitemEntId());
|
||||||
} else {
|
} else {
|
||||||
|
clientSideItem = ClientInventoryState.clientConstructInInventoryItem(clientSideContainer,message.getitemTemplate());
|
||||||
|
Globals.clientSceneWrapper.mapIdToId(clientSideItem.getId(), message.getitemEntId());
|
||||||
|
}
|
||||||
|
ClientInventoryState.moveItem(clientSideContainer, clientSideItem, message.getcontainerType(), message.getequipPointId());
|
||||||
|
//attempt re-render ui
|
||||||
|
WindowUtils.attemptRedrawInventoryWindows();
|
||||||
|
} break;
|
||||||
|
case ADDITEMTOINVENTORY: {
|
||||||
LoggerInterface.loggerNetworking.WARNING("Client create item " + message.getitemEntId());
|
LoggerInterface.loggerNetworking.WARNING("Client create item " + message.getitemEntId());
|
||||||
Entity clientSideContainer = Globals.clientSceneWrapper.getEntityFromServerId(message.gettargetEntId());
|
Entity clientSideContainer = Globals.clientSceneWrapper.getEntityFromServerId(message.gettargetEntId());
|
||||||
//the ID we get is of the in-inventory item
|
//the ID we get is of the in-inventory item
|
||||||
@ -76,7 +84,6 @@ public class ClientInventoryState implements BehaviorTree {
|
|||||||
if(inInventorySpawnedItem != null){
|
if(inInventorySpawnedItem != null){
|
||||||
Globals.clientSceneWrapper.mapIdToId(inInventorySpawnedItem.getId(), message.getitemEntId());
|
Globals.clientSceneWrapper.mapIdToId(inInventorySpawnedItem.getId(), message.getitemEntId());
|
||||||
}
|
}
|
||||||
}
|
|
||||||
//attempt re-render ui
|
//attempt re-render ui
|
||||||
WindowUtils.attemptRedrawInventoryWindows();
|
WindowUtils.attemptRedrawInventoryWindows();
|
||||||
} break;
|
} break;
|
||||||
@ -246,6 +253,8 @@ public class ClientInventoryState implements BehaviorTree {
|
|||||||
* @param targetSlot (Optional) The slot within the container
|
* @param targetSlot (Optional) The slot within the container
|
||||||
*/
|
*/
|
||||||
private static void moveItem(Entity containerEnt, Entity itemEnt, int targetContainer, String targetSlot){
|
private static void moveItem(Entity containerEnt, Entity itemEnt, int targetContainer, String targetSlot){
|
||||||
|
//
|
||||||
|
//remove from existing container if relevant
|
||||||
if(ItemUtils.getContainingParent(itemEnt) != null){
|
if(ItemUtils.getContainingParent(itemEnt) != null){
|
||||||
Entity existingContainerEnt = ItemUtils.getContainingParent(itemEnt);
|
Entity existingContainerEnt = ItemUtils.getContainingParent(itemEnt);
|
||||||
if(InventoryUtils.hasNaturalInventory(existingContainerEnt)){
|
if(InventoryUtils.hasNaturalInventory(existingContainerEnt)){
|
||||||
@ -269,9 +278,8 @@ public class ClientInventoryState implements BehaviorTree {
|
|||||||
equipInventory.tryRemoveItem(itemEnt);
|
equipInventory.tryRemoveItem(itemEnt);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
switch(targetContainer){
|
//
|
||||||
case InventoryProtocol.INVENTORY_TYPE_EQUIP: {
|
//remove from inventories on existing container
|
||||||
String equipPointId = targetSlot;
|
|
||||||
if(InventoryUtils.hasNaturalInventory(containerEnt)){
|
if(InventoryUtils.hasNaturalInventory(containerEnt)){
|
||||||
UnrelationalInventoryState naturalInventory = InventoryUtils.getNaturalInventory(containerEnt);
|
UnrelationalInventoryState naturalInventory = InventoryUtils.getNaturalInventory(containerEnt);
|
||||||
naturalInventory.removeItem(itemEnt);
|
naturalInventory.removeItem(itemEnt);
|
||||||
@ -279,58 +287,57 @@ public class ClientInventoryState implements BehaviorTree {
|
|||||||
if(InventoryUtils.hasEquipInventory(containerEnt)){
|
if(InventoryUtils.hasEquipInventory(containerEnt)){
|
||||||
RelationalInventoryState equipInventory = InventoryUtils.getEquipInventory(containerEnt);
|
RelationalInventoryState equipInventory = InventoryUtils.getEquipInventory(containerEnt);
|
||||||
equipInventory.tryRemoveItem(itemEnt);
|
equipInventory.tryRemoveItem(itemEnt);
|
||||||
|
}
|
||||||
|
if(ClientEquipState.getClientEquipState(containerEnt) != null){
|
||||||
|
ClientEquipState clientEquipState = ClientEquipState.getClientEquipState(containerEnt);
|
||||||
|
clientEquipState.clientTransformUnequip(itemEnt);
|
||||||
|
}
|
||||||
|
if(InventoryUtils.hasToolbarInventory(containerEnt)){
|
||||||
|
RelationalInventoryState toolbarInventory = InventoryUtils.getToolbarInventory(containerEnt);
|
||||||
|
toolbarInventory.tryRemoveItem(itemEnt);
|
||||||
|
}
|
||||||
|
if(ClientToolbarState.hasClientToolbarState(containerEnt)){
|
||||||
|
ClientToolbarState toolbarState = ClientToolbarState.getClientToolbarState(containerEnt);
|
||||||
|
toolbarState.update();
|
||||||
|
}
|
||||||
|
//
|
||||||
|
//store in new container
|
||||||
|
switch(targetContainer){
|
||||||
|
case InventoryProtocol.INVENTORY_TYPE_EQUIP: {
|
||||||
|
String equipPointId = targetSlot;
|
||||||
|
if(InventoryUtils.hasEquipInventory(containerEnt)){
|
||||||
|
RelationalInventoryState equipInventory = InventoryUtils.getEquipInventory(containerEnt);
|
||||||
equipInventory.addItem(equipPointId, itemEnt);
|
equipInventory.addItem(equipPointId, itemEnt);
|
||||||
}
|
}
|
||||||
if(ClientEquipState.getClientEquipState(containerEnt) != null){
|
if(ClientEquipState.getClientEquipState(containerEnt) != null){
|
||||||
ClientEquipState clientEquipState = ClientEquipState.getClientEquipState(containerEnt);
|
ClientEquipState clientEquipState = ClientEquipState.getClientEquipState(containerEnt);
|
||||||
clientEquipState.attemptEquip(itemEnt, clientEquipState.getEquipPoint(equipPointId));
|
clientEquipState.attemptEquip(itemEnt, clientEquipState.getEquipPoint(equipPointId));
|
||||||
}
|
}
|
||||||
if(InventoryUtils.hasToolbarInventory(containerEnt)){
|
|
||||||
RelationalInventoryState toolbarInventory = InventoryUtils.getToolbarInventory(containerEnt);
|
|
||||||
toolbarInventory.tryRemoveItem(itemEnt);
|
|
||||||
}
|
|
||||||
} break;
|
} break;
|
||||||
case InventoryProtocol.INVENTORY_TYPE_NATURAL: {
|
case InventoryProtocol.INVENTORY_TYPE_NATURAL: {
|
||||||
if(InventoryUtils.hasNaturalInventory(containerEnt)){
|
if(InventoryUtils.hasNaturalInventory(containerEnt)){
|
||||||
UnrelationalInventoryState naturalInventory = InventoryUtils.getNaturalInventory(containerEnt);
|
UnrelationalInventoryState naturalInventory = InventoryUtils.getNaturalInventory(containerEnt);
|
||||||
naturalInventory.removeItem(itemEnt);
|
|
||||||
naturalInventory.addItem(itemEnt);
|
naturalInventory.addItem(itemEnt);
|
||||||
}
|
}
|
||||||
if(InventoryUtils.hasEquipInventory(containerEnt)){
|
|
||||||
RelationalInventoryState equipInventory = InventoryUtils.getEquipInventory(containerEnt);
|
|
||||||
if(ClientEquipState.getClientEquipState(containerEnt) != null){
|
|
||||||
ClientEquipState clientEquipState = ClientEquipState.getClientEquipState(containerEnt);
|
|
||||||
clientEquipState.clientTransformUnequipPoint(equipInventory.getItemSlot(itemEnt));
|
|
||||||
}
|
|
||||||
equipInventory.tryRemoveItem(itemEnt);
|
|
||||||
}
|
|
||||||
if(InventoryUtils.hasToolbarInventory(containerEnt)){
|
|
||||||
RelationalInventoryState toolbarInventory = InventoryUtils.getToolbarInventory(containerEnt);
|
|
||||||
toolbarInventory.tryRemoveItem(itemEnt);
|
|
||||||
}
|
|
||||||
} break;
|
} break;
|
||||||
case InventoryProtocol.INVENTORY_TYPE_TOOLBAR: {
|
case InventoryProtocol.INVENTORY_TYPE_TOOLBAR: {
|
||||||
if(InventoryUtils.hasNaturalInventory(containerEnt)){
|
|
||||||
UnrelationalInventoryState naturalInventory = InventoryUtils.getNaturalInventory(containerEnt);
|
|
||||||
naturalInventory.removeItem(itemEnt);
|
|
||||||
}
|
|
||||||
if(InventoryUtils.hasEquipInventory(containerEnt)){
|
|
||||||
RelationalInventoryState equipInventory = InventoryUtils.getEquipInventory(containerEnt);
|
|
||||||
if(ClientEquipState.getClientEquipState(containerEnt) != null){
|
|
||||||
ClientEquipState clientEquipState = ClientEquipState.getClientEquipState(containerEnt);
|
|
||||||
clientEquipState.clientTransformUnequipPoint(equipInventory.getItemSlot(itemEnt));
|
|
||||||
}
|
|
||||||
equipInventory.tryRemoveItem(itemEnt);
|
|
||||||
}
|
|
||||||
if(InventoryUtils.hasToolbarInventory(containerEnt)){
|
if(InventoryUtils.hasToolbarInventory(containerEnt)){
|
||||||
RelationalInventoryState toolbarInventory = InventoryUtils.getToolbarInventory(containerEnt);
|
RelationalInventoryState toolbarInventory = InventoryUtils.getToolbarInventory(containerEnt);
|
||||||
toolbarInventory.tryRemoveItem(itemEnt);
|
toolbarInventory.tryRemoveItem(itemEnt);
|
||||||
toolbarInventory.addItem(targetSlot, itemEnt);
|
toolbarInventory.addItem(targetSlot, itemEnt);
|
||||||
}
|
}
|
||||||
|
if(ClientToolbarState.hasClientToolbarState(containerEnt)){
|
||||||
|
ClientToolbarState toolbarState = ClientToolbarState.getClientToolbarState(containerEnt);
|
||||||
|
toolbarState.update();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds a network message to the client inventory state
|
||||||
|
* @param networkMessage The message
|
||||||
|
*/
|
||||||
public void addNetworkMessage(InventoryMessage networkMessage) {
|
public void addNetworkMessage(InventoryMessage networkMessage) {
|
||||||
networkMessageQueue.add(networkMessage);
|
networkMessageQueue.add(networkMessage);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -81,40 +81,30 @@ public class ServerInventoryState implements BehaviorTree {
|
|||||||
networkMessageQueue.remove(message);
|
networkMessageQueue.remove(message);
|
||||||
switch(message.getMessageSubtype()){
|
switch(message.getMessageSubtype()){
|
||||||
case ADDITEMTOINVENTORY: {
|
case ADDITEMTOINVENTORY: {
|
||||||
ServerInventoryState.serverAttemptStoreItemTransform(parent, EntityLookupUtils.getEntityById(message.getitemEntId()));
|
Entity itemEnt = EntityLookupUtils.getEntityById(message.getitemEntId());
|
||||||
|
ServerInventoryState.attemptStoreItemAnyInventory(parent,itemEnt);
|
||||||
} break;
|
} break;
|
||||||
case REMOVEITEMFROMINVENTORY: {
|
case REMOVEITEMFROMINVENTORY: {
|
||||||
ServerInventoryState.serverAttemptEjectItem(parent, EntityLookupUtils.getEntityById(message.getentityId()));
|
ServerInventoryState.serverAttemptEjectItemTransform(parent, EntityLookupUtils.getEntityById(message.getentityId()));
|
||||||
} break;
|
} break;
|
||||||
case CLIENTREQUESTEQUIPITEM: {
|
case CLIENTREQUESTEQUIPITEM: {
|
||||||
//item to equip
|
//item to equip
|
||||||
Entity target = EntityLookupUtils.getEntityById(message.getentityId());
|
Entity itemEnt = EntityLookupUtils.getEntityById(message.getentityId());
|
||||||
//perform transform if it makes sense
|
ServerInventoryState.attemptStoreItemTransform(parent,itemEnt,InventoryProtocol.INVENTORY_TYPE_EQUIP,message.getequipPointId());
|
||||||
if(InventoryUtils.hasEquipInventory(parent) && InventoryUtils.hasNaturalInventory(parent) && ServerEquipState.hasEquipState(parent)){
|
|
||||||
ServerEquipState equipState = ServerEquipState.getEquipState(parent);
|
|
||||||
EquipPoint point = equipState.getEquipPoint(message.getequipPointId());
|
|
||||||
equipState.commandAttemptEquip(target, point);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case CLIENTREQUESTUNEQUIPITEM: {
|
case CLIENTREQUESTUNEQUIPITEM: {
|
||||||
//make sure can unequip
|
Entity itemEnt = EntityLookupUtils.getEntityById(message.getentityId());
|
||||||
if(InventoryUtils.hasEquipInventory(parent) && InventoryUtils.hasNaturalInventory(parent) && ServerEquipState.hasEquipState(parent)){
|
ServerInventoryState.serverAttemptEjectItemTransform(parent, itemEnt);
|
||||||
ServerEquipState equipState = ServerEquipState.getEquipState(parent);
|
|
||||||
// EquipPoint point = equipState.getEquipPoint(message.getequipPointId());
|
|
||||||
if(equipState.hasEquippedAtPoint(message.getequipPointId())){
|
|
||||||
equipState.commandAttemptUnequip(message.getequipPointId());
|
|
||||||
//tell player
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} break;
|
} break;
|
||||||
case CLIENTREQUESTADDNATURAL: {
|
case CLIENTREQUESTADDNATURAL: {
|
||||||
ServerInventoryState.serverAddToNatural(parent, EntityLookupUtils.getEntityById(message.getentityId()));
|
Entity itemEnt = EntityLookupUtils.getEntityById(message.getitemEntId());
|
||||||
|
ServerInventoryState.attemptStoreItemTransform(parent,itemEnt,InventoryProtocol.INVENTORY_TYPE_NATURAL,"");
|
||||||
} break;
|
} break;
|
||||||
case CLIENTREQUESTADDTOOLBAR: {
|
case CLIENTREQUESTADDTOOLBAR: {
|
||||||
Entity itemEnt = EntityLookupUtils.getEntityById(message.getentityId());
|
Entity itemEnt = EntityLookupUtils.getEntityById(message.getitemEntId());
|
||||||
ServerToolbarState serverToolbarState = ServerToolbarState.getServerToolbarState(parent);
|
String toolbarSlot = message.gettoolbarId() + "";
|
||||||
serverToolbarState.attemptEquip(itemEnt, message.gettoolbarId());
|
ServerInventoryState.attemptStoreItemTransform(parent,itemEnt,InventoryProtocol.INVENTORY_TYPE_TOOLBAR,toolbarSlot);
|
||||||
} break;
|
} break;
|
||||||
case CLIENTUPDATETOOLBAR: {
|
case CLIENTUPDATETOOLBAR: {
|
||||||
ServerToolbarState serverToolbarState = ServerToolbarState.getServerToolbarState(parent);
|
ServerToolbarState serverToolbarState = ServerToolbarState.getServerToolbarState(parent);
|
||||||
@ -136,12 +126,12 @@ public class ServerInventoryState implements BehaviorTree {
|
|||||||
if(container != this.parent){
|
if(container != this.parent){
|
||||||
LoggerInterface.loggerEngine.WARNING("A client is trying to pick up an item for another entity!");
|
LoggerInterface.loggerEngine.WARNING("A client is trying to pick up an item for another entity!");
|
||||||
} else {
|
} else {
|
||||||
ServerInventoryState.serverAttemptStoreItemTransform(parent, itemEnt, message.getcontainerType(), message.getequipPointId());
|
ServerInventoryState.attemptStoreItemTransform(parent, itemEnt, message.getcontainerType(), message.getequipPointId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//transfering from one container to another
|
//transfering from one container to another
|
||||||
if(currentParent != null){
|
if(currentParent != null){
|
||||||
ServerInventoryState.serverAttemptStoreItemTransform(container, itemEnt, message.getcontainerType(), message.getequipPointId());
|
ServerInventoryState.attemptStoreItemTransform(container, itemEnt, message.getcontainerType(), message.getequipPointId());
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
case CLIENTREQUESTWATCHINVENTORY: {
|
case CLIENTREQUESTWATCHINVENTORY: {
|
||||||
@ -158,6 +148,7 @@ public class ServerInventoryState implements BehaviorTree {
|
|||||||
} break;
|
} break;
|
||||||
case CLIENTREQUESTCRAFT:
|
case CLIENTREQUESTCRAFT:
|
||||||
case CLIENTREQUESTPERFORMITEMACTION:
|
case CLIENTREQUESTPERFORMITEMACTION:
|
||||||
|
case SERVERCOMMANDSTOREITEM:
|
||||||
case SERVERCOMMANDUNEQUIPITEM:
|
case SERVERCOMMANDUNEQUIPITEM:
|
||||||
case SERVERCOMMANDEQUIPITEM:
|
case SERVERCOMMANDEQUIPITEM:
|
||||||
case SERVERCOMMANDMOVEITEMCONTAINER:
|
case SERVERCOMMANDMOVEITEMCONTAINER:
|
||||||
@ -266,7 +257,7 @@ public class ServerInventoryState implements BehaviorTree {
|
|||||||
* @param item The item to store
|
* @param item The item to store
|
||||||
* @return The in-inventory item
|
* @return The in-inventory item
|
||||||
*/
|
*/
|
||||||
public static Entity serverAttemptStoreItemTransform(Entity creature, Entity item){
|
public static Entity attemptStoreItemAnyInventory(Entity creature, Entity item){
|
||||||
if(item == null){
|
if(item == null){
|
||||||
throw new Error("Null item provided! " + item);
|
throw new Error("Null item provided! " + item);
|
||||||
}
|
}
|
||||||
@ -390,7 +381,7 @@ public class ServerInventoryState implements BehaviorTree {
|
|||||||
* @param slotId (Optional) The slot within the container to store into
|
* @param slotId (Optional) The slot within the container to store into
|
||||||
* @return The in-inventory item
|
* @return The in-inventory item
|
||||||
*/
|
*/
|
||||||
public static void serverAttemptStoreItemTransform(Entity container, Entity itemEnt, int containerType, String slotId){
|
public static void attemptStoreItemTransform(Entity container, Entity itemEnt, int containerType, String slotId){
|
||||||
if(itemEnt == null){
|
if(itemEnt == null){
|
||||||
throw new Error("Null item provided! " + itemEnt);
|
throw new Error("Null item provided! " + itemEnt);
|
||||||
}
|
}
|
||||||
@ -429,7 +420,7 @@ public class ServerInventoryState implements BehaviorTree {
|
|||||||
if(!ItemUtils.isItem(item)){
|
if(!ItemUtils.isItem(item)){
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if(InventoryUtils.hasNaturalInventory(creature)){
|
if(!InventoryUtils.hasNaturalInventory(creature)){
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
//get inventory
|
//get inventory
|
||||||
@ -466,7 +457,13 @@ public class ServerInventoryState implements BehaviorTree {
|
|||||||
int controllerPlayerID = CreatureUtils.getControllerPlayerId(watcher);
|
int controllerPlayerID = CreatureUtils.getControllerPlayerId(watcher);
|
||||||
Player controllerPlayer = Globals.playerManager.getPlayerFromId(controllerPlayerID);
|
Player controllerPlayer = Globals.playerManager.getPlayerFromId(controllerPlayerID);
|
||||||
//send message
|
//send message
|
||||||
controllerPlayer.addMessage(InventoryMessage.constructaddItemToInventoryMessage(creature.getId(), inventoryItem.getId(), ItemUtils.getType(inventoryItem)));
|
controllerPlayer.addMessage(InventoryMessage.constructserverCommandStoreItemMessage(
|
||||||
|
creature.getId(),
|
||||||
|
inventoryItem.getId(),
|
||||||
|
ItemUtils.getType(inventoryItem),
|
||||||
|
InventoryProtocol.INVENTORY_TYPE_NATURAL,
|
||||||
|
""
|
||||||
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -553,18 +550,6 @@ public class ServerInventoryState implements BehaviorTree {
|
|||||||
GravityUtils.serverAttemptActivateGravity(inWorldItem);
|
GravityUtils.serverAttemptActivateGravity(inWorldItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
//need creature so we can figure out where to drop the item
|
|
||||||
public static void serverAttemptEjectItem(Entity creature, Entity item){
|
|
||||||
if(creature == null){
|
|
||||||
throw new Error("Provided null creature!");
|
|
||||||
}
|
|
||||||
if(item == null){
|
|
||||||
throw new Error("Provided null item!");
|
|
||||||
}
|
|
||||||
//if we're the server, immediately attempt the transform
|
|
||||||
ServerInventoryState.serverAttemptEjectItemTransform(creature,item);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* [SERVER ONLY] Called when the server says to remove an item from all inventories
|
* [SERVER ONLY] Called when the server says to remove an item from all inventories
|
||||||
* Only does the remove, doesn't create the in-world item
|
* Only does the remove, doesn't create the in-world item
|
||||||
|
|||||||
@ -324,7 +324,7 @@ public class CreatureUtils {
|
|||||||
Entity itemInWorld = ContentSerialization.serverHydrateEntitySerialization(realm, serialization);
|
Entity itemInWorld = ContentSerialization.serverHydrateEntitySerialization(realm, serialization);
|
||||||
|
|
||||||
//add the item to the creature's inventory
|
//add the item to the creature's inventory
|
||||||
Entity itemInInventory = ServerInventoryState.serverAttemptStoreItemTransform(creature, EntityLookupUtils.getEntityById(itemInWorld.getId()));
|
Entity itemInInventory = ServerInventoryState.attemptStoreItemAnyInventory(creature, EntityLookupUtils.getEntityById(itemInWorld.getId()));
|
||||||
|
|
||||||
//equip the item to the slot defined in the template
|
//equip the item to the slot defined in the template
|
||||||
ServerToolbarState serverToolbarState = ServerToolbarState.getServerToolbarState(creature);
|
ServerToolbarState serverToolbarState = ServerToolbarState.getServerToolbarState(creature);
|
||||||
@ -338,7 +338,7 @@ public class CreatureUtils {
|
|||||||
Entity itemInWorld = ItemUtils.serverSpawnBasicItem(realm, EntityUtils.getPosition(creature), serialization.getSubtype());
|
Entity itemInWorld = ItemUtils.serverSpawnBasicItem(realm, EntityUtils.getPosition(creature), serialization.getSubtype());
|
||||||
|
|
||||||
//add the item to the creature's inventory
|
//add the item to the creature's inventory
|
||||||
Entity itemInInventory = ServerInventoryState.serverAttemptStoreItemTransform(creature, EntityLookupUtils.getEntityById(itemInWorld.getId()));
|
Entity itemInInventory = ServerInventoryState.attemptStoreItemAnyInventory(creature, EntityLookupUtils.getEntityById(itemInWorld.getId()));
|
||||||
|
|
||||||
//equip the item to the slot defined in the template
|
//equip the item to the slot defined in the template
|
||||||
ServerEquipState serverEquipState = ServerEquipState.getEquipState(creature);
|
ServerEquipState serverEquipState = ServerEquipState.getEquipState(creature);
|
||||||
@ -349,7 +349,7 @@ public class CreatureUtils {
|
|||||||
Entity itemInWorld = ItemUtils.serverSpawnBasicItem(realm, EntityUtils.getPosition(creature), naturalItem.getSubtype());
|
Entity itemInWorld = ItemUtils.serverSpawnBasicItem(realm, EntityUtils.getPosition(creature), naturalItem.getSubtype());
|
||||||
|
|
||||||
//add the item to the creature's inventory
|
//add the item to the creature's inventory
|
||||||
ServerInventoryState.serverAttemptStoreItemTransform(creature, EntityLookupUtils.getEntityById(itemInWorld.getId()));
|
ServerInventoryState.attemptStoreItemAnyInventory(creature, EntityLookupUtils.getEntityById(itemInWorld.getId()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -73,6 +73,15 @@ public class InventoryProtocol implements ClientProtocolTemplate<InventoryMessag
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
|
case SERVERCOMMANDSTOREITEM: {
|
||||||
|
LoggerInterface.loggerNetworking.DEBUG("[CLIENT] STORE " + message.getitemEntId());
|
||||||
|
if(Globals.playerEntity != null){
|
||||||
|
ClientInventoryState inventoryState;
|
||||||
|
if((inventoryState = ClientInventoryState.getClientInventoryState(Globals.playerEntity))!=null){
|
||||||
|
inventoryState.addNetworkMessage(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} break;
|
||||||
case CLIENTREQUESTUNWATCHINVENTORY:
|
case CLIENTREQUESTUNWATCHINVENTORY:
|
||||||
case CLIENTREQUESTWATCHINVENTORY:
|
case CLIENTREQUESTWATCHINVENTORY:
|
||||||
case CLIENTREQUESTSTOREITEM:
|
case CLIENTREQUESTSTOREITEM:
|
||||||
|
|||||||
@ -19,6 +19,7 @@ public class InventoryMessage extends NetworkMessage {
|
|||||||
SERVERCOMMANDUNEQUIPITEM,
|
SERVERCOMMANDUNEQUIPITEM,
|
||||||
CLIENTREQUESTUNEQUIPITEM,
|
CLIENTREQUESTUNEQUIPITEM,
|
||||||
CLIENTREQUESTSTOREITEM,
|
CLIENTREQUESTSTOREITEM,
|
||||||
|
SERVERCOMMANDSTOREITEM,
|
||||||
CLIENTREQUESTWATCHINVENTORY,
|
CLIENTREQUESTWATCHINVENTORY,
|
||||||
CLIENTREQUESTUNWATCHINVENTORY,
|
CLIENTREQUESTUNWATCHINVENTORY,
|
||||||
CLIENTREQUESTADDTOOLBAR,
|
CLIENTREQUESTADDTOOLBAR,
|
||||||
@ -330,6 +331,8 @@ public class InventoryMessage extends NetworkMessage {
|
|||||||
return InventoryMessage.canParseclientRequestUnequipItemMessage(byteBuffer);
|
return InventoryMessage.canParseclientRequestUnequipItemMessage(byteBuffer);
|
||||||
case TypeBytes.INVENTORY_MESSAGE_TYPE_CLIENTREQUESTSTOREITEM:
|
case TypeBytes.INVENTORY_MESSAGE_TYPE_CLIENTREQUESTSTOREITEM:
|
||||||
return InventoryMessage.canParseclientRequestStoreItemMessage(byteBuffer);
|
return InventoryMessage.canParseclientRequestStoreItemMessage(byteBuffer);
|
||||||
|
case TypeBytes.INVENTORY_MESSAGE_TYPE_SERVERCOMMANDSTOREITEM:
|
||||||
|
return InventoryMessage.canParseserverCommandStoreItemMessage(byteBuffer);
|
||||||
case TypeBytes.INVENTORY_MESSAGE_TYPE_CLIENTREQUESTWATCHINVENTORY:
|
case TypeBytes.INVENTORY_MESSAGE_TYPE_CLIENTREQUESTWATCHINVENTORY:
|
||||||
if(byteBuffer.getRemaining() >= TypeBytes.INVENTORY_MESSAGE_TYPE_CLIENTREQUESTWATCHINVENTORY_SIZE){
|
if(byteBuffer.getRemaining() >= TypeBytes.INVENTORY_MESSAGE_TYPE_CLIENTREQUESTWATCHINVENTORY_SIZE){
|
||||||
return true;
|
return true;
|
||||||
@ -780,6 +783,79 @@ public class InventoryMessage extends NetworkMessage {
|
|||||||
return rVal;
|
return rVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if a message of type serverCommandStoreItem can be parsed from the byte stream
|
||||||
|
*/
|
||||||
|
public static boolean canParseserverCommandStoreItemMessage(CircularByteBuffer byteBuffer){
|
||||||
|
int currentStreamLength = byteBuffer.getRemaining();
|
||||||
|
List<Byte> temporaryByteQueue = new LinkedList<Byte>();
|
||||||
|
if(currentStreamLength < 6){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(currentStreamLength < 10){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
int itemTemplateSize = 0;
|
||||||
|
if(currentStreamLength < 14){
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
temporaryByteQueue.add(byteBuffer.peek(10 + 0));
|
||||||
|
temporaryByteQueue.add(byteBuffer.peek(10 + 1));
|
||||||
|
temporaryByteQueue.add(byteBuffer.peek(10 + 2));
|
||||||
|
temporaryByteQueue.add(byteBuffer.peek(10 + 3));
|
||||||
|
itemTemplateSize = ByteStreamUtils.popIntFromByteQueue(temporaryByteQueue);
|
||||||
|
}
|
||||||
|
if(currentStreamLength < 14 + itemTemplateSize){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(currentStreamLength < 18 + itemTemplateSize){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
int equipPointIdSize = 0;
|
||||||
|
if(currentStreamLength < 22){
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
temporaryByteQueue.add(byteBuffer.peek(18 + itemTemplateSize + 0));
|
||||||
|
temporaryByteQueue.add(byteBuffer.peek(18 + itemTemplateSize + 1));
|
||||||
|
temporaryByteQueue.add(byteBuffer.peek(18 + itemTemplateSize + 2));
|
||||||
|
temporaryByteQueue.add(byteBuffer.peek(18 + itemTemplateSize + 3));
|
||||||
|
equipPointIdSize = ByteStreamUtils.popIntFromByteQueue(temporaryByteQueue);
|
||||||
|
}
|
||||||
|
if(currentStreamLength < 22 + itemTemplateSize + equipPointIdSize){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parses a message of type serverCommandStoreItem
|
||||||
|
*/
|
||||||
|
public static InventoryMessage parseserverCommandStoreItemMessage(CircularByteBuffer byteBuffer, MessagePool pool){
|
||||||
|
InventoryMessage rVal = (InventoryMessage)pool.get(MessageType.INVENTORY_MESSAGE);
|
||||||
|
rVal.messageType = InventoryMessageType.SERVERCOMMANDSTOREITEM;
|
||||||
|
InventoryMessage.stripPacketHeader(byteBuffer);
|
||||||
|
rVal.settargetEntId(ByteStreamUtils.popIntFromByteQueue(byteBuffer));
|
||||||
|
rVal.setitemEntId(ByteStreamUtils.popIntFromByteQueue(byteBuffer));
|
||||||
|
rVal.setitemTemplate(ByteStreamUtils.popStringFromByteQueue(byteBuffer));
|
||||||
|
rVal.setcontainerType(ByteStreamUtils.popIntFromByteQueue(byteBuffer));
|
||||||
|
rVal.setequipPointId(ByteStreamUtils.popStringFromByteQueue(byteBuffer));
|
||||||
|
return rVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructs a message of type serverCommandStoreItem
|
||||||
|
*/
|
||||||
|
public static InventoryMessage constructserverCommandStoreItemMessage(int targetEntId,int itemEntId,String itemTemplate,int containerType,String equipPointId){
|
||||||
|
InventoryMessage rVal = new InventoryMessage(InventoryMessageType.SERVERCOMMANDSTOREITEM);
|
||||||
|
rVal.settargetEntId(targetEntId);
|
||||||
|
rVal.setitemEntId(itemEntId);
|
||||||
|
rVal.setitemTemplate(itemTemplate);
|
||||||
|
rVal.setcontainerType(containerType);
|
||||||
|
rVal.setequipPointId(equipPointId);
|
||||||
|
rVal.serialize();
|
||||||
|
return rVal;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parses a message of type clientRequestWatchInventory
|
* Parses a message of type clientRequestWatchInventory
|
||||||
*/
|
*/
|
||||||
@ -1184,6 +1260,41 @@ public class InventoryMessage extends NetworkMessage {
|
|||||||
rawBytes[14+equipPointId.length()+i] = intValues[i];
|
rawBytes[14+equipPointId.length()+i] = intValues[i];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case SERVERCOMMANDSTOREITEM:
|
||||||
|
rawBytes = new byte[2+4+4+4+itemTemplate.length()+4+4+equipPointId.length()];
|
||||||
|
//message header
|
||||||
|
rawBytes[0] = TypeBytes.MESSAGE_TYPE_INVENTORY;
|
||||||
|
//entity messaage header
|
||||||
|
rawBytes[1] = TypeBytes.INVENTORY_MESSAGE_TYPE_SERVERCOMMANDSTOREITEM;
|
||||||
|
intValues = ByteStreamUtils.serializeIntToBytes(targetEntId);
|
||||||
|
for(int i = 0; i < 4; i++){
|
||||||
|
rawBytes[2+i] = intValues[i];
|
||||||
|
}
|
||||||
|
intValues = ByteStreamUtils.serializeIntToBytes(itemEntId);
|
||||||
|
for(int i = 0; i < 4; i++){
|
||||||
|
rawBytes[6+i] = intValues[i];
|
||||||
|
}
|
||||||
|
intValues = ByteStreamUtils.serializeIntToBytes(itemTemplate.length());
|
||||||
|
for(int i = 0; i < 4; i++){
|
||||||
|
rawBytes[10+i] = intValues[i];
|
||||||
|
}
|
||||||
|
stringBytes = itemTemplate.getBytes();
|
||||||
|
for(int i = 0; i < itemTemplate.length(); i++){
|
||||||
|
rawBytes[14+i] = stringBytes[i];
|
||||||
|
}
|
||||||
|
intValues = ByteStreamUtils.serializeIntToBytes(containerType);
|
||||||
|
for(int i = 0; i < 4; i++){
|
||||||
|
rawBytes[14+itemTemplate.length()+i] = intValues[i];
|
||||||
|
}
|
||||||
|
intValues = ByteStreamUtils.serializeIntToBytes(equipPointId.length());
|
||||||
|
for(int i = 0; i < 4; i++){
|
||||||
|
rawBytes[18+itemTemplate.length()+i] = intValues[i];
|
||||||
|
}
|
||||||
|
stringBytes = equipPointId.getBytes();
|
||||||
|
for(int i = 0; i < equipPointId.length(); i++){
|
||||||
|
rawBytes[22+itemTemplate.length()+i] = stringBytes[i];
|
||||||
|
}
|
||||||
|
break;
|
||||||
case CLIENTREQUESTWATCHINVENTORY:
|
case CLIENTREQUESTWATCHINVENTORY:
|
||||||
rawBytes = new byte[2+4];
|
rawBytes = new byte[2+4];
|
||||||
//message header
|
//message header
|
||||||
|
|||||||
@ -390,6 +390,11 @@ public abstract class NetworkMessage {
|
|||||||
rVal = InventoryMessage.parseclientRequestStoreItemMessage(byteBuffer,pool);
|
rVal = InventoryMessage.parseclientRequestStoreItemMessage(byteBuffer,pool);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case TypeBytes.INVENTORY_MESSAGE_TYPE_SERVERCOMMANDSTOREITEM:
|
||||||
|
if(InventoryMessage.canParseMessage(byteBuffer,secondByte)){
|
||||||
|
rVal = InventoryMessage.parseserverCommandStoreItemMessage(byteBuffer,pool);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case TypeBytes.INVENTORY_MESSAGE_TYPE_CLIENTREQUESTWATCHINVENTORY:
|
case TypeBytes.INVENTORY_MESSAGE_TYPE_CLIENTREQUESTWATCHINVENTORY:
|
||||||
if(InventoryMessage.canParseMessage(byteBuffer,secondByte)){
|
if(InventoryMessage.canParseMessage(byteBuffer,secondByte)){
|
||||||
rVal = InventoryMessage.parseclientRequestWatchInventoryMessage(byteBuffer,pool);
|
rVal = InventoryMessage.parseclientRequestWatchInventoryMessage(byteBuffer,pool);
|
||||||
|
|||||||
@ -160,14 +160,15 @@ public class TypeBytes {
|
|||||||
public static final byte INVENTORY_MESSAGE_TYPE_SERVERCOMMANDUNEQUIPITEM = 5;
|
public static final byte INVENTORY_MESSAGE_TYPE_SERVERCOMMANDUNEQUIPITEM = 5;
|
||||||
public static final byte INVENTORY_MESSAGE_TYPE_CLIENTREQUESTUNEQUIPITEM = 6;
|
public static final byte INVENTORY_MESSAGE_TYPE_CLIENTREQUESTUNEQUIPITEM = 6;
|
||||||
public static final byte INVENTORY_MESSAGE_TYPE_CLIENTREQUESTSTOREITEM = 7;
|
public static final byte INVENTORY_MESSAGE_TYPE_CLIENTREQUESTSTOREITEM = 7;
|
||||||
public static final byte INVENTORY_MESSAGE_TYPE_CLIENTREQUESTWATCHINVENTORY = 8;
|
public static final byte INVENTORY_MESSAGE_TYPE_SERVERCOMMANDSTOREITEM = 8;
|
||||||
public static final byte INVENTORY_MESSAGE_TYPE_CLIENTREQUESTUNWATCHINVENTORY = 9;
|
public static final byte INVENTORY_MESSAGE_TYPE_CLIENTREQUESTWATCHINVENTORY = 9;
|
||||||
public static final byte INVENTORY_MESSAGE_TYPE_CLIENTREQUESTADDTOOLBAR = 10;
|
public static final byte INVENTORY_MESSAGE_TYPE_CLIENTREQUESTUNWATCHINVENTORY = 10;
|
||||||
public static final byte INVENTORY_MESSAGE_TYPE_CLIENTREQUESTADDNATURAL = 11;
|
public static final byte INVENTORY_MESSAGE_TYPE_CLIENTREQUESTADDTOOLBAR = 11;
|
||||||
public static final byte INVENTORY_MESSAGE_TYPE_CLIENTUPDATETOOLBAR = 12;
|
public static final byte INVENTORY_MESSAGE_TYPE_CLIENTREQUESTADDNATURAL = 12;
|
||||||
public static final byte INVENTORY_MESSAGE_TYPE_CLIENTREQUESTPERFORMITEMACTION = 13;
|
public static final byte INVENTORY_MESSAGE_TYPE_CLIENTUPDATETOOLBAR = 13;
|
||||||
public static final byte INVENTORY_MESSAGE_TYPE_CLIENTREQUESTCRAFT = 14;
|
public static final byte INVENTORY_MESSAGE_TYPE_CLIENTREQUESTPERFORMITEMACTION = 14;
|
||||||
public static final byte INVENTORY_MESSAGE_TYPE_SERVERUPDATEITEMCHARGES = 15;
|
public static final byte INVENTORY_MESSAGE_TYPE_CLIENTREQUESTCRAFT = 15;
|
||||||
|
public static final byte INVENTORY_MESSAGE_TYPE_SERVERUPDATEITEMCHARGES = 16;
|
||||||
/*
|
/*
|
||||||
Inventory packet sizes
|
Inventory packet sizes
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -110,6 +110,7 @@ public class InventoryProtocol implements ServerProtocolTemplate<InventoryMessag
|
|||||||
ServerInventoryState.getServerInventoryState(target).addNetworkMessage(message);
|
ServerInventoryState.getServerInventoryState(target).addNetworkMessage(message);
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
|
case SERVERCOMMANDSTOREITEM:
|
||||||
case SERVERCOMMANDUNEQUIPITEM:
|
case SERVERCOMMANDUNEQUIPITEM:
|
||||||
case SERVERCOMMANDMOVEITEMCONTAINER:
|
case SERVERCOMMANDMOVEITEMCONTAINER:
|
||||||
case SERVERCOMMANDEQUIPITEM:
|
case SERVERCOMMANDEQUIPITEM:
|
||||||
|
|||||||
@ -26,7 +26,7 @@ public class CollectItemNode implements AITreeNode {
|
|||||||
if(parentPos.distance(targetPos) > CollisionEngine.DEFAULT_INTERACT_DISTANCE){
|
if(parentPos.distance(targetPos) > CollisionEngine.DEFAULT_INTERACT_DISTANCE){
|
||||||
return AITreeNodeResult.FAILURE;
|
return AITreeNodeResult.FAILURE;
|
||||||
}
|
}
|
||||||
ServerInventoryState.serverAttemptStoreItemTransform(entity, target);
|
ServerInventoryState.attemptStoreItemAnyInventory(entity, target);
|
||||||
TargetEntityCategoryNode.setTarget(blackboard, null);
|
TargetEntityCategoryNode.setTarget(blackboard, null);
|
||||||
return AITreeNodeResult.SUCCESS;
|
return AITreeNodeResult.SUCCESS;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,13 +7,13 @@ import electrosphere.data.units.UnitEquippedItem;
|
|||||||
import electrosphere.data.units.UnitLoader;
|
import electrosphere.data.units.UnitLoader;
|
||||||
import electrosphere.engine.Globals;
|
import electrosphere.engine.Globals;
|
||||||
import electrosphere.entity.Entity;
|
import electrosphere.entity.Entity;
|
||||||
import electrosphere.entity.state.equip.ServerEquipState;
|
|
||||||
import electrosphere.entity.state.inventory.ServerInventoryState;
|
import electrosphere.entity.state.inventory.ServerInventoryState;
|
||||||
import electrosphere.entity.types.creature.ObjectTemplate;
|
import electrosphere.entity.types.creature.ObjectTemplate;
|
||||||
import electrosphere.entity.types.EntityTypes.EntityType;
|
import electrosphere.entity.types.EntityTypes.EntityType;
|
||||||
import electrosphere.entity.types.creature.CreatureUtils;
|
import electrosphere.entity.types.creature.CreatureUtils;
|
||||||
import electrosphere.entity.types.item.ItemUtils;
|
import electrosphere.entity.types.item.ItemUtils;
|
||||||
import electrosphere.logger.LoggerInterface;
|
import electrosphere.logger.LoggerInterface;
|
||||||
|
import electrosphere.net.server.protocol.InventoryProtocol;
|
||||||
import electrosphere.server.datacell.Realm;
|
import electrosphere.server.datacell.Realm;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -61,11 +61,7 @@ public class UnitUtils {
|
|||||||
Entity itemInWorld = ItemUtils.serverSpawnBasicItem(realm, position, equippedItem.getItemId());
|
Entity itemInWorld = ItemUtils.serverSpawnBasicItem(realm, position, equippedItem.getItemId());
|
||||||
|
|
||||||
//add the item to the creature's inventory
|
//add the item to the creature's inventory
|
||||||
Entity itemInInventory = ServerInventoryState.serverAttemptStoreItemTransform(rVal, itemInWorld);
|
ServerInventoryState.attemptStoreItemTransform(rVal, itemInWorld, InventoryProtocol.INVENTORY_TYPE_EQUIP, equippedItem.getPointId());
|
||||||
|
|
||||||
//equip the item to the slot defined in the template
|
|
||||||
ServerEquipState serverEquipState = ServerEquipState.getEquipState(rVal);
|
|
||||||
serverEquipState.commandAttemptEquip(itemInInventory,serverEquipState.getEquipPoint(equippedItem.getPointId()));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -140,6 +140,17 @@
|
|||||||
"itemEntId"
|
"itemEntId"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"messageName" : "serverCommandStoreItem",
|
||||||
|
"description" : "Commands that a given item be placed in a given container type on a given container",
|
||||||
|
"data" : [
|
||||||
|
"targetEntId",
|
||||||
|
"itemEntId",
|
||||||
|
"itemTemplate",
|
||||||
|
"containerType",
|
||||||
|
"equipPointId"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"messageName" : "clientRequestWatchInventory",
|
"messageName" : "clientRequestWatchInventory",
|
||||||
"description" : "Requests to watch the inventory of another entity",
|
"description" : "Requests to watch the inventory of another entity",
|
||||||
|
|||||||
@ -40,7 +40,7 @@ public class ServerAttackTreeTests extends EntityTestTemplate {
|
|||||||
Entity katana = ItemUtils.serverSpawnBasicItem(Globals.realmManager.first(), new Vector3d(0,0,0), "Katana2H");
|
Entity katana = ItemUtils.serverSpawnBasicItem(Globals.realmManager.first(), new Vector3d(0,0,0), "Katana2H");
|
||||||
|
|
||||||
//equip
|
//equip
|
||||||
Entity inInventoryItem = ServerInventoryState.serverAttemptStoreItemTransform(creature, katana);
|
Entity inInventoryItem = ServerInventoryState.attemptStoreItemAnyInventory(creature, katana);
|
||||||
ServerToolbarState serverToolbarState = ServerToolbarState.getServerToolbarState(creature);
|
ServerToolbarState serverToolbarState = ServerToolbarState.getServerToolbarState(creature);
|
||||||
serverToolbarState.attemptEquip(inInventoryItem, 0);
|
serverToolbarState.attemptEquip(inInventoryItem, 0);
|
||||||
|
|
||||||
@ -75,7 +75,7 @@ public class ServerAttackTreeTests extends EntityTestTemplate {
|
|||||||
Entity katana = ItemUtils.serverSpawnBasicItem(Globals.realmManager.first(), new Vector3d(0,0,0), "Katana2H");
|
Entity katana = ItemUtils.serverSpawnBasicItem(Globals.realmManager.first(), new Vector3d(0,0,0), "Katana2H");
|
||||||
|
|
||||||
//equip
|
//equip
|
||||||
Entity inInventoryItem = ServerInventoryState.serverAttemptStoreItemTransform(creature, katana);
|
Entity inInventoryItem = ServerInventoryState.attemptStoreItemAnyInventory(creature, katana);
|
||||||
ServerToolbarState serverToolbarState = ServerToolbarState.getServerToolbarState(creature);
|
ServerToolbarState serverToolbarState = ServerToolbarState.getServerToolbarState(creature);
|
||||||
serverToolbarState.attemptEquip(inInventoryItem, 0);
|
serverToolbarState.attemptEquip(inInventoryItem, 0);
|
||||||
|
|
||||||
|
|||||||
@ -56,7 +56,7 @@ public class ClientEquipStateTests extends EntityTestTemplate {
|
|||||||
assertEquals(1, clientSideItems.size());
|
assertEquals(1, clientSideItems.size());
|
||||||
|
|
||||||
//equip
|
//equip
|
||||||
Entity inInventoryItem = ServerInventoryState.serverAttemptStoreItemTransform(creature, katana);
|
Entity inInventoryItem = ServerInventoryState.attemptStoreItemAnyInventory(creature, katana);
|
||||||
ServerEquipState serverEquipState = ServerEquipState.getServerEquipState(creature);
|
ServerEquipState serverEquipState = ServerEquipState.getServerEquipState(creature);
|
||||||
serverEquipState.commandAttemptEquip(inInventoryItem, serverEquipState.getEquipPoint("handsCombined"));
|
serverEquipState.commandAttemptEquip(inInventoryItem, serverEquipState.getEquipPoint("handsCombined"));
|
||||||
|
|
||||||
|
|||||||
@ -37,7 +37,7 @@ public class ServerEquipStateTests extends EntityTestTemplate {
|
|||||||
Entity katana = ItemUtils.serverSpawnBasicItem(Globals.realmManager.first(), new Vector3d(0,0,0), "Katana2H");
|
Entity katana = ItemUtils.serverSpawnBasicItem(Globals.realmManager.first(), new Vector3d(0,0,0), "Katana2H");
|
||||||
|
|
||||||
//equip
|
//equip
|
||||||
Entity inInventoryItem = ServerInventoryState.serverAttemptStoreItemTransform(creature, katana);
|
Entity inInventoryItem = ServerInventoryState.attemptStoreItemAnyInventory(creature, katana);
|
||||||
ServerEquipState serverEquipState = ServerEquipState.getServerEquipState(creature);
|
ServerEquipState serverEquipState = ServerEquipState.getServerEquipState(creature);
|
||||||
serverEquipState.commandAttemptEquip(inInventoryItem, serverEquipState.getEquipPoint("handsCombined"));
|
serverEquipState.commandAttemptEquip(inInventoryItem, serverEquipState.getEquipPoint("handsCombined"));
|
||||||
|
|
||||||
@ -70,7 +70,7 @@ public class ServerEquipStateTests extends EntityTestTemplate {
|
|||||||
Entity katana2 = ItemUtils.serverSpawnBasicItem(Globals.realmManager.first(), new Vector3d(0,0,0), "Katana2H");
|
Entity katana2 = ItemUtils.serverSpawnBasicItem(Globals.realmManager.first(), new Vector3d(0,0,0), "Katana2H");
|
||||||
|
|
||||||
//equip
|
//equip
|
||||||
Entity inInventoryItem = ServerInventoryState.serverAttemptStoreItemTransform(creature, katana);
|
Entity inInventoryItem = ServerInventoryState.attemptStoreItemAnyInventory(creature, katana);
|
||||||
ServerEquipState serverEquipState = ServerEquipState.getServerEquipState(creature);
|
ServerEquipState serverEquipState = ServerEquipState.getServerEquipState(creature);
|
||||||
serverEquipState.commandAttemptEquip(inInventoryItem, serverEquipState.getEquipPoint("handsCombined"));
|
serverEquipState.commandAttemptEquip(inInventoryItem, serverEquipState.getEquipPoint("handsCombined"));
|
||||||
|
|
||||||
@ -78,7 +78,7 @@ public class ServerEquipStateTests extends EntityTestTemplate {
|
|||||||
TestEngineUtils.simulateFrames(1);
|
TestEngineUtils.simulateFrames(1);
|
||||||
|
|
||||||
//attempt to equip second katana
|
//attempt to equip second katana
|
||||||
Entity inInventoryItem2 = ServerInventoryState.serverAttemptStoreItemTransform(creature, katana2);
|
Entity inInventoryItem2 = ServerInventoryState.attemptStoreItemAnyInventory(creature, katana2);
|
||||||
serverEquipState.commandAttemptEquip(inInventoryItem2, serverEquipState.getEquipPoint("handsCombined"));
|
serverEquipState.commandAttemptEquip(inInventoryItem2, serverEquipState.getEquipPoint("handsCombined"));
|
||||||
|
|
||||||
//propagate to client
|
//propagate to client
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user