NpcArmies.java <main class>

package npcarmies.stars1410;
 
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.plugin.java.JavaPlugin;

import de.kumpelblase2.remoteentities.EntityManager;
import de.kumpelblase2.remoteentities.RemoteEntities;
import de.kumpelblase2.remoteentities.api.RemoteEntity;
import de.kumpelblase2.remoteentities.api.RemoteEntityType;
import de.kumpelblase2.remoteentities.api.features.RemoteTamingFeature;
import de.kumpelblase2.remoteentities.api.features.TamingFeature;
import de.kumpelblase2.remoteentities.api.thinking.InteractBehavior;
import de.kumpelblase2.remoteentities.api.thinking.goals.DesireFollowTamer;
import de.kumpelblase2.remoteentities.api.thinking.goals.DesireLookAtNearest;

 
public final class NpcArmies extends JavaPlugin implements Listener {


	@Override
    public void onEnable(){
        getLogger().info("Npc Armies is running :D!");
        getServer().getPluginManager().registerEvents(this, this);{
        }
     
    } 
    @Override
    public void onDisable() {
        getLogger().info("NpcArmies is no longer running D:!");
    }
    
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
    	if(cmd.getName().equalsIgnoreCase("NpcArmies")){ sender.sendMessage("NpcArmies Is a simple plugin that plans too expand greatly in the future but can currently only do one thing; When you place a pumpkin on top of two wool blocks  and click on it with a sword it will spawn a zombie.");
    		return true;
    	}
    	return false; 
    }


	@SuppressWarnings("deprecation")
	@EventHandler
    public void onBlockPlace(BlockPlaceEvent event){ 
    	Block block = event.getBlock();
    	Block block1 = block.getRelative(0, -1, 0);
        Block block2 = block1.getRelative(0, -1, 0);
    	EntityManager manager = RemoteEntities.createManager(this);
    		if (block.getType() == Material.PUMPKIN);{
    				if (block1.getType() == Material.WOOL && block2.getType() == Material.WOOL) {
    	                block. setType(Material.AIR);
    	                block1.setType(Material.AIR);
    	                block2.setType(Material.AIR); 	           
    	                final RemoteEntity entity = manager.createEntity(RemoteEntityType.Zombie, block2.getLocation());
    	                entity.getMind().addMovementDesire(new DesireLookAtNearest(entity, Player.class, 8F), 1);    	                
						entity.setStationary(false);    	                
    	                entity.getMind().addBehaviour(new InteractBehavior(entity)
    	                {
    	                @Override
    	                public void onInteract(Player inPlayer)
    	                {
    	                entity.setName(inPlayer.getName() + "'s Warrior");
    	                inPlayer.sendMessage("MASTER!");
    	                TamingFeature feature = new RemoteTamingFeature(entity);
    	                feature.tame(inPlayer.getPlayer());
    	                entity.getFeatures().addFeature(feature);
    	                entity.getMind().addMovementDesire(new DesireFollowTamer(entity, 5, 15), entity.getMind().getHighestMovementPriority() + 1);	
    	                }
    	                });
    	                TamingFeature feature = new RemoteTamingFeature(entity);
    	                feature.tame(event.getPlayer());
    	                entity.getFeatures().addFeature(feature);
    	                entity.getMind().addMovementDesire(new DesireFollowTamer(entity, 5, 15), entity.getMind().getHighestMovementPriority() + 1);	   	              
    	                }

    			}
    	  }
     }

Comments

Posts Quoted:
Reply
Clear All Quotes