|
1 | 1 | package net.earthcomputer.clientcommands.mixin; |
2 | 2 |
|
| 3 | +import com.google.common.collect.Iterators; |
3 | 4 | import com.google.common.collect.Lists; |
4 | 5 | import net.earthcomputer.multiconnect.api.MultiConnectAPI; |
5 | 6 | import net.earthcomputer.multiconnect.api.Protocols; |
| 7 | +import net.minecraft.enchantment.Enchantment; |
6 | 8 | import net.minecraft.enchantment.EnchantmentHelper; |
7 | 9 | import net.minecraft.enchantment.EnchantmentLevelEntry; |
8 | 10 | import net.minecraft.item.Item; |
9 | 11 | import net.minecraft.item.ItemStack; |
10 | 12 | import net.minecraft.util.collection.WeightedPicker; |
11 | 13 | import net.minecraft.util.math.MathHelper; |
| 14 | +import net.minecraft.util.registry.Registry; |
12 | 15 | import org.spongepowered.asm.mixin.Mixin; |
13 | 16 | import org.spongepowered.asm.mixin.injection.At; |
14 | 17 | import org.spongepowered.asm.mixin.injection.Inject; |
| 18 | +import org.spongepowered.asm.mixin.injection.ModifyVariable; |
15 | 19 | import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; |
16 | 20 |
|
| 21 | +import java.util.Iterator; |
17 | 22 | import java.util.List; |
18 | 23 | import java.util.Random; |
19 | 24 |
|
@@ -59,4 +64,9 @@ private static void getEnchantments1140(Random rand, ItemStack stack, int level, |
59 | 64 | } |
60 | 65 | } |
61 | 66 |
|
| 67 | + @ModifyVariable(method = "getPossibleEntries", ordinal = 0, at = @At(value = "STORE", ordinal = 0)) |
| 68 | + private static Iterator<Enchantment> filterServerUnknwonEnchantments(Iterator<Enchantment> itr) { |
| 69 | + return Iterators.filter(itr, enchantment -> MultiConnectAPI.instance().doesServerKnow(Registry.ENCHANTMENT, enchantment)); |
| 70 | + } |
| 71 | + |
62 | 72 | } |
0 commit comments