4 Commits

Author SHA1 Message Date
4c701019b2 Updated to 1.21.10
Some checks failed
build / build (21) (push) Has been cancelled
2025-12-08 18:25:56 +01:00
20fc062b94 Updated to 1.21.8
Some checks failed
build / build (21) (push) Has been cancelled
2025-12-08 17:53:03 +01:00
ayabusa
c4dd15a875 Update README.md 2024-08-04 13:19:03 +02:00
ayabusa
8eb7ace5cb Create README.md 2024-08-04 13:18:46 +02:00
8 changed files with 38 additions and 33 deletions

6
README.md Normal file
View File

@@ -0,0 +1,6 @@
# Modern Chunk Detector
This is a simple mc mod that detect if chunks were generated in recent verion or not
Download it from modrinth: https://modrinth.com/mod/modern-chunk-detector
If I forget to update, DM me on discord: @ayabusa_

View File

@@ -1,5 +1,5 @@
plugins { plugins {
id 'fabric-loom' version '1.7-SNAPSHOT' id 'fabric-loom' version '1.14-SNAPSHOT'
id 'maven-publish' id 'maven-publish'
} }

View File

@@ -4,18 +4,18 @@ org.gradle.parallel=true
# Fabric Properties # Fabric Properties
# check these on https://fabricmc.net/develop # check these on https://fabricmc.net/develop
minecraft_version=1.21 minecraft_version=1.21.10
yarn_mappings=1.21+build.9 yarn_mappings=1.21.10+build.3
loader_version=0.15.11 loader_version=0.18.1
loom_version=1.14-SNAPSHOT
# Mod Properties # Mod Properties
mod_version=1.1+1.21 mod_version=1.1+1.21.10
maven_group=modern_chunk_detector maven_group=modern_chunk_detector
archives_base_name=modern_chunk_detector archives_base_name=modern_chunk_detector
# Dependencies # Dependencies
fabric_version=0.100.8+1.21 fabric_version=0.138.3+1.21.10
# Java # Java (You need to change this to your jdk path)
org.gradle.java.home=C:\\Users\\Leon\\.jdks\\corretto-21.0.3 org.gradle.java.home=/usr/lib/jvm/java-1.21.0-openjdk-amd64

Binary file not shown.

View File

@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-bin.zip
networkTimeout=10000 networkTimeout=10000
validateDistributionUrl=true validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME

13
gradlew vendored Normal file → Executable file
View File

@@ -1,7 +1,7 @@
#!/bin/sh #!/bin/sh
# #
# Copyright © 2015-2021 the original authors. # Copyright © 2015 the original authors.
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
@@ -15,6 +15,8 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# #
# SPDX-License-Identifier: Apache-2.0
#
############################################################################## ##############################################################################
# #
@@ -84,7 +86,7 @@ done
# shellcheck disable=SC2034 # shellcheck disable=SC2034
APP_BASE_NAME=${0##*/} APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value. # Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum MAX_FD=maximum
@@ -112,7 +114,6 @@ case "$( uname )" in #(
NONSTOP* ) nonstop=true ;; NONSTOP* ) nonstop=true ;;
esac esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM. # Determine the Java command to use to start the JVM.
@@ -170,7 +171,6 @@ fi
# For Cygwin or MSYS, switch paths to Windows format before running java # For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" ) JAVACMD=$( cygpath --unix "$JAVACMD" )
@@ -203,15 +203,14 @@ fi
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command: # Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, # * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped. # and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be # * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line. # treated as '${Hostname}' itself on the command line.
set -- \ set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \ "-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
org.gradle.wrapper.GradleWrapperMain \
"$@" "$@"
# Stop when "xargs" is not available. # Stop when "xargs" is not available.

5
gradlew.bat vendored
View File

@@ -13,6 +13,8 @@
@rem See the License for the specific language governing permissions and @rem See the License for the specific language governing permissions and
@rem limitations under the License. @rem limitations under the License.
@rem @rem
@rem SPDX-License-Identifier: Apache-2.0
@rem
@if "%DEBUG%"=="" @echo off @if "%DEBUG%"=="" @echo off
@rem ########################################################################## @rem ##########################################################################
@@ -68,11 +70,10 @@ goto fail
:execute :execute
@rem Setup the command line @rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle @rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
:end :end
@rem End local scope for the variables with windows NT shell @rem End local scope for the variables with windows NT shell

View File

@@ -5,10 +5,8 @@ import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientChunkEvents; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientChunkEvents;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; import net.fabricmc.fabric.api.client.rendering.v1.world.WorldRenderContext;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents; import net.fabricmc.fabric.api.client.rendering.v1.world.WorldRenderEvents;
import net.fabricmc.fabric.api.renderer.v1.Renderer;
import net.fabricmc.fabric.api.renderer.v1.RendererAccess;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.client.option.KeyBinding; import net.minecraft.client.option.KeyBinding;
@@ -18,6 +16,7 @@ import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.client.world.ClientWorld; import net.minecraft.client.world.ClientWorld;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.text.Text; import net.minecraft.text.Text;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.ChunkPos; import net.minecraft.util.math.ChunkPos;
import net.minecraft.util.math.ColorHelper; import net.minecraft.util.math.ColorHelper;
@@ -46,7 +45,7 @@ public class ModernChunkDetectorClient implements ClientModInitializer {
"toogle_key.modern_chunk_detector", // The translation key of the keybinding's name "toogle_key.modern_chunk_detector", // The translation key of the keybinding's name
InputUtil.Type.KEYSYM, // The type of the keybinding, KEYSYM for keyboard, MOUSE for mouse. InputUtil.Type.KEYSYM, // The type of the keybinding, KEYSYM for keyboard, MOUSE for mouse.
GLFW.GLFW_KEY_O, // The keycode of the key GLFW.GLFW_KEY_O, // The keycode of the key
"modern_chunk_detector.ayabusa" // The translation key of the keybinding's category. new KeyBinding.Category(Identifier.of("modern_chunk_detector.ayabusa")) // The translation key of the keybinding's category.
)); ));
ClientTickEvents.END_CLIENT_TICK.register(client -> { ClientTickEvents.END_CLIENT_TICK.register(client -> {
@@ -93,11 +92,11 @@ public class ModernChunkDetectorClient implements ClientModInitializer {
WorldRenderEvents.BEFORE_DEBUG_RENDER.register((WorldRenderContext context)->{ WorldRenderEvents.BEFORE_DEBUG_RENDER.register((WorldRenderContext context)->{
if(is_mod_enabled) { if(is_mod_enabled) {
MatrixStack matrices = context.matrixStack(); MatrixStack matrices = context.matrices();
VertexConsumerProvider vertexConsumers = context.consumers(); VertexConsumerProvider vertexConsumers = context.consumers();
double cameraX = context.camera().getPos().x; double cameraX = context.gameRenderer().getCamera().getPos().x;
double cameraY = context.camera().getPos().y; double cameraY = context.gameRenderer().getCamera().getPos().y;
double cameraZ = context.camera().getPos().z; double cameraZ = context.gameRenderer().getCamera().getPos().z;
for (Object i : chunk_to_render) { for (Object i : chunk_to_render) {
render(matrices, vertexConsumers, cameraX, cameraY, cameraZ, (ChunkPos) i); render(matrices, vertexConsumers, cameraX, cameraY, cameraZ, (ChunkPos) i);
@@ -107,13 +106,13 @@ public class ModernChunkDetectorClient implements ClientModInitializer {
} }
private final MinecraftClient client = MinecraftClient.getInstance(); private final MinecraftClient client = MinecraftClient.getInstance();
private static final int DARK_CYAN = ColorHelper.Argb.getArgb(255, 0, 155, 155); private static final int DARK_CYAN = ColorHelper.getArgb(255, 0, 155, 155);
private static final int YELLOW = ColorHelper.Argb.getArgb(255, 255, 255, 0); private static final int YELLOW = ColorHelper.getArgb(255, 255, 255, 0);
public void render(MatrixStack matrices, VertexConsumerProvider vertexConsumers, double cameraX, double cameraY, double cameraZ, ChunkPos chunkPos) { public void render(MatrixStack matrices, VertexConsumerProvider vertexConsumers, double cameraX, double cameraY, double cameraZ, ChunkPos chunkPos) {
Entity entity = this.client.gameRenderer.getCamera().getFocusedEntity(); Entity entity = this.client.gameRenderer.getCamera().getFocusedEntity();
float f = (float)((double)this.client.world.getBottomY() - cameraY); float f = (float)((double)this.client.world.getBottomY() - cameraY);
float g = (float)((double)this.client.world.getTopY() - cameraY); float g = (float)((double)this.client.world.getHeight() - cameraY);
float h = (float)((double)chunkPos.getStartX() - cameraX); float h = (float)((double)chunkPos.getStartX() - cameraX);
float i = (float)((double)chunkPos.getStartZ() - cameraZ); float i = (float)((double)chunkPos.getStartZ() - cameraZ);
@@ -160,7 +159,7 @@ public class ModernChunkDetectorClient implements ClientModInitializer {
} }
float l; float l;
for(j = this.client.world.getBottomY(); j <= this.client.world.getTopY(); j += 2) { for(j = this.client.world.getBottomY(); j <= this.client.world.getHeight(); j += 2) {
l = (float)((double)j - cameraY); l = (float)((double)j - cameraY);
int m = j % 8 == 0 ? DARK_CYAN : YELLOW; int m = j % 8 == 0 ? DARK_CYAN : YELLOW;
@@ -184,7 +183,7 @@ public class ModernChunkDetectorClient implements ClientModInitializer {
} }
} }
for(j = this.client.world.getBottomY(); j <= this.client.world.getTopY(); j += 16) { for(j = this.client.world.getBottomY(); j <= this.client.world.getHeight(); j += 16) {
l = (float)((double)j - cameraY); l = (float)((double)j - cameraY);
vertexConsumer.vertex(matrix4f, h, l, i).color(1.0F, 0F, 1.0F, 0.0F); vertexConsumer.vertex(matrix4f, h, l, i).color(1.0F, 0F, 1.0F, 0.0F);
vertexConsumer.vertex(matrix4f, h, l, i).color(1.0F, 0F, 1.0F, 1.0F); vertexConsumer.vertex(matrix4f, h, l, i).color(1.0F, 0F, 1.0F, 1.0F);