mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-10-26 05:50:39 +00:00
Tuning
This commit is contained in:
1 parent
8e3ef1b651
commit
197d2c2461
73 files changed
+4586
-424
No files matched your search
@@ -52,6 +52,11 @@ public final class ModdedRegistries implements PlatformRegistries {
|
||||
return generationRegistry.get();
|
||||
}
|
||||
|
||||
@Override
|
||||
public NativeBlockState decodeBlockState(String key) {
|
||||
return ModdedBlockResolution.BLOCKS.decode(key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public NativeBlockState block(String key) {
|
||||
return ModdedBlockResolution.BLOCKS.get(key);
|
||||
|
||||
+34
@@ -2,6 +2,8 @@ package art.arcane.iris.modded;
|
||||
|
||||
import art.arcane.volmlib.nativelib.minecraft26_2.modded.ModdedBlockState;
|
||||
import art.arcane.volmlib.nativelib.minecraft26_2.modded.NativeBlockResolver;
|
||||
import art.arcane.volmlib.nativelib.minecraft26_2.modded.NativeRegistryAccess;
|
||||
import art.arcane.iris.spi.PlatformGenerationRegistry;
|
||||
import art.arcane.volmlib.nativelib.minecraft26_2.modded.NativeStateMerger;
|
||||
import art.arcane.volmlib.nativelib.minecraft26_2.modded.NativeStateRotator;
|
||||
import art.arcane.volmlib.nativelib.terrain.NativeBlockState;
|
||||
@@ -14,6 +16,10 @@ import org.junit.Test;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.assertSame;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verifyNoInteractions;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
public class NativeStateOperationsTest {
|
||||
@BeforeClass
|
||||
@@ -22,6 +28,34 @@ public class NativeStateOperationsTest {
|
||||
Bootstrap.bootStrap();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void persistedLeafPropertiesBypassGenerationDefaults() {
|
||||
NativeBlockResolver.Policy policy = mock(NativeBlockResolver.Policy.class);
|
||||
NativeBlockResolver resolver = new NativeBlockResolver(policy);
|
||||
ModdedRegistries registries = new ModdedRegistries(mock(NativeRegistryAccess.class),
|
||||
() -> mock(PlatformGenerationRegistry.class));
|
||||
for (String key : new String[]{
|
||||
"minecraft:oak_leaves[distance=2,persistent=false,waterlogged=true]",
|
||||
"minecraft:oak_leaves[distance=6,persistent=true,waterlogged=false]",
|
||||
"minecraft:oak_stairs[facing=west,half=top,shape=inner_left,waterlogged=true]"}) {
|
||||
assertEquals(NativeBlockResolver.strictParse(key).key(), resolver.decode(key).key());
|
||||
assertEquals(NativeBlockResolver.strictParse(key).key(), registries.decodeBlockState(key).key());
|
||||
}
|
||||
verifyNoInteractions(policy);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void persistedCustomStateRetainsDeferredPlacementIdentity() {
|
||||
String key = "test:persisted_stairs[facing=west]";
|
||||
ModdedBlockState nativeState = NativeBlockResolver.strictParse("minecraft:oak_stairs[facing=west]");
|
||||
ModdedBlockState custom = nativeState.withDeferredPlacement(key);
|
||||
NativeBlockResolver.Policy policy = mock(NativeBlockResolver.Policy.class);
|
||||
when(policy.resolveCustomBlock(key)).thenReturn(custom);
|
||||
|
||||
assertSame(custom, new NativeBlockResolver(policy).decode(key));
|
||||
assertEquals(key, custom.deferredPlacementKey());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void rotationPreservesDeferredPlacementMetadata() {
|
||||
ModdedBlockState parsed = NativeBlockResolver.strictParse("minecraft:oak_stairs[facing=north]");
|
||||
|
||||
Reference in new issue
Block a user