client side transforms working outside of ui
This commit is contained in:
parent
cf9588f24f
commit
9bb6e5b2ad
@ -175,24 +175,27 @@ public class InventoryUtils {
|
||||
if(hasEquipInventory){
|
||||
//get inventory
|
||||
RelationalInventoryState inventory = getEquipInventory(creature);
|
||||
//get real world item
|
||||
Entity realWorldItem = ItemUtils.getRealWorldEntity(item);
|
||||
if(realWorldItem != null){
|
||||
//drop item
|
||||
EquipState equipState = EquipState.getEquipState(creature);
|
||||
equipState.transformUnequipPoint(inventory.getItemSlot(item));
|
||||
// equipState.serverAttemptUnequip(inventory.getItemSlot(item));
|
||||
//
|
||||
//Tell clients to destroy the attached item
|
||||
Vector3d oldItemPos = EntityUtils.getPosition(realWorldItem);
|
||||
//get closest chunk
|
||||
ServerDataCell dataCell = Globals.dataCellManager.getDataCellAtPoint(oldItemPos);
|
||||
//broadcast destroy item
|
||||
NetworkMessage destroyMessage = InventoryMessage.constructserverCommandUnequipItemMessage(creature.getId(), inventory.getItemSlot(item));
|
||||
dataCell.broadcastNetworkMessage(destroyMessage);
|
||||
}
|
||||
//get inventory slot
|
||||
String inventorySlot = inventory.getItemSlot(item);
|
||||
//remove item from inventory
|
||||
inventory.tryRemoveItem(item);
|
||||
if(inventory.tryRemoveItem(item) != null){
|
||||
//get real world item
|
||||
Entity realWorldItem = ItemUtils.getRealWorldEntity(item);
|
||||
if(realWorldItem != null){
|
||||
//drop item
|
||||
EquipState equipState = EquipState.getEquipState(creature);
|
||||
equipState.transformUnequipPoint(inventorySlot);
|
||||
// equipState.serverAttemptUnequip(inventory.getItemSlot(item));
|
||||
//
|
||||
//Tell clients to destroy the attached item
|
||||
Vector3d oldItemPos = EntityUtils.getPosition(realWorldItem);
|
||||
//get closest chunk
|
||||
ServerDataCell dataCell = Globals.dataCellManager.getDataCellAtPoint(oldItemPos);
|
||||
//broadcast destroy item
|
||||
NetworkMessage destroyMessage = InventoryMessage.constructserverCommandUnequipItemMessage(creature.getId(), inventorySlot);
|
||||
dataCell.broadcastNetworkMessage(destroyMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
//tell player that the item is no longer in their inventory
|
||||
|
||||
Loading…
Reference in New Issue
Block a user