client side transforms working outside of ui

This commit is contained in:
austin 2022-06-07 13:18:25 -04:00
parent cf9588f24f
commit 9bb6e5b2ad

View File

@ -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