Skip to content

Commit 8207656

Browse files
committed
- fixes enchanting bugs
1 parent 21d5d54 commit 8207656

File tree

4 files changed

+25
-6
lines changed

4 files changed

+25
-6
lines changed

CHANGELOG.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1-
## v2.0.2 (1.21)
2-
- fixed forge server crash
1+
## v2.0.3 (1.21)
2+
- improved stat preview more
3+
- fixed bugs related enchanting and to twin blades enchanting

common/src/main/java/smartin/miapi/mixin/EnchantmentMixin.java

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
package smartin.miapi.mixin;
22

33
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
4+
import net.minecraft.core.Holder;
5+
import net.minecraft.core.registries.Registries;
46
import net.minecraft.world.item.ItemStack;
57
import net.minecraft.world.item.enchantment.Enchantment;
68
import org.spongepowered.asm.mixin.Mixin;
79
import org.spongepowered.asm.mixin.injection.At;
810
import smartin.miapi.item.modular.ModularItem;
11+
import smartin.miapi.modules.ItemModule;
12+
import smartin.miapi.modules.ModuleInstance;
13+
import smartin.miapi.modules.properties.enchanment.AllowedEnchantments;
914

1015
@Mixin(Enchantment.class)
1116
public abstract class EnchantmentMixin {
@@ -23,7 +28,13 @@ public abstract class EnchantmentMixin {
2328
private boolean miapi$adjustSupportedItem(boolean original, ItemStack itemStack) {
2429
if (ModularItem.isModularItem(itemStack)) {
2530
Enchantment enchantment = (Enchantment) (Object) (this);
26-
//return AllowedEnchantments.isAllowed(itemStack, enchantment, original);
31+
ModuleInstance moduleInstance = ItemModule.getModules(itemStack);
32+
if (moduleInstance != null && moduleInstance.registryAccess != null) {
33+
Holder<Enchantment> holder = moduleInstance.registryAccess.registry(Registries.ENCHANTMENT).get().wrapAsHolder(enchantment);
34+
if(holder!=null){
35+
return AllowedEnchantments.isAllowed(itemStack, holder, original);
36+
}
37+
}
2738
}
2839
return original;
2940
}
@@ -32,7 +43,13 @@ public abstract class EnchantmentMixin {
3243
private boolean miapi$adjustcanEnchant(boolean original, ItemStack itemStack) {
3344
if (ModularItem.isModularItem(itemStack)) {
3445
Enchantment enchantment = (Enchantment) (Object) (this);
35-
//return AllowedEnchantments.isAllowed(itemStack, enchantment, original);
46+
ModuleInstance moduleInstance = ItemModule.getModules(itemStack);
47+
if (moduleInstance != null && moduleInstance.registryAccess != null) {
48+
Holder<Enchantment> holder = moduleInstance.registryAccess.registry(Registries.ENCHANTMENT).get().wrapAsHolder(enchantment);
49+
if(holder!=null){
50+
return AllowedEnchantments.isAllowed(itemStack, holder, original);
51+
}
52+
}
3653
}
3754
return original;
3855
}

common/src/main/resources/data/c/tags/items/swords.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
"miapi:modular_longsword",
1414
"miapi:modular_trident",
1515
"miapi:modular_scythe",
16-
"miapi:modular_sickle"
16+
"miapi:modular_sickle",
17+
"miapi:twin_blade"
1718
]
1819
}

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ org.gradle.parallel=false
44
minecraft_version=1.21
55

66
archives_base_name=Truly-Modular-miapi
7-
mod_version=2.0.2
7+
mod_version=2.0.3
88
maven_group=smartin
99
mod_id=miapi
1010
credits=KawataroTB, Nytifx, Ace, Beniven, Repeat, RPGLordLight and others

0 commit comments

Comments
 (0)