Fix /makeitem failing to persist items
MakeItemCmd left the container at NONE, which item_CREATE's cont parameter rejects, so PERSIST returned null and addItemToInventory threw a NullPointerException. Set the container to INVENTORY as CreateItemCmd does, and report an error if PERSIST still fails. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
566870de79
commit
1ac522a2e0
1 file changed
+7
@@ -11,6 +11,7 @@ package engine.devcmd.cmds;
|
|||||||
|
|
||||||
import engine.devcmd.AbstractDevCmd;
|
import engine.devcmd.AbstractDevCmd;
|
||||||
import engine.gameManager.DbManager;
|
import engine.gameManager.DbManager;
|
||||||
|
import engine.mbEnums.ItemContainerType;
|
||||||
import engine.mbEnums.ItemType;
|
import engine.mbEnums.ItemType;
|
||||||
import engine.mbEnums.OwnerType;
|
import engine.mbEnums.OwnerType;
|
||||||
import engine.objects.*;
|
import engine.objects.*;
|
||||||
@@ -169,6 +170,7 @@ public class MakeItemCmd extends AbstractDevCmd {
|
|||||||
Item item = new Item(templateID);
|
Item item = new Item(templateID);
|
||||||
item.ownerID = pc.getObjectUUID();
|
item.ownerID = pc.getObjectUUID();
|
||||||
item.ownerType = OwnerType.PlayerCharacter;
|
item.ownerType = OwnerType.PlayerCharacter;
|
||||||
|
item.containerType = ItemContainerType.INVENTORY;
|
||||||
|
|
||||||
if (numItems > 1)
|
if (numItems > 1)
|
||||||
item.setNumOfItems(numItems);
|
item.setNumOfItems(numItems);
|
||||||
@@ -180,6 +182,11 @@ public class MakeItemCmd extends AbstractDevCmd {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (item == null) {
|
||||||
|
throwbackError(pc, "DB error 2: Unable to create item " + templateID + ".");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
//create prefix
|
//create prefix
|
||||||
if (!prefix.isEmpty())
|
if (!prefix.isEmpty())
|
||||||
item.addPermanentEnchantmentForDev(prefix, 0);
|
item.addPermanentEnchantmentForDev(prefix, 0);
|
||||||
|
|||||||
Reference in new issue
Block a user