beta4
This commit is contained in:
		@@ -1,3 +1,3 @@
 | 
			
		||||
name: Factions
 | 
			
		||||
version: 1.0 beta4
 | 
			
		||||
version: 1.0 beta5
 | 
			
		||||
main: com.bukkit.mcteam.factions.Factions
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								releases/factions 1.0beta4.zip
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								releases/factions 1.0beta4.zip
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -775,7 +775,7 @@ public class Commands {
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	public static void version(Follower me) {
 | 
			
		||||
		me.sendMessage(Conf.colorSystem+"You are running "+Factions.desc.getFullName());
 | 
			
		||||
		me.sendMessage(Conf.colorSystem+"You are running "+Factions.factions.getDescription().getFullName());
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,6 @@
 | 
			
		||||
package com.bukkit.mcteam.factions;
 | 
			
		||||
 | 
			
		||||
import java.io.File;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.Server;
 | 
			
		||||
import org.bukkit.event.Event;
 | 
			
		||||
import org.bukkit.plugin.PluginDescriptionFile;
 | 
			
		||||
import org.bukkit.plugin.PluginLoader;
 | 
			
		||||
import org.bukkit.plugin.PluginManager;
 | 
			
		||||
import org.bukkit.plugin.java.JavaPlugin;
 | 
			
		||||
 | 
			
		||||
@@ -16,51 +11,12 @@ import com.bukkit.mcteam.factions.listeners.FactionsPlayerListener;
 | 
			
		||||
import com.bukkit.mcteam.factions.util.Log;
 | 
			
		||||
 | 
			
		||||
public class Factions extends JavaPlugin {
 | 
			
		||||
	public static PluginLoader pluginLoader;
 | 
			
		||||
	public static Server server;
 | 
			
		||||
	public static PluginDescriptionFile desc;
 | 
			
		||||
	public static File folder;
 | 
			
		||||
	public static File plugin;
 | 
			
		||||
	public static ClassLoader cLoader;
 | 
			
		||||
	public static Factions factions;
 | 
			
		||||
	
 | 
			
		||||
	private final FactionsPlayerListener playerListener = new FactionsPlayerListener(this);
 | 
			
		||||
	private final FactionsEntityListener entityListener = new FactionsEntityListener(this);
 | 
			
		||||
	private final FactionsBlockListener blockListener = new FactionsBlockListener(this);
 | 
			
		||||
 | 
			
		||||
	public Factions(PluginLoader pluginLoader, Server instance,	PluginDescriptionFile desc, File folder, File plugin, ClassLoader cLoader) {
 | 
			
		||||
		super(pluginLoader, instance, desc, folder, plugin, cLoader);
 | 
			
		||||
		
 | 
			
		||||
		Factions.pluginLoader = pluginLoader;
 | 
			
		||||
		Factions.server = instance;
 | 
			
		||||
		Factions.desc = desc;
 | 
			
		||||
		Factions.folder = folder;
 | 
			
		||||
		Factions.plugin = plugin;
 | 
			
		||||
		Factions.cLoader = cLoader;
 | 
			
		||||
		
 | 
			
		||||
		Log.info("=== INIT START ===");
 | 
			
		||||
		long timeInitStart = System.currentTimeMillis();
 | 
			
		||||
		Log.info("You are running version: "+desc.getVersion());
 | 
			
		||||
		
 | 
			
		||||
		EM.loadAll();
 | 
			
		||||
		
 | 
			
		||||
		// Register events
 | 
			
		||||
		PluginManager pm = instance.getPluginManager();
 | 
			
		||||
		pm.registerEvent(Event.Type.PLAYER_CHAT, this.playerListener, Event.Priority.Highest, this);
 | 
			
		||||
		pm.registerEvent(Event.Type.PLAYER_COMMAND, this.playerListener, Event.Priority.Normal, this);
 | 
			
		||||
		pm.registerEvent(Event.Type.PLAYER_JOIN, this.playerListener, Event.Priority.Normal, this);
 | 
			
		||||
		pm.registerEvent(Event.Type.PLAYER_MOVE, this.playerListener, Event.Priority.Normal, this);
 | 
			
		||||
		pm.registerEvent(Event.Type.PLAYER_QUIT, this.playerListener, Event.Priority.Normal, this);
 | 
			
		||||
		pm.registerEvent(Event.Type.ENTITY_DEATH, this.entityListener, Event.Priority.Normal, this);
 | 
			
		||||
		pm.registerEvent(Event.Type.ENTITY_DAMAGEDBY_ENTITY, this.entityListener, Event.Priority.Normal, this);
 | 
			
		||||
		pm.registerEvent(Event.Type.ENTITY_DAMAGEDBY_PROJECTILE, this.entityListener, Event.Priority.Normal, this);
 | 
			
		||||
		pm.registerEvent(Event.Type.BLOCK_DAMAGED, this.blockListener, Event.Priority.Normal, this);
 | 
			
		||||
		pm.registerEvent(Event.Type.BLOCK_PLACED, this.blockListener, Event.Priority.Normal, this);
 | 
			
		||||
		pm.registerEvent(Event.Type.BLOCK_INTERACT, this.blockListener, Event.Priority.Normal, this);		
 | 
			
		||||
		
 | 
			
		||||
		Log.info("=== INIT DONE (Took "+(System.currentTimeMillis()-timeInitStart)+"ms) ===");
 | 
			
		||||
		Log.threshold = Conf.logThreshold;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public void onDisable() {
 | 
			
		||||
		// TODO Auto-generated method stub
 | 
			
		||||
@@ -69,8 +25,29 @@ public class Factions extends JavaPlugin {
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public void onEnable() {
 | 
			
		||||
		// TODO Auto-generated method stub
 | 
			
		||||
		Factions.factions = this;
 | 
			
		||||
		
 | 
			
		||||
		Log.info("=== INIT START ===");
 | 
			
		||||
		long timeInitStart = System.currentTimeMillis();
 | 
			
		||||
		Log.info("You are running version: "+this.getDescription().getVersion());
 | 
			
		||||
		
 | 
			
		||||
		EM.loadAll();
 | 
			
		||||
		
 | 
			
		||||
		// Register events
 | 
			
		||||
		PluginManager pm = this.getServer().getPluginManager();
 | 
			
		||||
		pm.registerEvent(Event.Type.PLAYER_CHAT, this.playerListener, Event.Priority.Highest, this);
 | 
			
		||||
		pm.registerEvent(Event.Type.PLAYER_COMMAND, this.playerListener, Event.Priority.Normal, this);
 | 
			
		||||
		pm.registerEvent(Event.Type.PLAYER_JOIN, this.playerListener, Event.Priority.Normal, this);
 | 
			
		||||
		pm.registerEvent(Event.Type.PLAYER_MOVE, this.playerListener, Event.Priority.Normal, this);
 | 
			
		||||
		pm.registerEvent(Event.Type.PLAYER_QUIT, this.playerListener, Event.Priority.Normal, this);
 | 
			
		||||
		pm.registerEvent(Event.Type.ENTITY_DEATH, this.entityListener, Event.Priority.Normal, this);
 | 
			
		||||
		pm.registerEvent(Event.Type.ENTITY_DAMAGED, this.entityListener, Event.Priority.Normal, this);
 | 
			
		||||
		pm.registerEvent(Event.Type.BLOCK_DAMAGED, this.blockListener, Event.Priority.Normal, this);
 | 
			
		||||
		pm.registerEvent(Event.Type.BLOCK_PLACED, this.blockListener, Event.Priority.Normal, this);
 | 
			
		||||
		pm.registerEvent(Event.Type.BLOCK_INTERACT, this.blockListener, Event.Priority.Normal, this);		
 | 
			
		||||
		
 | 
			
		||||
		Log.info("=== INIT DONE (Took "+(System.currentTimeMillis()-timeInitStart)+"ms) ===");
 | 
			
		||||
		Log.threshold = Conf.logThreshold;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -25,7 +25,7 @@ public class EM {
 | 
			
		||||
	
 | 
			
		||||
	// hardcoded config
 | 
			
		||||
	protected final static String ext = ".json";
 | 
			
		||||
	protected final static File folderBase = Factions.folder;
 | 
			
		||||
	protected final static File folderBase = Factions.factions.getDataFolder();
 | 
			
		||||
	protected final static File folderFaction = new File(folderBase, "faction");
 | 
			
		||||
	protected final static File folderFollower = new File(folderBase, "follower");
 | 
			
		||||
	protected final static File folderBoard = new File(folderBase, "board");
 | 
			
		||||
 
 | 
			
		||||
@@ -202,7 +202,7 @@ public class Faction {
 | 
			
		||||
	
 | 
			
		||||
	public ArrayList<Player> getOnlinePlayers() {
 | 
			
		||||
		ArrayList<Player> ret = new ArrayList<Player>();
 | 
			
		||||
		for (Player player: Factions.server.getOnlinePlayers()) {
 | 
			
		||||
		for (Player player: Factions.factions.getServer().getOnlinePlayers()) {
 | 
			
		||||
			Follower follower = Follower.get(player);
 | 
			
		||||
			if (follower.factionId == this.id) {
 | 
			
		||||
				ret.add(player);
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,7 @@ import com.bukkit.mcteam.util.ChatFixUtil;
 | 
			
		||||
 | 
			
		||||
public class Follower {
 | 
			
		||||
	public transient String id; // The is the name of the player
 | 
			
		||||
	public transient Coord lastStoodInCoord = new Coord(); // Where did this player stand the last time we checked?
 | 
			
		||||
	
 | 
			
		||||
	public int factionId;
 | 
			
		||||
	public Role role;
 | 
			
		||||
@@ -46,7 +47,7 @@ public class Follower {
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	public Player getPlayer() {
 | 
			
		||||
		return Factions.server.getPlayer(this.getName());
 | 
			
		||||
		return Factions.factions.getServer().getPlayer(this.getName());
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	public boolean isOnline() {
 | 
			
		||||
 
 | 
			
		||||
@@ -7,6 +7,7 @@ import org.bukkit.entity.Entity;
 | 
			
		||||
import org.bukkit.entity.Player;
 | 
			
		||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
 | 
			
		||||
import org.bukkit.event.entity.EntityDamageByProjectileEvent;
 | 
			
		||||
import org.bukkit.event.entity.EntityDamageEvent;
 | 
			
		||||
import org.bukkit.event.entity.EntityDeathEvent;
 | 
			
		||||
import org.bukkit.event.entity.EntityListener;
 | 
			
		||||
 | 
			
		||||
@@ -33,6 +34,7 @@ public class FactionsEntityListener extends EntityListener {
 | 
			
		||||
		follower.onDeath();
 | 
			
		||||
		follower.sendMessage(Conf.colorSystem+"Your power is now "+follower.getPowerRounded()+" / "+follower.getPowerMaxRounded());
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	/**
 | 
			
		||||
	 * Who can I hurt?
 | 
			
		||||
	 * I can never hurt members or allies.
 | 
			
		||||
@@ -40,31 +42,23 @@ public class FactionsEntityListener extends EntityListener {
 | 
			
		||||
	 * I can hurt neutrals as long as they are outside their own territory.
 | 
			
		||||
	 */
 | 
			
		||||
	@Override
 | 
			
		||||
	public void onEntityDamageByEntity(EntityDamageByEntityEvent event) {
 | 
			
		||||
	public void onEntityDamage(EntityDamageEvent event) {
 | 
			
		||||
		if ( event.isCancelled()) {
 | 
			
		||||
			return; // Some other plugin decided. Alright then.
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		if ( ! this.canDamagerHurtDamagee(event.getDamager(), event.getEntity(), event.getDamage())) {
 | 
			
		||||
		if (event instanceof EntityDamageByEntityEvent) {
 | 
			
		||||
            EntityDamageByEntityEvent sub = (EntityDamageByEntityEvent)event;
 | 
			
		||||
            if ( ! this.canDamagerHurtDamagee(sub.getDamager(), sub.getEntity(), sub.getDamage())) {
 | 
			
		||||
    			event.setCancelled(true);
 | 
			
		||||
    		}
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	@Override
 | 
			
		||||
	public void onEntityDamageByProjectile(EntityDamageByProjectileEvent event) {
 | 
			
		||||
		//DamageCause dc = event.getCause();
 | 
			
		||||
		//Log.debug("dc.toString(): "+dc.toString());
 | 
			
		||||
		//Log.debug("event.getDamager().getClass(): "+event.getDamager().getClass());
 | 
			
		||||
		//Log.debug("event.getEntity().getClass(): "+event.getEntity().getClass());
 | 
			
		||||
		
 | 
			
		||||
		if ( event.isCancelled()) {
 | 
			
		||||
			return; // Some other plugin decided. Alright then.
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		if ( ! this.canDamagerHurtDamagee(event.getDamager(), event.getEntity(), event.getDamage())) {
 | 
			
		||||
        } else if (event instanceof EntityDamageByProjectileEvent) {
 | 
			
		||||
        	EntityDamageByProjectileEvent sub = (EntityDamageByProjectileEvent)event;
 | 
			
		||||
            if ( ! this.canDamagerHurtDamagee(sub.getDamager(), sub.getEntity(), sub.getDamage())) {
 | 
			
		||||
    			event.setCancelled(true);
 | 
			
		||||
    		}
 | 
			
		||||
        }
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	public boolean canDamagerHurtDamagee(Entity damager, Entity damagee, int damage) {
 | 
			
		||||
		if ( ! (damager instanceof Player)) {
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,6 @@ package com.bukkit.mcteam.factions.listeners;
 | 
			
		||||
import java.util.*;
 | 
			
		||||
import java.util.logging.Logger;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.Location;
 | 
			
		||||
import org.bukkit.entity.*;
 | 
			
		||||
import org.bukkit.event.player.PlayerChatEvent;
 | 
			
		||||
import org.bukkit.event.player.PlayerEvent;
 | 
			
		||||
@@ -82,7 +81,7 @@ public class FactionsPlayerListener extends PlayerListener{
 | 
			
		||||
			// Why? Because the relations will differ.
 | 
			
		||||
			event.setCancelled(true);
 | 
			
		||||
			
 | 
			
		||||
			for (Player listeningPlayer : Factions.server.getOnlinePlayers()) {
 | 
			
		||||
			for (Player listeningPlayer : Factions.factions.getServer().getOnlinePlayers()) {
 | 
			
		||||
				Follower you = Follower.get(listeningPlayer);
 | 
			
		||||
				String yourFormat = formatStart + me.getChatTag(you) + formatEnd;
 | 
			
		||||
				listeningPlayer.sendMessage(String.format(yourFormat, talkingPlayer.getDisplayName(), msg));
 | 
			
		||||
@@ -122,17 +121,17 @@ public class FactionsPlayerListener extends PlayerListener{
 | 
			
		||||
	
 | 
			
		||||
	@Override
 | 
			
		||||
	public void onPlayerMove(PlayerMoveEvent event) {
 | 
			
		||||
		Follower me = Follower.get(event.getPlayer());
 | 
			
		||||
		
 | 
			
		||||
		// Did we change coord?
 | 
			
		||||
		Location from = event.getFrom();
 | 
			
		||||
		Location to = event.getTo();
 | 
			
		||||
		Coord coordFrom = Coord.from(from);
 | 
			
		||||
		Coord coordTo   = Coord.from(to);
 | 
			
		||||
		Coord coordFrom = me.lastStoodInCoord;
 | 
			
		||||
		Coord coordTo = Coord.from(event.getTo());
 | 
			
		||||
		if (coordFrom.equals(coordTo)) {
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		// Yes we did change coord (:
 | 
			
		||||
		Follower me = Follower.get(event.getPlayer());
 | 
			
		||||
		me.lastStoodInCoord = coordTo;
 | 
			
		||||
		Board board = Board.get(event.getPlayer().getWorld());
 | 
			
		||||
		
 | 
			
		||||
		if (me.isMapAutoUpdating()) {
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@ import org.bukkit.entity.Player;
 | 
			
		||||
import com.bukkit.mcteam.factions.Factions;
 | 
			
		||||
 | 
			
		||||
public class Log {
 | 
			
		||||
	public static String prefix = Factions.desc.getName();
 | 
			
		||||
	public static String prefix = Factions.factions.getDescription().getName();
 | 
			
		||||
	public static ArrayList<Player> debuggers = new ArrayList<Player>();
 | 
			
		||||
	public static int threshold = 10;
 | 
			
		||||
	
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user