aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kubatech/loaders
diff options
context:
space:
mode:
authorJakub <53441451+kuba6000@users.noreply.github.com>2023-08-17 20:45:21 +0200
committerGitHub <noreply@github.com>2023-08-17 20:45:21 +0200
commit8aa519a116879298195bfe4206451ee24c855d2a (patch)
tree0a8703ad6c60758fcde9fd16fe54ac77fcd3eb5d /src/main/java/kubatech/loaders
parent4dfda5b4ae37352c3aeed2624d8f3de684ba9cfd (diff)
downloadGT5-Unofficial-8aa519a116879298195bfe4206451ee24c855d2a.tar.gz
GT5-Unofficial-8aa519a116879298195bfe4206451ee24c855d2a.tar.bz2
GT5-Unofficial-8aa519a116879298195bfe4206451ee24c855d2a.zip
Allow EEC to get drops that have requirements (e.g. skulls) (#92)
* Update dependencies.gradle * Update build.gradle * Use the new API * Update dependencies.gradle
Diffstat (limited to 'src/main/java/kubatech/loaders')
-rw-r--r--src/main/java/kubatech/loaders/MobHandlerLoader.java35
1 files changed, 30 insertions, 5 deletions
diff --git a/src/main/java/kubatech/loaders/MobHandlerLoader.java b/src/main/java/kubatech/loaders/MobHandlerLoader.java
index c56c397308..7089aa6f6e 100644
--- a/src/main/java/kubatech/loaders/MobHandlerLoader.java
+++ b/src/main/java/kubatech/loaders/MobHandlerLoader.java
@@ -46,6 +46,7 @@ import org.apache.logging.log4j.Logger;
import com.dreammaster.main.MainRegistry;
import com.dreammaster.modcustomdrops.CustomDrops;
+import com.kuba6000.mobsinfo.api.IChanceModifier;
import com.kuba6000.mobsinfo.api.MobDrop;
import com.kuba6000.mobsinfo.api.MobOverride;
import com.kuba6000.mobsinfo.api.MobRecipe;
@@ -106,8 +107,30 @@ public class MobHandlerLoader {
MTE.lEUt = mEUt;
MTE.mMaxProgresstime = Math.max(MOB_SPAWN_INTERVAL, (int) ((recipe.maxEntityHealth / attackDamage) * 10d));
ArrayList<ItemStack> stacks = new ArrayList<>(this.mOutputs.size());
+ this.entityCopy.setPosition(
+ MTE.getBaseMetaTileEntity()
+ .getXCoord(),
+ MTE.getBaseMetaTileEntity()
+ .getYCoord(),
+ MTE.getBaseMetaTileEntity()
+ .getZCoord());
for (MobDrop o : this.mOutputs) {
int chance = o.chance;
+
+ double dChance = (double) chance / 100d;
+ for (IChanceModifier chanceModifier : o.chanceModifiers) {
+ dChance = chanceModifier.apply(
+ dChance,
+ MTE.getBaseMetaTileEntity()
+ .getWorld(),
+ stacks,
+ MTE.EECPlayer,
+ this.entityCopy);
+ }
+
+ chance = (int) (dChance * 100d);
+ if (chance == 0) continue;
+
if (o.playerOnly) {
chance = (int) ((double) chance * Config.MobHandler.playerOnlyDropsModifier);
if (chance < 1) chance = 1;
@@ -199,13 +222,15 @@ public class MobHandlerLoader {
public void onPostMobRegistration(PostMobRegistrationEvent event) {
if (!event.drops.isEmpty() && event.recipe.isUsableInVial) {
ArrayList<MobDrop> drops = (ArrayList<MobDrop>) event.drops.clone();
- drops.removeIf(d -> d.chance == 0);
+ // drops.removeIf(d -> d.chance == 0);
if (!drops.isEmpty()) {
recipeMap.put(event.currentMob, new MobEECRecipe(drops, event.recipe));
- event.drops.stream()
- .filter(d -> d.chance == 0)
- .forEach(
- d -> d.additionalInfo.add(StatCollector.translateToLocal("kubatech.mobhandler.eec_disabled")));
+ /*
+ * event.drops.stream()
+ * .filter(d -> d.chance == 0)
+ * .forEach(
+ * d -> d.additionalInfo.add(StatCollector.translateToLocal("kubatech.mobhandler.eec_disabled")));
+ */
}
}
}