fix getHandle overwrite conflicts and annotate getHandle methods as @Intrinsic.

This commit is contained in:
dfsek
2021-05-10 01:11:22 -07:00
parent 5376f7e22e
commit 37e441206a
18 changed files with 31 additions and 3 deletions

View File

@@ -3,11 +3,13 @@ package com.dfsek.terra.fabric.mixin.implementations;
import net.minecraft.world.biome.Biome;
import org.spongepowered.asm.mixin.Implements;
import org.spongepowered.asm.mixin.Interface;
import org.spongepowered.asm.mixin.Intrinsic;
import org.spongepowered.asm.mixin.Mixin;
@Mixin(Biome.class)
@Implements(@Interface(iface = com.dfsek.terra.api.platform.world.Biome.class, prefix = "terra$", remap = Interface.Remap.NONE))
public abstract class BiomeMixin {
@Intrinsic
public Object terra$getHandle() {
return this;
}

View File

@@ -3,11 +3,13 @@ package com.dfsek.terra.fabric.mixin.implementations;
import net.minecraft.world.gen.chunk.ChunkGenerator;
import org.spongepowered.asm.mixin.Implements;
import org.spongepowered.asm.mixin.Interface;
import org.spongepowered.asm.mixin.Intrinsic;
import org.spongepowered.asm.mixin.Mixin;
@Mixin(ChunkGenerator.class)
@Implements(@Interface(iface = com.dfsek.terra.api.platform.world.generator.ChunkGenerator.class, prefix = "terra$", remap = Interface.Remap.NONE))
public abstract class ChunkGeneratorMixin {
@Intrinsic
public Object terra$getHandle() {
return this;
}

View File

@@ -11,6 +11,7 @@ import net.minecraft.world.World;
import org.jetbrains.annotations.Nullable;
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;
@@ -29,6 +30,7 @@ public abstract class BlockEntityMixin {
@Shadow
public abstract boolean hasWorld();
@Intrinsic
public Object terra$getHandle() {
return this;
}

View File

@@ -8,6 +8,7 @@ import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks;
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;
@@ -17,6 +18,7 @@ public abstract class BlockMixin {
@Shadow
private BlockState defaultState;
@Intrinsic
public Object terra$getHandle() {
return this;
}

View File

@@ -6,6 +6,7 @@ import com.dfsek.terra.fabric.mixin.implementations.block.BlockEntityMixin;
import net.minecraft.block.entity.LootableContainerBlockEntity;
import org.spongepowered.asm.mixin.Implements;
import org.spongepowered.asm.mixin.Interface;
import org.spongepowered.asm.mixin.Intrinsic;
import org.spongepowered.asm.mixin.Mixin;
@Mixin(LootableContainerBlockEntity.class)
@@ -15,6 +16,7 @@ public abstract class LootableContainerBlockEntityMixin extends BlockEntityMixin
return (Inventory) this;
}
@Intrinsic
public Object terra$getHandle() {
return this;
}

View File

@@ -51,7 +51,5 @@ public abstract class ChunkRegionMixin {
((ChunkRegion) (Object) this).setBlockState(new BlockPos(x + (centerChunkX << 4), y, z + (centerChunkZ << 4)), ((FabricBlockData) blockData).getHandle(), 0);
}
public Object terra$getHandle() {
return this;
}
// getHandle already added in world/ChunkRegionMixin.
}

View File

@@ -12,6 +12,7 @@ import org.jetbrains.annotations.NotNull;
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;
@@ -47,6 +48,7 @@ public abstract class WorldChunkMixin {
((net.minecraft.world.chunk.Chunk) this).setBlockState(new BlockPos(x, y, z), ((FabricBlockData) blockData).getHandle(), false);
}
@Intrinsic
public Object terra$getHandle() {
return this;
}

View File

@@ -9,6 +9,7 @@ import net.minecraft.world.chunk.ProtoChunk;
import org.jetbrains.annotations.NotNull;
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;
@@ -26,6 +27,7 @@ public abstract class ProtoChunkMixin {
((net.minecraft.world.chunk.Chunk) this).setBlockState(new BlockPos(x, y, z), ((FabricBlockData) blockData).getHandle(), false);
}
@Intrinsic
public Object terra$getHandle() {
return this;
}

View File

@@ -9,6 +9,7 @@ import net.minecraft.text.Text;
import net.minecraft.util.math.BlockPos;
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;
@@ -29,6 +30,7 @@ public abstract class EntityMixin {
@Shadow
public abstract void sendSystemMessage(Text message, UUID senderUuid);
@Intrinsic
public Object terra$getHandle() {
return this;
}

View File

@@ -3,11 +3,13 @@ package com.dfsek.terra.fabric.mixin.implementations.entity;
import net.minecraft.entity.EntityType;
import org.spongepowered.asm.mixin.Implements;
import org.spongepowered.asm.mixin.Interface;
import org.spongepowered.asm.mixin.Intrinsic;
import org.spongepowered.asm.mixin.Mixin;
@Mixin(EntityType.class)
@Implements(@Interface(iface = com.dfsek.terra.api.platform.entity.EntityType.class, prefix = "terra$", remap = Interface.Remap.NONE))
public abstract class EntityTypeMixin {
@Intrinsic
public Object terra$getHandle() {
return this;
}

View File

@@ -6,6 +6,7 @@ import net.minecraft.text.LiteralText;
import net.minecraft.text.Text;
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;
@@ -19,6 +20,7 @@ public abstract class ServerCommandSourceMixin {
sendFeedback(new LiteralText(message), true);
}
@Intrinsic
public Object terra$getHandle() {
return this;
}

View File

@@ -6,11 +6,13 @@ import net.minecraft.block.entity.LockableContainerBlockEntity;
import net.minecraft.item.Items;
import org.spongepowered.asm.mixin.Implements;
import org.spongepowered.asm.mixin.Interface;
import org.spongepowered.asm.mixin.Intrinsic;
import org.spongepowered.asm.mixin.Mixin;
@Mixin(LockableContainerBlockEntity.class)
@Implements(@Interface(iface = Inventory.class, prefix = "terra$", remap = Interface.Remap.NONE))
public class LockableContainerBlockEntityMixin {
@Intrinsic
public Object terra$getHandle() {
return this;
}

View File

@@ -4,6 +4,7 @@ import com.dfsek.terra.api.platform.inventory.ItemStack;
import net.minecraft.item.Item;
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,6 +14,7 @@ public abstract class ItemMixin {
@Shadow
public abstract int getMaxDamage();
@Intrinsic
public Object terra$getHandle() {
return this;
}

View File

@@ -50,6 +50,7 @@ public abstract class ItemStackMixin {
setTag(((ItemStack) (Object) meta).getTag());
}
@Intrinsic
public Object terra$getHandle() {
return this;
}

View File

@@ -5,6 +5,7 @@ import net.minecraft.enchantment.Enchantment;
import net.minecraft.util.registry.Registry;
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;
@@ -19,6 +20,7 @@ public abstract class EnchantmentMixin {
@Shadow
public abstract boolean canCombine(Enchantment other);
@Intrinsic
public Object terra$getHandle() {
return this;
}

View File

@@ -28,6 +28,7 @@ public abstract class ItemStackMetaMixin {
@Shadow
public abstract void addEnchantment(net.minecraft.enchantment.Enchantment enchantment, int level);
@Intrinsic
public Object terra$getHandle() {
return this;
}

View File

@@ -67,6 +67,7 @@ public abstract class ChunkRegionMixin {
return 0;
}
@Intrinsic
public Object terra$getHandle() {
return this;
}

View File

@@ -58,6 +58,7 @@ public abstract class ServerWorldMixin {
return 0;
}
@Intrinsic
public Object terra$getHandle() {
return this;
}