Files
Server/src/engine/devcmd/cmds/CreateItemCmd.java
T

85 lines
2.8 KiB
Java
Raw Normal View History

2022-04-30 09:41:17 -04:00
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022
// www.magicbane.com
package engine.devcmd.cmds;
import engine.devcmd.AbstractDevCmd;
2024-04-23 12:38:49 -04:00
import engine.gameManager.ChatManager;
import engine.gameManager.DbManager;
import engine.mbEnums;
2022-04-30 09:41:17 -04:00
import engine.objects.AbstractGameObject;
2024-04-23 12:38:49 -04:00
import engine.objects.Item;
import engine.objects.ItemTemplate;
2022-04-30 09:41:17 -04:00
import engine.objects.PlayerCharacter;
2024-04-23 12:38:49 -04:00
import org.pmw.tinylog.Logger;
2022-04-30 09:41:17 -04:00
/**
* @author Eighty
*/
public class CreateItemCmd extends AbstractDevCmd {
2023-07-15 09:23:48 -04:00
public CreateItemCmd() {
2022-04-30 09:41:17 -04:00
super("createitem");
}
2023-07-15 09:23:48 -04:00
@Override
2024-04-23 12:38:49 -04:00
protected void _doCmd(PlayerCharacter playerCharacter, String[] words,
2023-07-15 09:23:48 -04:00
AbstractGameObject target) {
2024-03-15 11:47:44 -04:00
2023-07-15 09:23:48 -04:00
if (words.length < 2) {
2024-04-23 12:38:49 -04:00
this.sendUsage(playerCharacter);
2023-07-15 09:23:48 -04:00
return;
}
2022-04-30 09:41:17 -04:00
2024-03-15 11:47:44 -04:00
int templateID = Integer.parseInt(words[0]);
2024-04-23 12:38:49 -04:00
ItemTemplate template = ItemTemplate.templates.get(templateID);
2024-04-23 12:42:12 -04:00
if (template == null) {
ChatManager.chatSystemInfo(playerCharacter, "No such template found.");
2024-04-23 12:38:49 -04:00
return;
2024-04-23 12:42:12 -04:00
}
2023-07-15 09:23:48 -04:00
int size = 1;
2022-04-30 09:41:17 -04:00
2024-03-15 11:47:44 -04:00
if (words.length == 2)
2023-07-15 09:23:48 -04:00
size = Integer.parseInt(words[1]);
2022-04-30 09:41:17 -04:00
2024-04-23 12:38:49 -04:00
for (int i = 0; i < size; i++) {
if (!playerCharacter.charItemManager.hasRoomInventory(template.item_wt)) {
2024-04-23 12:42:12 -04:00
ChatManager.chatSystemInfo(playerCharacter, "You are encumbered!.");
2024-04-23 12:38:49 -04:00
break;
}
2024-04-14 14:48:59 -04:00
2024-04-23 12:38:49 -04:00
Item item = new Item(templateID);
item.ownerID = playerCharacter.getObjectUUID();
item.ownerType = mbEnums.OwnerType.PlayerCharacter;
item.containerType = mbEnums.ItemContainerType.INVENTORY;
try {
item = DbManager.ItemQueries.PERSIST(item);
2024-04-23 12:41:10 -04:00
playerCharacter.charItemManager.addItemToInventory(item);
2024-04-23 12:38:49 -04:00
} catch (Exception e) {
Logger.error(e);
}
}
playerCharacter.charItemManager.updateInventory();
2023-07-15 09:23:48 -04:00
}
2022-04-30 09:41:17 -04:00
2023-07-15 09:23:48 -04:00
@Override
protected String _getHelpString() {
2022-04-30 09:41:17 -04:00
return "Fill your inventory with items";
2023-07-15 09:23:48 -04:00
}
2022-04-30 09:41:17 -04:00
2023-07-15 09:23:48 -04:00
@Override
protected String _getUsageString() {
2024-03-16 06:41:48 -04:00
return "' /createitem <templateID> <quantity>'";
2023-07-15 09:23:48 -04:00
}
2022-04-30 09:41:17 -04:00
}