>Essences now drop in the Overworld while Cores drop in the Nether from
basic monsters.
This commit is contained in:
parent
37dbd8b417
commit
22e31e2b8c
Binary file not shown.
@ -2257,7 +2257,8 @@ public class GenericFunctions {
|
|||||||
((Guardian)m).isElder()) ||
|
((Guardian)m).isElder()) ||
|
||||||
m.getType()==EntityType.ENDER_DRAGON ||
|
m.getType()==EntityType.ENDER_DRAGON ||
|
||||||
m.getType()==EntityType.WITHER ||
|
m.getType()==EntityType.WITHER ||
|
||||||
LivingEntityStructure.getLivingEntityStructure(m).getLeader()) {
|
LivingEntityStructure.getLivingEntityStructure(m).getLeader() ||
|
||||||
|
LivingEntityStructure.getLivingEntityStructure(m).getElite()) {
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
|
@ -5,6 +5,7 @@ import java.util.List;
|
|||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.enchantments.Enchantment;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
import org.bukkit.entity.Monster;
|
import org.bukkit.entity.Monster;
|
||||||
@ -14,6 +15,7 @@ import org.bukkit.inventory.meta.SkullMeta;
|
|||||||
|
|
||||||
import aPlugin.API.Chests;
|
import aPlugin.API.Chests;
|
||||||
import net.md_5.bungee.api.ChatColor;
|
import net.md_5.bungee.api.ChatColor;
|
||||||
|
import sig.plugin.TwosideKeeper.Artifact;
|
||||||
import sig.plugin.TwosideKeeper.CustomDamage;
|
import sig.plugin.TwosideKeeper.CustomDamage;
|
||||||
import sig.plugin.TwosideKeeper.MonsterController;
|
import sig.plugin.TwosideKeeper.MonsterController;
|
||||||
import sig.plugin.TwosideKeeper.TwosideKeeper;
|
import sig.plugin.TwosideKeeper.TwosideKeeper;
|
||||||
@ -145,6 +147,49 @@ public enum LivingEntityDifficulty {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
TwosideKeeper.log("Adding item "+goodie, 2);*/ //LEGACY CODE.
|
TwosideKeeper.log("Adding item "+goodie, 2);*/ //LEGACY CODE.
|
||||||
|
if (damager.getWorld().getName().equalsIgnoreCase("world")) {
|
||||||
|
if (Artifact.isArtifact(goodie) && goodie.getType()==Material.MAGMA_CREAM) {
|
||||||
|
//This is a core, convert to essence.
|
||||||
|
switch (goodie.getEnchantmentLevel(Enchantment.LUCK)) {
|
||||||
|
case 1:{
|
||||||
|
goodie = Artifact.createArtifactItem(ArtifactItem.ARTIFACT_ESSENCE,goodie.getAmount());
|
||||||
|
}break;
|
||||||
|
case 2:{
|
||||||
|
goodie = Artifact.createArtifactItem(ArtifactItem.ANCIENT_ESSENCE,goodie.getAmount());
|
||||||
|
}break;
|
||||||
|
case 3:{
|
||||||
|
goodie = Artifact.createArtifactItem(ArtifactItem.LOST_ESSENCE,goodie.getAmount());
|
||||||
|
}break;
|
||||||
|
case 4:{
|
||||||
|
goodie = Artifact.createArtifactItem(ArtifactItem.DIVINE_ESSENCE,goodie.getAmount());
|
||||||
|
}break;
|
||||||
|
default:{
|
||||||
|
goodie = Artifact.createArtifactItem(ArtifactItem.ARTIFACT_ESSENCE,goodie.getAmount());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (Artifact.isArtifact(goodie) && goodie.getType()==Material.CLAY_BALL) {
|
||||||
|
//This is a core, convert to essence.
|
||||||
|
switch (goodie.getEnchantmentLevel(Enchantment.LUCK)) {
|
||||||
|
case 1:{
|
||||||
|
goodie = Artifact.createArtifactItem(ArtifactItem.ARTIFACT_CORE,goodie.getAmount());
|
||||||
|
}break;
|
||||||
|
case 2:{
|
||||||
|
goodie = Artifact.createArtifactItem(ArtifactItem.ANCIENT_CORE,goodie.getAmount());
|
||||||
|
}break;
|
||||||
|
case 3:{
|
||||||
|
goodie = Artifact.createArtifactItem(ArtifactItem.LOST_CORE,goodie.getAmount());
|
||||||
|
}break;
|
||||||
|
case 4:{
|
||||||
|
goodie = Artifact.createArtifactItem(ArtifactItem.DIVINE_CORE,goodie.getAmount());
|
||||||
|
}break;
|
||||||
|
default:{
|
||||||
|
goodie = Artifact.createArtifactItem(ArtifactItem.ARTIFACT_CORE,goodie.getAmount());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
droplist.add(goodie);
|
droplist.add(goodie);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5883,16 +5883,17 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
if (ev.getDamage(DamageModifier.BASE)>=CUSTOM_DAMAGE_IDENTIFIER) {
|
if (ev.getDamage(DamageModifier.BASE)>=CUSTOM_DAMAGE_IDENTIFIER) {
|
||||||
log("BASE damage: "+ev.getDamage(DamageModifier.BASE)+"-"+CUSTOM_DAMAGE_IDENTIFIER,5);
|
log("BASE damage: "+ev.getDamage(DamageModifier.BASE)+"-"+CUSTOM_DAMAGE_IDENTIFIER,5);
|
||||||
double dmgdealt = ev.getDamage(DamageModifier.BASE)-CUSTOM_DAMAGE_IDENTIFIER;
|
double dmgdealt = ev.getDamage(DamageModifier.BASE)-CUSTOM_DAMAGE_IDENTIFIER;
|
||||||
CustomDamage.setupTrueDamage(ev);
|
|
||||||
ev.setDamage(DamageModifier.BASE, dmgdealt);
|
|
||||||
log("BASE damage: "+ev.getDamage(DamageModifier.BASE),5);
|
|
||||||
if (ev.getEntity() instanceof ArmorStand) {
|
if (ev.getEntity() instanceof ArmorStand) {
|
||||||
ArmorStand as = (ArmorStand)ev.getEntity();
|
ArmorStand as = (ArmorStand)ev.getEntity();
|
||||||
if (as.isVisible() &&
|
if (as.isVisible() &&
|
||||||
!as.isInvulnerable()) {
|
!as.isInvulnerable()) {
|
||||||
as.setHealth(Math.max(as.getHealth()-dmgdealt, 0));
|
dmgdealt=0.0001;
|
||||||
|
GenericFunctions.removeNoDamageTick(as, ev.getDamager());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
CustomDamage.setupTrueDamage(ev);
|
||||||
|
ev.setDamage(DamageModifier.BASE, dmgdealt);
|
||||||
|
log("BASE damage: "+ev.getDamage(DamageModifier.BASE),5);
|
||||||
//Only a player can deal custom damage.
|
//Only a player can deal custom damage.
|
||||||
LivingEntity l = CustomDamage.getDamagerEntity(ev.getDamager());
|
LivingEntity l = CustomDamage.getDamagerEntity(ev.getDamager());
|
||||||
if (l instanceof Player) {
|
if (l instanceof Player) {
|
||||||
@ -6416,7 +6417,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
isBoss=GenericFunctions.isBossMonster(m);
|
isBoss=GenericFunctions.isBossMonster(m);
|
||||||
isElite=GenericFunctions.isEliteMonster(m);
|
isElite=GenericFunctions.isEliteMonster(m);
|
||||||
|
|
||||||
if (killedByPlayer && GenericFunctions.isCoreMonster(m) && Math.random()<RARE_DROP_RATE*dropmult*ARTIFACT_RARITY) {
|
if (killedByPlayer && GenericFunctions.isBossMonster(m) && Math.random()<RARE_DROP_RATE*dropmult*ARTIFACT_RARITY) {
|
||||||
switch ((int)(Math.random()*4)) {
|
switch ((int)(Math.random()*4)) {
|
||||||
case 0:{
|
case 0:{
|
||||||
droplist.add(Artifact.createArtifactItem(ArtifactItem.LOST_CORE));
|
droplist.add(Artifact.createArtifactItem(ArtifactItem.LOST_CORE));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user