2018-07-06 15:30:00 +02:00
|
|
|
package com.eu.habbo.messages.outgoing.modtool;
|
|
|
|
|
|
|
|
import com.eu.habbo.Emulator;
|
|
|
|
import com.eu.habbo.habbohotel.modtool.ModToolCategory;
|
|
|
|
import com.eu.habbo.habbohotel.modtool.ModToolIssue;
|
2019-05-19 23:11:42 +02:00
|
|
|
import com.eu.habbo.habbohotel.modtool.ModToolTicketState;
|
2018-07-06 15:30:00 +02:00
|
|
|
import com.eu.habbo.habbohotel.users.Habbo;
|
|
|
|
import com.eu.habbo.messages.ServerMessage;
|
|
|
|
import com.eu.habbo.messages.outgoing.MessageComposer;
|
|
|
|
import com.eu.habbo.messages.outgoing.Outgoing;
|
2019-05-19 23:11:42 +02:00
|
|
|
import gnu.trove.map.hash.THashMap;
|
2018-07-06 15:30:00 +02:00
|
|
|
import gnu.trove.procedure.TObjectProcedure;
|
2019-05-19 23:11:42 +02:00
|
|
|
import gnu.trove.set.hash.THashSet;
|
|
|
|
|
|
|
|
import java.util.Iterator;
|
2018-07-06 15:30:00 +02:00
|
|
|
|
|
|
|
public class ModToolComposer extends MessageComposer implements TObjectProcedure<ModToolCategory>
|
|
|
|
{
|
|
|
|
private final Habbo habbo;
|
|
|
|
|
|
|
|
public ModToolComposer(Habbo habbo)
|
|
|
|
{
|
|
|
|
this.habbo = habbo;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public ServerMessage compose()
|
|
|
|
{
|
|
|
|
this.response.init(Outgoing.ModToolComposer);
|
|
|
|
|
|
|
|
if(this.habbo.hasPermission("acc_modtool_ticket_q"))
|
|
|
|
{
|
2019-05-19 23:11:42 +02:00
|
|
|
THashSet<ModToolIssue> openTickets = new THashSet<>();
|
|
|
|
|
|
|
|
THashMap<Integer, ModToolIssue> tickets = Emulator.getGameEnvironment().getModToolManager().getTickets();
|
|
|
|
|
|
|
|
for(ModToolIssue t : tickets.values()) {
|
|
|
|
if(t.state != ModToolTicketState.CLOSED)
|
|
|
|
openTickets.add(t);
|
|
|
|
}
|
|
|
|
|
|
|
|
int ticketsCount = openTickets.size();
|
|
|
|
|
|
|
|
if(ticketsCount > 100) {
|
|
|
|
ticketsCount = 100;
|
|
|
|
}
|
|
|
|
|
|
|
|
this.response.appendInt(ticketsCount); //tickets
|
|
|
|
|
|
|
|
Iterator<ModToolIssue> it = openTickets.iterator();
|
2018-07-06 15:30:00 +02:00
|
|
|
|
2019-05-19 23:11:42 +02:00
|
|
|
for(int i = 0; i < ticketsCount; i++)
|
2018-07-06 15:30:00 +02:00
|
|
|
{
|
2019-05-19 23:11:42 +02:00
|
|
|
it.next().serialize(this.response);
|
2018-07-06 15:30:00 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
this.response.appendInt(0);
|
|
|
|
}
|
|
|
|
|
|
|
|
synchronized (Emulator.getGameEnvironment().getModToolManager().getPresets())
|
|
|
|
{
|
|
|
|
this.response.appendInt(Emulator.getGameEnvironment().getModToolManager().getPresets().get("user").size());
|
|
|
|
for (String s : Emulator.getGameEnvironment().getModToolManager().getPresets().get("user"))
|
|
|
|
{
|
|
|
|
this.response.appendString(s);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
this.response.appendInt(Emulator.getGameEnvironment().getModToolManager().getCategory().size());
|
|
|
|
|
|
|
|
Emulator.getGameEnvironment().getModToolManager().getCategory().forEachValue(this);
|
|
|
|
|
|
|
|
this.response.appendBoolean(this.habbo.hasPermission("acc_modtool_ticket_q")); //ticketQueueueuhuehuehuehue
|
|
|
|
this.response.appendBoolean(this.habbo.hasPermission("acc_modtool_user_logs")); //user chatlogs
|
|
|
|
this.response.appendBoolean(this.habbo.hasPermission("acc_modtool_user_alert")); //can send caution
|
|
|
|
this.response.appendBoolean(this.habbo.hasPermission("acc_modtool_user_kick")); //can send kick
|
|
|
|
this.response.appendBoolean(this.habbo.hasPermission("acc_modtool_user_ban")); //can send ban
|
|
|
|
this.response.appendBoolean(this.habbo.hasPermission("acc_modtool_room_info")); //room info ??Not sure
|
|
|
|
this.response.appendBoolean(this.habbo.hasPermission("acc_modtool_room_logs")); //room chatlogs ??Not sure
|
|
|
|
|
|
|
|
synchronized (Emulator.getGameEnvironment().getModToolManager().getPresets())
|
|
|
|
{
|
|
|
|
this.response.appendInt(Emulator.getGameEnvironment().getModToolManager().getPresets().get("room").size());
|
|
|
|
for (String s : Emulator.getGameEnvironment().getModToolManager().getPresets().get("room"))
|
|
|
|
{
|
|
|
|
this.response.appendString(s);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return this.response;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean execute(ModToolCategory category)
|
|
|
|
{
|
|
|
|
this.response.appendString(category.getName());
|
2018-09-28 21:25:00 +02:00
|
|
|
|
|
|
|
|
2018-07-06 15:30:00 +02:00
|
|
|
//
|
2018-09-28 21:25:00 +02:00
|
|
|
|
2018-07-06 15:30:00 +02:00
|
|
|
//
|
2018-09-28 21:25:00 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-07-06 15:30:00 +02:00
|
|
|
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|