Curse / Burn cores

This commit is contained in:
Jakub1221 2013-03-31 14:54:12 +02:00
parent f53241c6ba
commit 078b63cf92
6 changed files with 98 additions and 4 deletions

View File

@ -18,6 +18,7 @@ import org.jakub1221.herobrineai.AI.cores.Book;
import org.jakub1221.herobrineai.AI.cores.BuildStuff;
import org.jakub1221.herobrineai.AI.cores.Burn;
import org.jakub1221.herobrineai.AI.cores.BuryPlayer;
import org.jakub1221.herobrineai.AI.cores.Curse;
import org.jakub1221.herobrineai.AI.cores.DestroyTorches;
import org.jakub1221.herobrineai.AI.cores.Graveyard;
import org.jakub1221.herobrineai.AI.cores.Haunt;
@ -92,6 +93,7 @@ public class AICore {
AllCores.add(new RandomSound());
AllCores.add(new RandomExplosion());
AllCores.add(new Burn());
AllCores.add(new Curse());
plugin = HerobrineAI.getPluginCore();
log.info("[HerobrineAI] Debug mode enabled!");
@ -414,9 +416,14 @@ private void BuildCave(){
getCore(CoreType.RANDOM_SOUND).RunCore(data);
}else if (new Random().nextInt(100)<60){
if (HerobrineAI.getPluginCore().getConfigDB().Burn){
getCore(CoreType.BURN).RunCore(data);
}else{
}
}else if (new Random().nextInt(100)<80){
if (HerobrineAI.getPluginCore().getConfigDB().Curse){
getCore(CoreType.CURSE).RunCore(data);
}
}else{
getCore(CoreType.RANDOM_EXPLOSION).RunCore(data);
}

View File

@ -52,7 +52,8 @@ public abstract class Core {
HEADS,
RANDOM_SOUND,
RANDOM_EXPLOSION,
BURN;
BURN,
CURSE;
}
public enum AppearType{

View File

@ -14,7 +14,7 @@ public class Burn extends Core {
public CoreResult CallCore(Object[] data) {
Player player = (Player) data[0];
player.setFireTicks(800);
return new CoreResult(true,"Burn player!");
return new CoreResult(true,"Player burned!");
}
}

View File

@ -0,0 +1,47 @@
package org.jakub1221.herobrineai.AI.cores;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.jakub1221.herobrineai.HerobrineAI;
import org.jakub1221.herobrineai.AI.Core;
import org.jakub1221.herobrineai.AI.CoreResult;
public class Curse extends Core {
public Curse() {
super(CoreType.CURSE, AppearType.NORMAL);
}
@Override
public CoreResult CallCore(Object[] data) {
final Player player = (Player) data[0];
player.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 1000, 1));
player.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, 1000, 1));
player.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 1000, 1));
player.addPotionEffect(new PotionEffect(PotionEffectType.POISON, 50, 1));
player.addPotionEffect(new PotionEffect(PotionEffectType.WEAKNESS, 1000, 1));
int i = 0;
while(i!=3){
i++;
Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(HerobrineAI.getPluginCore(), new Runnable(){
@Override
public void run() {
player.getLocation().getWorld().strikeLightning(new Location(player.getLocation().getWorld(),player.getLocation().getX(),player.getLocation().getY()+1,player.getLocation().getZ()));
player.addPotionEffect(new PotionEffect(PotionEffectType.POISON, 50, 1));
}
}, i*150L);
}
return new CoreResult(true,"Player cursed!");
}
}

View File

@ -72,6 +72,8 @@ public class ConfigDB {
public CustomID ItemInHand=null;
public ArrayList<String> UseCustomItemsList = new ArrayList<String>();
public boolean Explosions=true;
public boolean Burn=true;
public boolean Curse=true;
public ConfigDB(Logger l){
this.log=l;
@ -222,6 +224,8 @@ public class ConfigDB {
config.set("config.UseNPC.Demon", true);
config.set("config.ItemInHand", "0");
config.set("config.Explosions", true);
config.set("config.Burn", true);
config.set("config.Curse", true);
try {
config.save(configF);
@ -445,6 +449,8 @@ public class ConfigDB {
hasUpdated=true;
config.set("config.UseNPC.Demon", true);
config.set("config.Burn", true);
config.set("config.Curse", true);
}
@ -537,6 +543,8 @@ public class ConfigDB {
UseNPC_Demon=config.getBoolean("config.UseNPC.Demon");
ItemInHand=new CustomID(config.getString("config.ItemInHand"));
Explosions=config.getBoolean("config.Explosions");
Burn=config.getBoolean("config.Burn");
Curse=config.getBoolean("config.Curse");
HerobrineAI.HerobrineMaxHP=HerobrineHP;
HerobrineAI.getPluginCore().getAICore().Stop_MAIN();

View File

@ -114,6 +114,15 @@ public class CmdExecutor implements CommandExecutor{
}else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");}
}else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai burn <player name>");}
}else if (args[0].equalsIgnoreCase("curse")){
if (args.length>1){
if (Bukkit.getServer().getPlayer(args[1])!=null){
Object[] data = {Bukkit.getServer().getPlayer(args[1])};
player.sendMessage(ChatColor.RED+"[HerobrineAI] "+P_Core.getAICore().getCore(CoreType.CURSE).RunCore(data).getResultString());
}else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");}
}else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai curse <player name>");}
}
else if (args[0].equalsIgnoreCase("graveyard")){
if (args.length>1){
@ -170,6 +179,7 @@ public class CmdExecutor implements CommandExecutor{
player.sendMessage(ChatColor.GREEN+"/hb-ai heads <player name> - place heads near the player");
player.sendMessage(ChatColor.GREEN+"/hb-ai cave <player name> - create cave near the player");
player.sendMessage(ChatColor.GREEN+"/hb-ai burn <player name> - burn player");
player.sendMessage(ChatColor.GREEN+"/hb-ai curse <player name> - curse player");
}else if (args[0].equalsIgnoreCase("position")){
@ -271,6 +281,16 @@ public class CmdExecutor implements CommandExecutor{
}else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");}
}else{player.sendMessage(ChatColor.RED+"You don´t have permissions to do that.");}
}else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai burn <player name>");}
}else if (args[0].equalsIgnoreCase("curse")){
if (args.length>1){
if (player.hasPermission("hb-ai.curse")){
if (Bukkit.getServer().getPlayer(args[1])!=null){
Object[] data = {Bukkit.getServer().getPlayer(args[1])};
player.sendMessage(ChatColor.RED+"[HerobrineAI] "+P_Core.getAICore().getCore(CoreType.CURSE).RunCore(data).getResultString());
}else{player.sendMessage(ChatColor.RED+"[HerobrineAI] Player is offline.");}
}else{player.sendMessage(ChatColor.RED+"You don´t have permissions to do that.");}
}else{player.sendMessage(ChatColor.RED+"Usage: "+ChatColor.GREEN+"/hb-ai curse <player name>");}
}else if (args[0].equalsIgnoreCase("heads")){
if (args.length>1){
if (player.hasPermission("hb-ai.heads")){
@ -342,6 +362,7 @@ public class CmdExecutor implements CommandExecutor{
player.sendMessage(ChatColor.GREEN+"/hb-ai heads <player name> - place heads near the player");
player.sendMessage(ChatColor.GREEN+"/hb-ai cave <player name> - create cave near the player");
player.sendMessage(ChatColor.GREEN+"/hb-ai burn <player name> - burn player");
player.sendMessage(ChatColor.GREEN+"/hb-ai cuse <player name> - burn player");
}else{player.sendMessage(ChatColor.RED+"You don´t have permissions to do that.");}
}else if (args[0].equalsIgnoreCase("position")){
@ -435,6 +456,15 @@ public class CmdExecutor implements CommandExecutor{
}else{log.info("[HerobrineAI] Player is offline.");}
}else{log.info("Usage: /hb-ai burn <player name>");}
}else if (args[0].equalsIgnoreCase("curse")){
if (args.length>1){
if (Bukkit.getServer().getPlayer(args[1])!=null){
Object[] data = {Bukkit.getServer().getPlayer(args[1])};
log.info("[HerobrineAI] "+P_Core.getAICore().getCore(CoreType.CURSE).RunCore(data).getResultString());
}else{log.info("[HerobrineAI] Player is offline.");}
}else{log.info("Usage: /hb-ai curse <player name>");}
}else if (args[0].equalsIgnoreCase("heads")){
if (args.length>1){
@ -500,6 +530,7 @@ public class CmdExecutor implements CommandExecutor{
log.info("/hb-ai heads <player name> - place heads near the player");
log.info("/hb-ai cave <player name> - create cave near the player");
log.info("/hb-ai burn <player name> - burn player");
log.info("/hb-ai curse <player name> - burn player");
}else if (args[0].equalsIgnoreCase("position")){