>Essences now drop in the Overworld while Cores drop in the Nether from

basic monsters.
testdev
sigonasr2 8 years ago
parent 37dbd8b417
commit 22e31e2b8c
  1. BIN
      TwosideKeeper.jar
  2. 3
      src/sig/plugin/TwosideKeeper/HelperStructures/Common/GenericFunctions.java
  3. 45
      src/sig/plugin/TwosideKeeper/HelperStructures/LivingEntityDifficulty.java
  4. 11
      src/sig/plugin/TwosideKeeper/TwosideKeeper.java

Binary file not shown.

@ -2257,7 +2257,8 @@ public class GenericFunctions {
((Guardian)m).isElder()) ||
m.getType()==EntityType.ENDER_DRAGON ||
m.getType()==EntityType.WITHER ||
LivingEntityStructure.getLivingEntityStructure(m).getLeader()) {
LivingEntityStructure.getLivingEntityStructure(m).getLeader() ||
LivingEntityStructure.getLivingEntityStructure(m).getElite()) {
return true;
} else {
return false;

@ -5,6 +5,7 @@ import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Monster;
@ -14,6 +15,7 @@ import org.bukkit.inventory.meta.SkullMeta;
import aPlugin.API.Chests;
import net.md_5.bungee.api.ChatColor;
import sig.plugin.TwosideKeeper.Artifact;
import sig.plugin.TwosideKeeper.CustomDamage;
import sig.plugin.TwosideKeeper.MonsterController;
import sig.plugin.TwosideKeeper.TwosideKeeper;
@ -145,6 +147,49 @@ public enum LivingEntityDifficulty {
}
}
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);
}

@ -5883,16 +5883,17 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
if (ev.getDamage(DamageModifier.BASE)>=CUSTOM_DAMAGE_IDENTIFIER) {
log("BASE damage: "+ev.getDamage(DamageModifier.BASE)+"-"+CUSTOM_DAMAGE_IDENTIFIER,5);
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) {
ArmorStand as = (ArmorStand)ev.getEntity();
if (as.isVisible() &&
!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.
LivingEntity l = CustomDamage.getDamagerEntity(ev.getDamager());
if (l instanceof Player) {
@ -6416,7 +6417,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
isBoss=GenericFunctions.isBossMonster(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)) {
case 0:{
droplist.add(Artifact.createArtifactItem(ArtifactItem.LOST_CORE));

Loading…
Cancel
Save