fix loot table

This commit is contained in:
2025-11-13 19:32:56 +01:00
parent a6e9353ae2
commit 9ccce244fb
5 changed files with 26 additions and 10 deletions

View File

@@ -6,7 +6,7 @@ minecraft_version=1.21.10
yarn_mappings=1.21.10+build.2
loader_version=0.17.3
# Mod Properties
mod_version=1.6
mod_version=1.7
maven_group=com.kasetoatz
archives_base_name=SuperEnchants
# Dependencies

View File

@@ -65,7 +65,7 @@ public class Config
Map.entry(Identifier.of("minecraft:impaling"), 10),
Map.entry(Identifier.of("minecraft:loyalty"), 5),
Map.entry(Identifier.of("minecraft:riptide"), 5),
Map.entry(Identifier.of("minecraft:quick_charge"), 5),
Map.entry(Identifier.of("minecraft:quick_charge"), 3),
Map.entry(Identifier.of("minecraft:piercing"), 10)
));

View File

@@ -0,0 +1,20 @@
package com.kasetoatz.superenchants.mixin;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.screen.AnvilScreenHandler;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
import static com.kasetoatz.superenchants.util.Util.getCustomLevel;
@Mixin(AnvilScreenHandler.class)
public class AnvilScreenHandlerMixin
{
@Redirect(method="updateResult", at=@At(value="INVOKE", target="Lnet/minecraft/enchantment/Enchantment;getMaxLevel()I"))
public int getMaxLevel(Enchantment enchant)
{
int custom = getCustomLevel(enchant);
return (custom > 0) ? custom : enchant.getMaxLevel();
}
}

View File

@@ -51,13 +51,8 @@ public class EnchantmentMixin
@ModifyReturnValue(method="getMaxLevel", at=@At("RETURN"))
public int getMaxLevel(int original)
{
Enchantment enchantment = (Enchantment)(Object)this;
int level = getCustomLevel(enchantment);
if (level > 0)
{
return level;
}
return original;
int level = getCustomLevel((Enchantment)(Object)this);
return (CUSTOM_LEVELS_IN_LOOT_TABLE && level > 0) ? level : original;
}
@Unique

View File

@@ -4,9 +4,10 @@
"package": "com.kasetoatz.superenchants.mixin",
"compatibilityLevel": "JAVA_21",
"mixins": [
"ComponentHolderMixin",
"AnvilScreenHandlerMixin",
"BowItemMixin",
"ChangeItemDamageEnchantmentEffectMixin",
"ComponentHolderMixin",
"CrossbowItemMixin",
"EnchantmentMixin",
"MerchantEntityMixin",