diff --git a/platforms/fabric/build.gradle.kts b/platforms/fabric/build.gradle.kts index c414cee4e..38aafb791 100644 --- a/platforms/fabric/build.gradle.kts +++ b/platforms/fabric/build.gradle.kts @@ -33,7 +33,7 @@ dependencies { configure { accessWidener("src/main/resources/terra.accesswidener") - refmapName = "terra.refmap.json" + refmapName = "terra-refmap.json" } val remapped = tasks.register("remapShadedJar") { diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/entity/EntityMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/entity/EntityMixin.java index 334b033a2..88d6bfbb6 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/entity/EntityMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/entity/EntityMixin.java @@ -41,7 +41,7 @@ public abstract class EntityMixin { teleport(location.getX(), location.getY(), location.getZ()); } - public World getWorld() { + public World terra$getWorld() { return (World) world; } diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/item/ItemStackMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/item/ItemStackMixin.java index b6b8c3aee..db569bf3f 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/item/ItemStackMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/item/ItemStackMixin.java @@ -5,6 +5,7 @@ import com.dfsek.terra.api.platform.inventory.item.ItemMeta; import net.minecraft.item.ItemStack; import org.spongepowered.asm.mixin.Implements; import org.spongepowered.asm.mixin.Interface; +import org.spongepowered.asm.mixin.Intrinsic; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -20,6 +21,9 @@ public abstract class ItemStackMixin { @Shadow public abstract net.minecraft.item.Item getItem(); + @Shadow + public abstract boolean isDamageable(); + public int terra$getAmount() { return getCount(); } @@ -43,4 +47,9 @@ public abstract class ItemStackMixin { public Object terra$getHandle() { return this; } + + @Intrinsic + public boolean terra$isDamageable() { + return isDamageable(); + } } diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/meta/ItemStackDamageableMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/meta/ItemStackDamageableMixin.java index 2ec0f3cd3..0d3a2fd06 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/meta/ItemStackDamageableMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/inventory/meta/ItemStackDamageableMixin.java @@ -4,6 +4,7 @@ import com.dfsek.terra.api.platform.inventory.item.Damageable; import net.minecraft.item.ItemStack; import org.spongepowered.asm.mixin.Implements; import org.spongepowered.asm.mixin.Interface; +import org.spongepowered.asm.mixin.Intrinsic; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -13,7 +14,23 @@ public abstract class ItemStackDamageableMixin { @Shadow public abstract boolean isDamaged(); + @Shadow + public abstract int getDamage(); + + @Shadow + public abstract void setDamage(int damage); + public boolean terra$hasDamage() { return isDamaged(); } + + @Intrinsic + public void terra$setDamage(int damage) { + setDamage(damage); + } + + @Intrinsic + public int terra$getDamage() { + return getDamage(); + } } diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/world/ChunkRegionMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/world/ChunkRegionMixin.java index 984ec19b6..d87799f57 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/world/ChunkRegionMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/world/ChunkRegionMixin.java @@ -18,6 +18,7 @@ import net.minecraft.world.ServerWorldAccess; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Implements; import org.spongepowered.asm.mixin.Interface; +import org.spongepowered.asm.mixin.Intrinsic; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -28,6 +29,10 @@ public abstract class ChunkRegionMixin { @Final private ServerWorld world; + @Shadow + @Final + private long seed; + public int terra$getMaxHeight() { return ((ChunkRegion) (Object) this).getDimensionHeight(); } @@ -53,6 +58,11 @@ public abstract class ChunkRegionMixin { return (Entity) entity; } + @Intrinsic + public long terra$getSeed() { + return seed; + } + public int terra$getMinHeight() { return 0; } diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/world/ServerWorldMixin.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/world/ServerWorldMixin.java index fc1e3b5b6..15a5c8138 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/world/ServerWorldMixin.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/mixin/implementations/world/ServerWorldMixin.java @@ -16,11 +16,16 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.ServerWorldAccess; import org.spongepowered.asm.mixin.Implements; import org.spongepowered.asm.mixin.Interface; +import org.spongepowered.asm.mixin.Intrinsic; import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; @Mixin(ServerWorld.class) @Implements(@Interface(iface = World.class, prefix = "terra$", remap = Interface.Remap.NONE)) public abstract class ServerWorldMixin { + @Shadow + public abstract long getSeed(); + public int terra$getMaxHeight() { return ((ServerWorld) (Object) this).getDimensionHeight(); } @@ -44,6 +49,11 @@ public abstract class ServerWorldMixin { return (Entity) entity; } + @Intrinsic + public long terra$getSeed() { + return getSeed(); + } + public int terra$getMinHeight() { return 0; } diff --git a/platforms/forge/build.gradle.kts b/platforms/forge/build.gradle.kts index 1179ccd85..2bfb7ad0e 100644 --- a/platforms/forge/build.gradle.kts +++ b/platforms/forge/build.gradle.kts @@ -20,7 +20,7 @@ apply(plugin = "net.minecraftforge.gradle") apply(plugin = "org.spongepowered.mixin") configure { - add(sourceSets.main.get(), "terra.refmap.json") + add(sourceSets.main.get(), "terra-refmap.json") } plugins { diff --git a/platforms/forge/src/main/resources/terra.mixins.json b/platforms/forge/src/main/resources/terra.mixins.json index c363067da..c18783888 100644 --- a/platforms/forge/src/main/resources/terra.mixins.json +++ b/platforms/forge/src/main/resources/terra.mixins.json @@ -2,7 +2,7 @@ "required": true, "package": "com.dfsek.terra.forge.mixin", "compatibilityLevel": "JAVA_8", - "refmap": "terra.refmap.json", + "refmap": "terra-refmap.json", "mixins": [ ], "client": [