2018-07-06 15:30:00 +02:00
|
|
|
package com.eu.habbo.habbohotel.commands;
|
|
|
|
|
|
|
|
import com.eu.habbo.Emulator;
|
|
|
|
import com.eu.habbo.habbohotel.gameclients.GameClient;
|
2018-09-12 18:45:00 +02:00
|
|
|
import com.eu.habbo.habbohotel.permissions.Permission;
|
|
|
|
import com.eu.habbo.habbohotel.pets.Pet;
|
2018-07-06 15:30:00 +02:00
|
|
|
import com.eu.habbo.habbohotel.rooms.RoomChatMessageBubbles;
|
|
|
|
import com.eu.habbo.habbohotel.users.Habbo;
|
|
|
|
import com.eu.habbo.messages.outgoing.generic.alerts.GenericAlertComposer;
|
|
|
|
import com.eu.habbo.messages.outgoing.inventory.InventoryRefreshComposer;
|
|
|
|
import gnu.trove.map.hash.TIntObjectHashMap;
|
|
|
|
import gnu.trove.procedure.TObjectProcedure;
|
|
|
|
|
|
|
|
public class EmptyPetsInventoryCommand extends Command
|
|
|
|
{
|
|
|
|
public EmptyPetsInventoryCommand()
|
|
|
|
{
|
|
|
|
super("cmd_empty_pets", Emulator.getTexts().getValue("commands.keys.cmd_empty_pets").split(";"));
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean handle(GameClient gameClient, String[] params) throws Exception
|
|
|
|
{
|
|
|
|
if(params.length == 1 || (params.length >= 2 && !params[1].equals(Emulator.getTexts().getValue("generic.yes"))))
|
|
|
|
{
|
|
|
|
if(gameClient.getHabbo().getHabboInfo().getCurrentRoom() != null)
|
|
|
|
{
|
|
|
|
if(gameClient.getHabbo().getHabboInfo().getCurrentRoom().getUserCount() > 10)
|
|
|
|
{
|
2019-03-18 02:22:00 +01:00
|
|
|
gameClient.getHabbo().alert(Emulator.getTexts().getValue("commands.succes.cmd_empty_pets.verify").replace("%generic.yes%", Emulator.getTexts().getValue("generic.yes")));
|
2018-07-06 15:30:00 +02:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_empty_pets.verify").replace("%generic.yes%", Emulator.getTexts().getValue("generic.yes")), RoomChatMessageBubbles.ALERT);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
if(params.length >= 2 && params[1].equalsIgnoreCase(Emulator.getTexts().getValue("generic.yes")))
|
|
|
|
{
|
|
|
|
Habbo habbo = gameClient.getHabbo();
|
2018-09-12 18:45:00 +02:00
|
|
|
if (params.length == 3 && gameClient.getHabbo().hasPermission(Permission.ACC_EMPTY_OTHERS))
|
2018-07-06 15:30:00 +02:00
|
|
|
{
|
|
|
|
habbo = Emulator.getGameEnvironment().getHabboManager().getHabbo(params[2]);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (habbo != null)
|
|
|
|
{
|
2018-09-12 18:45:00 +02:00
|
|
|
TIntObjectHashMap<Pet> pets = new TIntObjectHashMap<>();
|
2018-07-06 15:30:00 +02:00
|
|
|
pets.putAll(habbo.getInventory().getPetsComponent().getPets());
|
|
|
|
habbo.getInventory().getPetsComponent().getPets().clear();
|
2018-09-12 18:45:00 +02:00
|
|
|
pets.forEachValue(new TObjectProcedure<Pet>()
|
2018-07-06 15:30:00 +02:00
|
|
|
{
|
|
|
|
@Override
|
2018-09-12 18:45:00 +02:00
|
|
|
public boolean execute(Pet object)
|
2018-07-06 15:30:00 +02:00
|
|
|
{
|
|
|
|
Emulator.getGameEnvironment().getPetManager().deletePet(object);
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
habbo.getClient().sendResponse(new InventoryRefreshComposer());
|
|
|
|
gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.succes.cmd_empty_pets.cleared"), RoomChatMessageBubbles.ALERT);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|