Skip to content

Commit d52e646

Browse files
committed
Update testmod to 1.18
1 parent 0779058 commit d52e646

File tree

5 files changed

+41
-7
lines changed

5 files changed

+41
-7
lines changed

fabric/testmod/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ dependencies {
1616
modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}"
1717
modImplementation(fabricApi.module("fabric-resource-loader-v0", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' }
1818
modImplementation(fabricApi.module("fabric-models-v0", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' }
19+
modImplementation(fabricApi.module("fabric-registry-sync-v0", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' }
1920
modImplementation(fabricApi.module("fabric-renderer-api-v1", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' }
2021
modRuntimeOnly(fabricApi.module("fabric-renderer-indigo", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' }
2122

fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/client/TestModClient.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import net.fabricmc.api.ClientModInitializer;
44
import net.fabricmc.fabric.api.client.model.ModelLoadingRegistry;
5+
import net.minecraft.client.Minecraft;
56
import org.embeddedt.modernfix.testmod.TestMod;
67

78
import java.util.regex.Matcher;
@@ -23,5 +24,7 @@ public void onInitializeClient() {
2324
}
2425
return null;
2526
});
27+
// needed to make debug level rendering work correctly
28+
Minecraft.getInstance().smartCull = false;
2629
}
2730
}

fabric/testmod/src/main/java/org/embeddedt/modernfix/testmod/mixin/DebugLevelSourceMixin.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
package org.embeddedt.modernfix.testmod.mixin;
22

33
import net.minecraft.core.BlockPos;
4-
import net.minecraft.server.level.WorldGenRegion;
4+
import net.minecraft.core.SectionPos;
5+
import net.minecraft.world.level.ChunkPos;
56
import net.minecraft.world.level.StructureFeatureManager;
7+
import net.minecraft.world.level.WorldGenLevel;
68
import net.minecraft.world.level.block.state.BlockState;
9+
import net.minecraft.world.level.chunk.ChunkAccess;
710
import net.minecraft.world.level.levelgen.DebugLevelSource;
811
import org.embeddedt.modernfix.testmod.TestMod;
912
import org.spongepowered.asm.mixin.Mixin;
@@ -14,20 +17,21 @@
1417
@Mixin(DebugLevelSource.class)
1518
public class DebugLevelSourceMixin {
1619
@Inject(method = "applyBiomeDecoration", at = @At("HEAD"), cancellable = true)
17-
private void showColorCube(WorldGenRegion region, StructureFeatureManager structureManager, CallbackInfo ci) {
20+
private void showColorCube(WorldGenLevel level, ChunkAccess chunk, StructureFeatureManager structureFeatureManager, CallbackInfo ci) {
1821
ci.cancel();
1922
BlockPos.MutableBlockPos mutableBlockPos = new BlockPos.MutableBlockPos();
20-
int i = region.getCenterX();
21-
int j = region.getCenterZ();
23+
ChunkPos chunkPos = chunk.getPos();
24+
int i = chunkPos.x;
25+
int j = chunkPos.z;
2226

2327
for(int k = 0; k < 16; ++k) {
2428
for(int l = 0; l < 16; ++l) {
25-
int m = (i << 4) + k;
26-
int n = (j << 4) + l;
29+
int m = SectionPos.sectionToBlockCoord(i, k);
30+
int n = SectionPos.sectionToBlockCoord(j, l);
2731
for(int y = 0; y < 255; y++) {
2832
BlockState blockState = TestMod.getColorCubeStateFor(m, y, n);
2933
if (blockState != null) {
30-
region.setBlock(mutableBlockPos.set(m, y, n), blockState, 2);
34+
level.setBlock(mutableBlockPos.set(m, y, n), blockState, 2);
3135
}
3236
}
3337
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package org.embeddedt.modernfix.testmod.mixin;
2+
3+
import net.minecraft.core.BlockPos;
4+
import net.minecraft.world.level.block.state.BlockState;
5+
import org.embeddedt.modernfix.testmod.TestMod;
6+
import org.spongepowered.asm.mixin.Final;
7+
import org.spongepowered.asm.mixin.Mixin;
8+
import org.spongepowered.asm.mixin.Shadow;
9+
import org.spongepowered.asm.mixin.injection.At;
10+
import org.spongepowered.asm.mixin.injection.Inject;
11+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
12+
13+
@Mixin(targets = { "net/minecraft/client/renderer/chunk/RenderChunk" })
14+
public class RenderChunkMixin {
15+
@Shadow @Final private boolean debug;
16+
17+
@Inject(method = "getBlockState", at = @At("HEAD"), cancellable = true)
18+
private void redirectDebugWorld(BlockPos pos, CallbackInfoReturnable<BlockState> cir) {
19+
if(this.debug) {
20+
cir.setReturnValue(TestMod.getColorCubeStateFor(pos.getX(), pos.getY(), pos.getZ()));
21+
}
22+
}
23+
}

fabric/testmod/src/main/resources/testmod.mixins.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
"ChunkMixin",
88
"DebugLevelSourceMixin"
99
],
10+
"client": [
11+
"RenderChunkMixin"
12+
],
1013
"injectors": {
1114
"defaultRequire": 1
1215
}

0 commit comments

Comments
 (0)