Terrestria

Terrestria

2M Downloads

Incomptability with Paradise Lost.

Baconbacon123 opened this issue ยท 3 comments

commented

Fails to launch when used with https://github.com/devs-immortal/Paradise-Lost. This is the error message:
image

commented

Yes, definitely. Terraform API does this:

@Mixin(CropBlock.class)
public class MixinCropBlock {
	@Redirect(method = "Lnet/minecraft/block/CropBlock;getAvailableMoisture(Lnet/minecraft/block/Block;Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;)F", at = @At(value = "INVOKE", target = "Lnet/minecraft/block/BlockState;isOf(Lnet/minecraft/block/Block;)Z"))
	private static boolean onGetAvailableMoisture(BlockState state, Block block) {
		return state.isOf(block) || (block == Blocks.FARMLAND && state.isIn(TerraformDirtBlockTags.FARMLAND));
	}
}
commented

Paradise Lost uses MoreTags and MoreTags does this:

@Mixin(CropBlock.class)
public abstract class CropBlockMixin {
    @Redirect(
        method = "getAvailableMoisture",
        at = @At(
            value = "INVOKE",
            target = "Lnet/minecraft/block/BlockState;isOf(Lnet/minecraft/block/Block;)Z"
        ),
        slice = @Slice(
            from = @At("HEAD"),
            to = @At(
                value = "INVOKE",
                target = "Lnet/minecraft/block/BlockState;get(Lnet/minecraft/state/property/Property;)Ljava/lang/Comparable;"
            )
        )
    )
    private static boolean isBlockFarmland(BlockState blockState, Block block) {
        return blockState.isIn(MoreBlockTags.FARMLAND);
    }

This is probably actually a conflict with Terraform API.

commented

Resolved in our 1.19.4 versions, in the sense it will no longer crash. If Paradise Lost's mixin is not compatible with ours, Terrestria's Andisol Farmland may fail to work correctly when both mods are loaded.