From 5d1286092eac1545f819babbee27244504a212f0 Mon Sep 17 00:00:00 2001 From: Jakub <53441451+kuba6000@users.noreply.github.com> Date: Tue, 23 Aug 2022 00:17:48 +0200 Subject: Add Config to override mob drops + some fixes (#8) * Add overrides * GTNHCoreMod custom drops integration * Update buildscript * Bump * EEC blacklist * NEI info * Loops optimization * Warn when 0% loots are detected * Detect looting drops * No * Super rare drops * Keep the same naming * Crash * Fix meta * maybe * Run at least twice * Fix stupid TF Lich boss * Comments * Fix EEC blacklist --- .../java/kubatech/api/network/LoadConfigPacket.java | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'src/main/java/kubatech/api/network') diff --git a/src/main/java/kubatech/api/network/LoadConfigPacket.java b/src/main/java/kubatech/api/network/LoadConfigPacket.java index f38293642e..2199eb2db9 100644 --- a/src/main/java/kubatech/api/network/LoadConfigPacket.java +++ b/src/main/java/kubatech/api/network/LoadConfigPacket.java @@ -24,8 +24,10 @@ import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; import cpw.mods.fml.common.network.simpleimpl.MessageContext; import io.netty.buffer.ByteBuf; import java.nio.charset.StandardCharsets; +import java.util.HashMap; import java.util.HashSet; -import kubatech.Config; +import kubatech.config.Config; +import kubatech.config.OverridesConfig; import kubatech.kubatech; import kubatech.loaders.MobRecipeLoader; @@ -34,6 +36,7 @@ public class LoadConfigPacket implements IMessage { public static final LoadConfigPacket instance = new LoadConfigPacket(); public final HashSet mobsToLoad = new HashSet<>(); + public final HashMap mobsOverrides = new HashMap<>(); @Override public void fromBytes(ByteBuf buf) { @@ -46,6 +49,13 @@ public class LoadConfigPacket implements IMessage { buf.readBytes(sbytes); mobsToLoad.add(new String(sbytes, StandardCharsets.UTF_8)); } + int overridessize = buf.readInt(); + for (int i = 0; i < overridessize; i++) { + byte[] sbytes = new byte[buf.readInt()]; + buf.readBytes(sbytes); + mobsOverrides.put( + new String(sbytes, StandardCharsets.UTF_8), OverridesConfig.MobOverride.readFromByteBuf(buf)); + } } } @@ -60,6 +70,13 @@ public class LoadConfigPacket implements IMessage { buf.writeInt(sbytes.length); buf.writeBytes(sbytes); }); + buf.writeInt(mobsOverrides.size()); + mobsOverrides.forEach((k, v) -> { + byte[] sbytes = k.getBytes(StandardCharsets.UTF_8); + buf.writeInt(sbytes.length); + buf.writeBytes(sbytes); + v.writeToByteBuf(buf); + }); } } @@ -67,7 +84,7 @@ public class LoadConfigPacket implements IMessage { @Override public IMessage onMessage(LoadConfigPacket message, MessageContext ctx) { kubatech.info("Received Mob Handler config, parsing"); - MobRecipeLoader.processMobRecipeMap(message.mobsToLoad); + MobRecipeLoader.processMobRecipeMap(message.mobsToLoad, message.mobsOverrides); return null; } } -- cgit