package com.example; import java.util.function.BiConsumer; import java.util.function.Consumer; import net.minecraft.core.BlockPos; import net.minecraft.core.registries.Registries; import net.minecraft.gametest.framework.GameTestHelper; import net.minecraft.gametest.framework.TestFunctionLoader; import net.minecraft.resources.Identifier; import net.minecraft.resources.ResourceKey; public class BugTest extends TestFunctionLoader { public static final ResourceKey> TEST_KEY = ResourceKey.create(Registries.TEST_FUNCTION, Identifier.withDefaultNamespace("relative_pos_test")); @Override public void load(BiConsumer>, Consumer> register) { register.accept(TEST_KEY, helper -> { BlockPos originalRelativePos = new BlockPos(1, 2, 3); // Translate local coordinate -> absolute world coordinate -> local coordinate BlockPos absolutePos = helper.absolutePos(originalRelativePos); BlockPos convertedRelativePos = helper.relativePos(absolutePos); // Assert that the original coordinate matches the converted coordinate if (!originalRelativePos.equals(convertedRelativePos)) { helper.fail( "Coordinate mismatch. Expected: " + originalRelativePos + ", but got: " + convertedRelativePos); } else { helper.succeed(); } }); } }