Posted September 28, 20177 yr comment_13270 Ticket system where a player requests a ticket, a message would then be sent to the staff online and could then be accepted. package com.elvarg.game.content.ticket; import com.elvarg.game.World; import com.elvarg.game.entity.impl.player.Player; import com.elvarg.util.Misc; import java.util.*; import java.util.stream.Collectors; public class TicketManager { private final Queue<TicketEntry> entries = new ArrayDeque<>(); public static final TicketManager INSTANCE = new TicketManager(); public void acceptRequest(Player staff) { if (entries.peek() == null) { staff.getPacketSender().sendMessage("No tickets have been requested."); return; } TicketEntry entry = entries.peek(); entries.poll(); Player player = entry.getRequester(); player.getPacketSender().sendMessage(staff.getUsername() + " has accepted your ticket"); staff.getPacketSender().sendMessage("Teleporting to " + player.getUsername()); staff.moveTo(player.getPosition().copy()); staff.forceChat("How may I help you " + Misc.capitalize(player.getUsername()) + "?"); } package com.elvarg.game.content.ticket; import com.elvarg.game.entity.impl.player.Player; public final class TicketEntry { private final Player requester; public TicketEntry(Player requester) { this.requester = requester; } public Player getRequester() { return requester; } } Add this OwnerCommands if (parts[0].startsWith("acceptticket")) { TicketManager.INSTANCE.acceptRequest(player); } Add this under PlayerCommands if (parts[0].startsWith("request")) { TicketManager.INSTANCE.requestTicket(player); }
Create an account or sign in to comment