diff options
| author | Martin Robertz <dream-master@gmx.net> | 2022-12-15 20:45:27 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-15 20:45:27 +0100 |
| commit | 576ac277600ec7b1f04ac80c6523d3c262f9b4ca (patch) | |
| tree | 11fd6e10d66872adeb3a69d1fe071d65b92c1879 /src/main/java/kubatech/loaders | |
| parent | 4644de0818c1e2431039446a6d3285609e7bfaea (diff) | |
| parent | 30a7579c99ca5ac74bae64a8e21e76907829a383 (diff) | |
| download | GT5-Unofficial-576ac277600ec7b1f04ac80c6523d3c262f9b4ca.tar.gz GT5-Unofficial-576ac277600ec7b1f04ac80c6523d3c262f9b4ca.tar.bz2 GT5-Unofficial-576ac277600ec7b1f04ac80c6523d3c262f9b4ca.zip | |
Merge pull request #36 from GTNewHorizons/Gallium-for-everyone
Enable drops from core mod in EEC
Diffstat (limited to 'src/main/java/kubatech/loaders')
| -rw-r--r-- | src/main/java/kubatech/loaders/MobRecipeLoader.java | 28 |
1 files changed, 8 insertions, 20 deletions
diff --git a/src/main/java/kubatech/loaders/MobRecipeLoader.java b/src/main/java/kubatech/loaders/MobRecipeLoader.java index dc9a19fb28..be5fa5af9e 100644 --- a/src/main/java/kubatech/loaders/MobRecipeLoader.java +++ b/src/main/java/kubatech/loaders/MobRecipeLoader.java @@ -209,14 +209,7 @@ public class MobRecipeLoader { mOutputs = (ArrayList<MobDrop>) outputs.clone(); int maxdamagechance = 0; - for (Iterator<MobDrop> iterator = mOutputs.iterator(); iterator.hasNext(); ) { - MobDrop o = iterator.next(); - if (o.playerOnly) { - iterator.remove(); - continue; - } - if (o.damages != null) for (int v : o.damages.values()) maxdamagechance += v; - } + for (MobDrop o : mOutputs) if (o.damages != null) for (int v : o.damages.values()) maxdamagechance += v; mMaxDamageChance = maxdamagechance; maxEntityHealth = e.getMaxHealth(); mDuration = Math.max(MOB_SPAWN_INTERVAL, (int) ((maxEntityHealth / DIAMOND_SPIKES_DAMAGE) * 10d)); @@ -226,14 +219,7 @@ public class MobRecipeLoader { public void refresh() { int maxdamagechance = 0; - for (Iterator<MobDrop> iterator = mOutputs.iterator(); iterator.hasNext(); ) { - MobDrop o = iterator.next(); - if (o.playerOnly) { - iterator.remove(); - continue; - } - if (o.damages != null) for (int v : o.damages.values()) maxdamagechance += v; - } + for (MobDrop o : mOutputs) if (o.damages != null) for (int v : o.damages.values()) maxdamagechance += v; mMaxDamageChance = maxdamagechance; } @@ -248,6 +234,10 @@ public class MobRecipeLoader { ArrayList<ItemStack> stacks = new ArrayList<>(mOutputs.size()); for (MobDrop o : mOutputs) { int chance = o.chance; + if (o.playerOnly) { + chance = (int) ((double) chance * Config.MobHandler.playerOnlyDropsModifier); + if (chance < 1) chance = 1; + } int amount = o.stack.stackSize; if (o.lootable && lootinglevel > 0) { chance += lootinglevel * 5000; @@ -1186,8 +1176,7 @@ public class MobRecipeLoader { recipe.mOutputs.removeIf(removal::isMatching); } drops.addAll(override.additions); - recipe.mOutputs.addAll( - override.additions.stream().filter(d -> !d.playerOnly).collect(Collectors.toList())); + recipe.mOutputs.addAll(override.additions); LoadConfigPacket.instance.mobsOverrides.put(k, override); } recipe.refresh(); @@ -1233,8 +1222,7 @@ public class MobRecipeLoader { recipe.mOutputs.removeIf(removal::isMatching); } drops.addAll(override.additions); - recipe.mOutputs.addAll( - override.additions.stream().filter(d -> !d.playerOnly).collect(Collectors.toList())); + recipe.mOutputs.addAll(override.additions); drops.sort(Comparator.comparing(d -> d.type)); // Fix GUI } recipe.refresh(); |
