From c85ad9a0e8f7b04998cce0a3a1df10ab75301d14 Mon Sep 17 00:00:00 2001 From: kuba6000 Date: Thu, 15 Dec 2022 17:17:16 +0100 Subject: Enable drops from core mod --- src/main/java/kubatech/loaders/MobRecipeLoader.java | 5 +---- src/main/java/kubatech/nei/Mob_Handler.java | 10 +++++++--- 2 files changed, 8 insertions(+), 7 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/kubatech/loaders/MobRecipeLoader.java b/src/main/java/kubatech/loaders/MobRecipeLoader.java index dc9a19fb28..a338311a87 100644 --- a/src/main/java/kubatech/loaders/MobRecipeLoader.java +++ b/src/main/java/kubatech/loaders/MobRecipeLoader.java @@ -211,10 +211,6 @@ public class MobRecipeLoader { int maxdamagechance = 0; for (Iterator 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; } mMaxDamageChance = maxdamagechance; @@ -248,6 +244,7 @@ public class MobRecipeLoader { ArrayList stacks = new ArrayList<>(mOutputs.size()); for (MobDrop o : mOutputs) { int chance = o.chance; + if (o.playerOnly) chance /= 10; int amount = o.stack.stackSize; if (o.lootable && lootinglevel > 0) { chance += lootinglevel * 5000; diff --git a/src/main/java/kubatech/nei/Mob_Handler.java b/src/main/java/kubatech/nei/Mob_Handler.java index 3031b2ccf8..99ce9d8c89 100644 --- a/src/main/java/kubatech/nei/Mob_Handler.java +++ b/src/main/java/kubatech/nei/Mob_Handler.java @@ -91,6 +91,7 @@ public class Mob_Handler extends TemplateRecipeHandler { BOSS, LOOTABLE, PLAYER_ONLY, + EEC_CHANCE, ; final String key; @@ -501,10 +502,13 @@ public class Mob_Handler extends TemplateRecipeHandler { NBTTagList extratooltip = new NBTTagList(); if (chance != 10000) - extratooltip.appendTag(new NBTTagString( - EnumChatFormatting.RESET + CHANCE.get() + (chance / 100) + "." + (chance % 100) + "%")); + extratooltip.appendTag(new NBTTagString(EnumChatFormatting.RESET + CHANCE.get((double) chance / 100d))); if (lootable) extratooltip.appendTag(new NBTTagString(EnumChatFormatting.RESET + LOOTABLE.get())); - if (isPlayerOnly) extratooltip.appendTag(new NBTTagString(EnumChatFormatting.RESET + PLAYER_ONLY.get())); + if (isPlayerOnly) { + extratooltip.appendTag(new NBTTagString(EnumChatFormatting.RESET + PLAYER_ONLY.get())); + extratooltip.appendTag( + new NBTTagString(EnumChatFormatting.RESET + EEC_CHANCE.get((double) chance / 1_000d))); + } extratooltip.appendTag(new NBTTagString(EnumChatFormatting.RESET + AVERAGE_REMINDER.get())); NBTTagCompound itemtag = this.items[0].getTagCompound(); -- cgit From 04f401b1aa0188087d0096fae05f3b0e7743d32e Mon Sep 17 00:00:00 2001 From: kuba6000 Date: Thu, 15 Dec 2022 18:03:37 +0100 Subject: Fix --- .../java/kubatech/loaders/MobRecipeLoader.java | 25 +++++++--------------- 1 file changed, 8 insertions(+), 17 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/kubatech/loaders/MobRecipeLoader.java b/src/main/java/kubatech/loaders/MobRecipeLoader.java index a338311a87..72dc0f6c0b 100644 --- a/src/main/java/kubatech/loaders/MobRecipeLoader.java +++ b/src/main/java/kubatech/loaders/MobRecipeLoader.java @@ -209,10 +209,7 @@ public class MobRecipeLoader { mOutputs = (ArrayList) outputs.clone(); int maxdamagechance = 0; - for (Iterator iterator = mOutputs.iterator(); iterator.hasNext(); ) { - MobDrop o = iterator.next(); - 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)); @@ -222,14 +219,7 @@ public class MobRecipeLoader { public void refresh() { int maxdamagechance = 0; - for (Iterator 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; } @@ -244,7 +234,10 @@ public class MobRecipeLoader { ArrayList stacks = new ArrayList<>(mOutputs.size()); for (MobDrop o : mOutputs) { int chance = o.chance; - if (o.playerOnly) chance /= 10; + if (o.playerOnly) { + chance /= 10; + if (chance < 1) chance = 1; + } int amount = o.stack.stackSize; if (o.lootable && lootinglevel > 0) { chance += lootinglevel * 5000; @@ -1183,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(); @@ -1230,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(); -- cgit From 796836d4878ee14a88625bc52ca7ec0782a4dc06 Mon Sep 17 00:00:00 2001 From: kuba6000 Date: Thu, 15 Dec 2022 18:34:05 +0100 Subject: Add config --- src/main/java/kubatech/config/Config.java | 8 ++++++++ src/main/java/kubatech/loaders/MobRecipeLoader.java | 2 +- src/main/java/kubatech/nei/Mob_Handler.java | 4 ++-- 3 files changed, 11 insertions(+), 3 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/kubatech/config/Config.java b/src/main/java/kubatech/config/Config.java index da6bd4a16a..f16fc68ac1 100644 --- a/src/main/java/kubatech/config/Config.java +++ b/src/main/java/kubatech/config/Config.java @@ -63,6 +63,7 @@ public class Config { _CacheRegenerationTrigger.ModAdditionRemovalChange; public static boolean includeEmptyMobs = true; public static String[] mobBlacklist; + public static double playerOnlyDropsModifier = .1d; private static void load(Configuration configuration) { Category category = Category.MOB_HANDLER; @@ -114,6 +115,13 @@ public class Config { }, "These mobs will be skipped when generating recipe map") .getStringList(); + playerOnlyDropsModifier = configuration + .get( + category.get(), + "PlayerOnlyDropsModifier", + .1d, + "Hard player only loot (such as core mod drops) will be multiplied by this number") + .getDouble(); } } diff --git a/src/main/java/kubatech/loaders/MobRecipeLoader.java b/src/main/java/kubatech/loaders/MobRecipeLoader.java index 72dc0f6c0b..be5fa5af9e 100644 --- a/src/main/java/kubatech/loaders/MobRecipeLoader.java +++ b/src/main/java/kubatech/loaders/MobRecipeLoader.java @@ -235,7 +235,7 @@ public class MobRecipeLoader { for (MobDrop o : mOutputs) { int chance = o.chance; if (o.playerOnly) { - chance /= 10; + chance = (int) ((double) chance * Config.MobHandler.playerOnlyDropsModifier); if (chance < 1) chance = 1; } int amount = o.stack.stackSize; diff --git a/src/main/java/kubatech/nei/Mob_Handler.java b/src/main/java/kubatech/nei/Mob_Handler.java index 99ce9d8c89..a06be40182 100644 --- a/src/main/java/kubatech/nei/Mob_Handler.java +++ b/src/main/java/kubatech/nei/Mob_Handler.java @@ -506,8 +506,8 @@ public class Mob_Handler extends TemplateRecipeHandler { if (lootable) extratooltip.appendTag(new NBTTagString(EnumChatFormatting.RESET + LOOTABLE.get())); if (isPlayerOnly) { extratooltip.appendTag(new NBTTagString(EnumChatFormatting.RESET + PLAYER_ONLY.get())); - extratooltip.appendTag( - new NBTTagString(EnumChatFormatting.RESET + EEC_CHANCE.get((double) chance / 1_000d))); + extratooltip.appendTag(new NBTTagString(EnumChatFormatting.RESET + + EEC_CHANCE.get(((double) chance / 100d) * Config.MobHandler.playerOnlyDropsModifier))); } extratooltip.appendTag(new NBTTagString(EnumChatFormatting.RESET + AVERAGE_REMINDER.get())); -- cgit From 30a7579c99ca5ac74bae64a8e21e76907829a383 Mon Sep 17 00:00:00 2001 From: kuba6000 Date: Thu, 15 Dec 2022 18:41:28 +0100 Subject: Translate mobtype in EEC GUI --- .../multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/main/java') diff --git a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java index e8c6da86bf..9153e44f7b 100644 --- a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java +++ b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java @@ -779,7 +779,8 @@ public class GT_MetaTileEntity_ExtremeExterminationChamber if (!MobNameToRecipeMap.containsKey(mobType)) return invalid; - return new Text(mobType).color(Color.GREEN.dark(3)); + return new Text(StatCollector.translateToLocal("entity." + mobType + ".name")) + .color(Color.GREEN.dark(3)); } }) .setEnabled(isFixed)); -- cgit