From 6d436a2c6a5d9b51070b8399c4fdb196603a8e82 Mon Sep 17 00:00:00 2001 From: Jakub <53441451+kuba6000@users.noreply.github.com> Date: Sun, 14 Aug 2022 15:19:13 +0200 Subject: Add "Mob Drops" NEI page + Extreme Extermination Chamber (#1) * First commit * Mixins * Merge the same items with diffrent damage * Faster random in NEI * More accuracy ? * Update ClientProxy.java * Renaming * Update buildscript * Use reserved MTE ID's * EEC work * Rework NEI page * Fix inaccurate chances * Basic equipment spawn * Add config options * Translations * Add infernal drops * Witchery fix * Forestry fixes * More fixes * Default blacklist * NEI sorting * Comment out testing deps * Clientsided check * Blood Magic support * LoaderReference * Check if peacefull is allowed * Add some XP output * Add recipe * Send Server config to Client * Add command to reload config * Translations * Process MT additions --- src/main/java/kubatech/mixin/Mixin.java | 42 +++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/main/java/kubatech/mixin/Mixin.java (limited to 'src/main/java/kubatech/mixin/Mixin.java') diff --git a/src/main/java/kubatech/mixin/Mixin.java b/src/main/java/kubatech/mixin/Mixin.java new file mode 100644 index 0000000000..49332457ca --- /dev/null +++ b/src/main/java/kubatech/mixin/Mixin.java @@ -0,0 +1,42 @@ +package kubatech.mixin; + +import static kubatech.mixin.TargetedMod.*; + +import cpw.mods.fml.relauncher.FMLLaunchHandler; +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; + +public enum Mixin { + // Minecraft + EnchantmentHelperMixin("minecraft.EnchantmentHelperMixin", VANILLA); + + public final String mixinClass; + public final List targetedMods; + private final Side side; + + Mixin(String mixinClass, Side side, TargetedMod... targetedMods) { + this.mixinClass = mixinClass; + this.targetedMods = Arrays.asList(targetedMods); + this.side = side; + } + + Mixin(String mixinClass, TargetedMod... targetedMods) { + this.mixinClass = mixinClass; + this.targetedMods = Arrays.asList(targetedMods); + this.side = Side.BOTH; + } + + public boolean shouldLoad(List loadedMods) { + return (side == Side.BOTH + || side == Side.SERVER && FMLLaunchHandler.side().isServer() + || side == Side.CLIENT && FMLLaunchHandler.side().isClient()) + && new HashSet<>(loadedMods).containsAll(targetedMods); + } +} + +enum Side { + BOTH, + CLIENT, + SERVER +} -- cgit