1
0
mirror of https://e.coding.net/circlecloud/Residence.git synced 2025-11-26 22:06:07 +00:00

move src path and modify config file...

Signed-off-by: 502647092 <jtb1@163.com>
This commit is contained in:
502647092
2015-09-01 17:26:17 +08:00
parent 891e9834d6
commit 3fec9f6871
70 changed files with 230 additions and 317 deletions

View File

@@ -0,0 +1,68 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
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;
/**
*
* @author Administrator
*/
public class ChatChannel {
protected String name;
protected List<String> members;
public ChatChannel(String channelName)
{
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 boolean hasMember(String player)
{
return members.contains(player);
}
public int memberCount()
{
return members.size();
}
}

View File

@@ -0,0 +1,60 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.bekvon.bukkit.residence.chat;
import com.bekvon.bukkit.residence.Residence;
import java.util.HashMap;
import java.util.Map;
import org.bukkit.Server;
/**
*
* @author Administrator
*/
public class ChatManager {
protected Map<String,ChatChannel> channelmap;
protected Server server;
public ChatManager()
{
server = Residence.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 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(String player)
{
for(ChatChannel chan : channelmap.values())
{
if(chan.hasMember(player))
return chan;
}
return null;
}
}