1
0
mirror of https://github.com/essentials/Essentials.git synced 2025-08-11 09:05:01 +02:00

Adding join / quit messages in the config test #1697

PlayerChatEvent -> AsyncPlayerChatEvent
This commit is contained in:
ementalo
2012-10-08 22:21:03 +01:00
parent b1103726cb
commit 4d1cdaa7f0
9 changed files with 51 additions and 27 deletions

View File

@@ -13,9 +13,12 @@ import net.ess3.api.ISettings;
import net.ess3.api.IUser;
import net.ess3.permissions.Permissions;
import net.ess3.user.UserData.TimestampType;
import net.ess3.utils.FormatUtil;
import net.ess3.utils.LocationUtil;
import net.ess3.utils.textreader.IText;
import net.ess3.utils.textreader.KeywordReplacer;
import net.ess3.utils.textreader.SimpleTextInput;
import net.ess3.utils.textreader.SimpleTextPager;
import net.ess3.utils.textreader.TextInput;
import net.ess3.utils.textreader.TextPager;
import org.bukkit.Location;
@@ -114,6 +117,10 @@ public class EssentialsPlayerListener implements Listener
@EventHandler(priority = EventPriority.MONITOR)
public void onPlayerQuit(final PlayerQuitEvent event)
{
final IText itOutput = new KeywordReplacer(new SimpleTextInput(ess.getSettings().getData().getGeneral().getLeaveMessage()), event.getPlayer(), ess);
final SimpleTextPager stPager = new SimpleTextPager(itOutput);
event.setQuitMessage(FormatUtil.replaceFormat(stPager.getString(0)));
final IUser user = ess.getUserMap().getUser(event.getPlayer());
final ISettings settings = ess.getSettings();
@@ -141,8 +148,13 @@ public class EssentialsPlayerListener implements Listener
{
return;
}
ess.getBackup().startTask();
final IText itOutput = new KeywordReplacer(new SimpleTextInput(ess.getSettings().getData().getGeneral().getJoinMessage()), event.getPlayer(), ess);
final SimpleTextPager stPager = new SimpleTextPager(itOutput);
event.setJoinMessage(FormatUtil.replaceFormat(stPager.getString(0)));
final IUser user = ess.getUserMap().getUser(event.getPlayer());
user.updateDisplayName();

View File

@@ -78,4 +78,10 @@ public class General implements StorageObject
return loginAttackDelay * 1000;
}
public Boolean metricsEnabled = null;
@Comment("The join message when players join the server")
private String joinMessage = "&e{PLAYER} has joined the game";
@Comment("The quit message when players leave the server")
private String leaveMessage ="&e{PLAYER} has left the game";
}

View File

@@ -1,6 +1,6 @@
package net.ess3.settings;
import java.util.HashMap;
import java.util.EnumMap;
import java.util.Map;
import lombok.AccessLevel;
import lombok.Data;
@@ -34,7 +34,7 @@ public class WorldOptions implements StorageObject
@Comment("Prevent creatures spawning")
@Getter(AccessLevel.NONE)
@Setter(AccessLevel.NONE)
private Map<EntityType, Boolean> creatureSpawn = new HashMap<EntityType, Boolean>();
private Map<EntityType, Boolean> creatureSpawn = new EnumMap<EntityType, Boolean>(EntityType.class);
public boolean getPreventSpawn(String creatureName)
{

View File

@@ -1,5 +1,6 @@
package net.ess3.chat;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
@@ -10,7 +11,7 @@ import net.ess3.api.IPlugin;
import net.ess3.chat.listenerlevel.EssentialsChatPlayerListenerHighest;
import net.ess3.chat.listenerlevel.EssentialsChatPlayerListenerLowest;
import net.ess3.chat.listenerlevel.EssentialsChatPlayerListenerNormal;
import org.bukkit.event.player.PlayerChatEvent;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
@@ -35,7 +36,7 @@ public class EssentialsChat extends JavaPlugin
return;
}
final Map<PlayerChatEvent, ChatStore> chatStore = new HashMap<PlayerChatEvent, ChatStore>();
final Map<AsyncPlayerChatEvent, ChatStore> chatStore = Collections.synchronizedMap(new HashMap<AsyncPlayerChatEvent, ChatStore>());
final EssentialsChatPlayerListenerLowest playerListenerLowest = new EssentialsChatPlayerListenerLowest(getServer(), ess, chatStore);
final EssentialsChatPlayerListenerNormal playerListenerNormal = new EssentialsChatPlayerListenerNormal(getServer(), ess, chatStore);

View File

@@ -16,7 +16,7 @@ import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerChatEvent;
import org.bukkit.event.player.AsyncPlayerChatEvent;
//TODO: Translate the local/spy tags
public abstract class EssentialsChatPlayer implements Listener
@@ -24,37 +24,37 @@ public abstract class EssentialsChatPlayer implements Listener
protected transient IEssentials ess;
protected final static Logger LOGGER = Logger.getLogger("Minecraft");
protected final transient Server server;
protected final transient Map<PlayerChatEvent, ChatStore> chatStorage;
protected final transient Map<AsyncPlayerChatEvent, ChatStore> chatStorage;
public EssentialsChatPlayer(final Server server,
final IEssentials ess,
final Map<PlayerChatEvent, ChatStore> chatStorage)
final Map<AsyncPlayerChatEvent, ChatStore> chatStorage)
{
this.ess = ess;
this.server = server;
this.chatStorage = chatStorage;
}
public void onPlayerChat(final PlayerChatEvent event)
public void onPlayerChat(final AsyncPlayerChatEvent event)
{
}
public ChatStore getChatStore(final PlayerChatEvent event)
public ChatStore getChatStore(final AsyncPlayerChatEvent event)
{
return chatStorage.get(event);
}
public void setChatStore(final PlayerChatEvent event, final ChatStore chatStore)
public void setChatStore(final AsyncPlayerChatEvent event, final ChatStore chatStore)
{
chatStorage.put(event, chatStore);
}
public ChatStore delChatStore(final PlayerChatEvent event)
public ChatStore delChatStore(final AsyncPlayerChatEvent event)
{
return chatStorage.remove(event);
}
protected void chargeChat(final PlayerChatEvent event, final ChatStore chatStore)
protected void chargeChat(final AsyncPlayerChatEvent event, final ChatStore chatStore)
{
try
{
@@ -75,7 +75,7 @@ public abstract class EssentialsChatPlayer implements Listener
}
}
protected void formatChat(final PlayerChatEvent event, final ChatStore chatStore)
protected void formatChat(final AsyncPlayerChatEvent event, final ChatStore chatStore)
{
final IUser user = chatStore.getUser();
if (Permissions.CHAT_COLOR.isAuthorized(user))
@@ -109,7 +109,7 @@ public abstract class EssentialsChatPlayer implements Listener
}
}
protected void handleLocalChat(final PlayerChatEvent event, final ChatStore chatStore)
protected void handleLocalChat(final AsyncPlayerChatEvent event, final ChatStore chatStore)
{
ISettings settings = ess.getSettings();
long radius = settings.getData().getChat().getLocalRadius();

View File

@@ -4,7 +4,7 @@ import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
import org.bukkit.event.player.PlayerChatEvent;
import org.bukkit.event.player.AsyncPlayerChatEvent;
public class EssentialsLocalChatEvent extends Event implements Cancellable
@@ -14,7 +14,7 @@ public class EssentialsLocalChatEvent extends Event implements Cancellable
private String format = "<%1$s> %2$s";
private long radius;
private boolean cancelled = false;
private PlayerChatEvent parentEvent = null;
private AsyncPlayerChatEvent parentEvent = null;
private static final HandlerList handlers = new HandlerList();
public EssentialsLocalChatEvent(final Player player, final String message, final String format, final long radius)
@@ -25,7 +25,7 @@ public class EssentialsLocalChatEvent extends Event implements Cancellable
this.radius = radius;
}
public EssentialsLocalChatEvent(final PlayerChatEvent event, final long radius)
public EssentialsLocalChatEvent(final AsyncPlayerChatEvent event, final long radius)
{
this(event.getPlayer(), event.getMessage(), event.getFormat(), radius);
this.parentEvent = event;
@@ -93,7 +93,7 @@ public class EssentialsLocalChatEvent extends Event implements Cancellable
this.radius = radius;
}
public PlayerChatEvent getParentEvent()
public AsyncPlayerChatEvent getParentEvent()
{
return parentEvent;
}

View File

@@ -7,21 +7,21 @@ import net.ess3.chat.EssentialsChatPlayer;
import org.bukkit.Server;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.player.PlayerChatEvent;
import org.bukkit.event.player.AsyncPlayerChatEvent;
public class EssentialsChatPlayerListenerHighest extends EssentialsChatPlayer
{
public EssentialsChatPlayerListenerHighest(final Server server,
final IEssentials ess,
final Map<PlayerChatEvent, ChatStore> chatStorage)
final Map<AsyncPlayerChatEvent, ChatStore> chatStorage)
{
super(server, ess, chatStorage);
}
@EventHandler(priority = EventPriority.HIGHEST)
@Override
public void onPlayerChat(final PlayerChatEvent event)
public void onPlayerChat(final AsyncPlayerChatEvent event)
{
final ChatStore chatStore = delChatStore(event);
if (event.isCancelled())

View File

@@ -8,27 +8,32 @@ import net.ess3.chat.EssentialsChatPlayer;
import org.bukkit.Server;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.player.PlayerChatEvent;
import org.bukkit.event.player.AsyncPlayerChatEvent;
public class EssentialsChatPlayerListenerLowest extends EssentialsChatPlayer
{
public EssentialsChatPlayerListenerLowest(final Server server,
final IEssentials ess,
final Map<PlayerChatEvent, ChatStore> chatStorage)
final Map<AsyncPlayerChatEvent, ChatStore> chatStorage)
{
super(server, ess, chatStorage);
}
@EventHandler(priority = EventPriority.LOWEST)
@Override
public void onPlayerChat(final PlayerChatEvent event)
public void onPlayerChat(final AsyncPlayerChatEvent event)
{
if (event.isCancelled())
{
return;
}
final IUser user = ess.getUserMap().getUser(event.getPlayer());
if(user == null)
{
event.setCancelled(true);
return;
}
final ChatStore chatStore = new ChatStore(ess, user, getChatType(event.getMessage()));
setChatStore(event, chatStore);
formatChat(event, chatStore);

View File

@@ -7,21 +7,21 @@ import net.ess3.chat.EssentialsChatPlayer;
import org.bukkit.Server;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.player.PlayerChatEvent;
import org.bukkit.event.player.AsyncPlayerChatEvent;
public class EssentialsChatPlayerListenerNormal extends EssentialsChatPlayer
{
public EssentialsChatPlayerListenerNormal(final Server server,
final IEssentials ess,
final Map<PlayerChatEvent, ChatStore> chatStorage)
final Map<AsyncPlayerChatEvent, ChatStore> chatStorage)
{
super(server, ess, chatStorage);
}
@EventHandler(priority = EventPriority.NORMAL)
@Override
public void onPlayerChat(final PlayerChatEvent event)
public void onPlayerChat(final AsyncPlayerChatEvent event)
{
if (event.isCancelled())
{