Read item weight, value and base name through the bridge

Consumers of the legacy ItemTemplate item_wt, item_value and
item_base_name now read getItemWt(), getItemValue() and
getItemBaseName() on template.cacheTemplate.

Parity (offline, scripts/p14.py, 7586 templates): 0 differences in
item_wt, item_value and item_base_name. No value changes expected.

JSON-Refactor-Plan Task 1.4.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
MagicBotandClaude Opus 5.5 committed 2026-10-19 12:44:35 -04:00
1 parent b8ac8cce3e
commit dc4a9ee08a
29 files changed
+59 -59

No files matched your search

+1 -1
View File
@@ -554,7 +554,7 @@ public class dbItemHandler extends dbHandlerBase {
// Write 0 if we will not modify the value from template
if (value == item.template.item_value)
if (value == item.template.cacheTemplate.getItemValue())
value = 0;
try (Connection connection = DbManager.getConnection();
+1 -1
View File
@@ -51,7 +51,7 @@ public class CreateItemCmd extends AbstractDevCmd {
for (int i = 0; i < size; i++) {
if (!playerCharacter.charItemManager.hasRoomInventory(template.item_wt)) {
if (!playerCharacter.charItemManager.hasRoomInventory(template.cacheTemplate.getItemWt())) {
ChatManager.chatSystemInfo(playerCharacter, "You are encumbered!.");
break;
}
+2 -2
View File
@@ -509,7 +509,7 @@ public class InfoCmd extends AbstractDevCmd {
Item item = (Item) target;
ItemTemplate template = ItemTemplate.templates.get(item.templateID);
output += StringUtils.addWS("Template: " + template.template_id, 20);
output += "Weight: " + template.item_wt;
output += "Weight: " + template.cacheTemplate.getItemWt();
output += newline;
DecimalFormat df = new DecimalFormat("###,###,###,###,##0");
output += StringUtils.addWS("Qty: "
@@ -517,7 +517,7 @@ public class InfoCmd extends AbstractDevCmd {
output += "Charges: " + (byte) item.chargesRemaining
+ '/' + item.template.item_initial_charges;
output += newline;
output += "Name: " + template.item_base_name;
output += "Name: " + template.cacheTemplate.getItemBaseName();
output += newline;
output += item.getContainerInfo();
+1 -1
View File
@@ -154,7 +154,7 @@ public class MakeItemCmd extends AbstractDevCmd {
for (int i = 0; i < quantity; i++) {
int weight = template.item_wt;
int weight = template.cacheTemplate.getItemWt();
if (!cim.hasRoomInventory(weight)) {
throwbackError(pc, "Not enough room in inventory for any more of this item. " + i + " produced.");
+1 -1
View File
@@ -53,7 +53,7 @@ public class PrintBankCmd extends AbstractDevCmd {
for (Item item : list) {
ItemTemplate template = ItemTemplate.templates.get(item.templateID);
throwbackInfo(pc, " " + template.item_base_name + ", count: " + item.getNumOfItems());
throwbackInfo(pc, " " + template.cacheTemplate.getItemBaseName() + ", count: " + item.getNumOfItems());
}
Item gold = cim.getGoldBank();
+1 -1
View File
@@ -34,7 +34,7 @@ public class PrintBonusesCmd extends AbstractDevCmd {
type = "Item";
tar = (Item) target;
ItemTemplate template = ItemTemplate.templates.get(((Item) tar).templateID);
name = template.item_base_name;
name = template.cacheTemplate.getItemBaseName();
} else if (target instanceof AbstractCharacter) {
tar = (AbstractCharacter) target;
name = ((AbstractCharacter) tar).getFirstName();
+3 -3
View File
@@ -66,7 +66,7 @@ public class PrintEquipCmd extends AbstractDevCmd {
throwbackInfo(pc, "Equip for " + type + ' ' + name + " (" + tar.getObjectUUID() + ')');
for (mbEnums.EquipSlotType slot : tarMob.charItemManager.equipped.keySet()) {
Item equip = tarMob.charItemManager.equipped.get(slot);
throwbackInfo(pc, equip.templateID + " : " + equip.template.item_base_name + ", slot: " + slot);
throwbackInfo(pc, equip.templateID + " : " + equip.template.cacheTemplate.getItemBaseName() + ", slot: " + slot);
}
return;
}
@@ -76,7 +76,7 @@ public class PrintEquipCmd extends AbstractDevCmd {
throwbackInfo(pc, "Equip for " + type + ' ' + name + " (" + tar.getObjectUUID() + ')');
for (mbEnums.EquipSlotType slot : tarMob.charItemManager.equipped.keySet()) {
Item equip = tarMob.charItemManager.equipped.get(slot);
throwbackInfo(pc, equip.templateID + " : " + equip.template.item_base_name + ", slot: " + slot);
throwbackInfo(pc, equip.templateID + " : " + equip.template.cacheTemplate.getItemBaseName() + ", slot: " + slot);
}
return;
}
@@ -87,7 +87,7 @@ public class PrintEquipCmd extends AbstractDevCmd {
for (mbEnums.EquipSlotType slot : list.keySet()) {
Item item = list.get(slot);
throwbackInfo(pc, " " + item.template.item_base_name + ", slot: " + slot);
throwbackInfo(pc, " " + item.template.cacheTemplate.getItemBaseName() + ", slot: " + slot);
}
}
@@ -86,7 +86,7 @@ public class PrintInventoryCmd extends AbstractDevCmd {
int charges = item.chargesRemaining;
chargeInfo = " charges: " + charges + '/' + chargeMax;
}
throwbackInfo(pc, " " + template.item_base_name + ", count: " + item.getNumOfItems() + chargeInfo);
throwbackInfo(pc, " " + template.cacheTemplate.getItemBaseName() + ", count: " + item.getNumOfItems() + chargeInfo);
} else
goldCount += item.getNumOfItems();
}
+1 -1
View File
@@ -51,7 +51,7 @@ public class PrintVaultCmd extends AbstractDevCmd {
throwbackInfo(pc, "Vault for " + type + ' ' + name + " (" + tar.getObjectUUID() + ')');
for (Item item : list) {
ItemTemplate template = ItemTemplate.templates.get(item.templateID);
throwbackInfo(pc, " " + template.item_base_name + ", count: " + item.getNumOfItems());
throwbackInfo(pc, " " + template.cacheTemplate.getItemBaseName() + ", count: " + item.getNumOfItems());
}
Item gold = cim.getGoldVault();
if (gold != null)
+1 -1
View File
@@ -37,7 +37,7 @@ public class SimulateBootyCmd extends AbstractDevCmd {
ItemTemplate template = ItemTemplate.templates.get(entry.templateID);
if (template != null)
output += "[" + entry.bootyType + "] " + template.item_base_name + " [Chance] " + entry.dropChance + newline;
output += "[" + entry.bootyType + "] " + template.cacheTemplate.getItemBaseName() + " [Chance] " + entry.dropChance + newline;
}
}
+2 -2
View File
@@ -201,7 +201,7 @@ public enum BuildingManager {
ItemTemplate template = ItemTemplate.templates.get(1705032); // Elan Stone
if (!player.charItemManager.hasRoomInventory(template.item_wt))
if (!player.charItemManager.hasRoomInventory(template.cacheTemplate.getItemWt()))
return false;
if (!ItemManager.MakeItemForPlayer(template.template_id, player, amount))
@@ -223,7 +223,7 @@ public enum BuildingManager {
if (resourceTemplate == null)
continue;
if (!player.charItemManager.hasRoomInventory(resourceTemplate.item_wt)) {
if (!player.charItemManager.hasRoomInventory(resourceTemplate.cacheTemplate.getItemWt())) {
ChatManager.chatSystemInfo(player, "You can not carry any more of that item.");
return false;
}
+1 -1
View File
@@ -540,7 +540,7 @@ public enum ChatManager {
else {
String vowels = "aeiou";
ItemTemplate template = ItemTemplate.templates.get(item.templateID);
String iName = template.item_base_name;
String iName = template.cacheTemplate.getItemBaseName();
if (iName.length() > 0)
if (vowels.indexOf(iName.substring(0, 1).toLowerCase()) >= 0)
name = "an " + iName + ' ';
+2 -2
View File
@@ -271,13 +271,13 @@ public enum CombatManager {
if (weapon != null && !attacker.getObjectType().equals(mbEnums.GameObjectType.Mob)) {
//check if Out of Stamina
if (attacker.getObjectType().equals(mbEnums.GameObjectType.PlayerCharacter)) {
if (attacker.getStamina() < (weapon.template.item_wt / 3f)) {
if (attacker.getStamina() < (weapon.template.cacheTemplate.getItemWt() / 3f)) {
//set auto attack job
setAutoAttackJob(attacker, slot, delay);
return;
}
}
float stam = weapon.template.item_wt / 3f;
float stam = weapon.template.cacheTemplate.getItemWt() / 3f;
stam = (stam < 1) ? 1 : stam;
attacker.modifyStamina(-(stam), attacker, true);
} else
+1 -1
View File
@@ -226,7 +226,7 @@ public enum ForgeManager implements Runnable {
// Add gold and resource costs from template
production_cost.put(mbEnums.ResourceType.GOLD, template.item_value);
production_cost.put(mbEnums.ResourceType.GOLD, template.cacheTemplate.getItemValue());
production_cost.putAll(template.item_resource_cost);
// Calculate cost of prefix and suffix
+1 -1
View File
@@ -197,7 +197,7 @@ public enum ItemManager {
//players can't wear 0 value items.
return item.template.item_value != 0 || Kit.IsNoobGear(item.templateID);
return item.template.cacheTemplate.getItemValue() != 0 || Kit.IsNoobGear(item.templateID);
}
+3 -3
View File
@@ -91,8 +91,8 @@ public enum LootManager {
//lastly, check mobs inventory for godly or disc runes to send a server announcement
for (Item item : mob.getInventory()) {
if ((item.templateID > 2499 && item.templateID <= 3050) || item.template.item_base_name.toLowerCase().contains("of the gods")) {
ChatSystemMsg chatMsg = new ChatSystemMsg(null, mob.getName() + " in " + mob.getParentZone().zoneName + " has found the " + item.template.item_base_name + ". Are you tough enough to take it?");
if ((item.templateID > 2499 && item.templateID <= 3050) || item.template.cacheTemplate.getItemBaseName().toLowerCase().contains("of the gods")) {
ChatSystemMsg chatMsg = new ChatSystemMsg(null, mob.getName() + " in " + mob.getParentZone().zoneName + " has found the " + item.template.cacheTemplate.getItemBaseName() + ". Are you tough enough to take it?");
chatMsg.setMessageType(10);
chatMsg.setChannel(mbEnums.ChatChannelType.SYSTEM.getChannelID());
DispatchManager.dispatchMsgToAll(chatMsg);
@@ -429,7 +429,7 @@ public enum LootManager {
//early exit if the inventory of the player will not old the item
if (itemMan.hasRoomInventory(winnings.template.item_wt) == false) {
if (itemMan.hasRoomInventory(winnings.template.cacheTemplate.getItemWt()) == false) {
ErrorPopupMsg.sendErrorPopup(playerCharacter, 21);
return;
}
+1 -1
View File
@@ -132,7 +132,7 @@ public class WorkOrder implements Delayed {
if (workOrder.vendor.getBuilding() == null)
return 58; //58: The formula is beyond the means of this facility
if (!workOrder.vendor.charItemManager.hasRoomInventory(template.item_wt))
if (!workOrder.vendor.charItemManager.hasRoomInventory(template.cacheTemplate.getItemWt()))
return 30; //30: That person cannot carry that item
if ((workOrder.prefixToken != 0 || workOrder.suffixToken != 0) &&
@@ -78,7 +78,7 @@ public class AddItemToTradeWindowMsgHandler extends AbstractClientMsgHandler {
if (!item.validForInventory(source.getClientConnection(), source, source.charItemManager))
return false;
if (!tradingWith.hasRoomTrade(item.template.item_wt)) {
if (!tradingWith.hasRoomTrade(item.template.cacheTemplate.getItemWt())) {
dispatch = Dispatch.borrow(source, msg);
DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.PRIMARY);
return false;
@@ -241,7 +241,7 @@ public class ItemProductionMsgHandler extends AbstractClientMsgHandler {
if (targetItem.template.cacheTemplate.getItemType().equals(ItemType.GOLD))
return;
if (!vendor.charItemManager.hasRoomInventory(targetItem.template.item_wt)) {
if (!vendor.charItemManager.hasRoomInventory(targetItem.template.cacheTemplate.getItemWt())) {
ErrorPopupMsg.sendErrorPopup(player, 21);
return;
}
@@ -328,7 +328,7 @@ public class ItemProductionMsgHandler extends AbstractClientMsgHandler {
if (!vendor.charItemManager.inventoryContains(targetItem))
continue;
itemValue = targetItem.template.item_value;
itemValue = targetItem.template.cacheTemplate.getItemValue();
if (vendor.getBuilding().getStrongboxValue() + itemValue > vendor.getBuilding().getMaxGold()) {
ErrorPopupMsg.sendErrorPopup(player, 201);
@@ -471,7 +471,7 @@ public class ItemProductionMsgHandler extends AbstractClientMsgHandler {
if (!vendor.charItemManager.inventoryContains(targetItem))
return;
if (!player.charItemManager.hasRoomInventory(targetItem.template.item_wt))
if (!player.charItemManager.hasRoomInventory(targetItem.template.cacheTemplate.getItemWt()))
return;
player.charItemManager.buyFromNPC(targetItem, vendor);
@@ -85,7 +85,7 @@ public class TransferItemFromBankMsgHandler extends AbstractClientMsgHandler {
// Not gold, process update here
if (!itemManager.hasRoomInventory(item.template.item_wt))
if (!itemManager.hasRoomInventory(item.template.cacheTemplate.getItemWt()))
return true;
if (itemManager.moveItemToInventory(item) == false)
@@ -76,7 +76,7 @@ public class TransferItemToBankMsgHandler extends AbstractClientMsgHandler {
} else {
if (!itemManager.hasRoomBank(item.template.item_wt))
if (!itemManager.hasRoomBank(item.template.cacheTemplate.getItemWt()))
return true;
if (!itemManager.moveItemToBank(item))
@@ -86,7 +86,7 @@ public class VendorBuyMsgHandler extends AbstractClientMsgHandler {
if (me.objectUUID == vendorBuyMsg.getItemID()) {
//test room available for item
if (!itemMan.hasRoomInventory(me.template.item_wt))
if (!itemMan.hasRoomInventory(me.template.cacheTemplate.getItemWt()))
return true;
int cost = me.getValue();
@@ -148,10 +148,10 @@ public class VendorBuyMsgHandler extends AbstractClientMsgHandler {
//test room available for item
if (!itemMan.hasRoomInventory(vendorItem.template.item_wt))
if (!itemMan.hasRoomInventory(vendorItem.template.cacheTemplate.getItemWt()))
return true;
int cost = vendorItem.template.item_value;
int cost = vendorItem.template.cacheTemplate.getItemValue();
if (vendorItem.flags.contains(mbEnums.ItemFlags.Identified) || vendorItem.isCustomValue())
cost = vendorItem.magicValue;
@@ -94,7 +94,7 @@ public class VendorSellMsgHandler extends AbstractClientMsgHandler {
return true;
if (npc.getParentZone() != null && npc.getParentZone().playerCityUUID != 0)
if (!npc.charItemManager.hasRoomInventory(sell.template.item_wt)) {
if (!npc.charItemManager.hasRoomInventory(sell.template.cacheTemplate.getItemWt())) {
ErrorPopupMsg.sendErrorPopup(player, 21);
return true;
}
@@ -104,7 +104,7 @@ public class VendorSellMsgHandler extends AbstractClientMsgHandler {
//get goldItem cost to sell
cost = (int) (sell.template.item_value * (sell.combat_health_current / sell.template.combat_health_full));
cost = (int) (sell.template.cacheTemplate.getItemValue() * (sell.combat_health_current / sell.template.combat_health_full));
float bargain = player.getBargain();
float profit = npc.getBuyPercent(player) + bargain;
+2 -2
View File
@@ -424,7 +424,7 @@ public class ManageNPCMsg extends ClientNetMsg {
writer.put((byte) 1);
writer.putInt(0);
writer.putInt(templateID); //itemID
writer.putInt(template.item_value);
writer.putInt(template.cacheTemplate.getItemValue());
writer.putInt(600);
writer.put((byte) 1);
writer.put((byte) template.modTable);
@@ -444,7 +444,7 @@ public class ManageNPCMsg extends ClientNetMsg {
writer.putInt(0);
writer.putInt(item.templateID);
writer.putInt(item.template.item_value);
writer.putInt(item.template.cacheTemplate.getItemValue());
long timeLife = item.getDateToUpgrade() - System.currentTimeMillis();
+2 -2
View File
@@ -216,7 +216,7 @@ public class Account extends AbstractGameObject {
return;
if (item.containerType == mbEnums.ItemContainerType.INVENTORY && player.charItemManager.isVaultOpen()) {
if (!player.charItemManager.hasRoomVault(item.template.item_wt)) {
if (!player.charItemManager.hasRoomVault(item.template.cacheTemplate.getItemWt())) {
ItemToVaultMsgHandler.forceTransferFromVaultToInventory(msg, origin, "There is no room in your vault.");
return;
}
@@ -262,7 +262,7 @@ public class Account extends AbstractGameObject {
return;
if (item.containerType == mbEnums.ItemContainerType.VAULT && itemManager.isVaultOpen()) {
if (!itemManager.hasRoomInventory(item.template.item_wt)) {
if (!itemManager.hasRoomInventory(item.template.cacheTemplate.getItemWt())) {
ItemFromVaultMsgHandler.forceTransferFromInventoryToVault(msg, origin, "There is no room in your inventory.");
return;
}
+10 -10
View File
@@ -856,7 +856,7 @@ public class CharacterItemManager {
this.itemIDtoType.put(i.getObjectUUID(), i.getObjectType().ordinal());
if (i.template != null)
this.inventoryWeight += i.template.item_wt;
this.inventoryWeight += i.template.cacheTemplate.getItemWt();
return true;
}
@@ -1092,7 +1092,7 @@ public class CharacterItemManager {
//test inventory is not full
if (!hasRoomInventory(template.item_wt))
if (!hasRoomInventory(template.cacheTemplate.getItemWt()))
return false;
if (!itemMan.inventory.contains(purchasedItem))
@@ -1105,8 +1105,8 @@ public class CharacterItemManager {
// Reset value
purchasedItem.value = (int) (purchasedItem.template.item_value * (purchasedItem.combat_health_current / purchasedItem.template.combat_health_full));
purchasedItem.magicValue = purchasedItem.template.item_value + purchasedItem.calcMagicValue();
purchasedItem.value = (int) (purchasedItem.template.cacheTemplate.getItemValue() * (purchasedItem.combat_health_current / purchasedItem.template.combat_health_full));
purchasedItem.magicValue = purchasedItem.template.cacheTemplate.getItemValue() + purchasedItem.calcMagicValue();
// db transfer successfully, remove from this character
// skip this check if this is a mobLoot item (which is not in any inventory)
@@ -1194,7 +1194,7 @@ public class CharacterItemManager {
if (lootItem.template == null)
return null;
int weight = lootItem.template.item_wt;
int weight = lootItem.template.cacheTemplate.getItemWt();
// make sure lootingPlayer has room for item
if (!lootItem.template.cacheTemplate.getItemType().equals(ItemType.GOLD) && !looterItems.hasRoomInventory(weight))
@@ -1676,7 +1676,7 @@ public class CharacterItemManager {
if (item == null)
continue;
weight += item.template.item_wt;
weight += item.template.cacheTemplate.getItemWt();
}
return weight;
}
@@ -1696,7 +1696,7 @@ public class CharacterItemManager {
this.bankWeight = 0;
for (Item item : this.bank) {
if (item.template != null)
this.bankWeight += item.template.item_wt;
this.bankWeight += item.template.cacheTemplate.getItemWt();
}
}
@@ -1707,7 +1707,7 @@ public class CharacterItemManager {
while (it.hasNext()) {
Item item = it.next();
if (item.template != null)
this.equipWeight += item.template.item_wt;
this.equipWeight += item.template.cacheTemplate.getItemWt();
}
}
@@ -1715,7 +1715,7 @@ public class CharacterItemManager {
this.inventoryWeight = 0;
for (Item item : this.inventory) {
if (item.template != null)
this.inventoryWeight += item.template.item_wt;
this.inventoryWeight += item.template.cacheTemplate.getItemWt();
}
}
@@ -1723,7 +1723,7 @@ public class CharacterItemManager {
this.vaultWeight = 0;
for (Item item : this.vault) {
if (item.template != null)
this.vaultWeight += item.template.item_wt;
this.vaultWeight += item.template.cacheTemplate.getItemWt();
}
}
+1 -1
View File
@@ -296,7 +296,7 @@ public class Corpse extends AbstractWorldObject {
//get weight of item
int weight = item.template.item_wt;
int weight = item.template.cacheTemplate.getItemWt();
//make sure looter has room for item
if (item.template.cacheTemplate.getItemType().equals(ItemType.GOLD) == false && !looterItems.hasRoomInventory(weight))
+6 -6
View File
@@ -75,7 +75,7 @@ public class Item extends AbstractWorldObject {
this.containerType = ItemContainerType.NONE;
this.numberOfItems = 1;
this.flags.addAll(this.template.item_flags);
this.value = this.template.item_value;
this.value = this.template.cacheTemplate.getItemValue();
this.magicValue = this.value + calcMagicValue();
loadTemplateEnchantments();
}
@@ -166,7 +166,7 @@ public class Item extends AbstractWorldObject {
this.value = rs.getInt("value");
if (this.value == 0) {
this.value = this.template.item_value;
this.value = this.template.cacheTemplate.getItemValue();
this.magicValue = this.value + calcMagicValue();
} else
this.magicValue = this.value; // Value was overridden in vendor inventory
@@ -255,7 +255,7 @@ public class Item extends AbstractWorldObject {
} else
writer.putInt(item.numberOfItems); // Amount of gold
} else
writer.putInt(item.template.item_value);
writer.putInt(item.template.cacheTemplate.getItemValue());
writer.putInt(item.getValue());
@@ -955,7 +955,7 @@ public class Item extends AbstractWorldObject {
// No enchantments for negative id items in the db. Early exit.
if (this.objectUUID < 0) {
this.magicValue = this.template.item_value + calcMagicValue();
this.magicValue = this.template.cacheTemplate.getItemValue() + calcMagicValue();
return;
}
@@ -971,8 +971,8 @@ public class Item extends AbstractWorldObject {
// Value is overridden the db
if (this.value == this.template.item_value)
this.magicValue = this.template.item_value + calcMagicValue();
if (this.value == this.template.cacheTemplate.getItemValue())
this.magicValue = this.template.cacheTemplate.getItemValue() + calcMagicValue();
}
public void addPermanentEnchantment(String enchantID, int rank) {
+3 -3
View File
@@ -307,7 +307,7 @@ public class Warehouse {
if (resource.template.cacheTemplate.getItemType().equals(mbEnums.ItemType.GOLD))
resourceType = mbEnums.ResourceType.GOLD;
else
resourceType = mbEnums.ResourceType.valueOf(ItemTemplate.templates.get(resource.templateID).item_base_name.toUpperCase());
resourceType = mbEnums.ResourceType.valueOf(ItemTemplate.templates.get(resource.templateID).cacheTemplate.getItemBaseName().toUpperCase());
if (transaction)
AddTransactionToWarehouse(warehouse, playerCharacter.getObjectType(), playerCharacter.getObjectUUID(), mbEnums.TransactionType.DEPOSIT, resourceType, amount);
@@ -432,7 +432,7 @@ public class Warehouse {
return false;
if (addToInventory)
if (!itemMan.hasRoomInventory(template.item_wt)) {
if (!itemMan.hasRoomInventory(template.cacheTemplate.getItemWt())) {
ChatManager.chatSystemInfo(playerCharacter, "You can not carry any more of that item.");
return false;
}
@@ -517,7 +517,7 @@ public class Warehouse {
if (itemMan == null)
return false;
if (!itemMan.hasRoomInventory(template.item_wt)) {
if (!itemMan.hasRoomInventory(template.cacheTemplate.getItemWt())) {
ChatManager.chatSystemInfo(playerCharacter, "You can not carry any more of that item.");
return false;
}