aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gtPlusPlus/core')
-rw-r--r--src/main/java/gtPlusPlus/core/handler/events/EnderDragonDeathHandler.java57
-rw-r--r--src/main/java/gtPlusPlus/core/util/reflect/ReflectionUtils.java12
2 files changed, 41 insertions, 28 deletions
diff --git a/src/main/java/gtPlusPlus/core/handler/events/EnderDragonDeathHandler.java b/src/main/java/gtPlusPlus/core/handler/events/EnderDragonDeathHandler.java
index 884f14386d..967a51fad6 100644
--- a/src/main/java/gtPlusPlus/core/handler/events/EnderDragonDeathHandler.java
+++ b/src/main/java/gtPlusPlus/core/handler/events/EnderDragonDeathHandler.java
@@ -13,47 +13,48 @@ public class EnderDragonDeathHandler {
private static final String mDragonClassName = "chylex.hee.entity.boss.EntityBossDragon";
private static final boolean mHEE;
private static final Class mHardcoreDragonClass;
-
+
+ private static final String mChaosDragonClassName = "com.brandon3055.draconicevolution.common.entity.EntityCustomDragon";
+ private static final boolean mDE;
+ private static final Class mChaoseDragonClass;
+
static {
mHEE = ReflectionUtils.doesClassExist(mDragonClassName);
mHardcoreDragonClass = (mHEE ? ReflectionUtils.getClass(mDragonClassName) : null);
+ mDE = ReflectionUtils.doesClassExist(mChaosDragonClassName);
+ mChaoseDragonClass = (mDE ? ReflectionUtils.getClass(mChaosDragonClassName) : null);
}
@SubscribeEvent
public void onEntityDrop(LivingDropsEvent event) {
-
- boolean aDidDrop = false;
+
int aCountTotal = 0;
-
- //HEE Dragon
- if (mHEE) {
- if (mHardcoreDragonClass != null) {
- if (mHardcoreDragonClass.isInstance(event.entityLiving)) {
- for (int y = 0; y < MathUtils.randInt(100, 250); y++) {
- int aAmount = MathUtils.randInt(5, 25);
- event.entityLiving.entityDropItem(ELEMENT.STANDALONE.DRAGON_METAL.getNugget(aAmount), MathUtils.randFloat(0, 1));
- aDidDrop = true;
- aCountTotal =+ aAmount;
- }
- }
+
+ if (mHEE && mHardcoreDragonClass != null && mHardcoreDragonClass.isInstance(event.entityLiving)) {
+ for (int y = 0; y < MathUtils.randInt(100, 250); y++) {
+ int aAmount = MathUtils.randInt(5, 25);
+ event.entityLiving.entityDropItem(ELEMENT.STANDALONE.DRAGON_METAL.getNugget(aAmount), MathUtils.randFloat(0, 1));
+ aCountTotal = +aAmount;
}
}
- //Vanilla Dragon or any other dragon that extends it
- else {
- if (event.entityLiving instanceof EntityDragon) {
- for (int y = 0; y < MathUtils.randInt(25, 50); y++) {
- int aAmount = MathUtils.randInt(1, 10);
- event.entityLiving.entityDropItem(ELEMENT.STANDALONE.DRAGON_METAL.getNugget(aAmount), MathUtils.randFloat(0, 1));
- aDidDrop = true;
- aCountTotal =+ aAmount;
- }
+ else if (mDE && mChaoseDragonClass != null && mChaoseDragonClass.isInstance(event.entityLiving)) {
+ for (int y = 0; y < MathUtils.randInt(100, 200); y++) {
+ int aAmount = MathUtils.randInt(1, 5);
+ event.entityLiving.entityDropItem(ELEMENT.STANDALONE.DRAGON_METAL.getIngot(aAmount), MathUtils.randFloat(0, 1));
+ aCountTotal = +aAmount;
}
}
-
- if (aDidDrop) {
- PlayerUtils.messageAllPlayers(aCountTotal+" Shards of Dragons Blood have crystalized into a metallic form.");
+ else if (event.entityLiving instanceof EntityDragon) {
+ for (int y = 0; y < MathUtils.randInt(25, 50); y++) {
+ int aAmount = MathUtils.randInt(1, 10);
+ event.entityLiving.entityDropItem(ELEMENT.STANDALONE.DRAGON_METAL.getNugget(aAmount), MathUtils.randFloat(0, 1));
+ aCountTotal = +aAmount;
+ }
+ }
+ if (aCountTotal > 0) {
+ PlayerUtils.messageAllPlayers(aCountTotal + " Shards of Dragons Blood have crystalized into a metallic form.");
}
-
+
}
}
diff --git a/src/main/java/gtPlusPlus/core/util/reflect/ReflectionUtils.java b/src/main/java/gtPlusPlus/core/util/reflect/ReflectionUtils.java
index 92804d72ec..6ccd19019a 100644
--- a/src/main/java/gtPlusPlus/core/util/reflect/ReflectionUtils.java
+++ b/src/main/java/gtPlusPlus/core/util/reflect/ReflectionUtils.java
@@ -1086,5 +1086,17 @@ public class ReflectionUtils {
return null;
}
+ public static Enum getEnum(Class<Enum> sgtbees, String name) {
+ if (sgtbees.isEnum()) {
+ Object[] aValues = sgtbees.getEnumConstants();
+ for (Object o : aValues) {
+ if (o.toString().toLowerCase().equals(name.toLowerCase())) {
+ return (Enum) o;
+ }
+ }
+ }
+ return null;
+ }
+
}