diff options
author | Jakub <53441451+kuba6000@users.noreply.github.com> | 2022-08-14 15:19:13 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-14 15:19:13 +0200 |
commit | 6d436a2c6a5d9b51070b8399c4fdb196603a8e82 (patch) | |
tree | 0ac08abe69626ad89e25eb9b0c7aadb7e5243dac /src/main/java/kubatech/mixin/mixins | |
parent | d8d8a462a25a29a9640f6c038ced50a570255e6e (diff) | |
download | GT5-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/mixins')
-rw-r--r-- | src/main/java/kubatech/mixin/mixins/minecraft/EnchantmentHelperMixin.java | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/main/java/kubatech/mixin/mixins/minecraft/EnchantmentHelperMixin.java b/src/main/java/kubatech/mixin/mixins/minecraft/EnchantmentHelperMixin.java new file mode 100644 index 0000000000..e07c0d335a --- /dev/null +++ b/src/main/java/kubatech/mixin/mixins/minecraft/EnchantmentHelperMixin.java @@ -0,0 +1,40 @@ +package kubatech.mixin.mixins.minecraft; + +import static kubatech.loaders.MobRecipeLoader.randomEnchantmentDetectedString; + +import java.util.Random; +import kubatech.api.utils.FastRandom; +import kubatech.loaders.MobRecipeLoader; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagInt; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.ModifyVariable; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +@SuppressWarnings("unused") +@Mixin(value = EnchantmentHelper.class) +public class EnchantmentHelperMixin { + + private static final Random rnd = new FastRandom(); + + @Inject(method = "addRandomEnchantment", at = @At("HEAD"), require = 1) + private static void addRandomEnchantmentDetector( + Random random, + ItemStack itemStack, + int enchantabilityLevel, + CallbackInfoReturnable<ItemStack> callbackInfoReturnable) { + if (MobRecipeLoader.isInGenerationProcess && random instanceof MobRecipeLoader.fakeRand) { + itemStack.setTagInfo(randomEnchantmentDetectedString, new NBTTagInt(enchantabilityLevel)); + } + } + + @ModifyVariable(method = "addRandomEnchantment", at = @At("HEAD"), ordinal = 0, argsOnly = true, require = 1) + private static Random addRandomEnchantmentModifier(Random random) { + if (!MobRecipeLoader.isInGenerationProcess) return random; + if (random instanceof MobRecipeLoader.fakeRand) return rnd; + return random; + } +} |