aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kubatech/mixin/Mixin.java
diff options
context:
space:
mode:
authorJakub <53441451+kuba6000@users.noreply.github.com>2022-08-14 15:19:13 +0200
committerGitHub <noreply@github.com>2022-08-14 15:19:13 +0200
commit6d436a2c6a5d9b51070b8399c4fdb196603a8e82 (patch)
tree0ac08abe69626ad89e25eb9b0c7aadb7e5243dac /src/main/java/kubatech/mixin/Mixin.java
parentd8d8a462a25a29a9640f6c038ced50a570255e6e (diff)
downloadGT5-Unofficial-6d436a2c6a5d9b51070b8399c4fdb196603a8e82.tar.gz
GT5-Unofficial-6d436a2c6a5d9b51070b8399c4fdb196603a8e82.tar.bz2
GT5-Unofficial-6d436a2c6a5d9b51070b8399c4fdb196603a8e82.zip
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
Diffstat (limited to 'src/main/java/kubatech/mixin/Mixin.java')
-rw-r--r--src/main/java/kubatech/mixin/Mixin.java42
1 files changed, 42 insertions, 0 deletions
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<TargetedMod> 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<TargetedMod> 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
+}