Hellfire Zombies...Are Terrifying.
This commit is contained in:
parent
d8a3d0f781
commit
16599b5cf6
Binary file not shown.
@ -1,9 +1,13 @@
|
|||||||
package sig.plugin.TwosideKeeper;
|
package sig.plugin.TwosideKeeper;
|
||||||
|
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.Sound;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.entity.Monster;
|
import org.bukkit.entity.Monster;
|
||||||
|
|
||||||
import aPlugin.BlockUtils;
|
import aPlugin.BlockUtils;
|
||||||
|
import aPlugin.Utils;
|
||||||
|
import net.minecraft.server.v1_9_R1.BlockPosition;
|
||||||
import sig.plugin.TwosideKeeper.HelperStructures.BlockToughness;
|
import sig.plugin.TwosideKeeper.HelperStructures.BlockToughness;
|
||||||
|
|
||||||
public class ChargeZombie {
|
public class ChargeZombie {
|
||||||
@ -25,12 +29,33 @@ public class ChargeZombie {
|
|||||||
|
|
||||||
public void BreakBlocksAroundArea(int radius) {
|
public void BreakBlocksAroundArea(int radius) {
|
||||||
for (int x=-radius;x<radius+1;x++) {
|
for (int x=-radius;x<radius+1;x++) {
|
||||||
for (int y=0;y<radius+1;y++) {
|
for (int y=-radius;y<radius+2;y++) {
|
||||||
for (int z=-radius;z<radius+1;z++) {
|
for (int z=-radius;z<radius+1;z++) {
|
||||||
if (!BlockUtils.isExplosionProof(m.getLocation().add(x,y,z).getBlock().getType())) {
|
if (!BlockUtils.isExplosionProof(m.getLocation().add(x,y,z).getBlock().getType()) ||
|
||||||
|
m.getLocation().add(x,y,z).getBlock().getType()==Material.OBSIDIAN) {
|
||||||
|
if (!(y==0 && m.getTarget().getLocation().getY()>m.getLocation().getY())) { //Player is higher than zombie. Don't break blocks in front of it. Climb up them.
|
||||||
|
if (!(y<0 && (m.getTarget().getLocation().getY()>m.getLocation().getY()-1))) { //Player is lower than zombie. Break blocks below it to get to the player.
|
||||||
|
boolean brokeliquid = false;
|
||||||
//Break it.
|
//Break it.
|
||||||
if (ChanceToBreak(m.getLocation().add(x,y,z).getBlock())) {
|
if (ChanceToBreak(m.getLocation().add(x,y,z).getBlock())) {
|
||||||
|
if (m.getLocation().add(x,y,z).getBlock().getType()==Material.WATER ||
|
||||||
|
m.getLocation().add(x,y,z).getBlock().getType()==Material.STATIONARY_WATER ||
|
||||||
|
m.getLocation().add(x,y,z).getBlock().getType()==Material.LAVA ||
|
||||||
|
m.getLocation().add(x,y,z).getBlock().getType()==Material.STATIONARY_LAVA) {
|
||||||
|
brokeliquid=true;
|
||||||
|
}
|
||||||
|
if (brokeliquid) {
|
||||||
|
m.getLocation().getWorld().playSound(m.getLocation().add(x,y,z),Sound.BLOCK_WATER_AMBIENT, 0.03f, 0.5f);
|
||||||
|
//m.getLocation().getWorld().playSound(m.getLocation().add(x,y,z),Sound.BLOCK_FIRE_EXTINGUISH, 0.03f, 0.5f);
|
||||||
|
} else {
|
||||||
|
m.getLocation().getWorld().playSound(m.getLocation().add(x,y,z),Sound.BLOCK_STONE_BREAK, 1.0f, 1.0f);
|
||||||
|
}
|
||||||
m.getLocation().add(x,y,z).getBlock().breakNaturally();
|
m.getLocation().add(x,y,z).getBlock().breakNaturally();
|
||||||
|
Utils.sendBlockBreakAnimation(null, new BlockPosition(m.getLocation().add(x,y,z).getBlockX(),m.getLocation().add(x,y,z).getBlockY(),m.getLocation().add(x,y,z).getBlockZ()), -1, Utils.seedRandomID(m.getLocation().add(x,y,z).getBlock()));
|
||||||
|
} else {
|
||||||
|
Utils.sendBlockBreakAnimation(null, new BlockPosition(m.getLocation().add(x,y,z).getBlockX(),m.getLocation().add(x,y,z).getBlockY(),m.getLocation().add(x,y,z).getBlockZ()), 4, Utils.seedRandomID(m.getLocation().add(x,y,z).getBlock()));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -42,10 +67,10 @@ public class ChargeZombie {
|
|||||||
int blocktoughness = 0;
|
int blocktoughness = 0;
|
||||||
switch (b.getType()) {
|
switch (b.getType()) {
|
||||||
case OBSIDIAN:{
|
case OBSIDIAN:{
|
||||||
blocktoughness=20;
|
blocktoughness=100;
|
||||||
}break;
|
}break;
|
||||||
case ENDER_CHEST:{
|
case ENDER_CHEST:{
|
||||||
blocktoughness=20;
|
blocktoughness=44;
|
||||||
}break;
|
}break;
|
||||||
case ANVIL:{
|
case ANVIL:{
|
||||||
blocktoughness=10;
|
blocktoughness=10;
|
||||||
@ -140,45 +165,40 @@ public class ChargeZombie {
|
|||||||
case WOODEN_DOOR:{
|
case WOODEN_DOOR:{
|
||||||
blocktoughness=6;
|
blocktoughness=6;
|
||||||
}break;
|
}break;
|
||||||
|
case CHEST:
|
||||||
|
case TRAPPED_CHEST:
|
||||||
|
case WORKBENCH:{
|
||||||
|
blocktoughness=5;
|
||||||
|
}break;
|
||||||
|
case BRICK_STAIRS:
|
||||||
|
case BRICK:
|
||||||
|
case CAULDRON:
|
||||||
|
case COBBLESTONE:
|
||||||
|
case COBBLESTONE_STAIRS:
|
||||||
|
case COBBLE_WALL:
|
||||||
|
case FENCE:
|
||||||
|
case FENCE_GATE:
|
||||||
|
case JUKEBOX:
|
||||||
|
case MOSSY_COBBLESTONE:
|
||||||
|
case NETHER_BRICK:
|
||||||
|
case NETHER_FENCE:
|
||||||
|
case NETHER_BRICK_STAIRS:
|
||||||
|
case STONE_SLAB2:
|
||||||
|
case LOG:
|
||||||
|
case WOOD:
|
||||||
|
case WOOD_STEP:{
|
||||||
|
blocktoughness=4;
|
||||||
|
}break;
|
||||||
|
case STONE:
|
||||||
|
case BOOKSHELF:
|
||||||
|
case PRISMARINE:
|
||||||
|
case STAINED_CLAY:
|
||||||
|
case HARD_CLAY:{
|
||||||
|
blocktoughness=3;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
if (Math.random()*((double)blocktoughness)<0.25) {
|
||||||
* OBSIDIAN(50),
|
|
||||||
ENDER_CHEST(23),
|
|
||||||
ANVIL(10),
|
|
||||||
COAL_BLOCK(10),
|
|
||||||
DIAMOND_BLOCK(10),
|
|
||||||
EMERALD_BLOCK(10),
|
|
||||||
IRON_BLOCK(10),
|
|
||||||
REDSTONE_BLOCK(10),
|
|
||||||
ENCHANTMENT_TABLE(10),
|
|
||||||
IRON_FENCE(10),
|
|
||||||
IRON_DOOR(10),
|
|
||||||
IRON_TRAPDOOR(10),
|
|
||||||
MONSTER_SPAWNER(10),
|
|
||||||
WEB(10),
|
|
||||||
DISPENSER(10),
|
|
||||||
DROPPER(10),
|
|
||||||
FURNACE(10),
|
|
||||||
BEACON(6),
|
|
||||||
BLOCK_OF_GOLD(6),
|
|
||||||
COAL_ORE(6),
|
|
||||||
DIAMOND_ORE(6),
|
|
||||||
EMERALD_ORE(6),
|
|
||||||
END_STONE(6),
|
|
||||||
GOLD_ORE(6),
|
|
||||||
HOPPER(6),
|
|
||||||
IRON_ORE(6),
|
|
||||||
LAPIS_BLOCK(6),
|
|
||||||
LAPIS_ORE(6),
|
|
||||||
NETHER_QUARTZ_ORE(6),
|
|
||||||
REDSTONE_ORE(6),
|
|
||||||
GLOWING_REDSTONE_ORE(6),
|
|
||||||
TRAP_DOOR(6),
|
|
||||||
WOODEN_DOOR(6);
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (Math.random()*((double)blocktoughness/5)<1) {
|
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
|
@ -73,7 +73,7 @@ public class Loot {
|
|||||||
enchantment_level = (int)(((Math.random()*5)+6)*((hardened)?HARDENED_ENCHANT_MULT:1));
|
enchantment_level = (int)(((Math.random()*5)+6)*((hardened)?HARDENED_ENCHANT_MULT:1));
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
enchantment_level = (int)(((Math.random()*9))*((hardened)?HARDENED_ENCHANT_MULT:1));
|
enchantment_level = (int)(((Math.random()*9)+1)*((hardened)?HARDENED_ENCHANT_MULT:1));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (enchantment_level>MAX_ENCHANT_LEVEL) {
|
if (enchantment_level>MAX_ENCHANT_LEVEL) {
|
||||||
@ -88,11 +88,11 @@ public class Loot {
|
|||||||
item.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, GetEnchantmentLevels(item.getType(),hardened));
|
item.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, GetEnchantmentLevels(item.getType(),hardened));
|
||||||
item.addUnsafeEnchantment(Enchantment.DIG_SPEED, GetEnchantmentLevels(item.getType(),hardened));
|
item.addUnsafeEnchantment(Enchantment.DIG_SPEED, GetEnchantmentLevels(item.getType(),hardened));
|
||||||
item.addUnsafeEnchantment(Enchantment.DURABILITY, GetEnchantmentLevels(item.getType(),hardened));
|
item.addUnsafeEnchantment(Enchantment.DURABILITY, GetEnchantmentLevels(item.getType(),hardened));
|
||||||
item.addUnsafeEnchantment(Enchantment.LOOT_BONUS_BLOCKS, GetEnchantmentLevels(item.getType(),hardened));
|
|
||||||
item.addUnsafeEnchantment(Enchantment.KNOCKBACK, 2);
|
item.addUnsafeEnchantment(Enchantment.KNOCKBACK, 2);
|
||||||
if (item.getType().toString().contains("HOE")) {item.addUnsafeEnchantment(Enchantment.KNOCKBACK, 10);}
|
if (item.getType().toString().contains("HOE")) {item.addUnsafeEnchantment(Enchantment.KNOCKBACK, 10);}
|
||||||
if (Math.random()<0.2*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.SILK_TOUCH, GetEnchantmentLevels(item.getType(),hardened));}
|
if (Math.random()<0.2*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.SILK_TOUCH, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
if (Math.random()<0.2*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.MENDING, GetEnchantmentLevels(item.getType(),hardened));}
|
if (Math.random()<0.001*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.MENDING, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
|
if (Math.random()<0.001*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.LOOT_BONUS_BLOCKS, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
} else
|
} else
|
||||||
if (item.getType()==Material.BOW) {
|
if (item.getType()==Material.BOW) {
|
||||||
item.addUnsafeEnchantment(Enchantment.ARROW_DAMAGE, GetEnchantmentLevels(item.getType(),hardened));
|
item.addUnsafeEnchantment(Enchantment.ARROW_DAMAGE, GetEnchantmentLevels(item.getType(),hardened));
|
||||||
@ -100,7 +100,7 @@ public class Loot {
|
|||||||
item.addUnsafeEnchantment(Enchantment.DURABILITY, GetEnchantmentLevels(item.getType(),hardened));
|
item.addUnsafeEnchantment(Enchantment.DURABILITY, GetEnchantmentLevels(item.getType(),hardened));
|
||||||
item.addUnsafeEnchantment(Enchantment.ARROW_KNOCKBACK, 2);
|
item.addUnsafeEnchantment(Enchantment.ARROW_KNOCKBACK, 2);
|
||||||
if (Math.random()<0.2*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.ARROW_INFINITE, GetEnchantmentLevels(item.getType(),hardened));}
|
if (Math.random()<0.2*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.ARROW_INFINITE, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
if (Math.random()<0.2*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.MENDING, GetEnchantmentLevels(item.getType(),hardened));}
|
if (Math.random()<0.001*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.MENDING, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
} else
|
} else
|
||||||
if (GenericFunctions.isWeapon(item)) {
|
if (GenericFunctions.isWeapon(item)) {
|
||||||
item.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, GetEnchantmentLevels(item.getType(),hardened));
|
item.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, GetEnchantmentLevels(item.getType(),hardened));
|
||||||
@ -108,9 +108,9 @@ public class Loot {
|
|||||||
item.addUnsafeEnchantment(Enchantment.DAMAGE_UNDEAD, GetEnchantmentLevels(item.getType(),hardened));
|
item.addUnsafeEnchantment(Enchantment.DAMAGE_UNDEAD, GetEnchantmentLevels(item.getType(),hardened));
|
||||||
item.addUnsafeEnchantment(Enchantment.DURABILITY, GetEnchantmentLevels(item.getType(),hardened));
|
item.addUnsafeEnchantment(Enchantment.DURABILITY, GetEnchantmentLevels(item.getType(),hardened));
|
||||||
item.addUnsafeEnchantment(Enchantment.FIRE_ASPECT, GetEnchantmentLevels(item.getType(),hardened));
|
item.addUnsafeEnchantment(Enchantment.FIRE_ASPECT, GetEnchantmentLevels(item.getType(),hardened));
|
||||||
item.addUnsafeEnchantment(Enchantment.LOOT_BONUS_MOBS, GetEnchantmentLevels(item.getType(),hardened));
|
|
||||||
item.addUnsafeEnchantment(Enchantment.KNOCKBACK, 1);
|
item.addUnsafeEnchantment(Enchantment.KNOCKBACK, 1);
|
||||||
if (Math.random()<0.2*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.MENDING, GetEnchantmentLevels(item.getType(),hardened));}
|
if (Math.random()<0.001*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.MENDING, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
|
if (Math.random()<0.001*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.LOOT_BONUS_MOBS, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
} else
|
} else
|
||||||
if (GenericFunctions.isArmor(item)) {
|
if (GenericFunctions.isArmor(item)) {
|
||||||
item.addUnsafeEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, GetEnchantmentLevels(item.getType(),hardened));
|
item.addUnsafeEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, GetEnchantmentLevels(item.getType(),hardened));
|
||||||
@ -118,13 +118,13 @@ public class Loot {
|
|||||||
if (Math.random()<0.5*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.PROTECTION_FALL, GetEnchantmentLevels(item.getType(),hardened));}
|
if (Math.random()<0.5*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.PROTECTION_FALL, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
if (Math.random()<0.5*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.PROTECTION_EXPLOSIONS, GetEnchantmentLevels(item.getType(),hardened));}
|
if (Math.random()<0.5*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.PROTECTION_EXPLOSIONS, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
if (Math.random()<0.5*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.PROTECTION_PROJECTILE, GetEnchantmentLevels(item.getType(),hardened));}
|
if (Math.random()<0.5*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.PROTECTION_PROJECTILE, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
if (Math.random()<0.5*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.DEPTH_STRIDER, GetEnchantmentLevels(item.getType(),hardened));}
|
if (Math.random()<0.2*HARDENED_ENCHANT_MULT && item.getType().toString().contains("BOOTS")) {item.addUnsafeEnchantment(Enchantment.DEPTH_STRIDER, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
if (Math.random()<0.5*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.WATER_WORKER, GetEnchantmentLevels(item.getType(),hardened));}
|
if (Math.random()<0.2*HARDENED_ENCHANT_MULT && item.getType().toString().contains("HELMET")) {item.addUnsafeEnchantment(Enchantment.WATER_WORKER, 1);}
|
||||||
if (Math.random()<0.5*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.OXYGEN, GetEnchantmentLevels(item.getType(),hardened));}
|
if (Math.random()<0.2*HARDENED_ENCHANT_MULT && item.getType().toString().contains("HELMET")) {item.addUnsafeEnchantment(Enchantment.OXYGEN, 3);}
|
||||||
if (Math.random()<0.2*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.FROST_WALKER, GetEnchantmentLevels(item.getType(),hardened));}
|
if (Math.random()<0.2*HARDENED_ENCHANT_MULT && item.getType().toString().contains("BOOTS")) {item.addUnsafeEnchantment(Enchantment.FROST_WALKER, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
if (Math.random()<0.08*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.THORNS, GetEnchantmentLevels(item.getType(),hardened));}
|
if (Math.random()<0.08*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.THORNS, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
item.addUnsafeEnchantment(Enchantment.KNOCKBACK, 1);
|
item.addUnsafeEnchantment(Enchantment.KNOCKBACK, 1);
|
||||||
if (Math.random()<0.2*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.MENDING, GetEnchantmentLevels(item.getType(),hardened));}
|
if (Math.random()<0.001*HARDENED_ENCHANT_MULT) {item.addUnsafeEnchantment(Enchantment.MENDING, GetEnchantmentLevels(item.getType(),hardened));}
|
||||||
} else
|
} else
|
||||||
if (item.getType()==Material.FISHING_ROD) {
|
if (item.getType()==Material.FISHING_ROD) {
|
||||||
item.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, GetEnchantmentLevels(item.getType(),hardened));
|
item.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, GetEnchantmentLevels(item.getType(),hardened));
|
||||||
|
@ -9,6 +9,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Random;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.LogRecord;
|
import java.util.logging.LogRecord;
|
||||||
|
|
||||||
@ -297,6 +298,50 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
},100);
|
},100);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable(){
|
||||||
|
public void run(){
|
||||||
|
//Control charge zombies..
|
||||||
|
for (int i=0;i<chargezombies.size();i++) {
|
||||||
|
ChargeZombie cz = chargezombies.get(i);
|
||||||
|
if (!cz.isAlive() || !cz.hasTarget() || cz.GetZombie().getLocation().getY()>32) {
|
||||||
|
//This has to be removed...
|
||||||
|
chargezombies.remove(i);
|
||||||
|
i--;
|
||||||
|
} else {
|
||||||
|
//This is fine! Clear away blocks.
|
||||||
|
Monster m = cz.GetZombie();
|
||||||
|
if (m.getTarget().getLocation().getY()>=m.getLocation().getY()+2 &&
|
||||||
|
Math.abs(m.getTarget().getLocation().getX()-m.getLocation().getX())<1 &&
|
||||||
|
Math.abs(m.getTarget().getLocation().getZ()-m.getLocation().getZ())<1) {
|
||||||
|
//This target is higher than we can reach... Let's pillar.
|
||||||
|
Random r = new Random();
|
||||||
|
r.setSeed(m.getUniqueId().getMostSignificantBits());
|
||||||
|
//Block type is chosen based on the seed. Will be cobblestone, dirt, or gravel.
|
||||||
|
if (m.getLocation().getBlock().getType()==Material.AIR &&
|
||||||
|
m.getLocation().add(0,-1,0).getBlock().getType()!=Material.AIR &&
|
||||||
|
!m.getLocation().add(0,-1,0).getBlock().isLiquid()) {
|
||||||
|
m.setVelocity(new Vector(0,0.5,0));
|
||||||
|
switch (r.nextInt(3)) {
|
||||||
|
case 0:{
|
||||||
|
m.getLocation().getBlock().setType(Material.DIRT);
|
||||||
|
m.getLocation().getWorld().playSound(m.getLocation(), Sound.BLOCK_GRAVEL_PLACE, 1.0f, 1.0f);
|
||||||
|
}break;
|
||||||
|
case 1:{
|
||||||
|
m.getLocation().getBlock().setType(Material.COBBLESTONE);
|
||||||
|
m.getLocation().getWorld().playSound(m.getLocation(), Sound.BLOCK_STONE_PLACE, 1.0f, 1.0f);
|
||||||
|
}break;
|
||||||
|
case 2:{
|
||||||
|
m.getLocation().getBlock().setType(Material.GRAVEL);
|
||||||
|
m.getLocation().getWorld().playSound(m.getLocation(), Sound.BLOCK_GRAVEL_PLACE, 1.0f, 1.0f);
|
||||||
|
}break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cz.BreakBlocksAroundArea(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}}, 5l, 5l);
|
||||||
|
|
||||||
//This is the constant timing method.
|
//This is the constant timing method.
|
||||||
getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable(){
|
getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable(){
|
||||||
public void run(){
|
public void run(){
|
||||||
@ -379,19 +424,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Control charge zombies..
|
|
||||||
for (int i=0;i<chargezombies.size();i++) {
|
|
||||||
ChargeZombie cz = chargezombies.get(i);
|
|
||||||
if (!cz.isAlive() || !cz.hasTarget() || cz.GetZombie().getLocation().getY()>32) {
|
|
||||||
//This has to be removed...
|
|
||||||
chargezombies.remove(i);
|
|
||||||
i--;
|
|
||||||
} else {
|
|
||||||
//This is fine! Clear away blocks.
|
|
||||||
cz.BreakBlocksAroundArea(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//See if each player needs to regenerate their health.
|
//See if each player needs to regenerate their health.
|
||||||
for (int i=0;i<Bukkit.getOnlinePlayers().size();i++) {
|
for (int i=0;i<Bukkit.getOnlinePlayers().size();i++) {
|
||||||
Player p = (Player)(Bukkit.getOnlinePlayers().toArray()[i]);
|
Player p = (Player)(Bukkit.getOnlinePlayers().toArray()[i]);
|
||||||
@ -3772,33 +3804,33 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
|
|
||||||
public void saveOurData(){
|
public void saveOurData(){
|
||||||
getConfig().set("SERVERTICK", getServerTickTime()); //Add to how many ticks we've used.
|
getConfig().set("SERVERTICK", getServerTickTime()); //Add to how many ticks we've used.
|
||||||
getConfig().set("DAYMULT", DAYMULT);
|
//getConfig().set("DAYMULT", DAYMULT);
|
||||||
getConfig().set("SERVERCHECKERTICKS", SERVERCHECKERTICKS);
|
getConfig().set("SERVERCHECKERTICKS", SERVERCHECKERTICKS);
|
||||||
getConfig().set("TERMINALTIME", TERMINALTIME);
|
//getConfig().set("TERMINALTIME", TERMINALTIME);
|
||||||
getConfig().set("DEATHPENALTY", DEATHPENALTY);
|
//getConfig().set("DEATHPENALTY", DEATHPENALTY);
|
||||||
getConfig().set("RECYCLECHANCE", RECYCLECHANCE);
|
//getConfig().set("RECYCLECHANCE", RECYCLECHANCE);
|
||||||
getConfig().set("RECYCLEDECAYAMT", RECYCLEDECAYAMT);
|
//getConfig().set("RECYCLEDECAYAMT", RECYCLEDECAYAMT);
|
||||||
getConfig().set("ITEMCUBEID", ITEMCUBEID);
|
getConfig().set("ITEMCUBEID", ITEMCUBEID);
|
||||||
getConfig().set("ARMOR/ARMOR_LEATHER_HP", ARMOR_LEATHER_HP);
|
//getConfig().set("ARMOR/ARMOR_LEATHER_HP", ARMOR_LEATHER_HP);
|
||||||
getConfig().set("ARMOR/ARMOR_IRON_HP", ARMOR_IRON_HP);
|
//getConfig().set("ARMOR/ARMOR_IRON_HP", ARMOR_IRON_HP);
|
||||||
getConfig().set("ARMOR/ARMOR_GOLD_HP", ARMOR_GOLD_HP);
|
//getConfig().set("ARMOR/ARMOR_GOLD_HP", ARMOR_GOLD_HP);
|
||||||
getConfig().set("ARMOR/ARMOR_DIAMOND_HP", ARMOR_DIAMOND_HP);
|
//getConfig().set("ARMOR/ARMOR_DIAMOND_HP", ARMOR_DIAMOND_HP);
|
||||||
getConfig().set("ARMOR/ARMOR_IRONBLOCK_HP", ARMOR_IRON2_HP);
|
//getConfig().set("ARMOR/ARMOR_IRONBLOCK_HP", ARMOR_IRON2_HP);
|
||||||
getConfig().set("ARMOR/ARMOR_GOLDBLOCK_HP", ARMOR_GOLD2_HP);
|
//getConfig().set("ARMOR/ARMOR_GOLDBLOCK_HP", ARMOR_GOLD2_HP);
|
||||||
getConfig().set("ARMOR/ARMOR_DIAMONDBLOCK_HP", ARMOR_DIAMOND2_HP);
|
//getConfig().set("ARMOR/ARMOR_DIAMONDBLOCK_HP", ARMOR_DIAMOND2_HP);
|
||||||
getConfig().set("HEALTH/HEALTH_REGENERATION_RATE", HEALTH_REGENERATION_RATE);
|
//getConfig().set("HEALTH/HEALTH_REGENERATION_RATE", HEALTH_REGENERATION_RATE);
|
||||||
getConfig().set("HEALTH/FOOD_HEAL_AMT", FOOD_HEAL_AMT);
|
//getConfig().set("HEALTH/FOOD_HEAL_AMT", FOOD_HEAL_AMT);
|
||||||
getConfig().set("ENEMY/ENEMY_DMG_MULT", ENEMY_DMG_MULT);
|
//getConfig().set("ENEMY/ENEMY_DMG_MULT", ENEMY_DMG_MULT);
|
||||||
getConfig().set("ENEMY/EXPLOSION_DMG_MULT", EXPLOSION_DMG_MULT);
|
//getConfig().set("ENEMY/EXPLOSION_DMG_MULT", EXPLOSION_DMG_MULT);
|
||||||
getConfig().set("ENEMY/HEADSHOT_ACC", HEADSHOT_ACC);
|
//getConfig().set("ENEMY/HEADSHOT_ACC", HEADSHOT_ACC);
|
||||||
getConfig().set("ITEM/RARE_DROP_RATE", RARE_DROP_RATE);
|
//getConfig().set("ITEM/RARE_DROP_RATE", RARE_DROP_RATE);
|
||||||
getConfig().set("ITEM/COMMON_DROP_RATE", COMMON_DROP_RATE);
|
//getConfig().set("ITEM/COMMON_DROP_RATE", COMMON_DROP_RATE);
|
||||||
getConfig().set("ITEM/LEGENDARY_DROP_RATE", LEGENDARY_DROP_RATE);
|
//getConfig().set("ITEM/LEGENDARY_DROP_RATE", LEGENDARY_DROP_RATE);
|
||||||
getConfig().set("PARTY_CHUNK_SIZE", PARTY_CHUNK_SIZE);
|
//getConfig().set("PARTY_CHUNK_SIZE", PARTY_CHUNK_SIZE);
|
||||||
getConfig().set("XP_CONVERSION_RATE", XP_CONVERSION_RATE);
|
//getConfig().set("XP_CONVERSION_RATE", XP_CONVERSION_RATE);
|
||||||
getConfig().set("WORLD_SHOP_ID", WORLD_SHOP_ID);
|
getConfig().set("WORLD_SHOP_ID", WORLD_SHOP_ID);
|
||||||
getConfig().set("LOGGING_LEVEL", LOGGING_LEVEL);
|
getConfig().set("LOGGING_LEVEL", LOGGING_LEVEL);
|
||||||
getConfig().set("ARTIFACT_RARITY", ARTIFACT_RARITY);
|
//getConfig().set("ARTIFACT_RARITY", ARTIFACT_RARITY);
|
||||||
getConfig().set("SERVER_TYPE", SERVER_TYPE.GetValue());
|
getConfig().set("SERVER_TYPE", SERVER_TYPE.GetValue());
|
||||||
//getConfig().set("MOTD", MOTD); //It makes no sense to save the MOTD as it will never be modified in-game.
|
//getConfig().set("MOTD", MOTD); //It makes no sense to save the MOTD as it will never be modified in-game.
|
||||||
saveConfig();
|
saveConfig();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user