Fix for eso's dumb issue.

This commit is contained in:
Brianna O'Keefe 2019-03-08 22:28:32 -05:00
parent 71e10f8c24
commit 7aaceb0c30
10 changed files with 28 additions and 19 deletions

View File

@ -44,7 +44,7 @@ public class GUINotesManager extends AbstractGUI {
createButton(9 + i, Material.GRAY_STAINED_GLASS_PANE, "&1");
int numNotes = plugin.getPunishmentManager().getPlayer(toModerate).getNotes().size();
int maxPage = (int) Math.ceil(numNotes / 36.0);
int maxPage = (int) Math.floor(numNotes / 36.0);
List<PunishmentNote> notes = plugin.getPunishmentManager().getPlayer(toModerate).getNotes().stream()
.skip(page * 36).limit(36).collect(Collectors.toList());

View File

@ -37,12 +37,12 @@ public class GUIPlayers extends AbstractGUI {
resetClickables();
registerClickables();
int numNotes = Bukkit.getOnlinePlayers().size();
int maxPage = (int) Math.floor(numNotes / 36.0);
List<Player> players = new ArrayList<>(Bukkit.getOnlinePlayers()).stream()
.skip(page * 36).collect(Collectors.toList());
int sizeLeft = players.size();
players = players.stream().limit(36).collect(Collectors.toList());
.skip(page * 36).limit(36).collect(Collectors.toList());
if (page != 0) {
createButton(46, Material.ARROW, plugin.getLocale().getMessage("gui.general.previous"));
@ -52,7 +52,7 @@ public class GUIPlayers extends AbstractGUI {
}));
}
if (sizeLeft >= 36) {
if (maxPage != page) {
createButton(48, Material.ARROW, plugin.getLocale().getMessage("gui.general.next"));
registerClickable(48, ((player1, inventory1, cursor, slot, type) -> {
page ++;

View File

@ -66,7 +66,7 @@ public class GUIPunishments extends AbstractGUI {
}
int numNotes = punishments.size();
int maxPage = (int) Math.ceil(numNotes / 36.0);
int maxPage = (int) Math.floor(numNotes / 36.0);
punishments = punishments.stream().skip(page * 36).limit(36)
.collect(Collectors.toList());
@ -97,7 +97,7 @@ public class GUIPunishments extends AbstractGUI {
int currentSlot = 18;
for (PunishmentHolder punishmentHolder : punishments) {
AppliedPunishment appliedPunishment = punishmentHolder.appliedPunishment;
AppliedPunishment appliedPunishment = punishmentHolder.getAppliedPunishment();
Activity activity = punishmentHolder.getActivity();
ArrayList<String> lore = new ArrayList<>();

View File

@ -36,7 +36,7 @@ public class GUITemplateManager extends AbstractGUI {
registerClickables();
int numTemplates = plugin.getTemplateManager().getTemplates().size();
int maxPage = (int) Math.ceil(numTemplates / 36.0);
int maxPage = (int) Math.floor(numTemplates / 36.0);
List<Template> templates = plugin.getTemplateManager().getTemplates().values().stream().skip(page * 36).limit(36)
.collect(Collectors.toList());

View File

@ -45,7 +45,7 @@ public class GUITicket extends AbstractGUI {
registerClickables();
int numNotes = ticket.getResponses().size();
int maxPage = (int) Math.ceil(numNotes / 36.0);
int maxPage = (int) Math.floor(numNotes / 36.0);
List<TicketResponse> responses = ticket.getResponses().stream().skip(page * 36).limit(36)
.collect(Collectors.toList());

View File

@ -49,7 +49,7 @@ public class GUITicketManager extends AbstractGUI {
List<Ticket> tickets = toModerate != null ? plugin.getTicketManager().getTicketsAbout(toModerate, status) : plugin.getTicketManager().getTickets(status);
int numTickets = tickets.size();
int maxPage = (int) Math.ceil(numTickets / 36.0);
int maxPage = (int) Math.floor(numTickets / 36.0);
tickets = tickets.stream().skip(page * 36).limit(36).collect(Collectors.toList());

View File

@ -45,8 +45,7 @@ public class ChatListener implements Listener {
List<AppliedPunishment> appliedPunishments = instance.getPunishmentManager().getPlayer(player).getActivePunishments(PunishmentType.MUTE);
if (!appliedPunishments.isEmpty()) {
player.sendMessage(instance.getReferences().getPrefix() + instance.getLocale().getMessage("event.mute.message",
appliedPunishments.get(0).getReason(), Methods.makeReadable(appliedPunishments.get(0).getTimeRemaining())));
appliedPunishments.get(0).sendMessage(player);
event.setCancelled(true);
}
}

View File

@ -2,6 +2,8 @@ package com.songoda.ultimatemoderation.listeners;
import com.songoda.ultimatemoderation.UltimateModeration;
import com.songoda.ultimatemoderation.command.commands.CommandCommandSpy;
import com.songoda.ultimatemoderation.punish.AppliedPunishment;
import com.songoda.ultimatemoderation.punish.PunishmentType;
import com.songoda.ultimatemoderation.utils.SettingsManager;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
@ -10,6 +12,7 @@ import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
import java.util.List;
import java.util.stream.Collectors;
public class CommandListener implements Listener {
@ -25,6 +28,14 @@ public class CommandListener implements Listener {
String command = event.getMessage();
List<AppliedPunishment> appliedPunishments = instance.getPunishmentManager().getPlayer(player).getActivePunishments(PunishmentType.MUTE);
if (!appliedPunishments.isEmpty()) {
if (SettingsManager.Setting.MUTE_DISABLED_COMMANDS.getStringList().stream()
.anyMatch(s -> command.toUpperCase().startsWith("/" + s.toUpperCase())))
event.setCancelled(true);
}
List<String> blockedCommands = SettingsManager.Setting.BLOCKED_COMMANDS.getStringList();
for (String cmd : blockedCommands) {

View File

@ -73,10 +73,7 @@ public class Punishment {
+ plugin.getLocale().getMessage("event.mute.already"));
return;
}
if (victim.isOnline()) {
victim.getPlayer().sendMessage(plugin.getReferences().getPrefix() + plugin.getLocale().getMessage("event.mute.message",
reason, Methods.makeReadable(duration)));
}
sendMessage(victim);
break;
case KICK:
case WARNING:
@ -98,7 +95,7 @@ public class Punishment {
playerPunishData.addPunishment(apply(victim, punisher));
}
private void sendMessage(OfflinePlayer offlineVictim) {
public void sendMessage(OfflinePlayer offlineVictim) {
if (!offlineVictim.isOnline()) return;
Player victim = offlineVictim.getPlayer();
UltimateModeration plugin = UltimateModeration.getInstance();

View File

@ -180,6 +180,8 @@ public class SettingsManager implements Listener {
STAFFCHAT_COLOR_CODE("Main.Staff Chat Color Code", 'b'),
TICKET_TYPES("Main.Ticket Types", Arrays.asList("Grief", "Player Report", "Bug Report", "Suggestion", "Other")),
MUTE_DISABLED_COMMANDS("Main.Mute Disabled Commands", Arrays.asList("minecraft:me", "minecraft:tell")),
GLASS_TYPE_1("Interfaces.Glass Type 1", 7),
GLASS_TYPE_2("Interfaces.Glass Type 2", 11),
GLASS_TYPE_3("Interfaces.Glass Type 3", 3),