mirror of
https://e.coding.net/circlecloud/Residence.git
synced 2025-11-26 22:06:07 +00:00
@@ -5,64 +5,64 @@
|
||||
|
||||
package com.bekvon.bukkit.residence.chat;
|
||||
|
||||
import com.bekvon.bukkit.residence.Residence;
|
||||
import com.bekvon.bukkit.residence.event.ResidenceChatEvent;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.bekvon.bukkit.residence.Residence;
|
||||
import com.bekvon.bukkit.residence.event.ResidenceChatEvent;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Administrator
|
||||
*/
|
||||
public class ChatChannel {
|
||||
|
||||
protected String name;
|
||||
protected List<String> members;
|
||||
protected List<String> members;
|
||||
protected String name;
|
||||
protected Residence plugin;
|
||||
|
||||
public ChatChannel(String channelName)
|
||||
{
|
||||
name = channelName;
|
||||
members = new ArrayList<String>();
|
||||
}
|
||||
public ChatChannel(final Residence plugin, final String channelName) {
|
||||
this.plugin = plugin;
|
||||
name = channelName;
|
||||
members = new ArrayList<String>();
|
||||
}
|
||||
|
||||
public void chat(String sourcePlayer, String message)
|
||||
{
|
||||
Server serv = Residence.getServ();
|
||||
ChatColor color = Residence.getConfigManager().getChatColor();
|
||||
ResidenceChatEvent cevent = new ResidenceChatEvent(Residence.getResidenceManager().getByName(name),serv.getPlayer(sourcePlayer),message,color);
|
||||
Residence.getServ().getPluginManager().callEvent(cevent);
|
||||
if(cevent.isCancelled())
|
||||
return;
|
||||
for(String member : members)
|
||||
{
|
||||
Player player = serv.getPlayer(member);
|
||||
if(player!=null)
|
||||
player.sendMessage(cevent.getColor() + sourcePlayer + ": " + cevent.getChatMessage());
|
||||
}
|
||||
System.out.println("ResidentialChat[" + name + "] - " + sourcePlayer + ": " + cevent.getChatMessage());
|
||||
}
|
||||
|
||||
public void join(String player)
|
||||
{
|
||||
if(!members.contains(player))
|
||||
members.add(player);
|
||||
}
|
||||
|
||||
public void leave(String player)
|
||||
{
|
||||
members.remove(player);
|
||||
}
|
||||
public void chat(final String sourcePlayer, final String message) {
|
||||
final Server serv = plugin.getServ();
|
||||
final ChatColor color = plugin.getConfigManager().getChatColor();
|
||||
final ResidenceChatEvent cevent = new ResidenceChatEvent(plugin.getResidenceManager().getByName(name), serv.getPlayer(sourcePlayer), message, color);
|
||||
plugin.getServ().getPluginManager().callEvent(cevent);
|
||||
if (cevent.isCancelled()) {
|
||||
return;
|
||||
}
|
||||
for (final String member : members) {
|
||||
final Player player = serv.getPlayer(member);
|
||||
if (player != null) {
|
||||
player.sendMessage(cevent.getColor() + sourcePlayer + ": " + cevent.getChatMessage());
|
||||
}
|
||||
}
|
||||
System.out.println("ResidentialChat[" + name + "] - " + sourcePlayer + ": " + cevent.getChatMessage());
|
||||
}
|
||||
|
||||
public boolean hasMember(String player)
|
||||
{
|
||||
return members.contains(player);
|
||||
}
|
||||
public boolean hasMember(final String player) {
|
||||
return members.contains(player);
|
||||
}
|
||||
|
||||
public int memberCount()
|
||||
{
|
||||
return members.size();
|
||||
}
|
||||
public void join(final String player) {
|
||||
if (!members.contains(player)) {
|
||||
members.add(player);
|
||||
}
|
||||
}
|
||||
|
||||
public void leave(final String player) {
|
||||
members.remove(player);
|
||||
}
|
||||
|
||||
public int memberCount() {
|
||||
return members.size();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,56 +5,55 @@
|
||||
|
||||
package com.bekvon.bukkit.residence.chat;
|
||||
|
||||
import com.bekvon.bukkit.residence.Residence;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.bukkit.Server;
|
||||
|
||||
import com.bekvon.bukkit.residence.Residence;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Administrator
|
||||
*/
|
||||
public class ChatManager {
|
||||
|
||||
protected Map<String,ChatChannel> channelmap;
|
||||
protected Server server;
|
||||
protected Map<String, ChatChannel> channelmap;
|
||||
protected Residence plugin;
|
||||
protected Server server;
|
||||
|
||||
public ChatManager()
|
||||
{
|
||||
server = Residence.getServ();
|
||||
channelmap = new HashMap<String,ChatChannel>();
|
||||
}
|
||||
public ChatManager(final Residence plugin) {
|
||||
server = plugin.getServ();
|
||||
channelmap = new HashMap<String, ChatChannel>();
|
||||
}
|
||||
|
||||
public void setChannel(String player, String channel)
|
||||
{
|
||||
this.removeFromChannel(player);
|
||||
if(!channelmap.containsKey(channel))
|
||||
channelmap.put(channel, new ChatChannel(channel));
|
||||
channelmap.get(channel).join(player);
|
||||
}
|
||||
public ChatChannel getChannel(final String channel) {
|
||||
return channelmap.get(channel);
|
||||
}
|
||||
|
||||
public void removeFromChannel(String player)
|
||||
{
|
||||
for(ChatChannel chan : channelmap.values())
|
||||
{
|
||||
if(chan.hasMember(player))
|
||||
chan.leave(player);
|
||||
}
|
||||
}
|
||||
|
||||
public ChatChannel getChannel(String channel)
|
||||
{
|
||||
return channelmap.get(channel);
|
||||
}
|
||||
public ChatChannel getPlayerChannel(final String player) {
|
||||
for (final ChatChannel chan : channelmap.values()) {
|
||||
if (chan.hasMember(player)) {
|
||||
return chan;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public ChatChannel getPlayerChannel(String player)
|
||||
{
|
||||
for(ChatChannel chan : channelmap.values())
|
||||
{
|
||||
if(chan.hasMember(player))
|
||||
return chan;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
public void removeFromChannel(final String player) {
|
||||
for (final ChatChannel chan : channelmap.values()) {
|
||||
if (chan.hasMember(player)) {
|
||||
chan.leave(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setChannel(final String player, final String channel) {
|
||||
this.removeFromChannel(player);
|
||||
if (!channelmap.containsKey(channel)) {
|
||||
channelmap.put(channel, new ChatChannel(plugin, channel));
|
||||
}
|
||||
channelmap.get(channel).join(player);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user