From a3c764239a39713bcd44c355cb8766a0521d3bc9 Mon Sep 17 00:00:00 2001 From: ThalusA <15985204+ThalusA@users.noreply.github.com> Date: Tue, 14 Jun 2022 16:16:54 +0200 Subject: [PATCH] Now supports 1.19 (#146) --- build.gradle | 2 +- .../lightoverlay/common/ClothScreen.java | 32 ++++++++----------- .../common/LightOverlayTicker.java | 11 ++++--- fabric/build.gradle | 4 +-- fabric/gradle.properties | 1 + .../main/resources/lightoverlay.mixins.json | 4 +-- forge/build.gradle | 6 ++-- forge/gradle.properties | 2 +- .../resources/lightoverlay-forge.mixins.json | 4 +-- gradle.properties | 16 +++++----- settings.gradle | 1 + 11 files changed, 42 insertions(+), 41 deletions(-) create mode 100644 fabric/gradle.properties diff --git a/build.gradle b/build.gradle index 5c3ac7a..ef30ab7 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ plugins { id "architectury-plugin" version "3.4-SNAPSHOT" - id "dev.architectury.loom" version "0.11.0-SNAPSHOT" apply false + id "dev.architectury.loom" version "0.12.0-SNAPSHOT" apply false } architectury { diff --git a/common/src/main/java/me/shedaniel/lightoverlay/common/ClothScreen.java b/common/src/main/java/me/shedaniel/lightoverlay/common/ClothScreen.java index 243d4f3..69129f6 100644 --- a/common/src/main/java/me/shedaniel/lightoverlay/common/ClothScreen.java +++ b/common/src/main/java/me/shedaniel/lightoverlay/common/ClothScreen.java @@ -7,32 +7,28 @@ import me.shedaniel.clothconfig2.gui.entries.IntegerSliderEntry; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.resources.language.I18n; import net.minecraft.network.chat.Component; -import net.minecraft.network.chat.TextComponent; -import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.util.Mth; -import java.util.Optional; - public class ClothScreen { public static Screen getConfigScreenByCloth(Screen parent) { - ConfigBuilder builder = ConfigBuilder.create().setParentScreen(parent).setTitle(new TranslatableComponent("key.lightoverlay.category")); + ConfigBuilder builder = ConfigBuilder.create().setParentScreen(parent).setTitle(Component.translatable("key.lightoverlay.category")); ConfigEntryBuilder eb = builder.entryBuilder(); - ConfigCategory general = builder.getOrCreateCategory(new TranslatableComponent("config.lightoverlay.general")); + ConfigCategory general = builder.getOrCreateCategory(Component.translatable("config.lightoverlay.general")); general.addEntry(eb.startTextDescription(Component.nullToEmpty("§7" + I18n.get("description.lightoverlay.caching"))).build()); - general.addEntry(eb.startBooleanToggle(new TranslatableComponent("config.lightoverlay.caching"), LightOverlay.caching).setDefaultValue(false).setSaveConsumer(bool -> LightOverlay.caching = bool).build()); - general.addEntry(eb.startIntSlider(new TranslatableComponent("config.lightoverlay.reach"), LightOverlay.reach, 1, 64).setDefaultValue(12).setTextGetter(integer -> Component.nullToEmpty("Reach: " + integer + " Blocks")).setSaveConsumer(integer -> LightOverlay.reach = integer).build()); - IntegerSliderEntry crossLevel = eb.startIntSlider(new TranslatableComponent("config.lightoverlay.crossLevel"), LightOverlay.crossLevel, 0, 15).setDefaultValue(0).setTextGetter(integer -> Component.nullToEmpty("Cross Level: " + integer)).setSaveConsumer(integer -> LightOverlay.crossLevel = integer).build(); + general.addEntry(eb.startBooleanToggle(Component.translatable("config.lightoverlay.caching"), LightOverlay.caching).setDefaultValue(false).setSaveConsumer(bool -> LightOverlay.caching = bool).build()); + general.addEntry(eb.startIntSlider(Component.translatable("config.lightoverlay.reach"), LightOverlay.reach, 1, 64).setDefaultValue(12).setTextGetter(integer -> Component.nullToEmpty("Reach: " + integer + " Blocks")).setSaveConsumer(integer -> LightOverlay.reach = integer).build()); + IntegerSliderEntry crossLevel = eb.startIntSlider(Component.translatable("config.lightoverlay.crossLevel"), LightOverlay.crossLevel, 0, 15).setDefaultValue(0).setTextGetter(integer -> Component.nullToEmpty("Cross Level: " + integer)).setSaveConsumer(integer -> LightOverlay.crossLevel = integer).build(); general.addEntry(crossLevel); - general.addEntry(eb.startIntSlider(new TranslatableComponent("config.lightoverlay.secondaryLevel"), LightOverlay.secondaryLevel, -1, 15) - .setDefaultValue(7).setTextGetter(integer -> new TextComponent(integer < 0 ? "Off" : "Level: " + integer)).setSaveConsumer(integer -> LightOverlay.secondaryLevel = integer).build()); - general.addEntry(eb.startBooleanToggle(new TranslatableComponent("config.lightoverlay.showNumber"), LightOverlay.showNumber).setDefaultValue(false).setSaveConsumer(bool -> LightOverlay.showNumber = bool).build()); - general.addEntry(eb.startBooleanToggle(new TranslatableComponent("config.lightoverlay.underwater"), LightOverlay.underwater).setDefaultValue(false).setSaveConsumer(bool -> LightOverlay.underwater = bool).build()); - general.addEntry(eb.startBooleanToggle(new TranslatableComponent("config.lightoverlay.mushroom"), LightOverlay.mushroom).setDefaultValue(false).setSaveConsumer(bool -> LightOverlay.mushroom = bool).build()); - general.addEntry(eb.startIntSlider(new TranslatableComponent("config.lightoverlay.lineWidth"), Mth.floor(LightOverlay.lineWidth * 100), 100, 700).setDefaultValue(100).setTextGetter(integer -> new TextComponent("Light Width: " + LightOverlay.FORMAT.format(integer / 100d))).setSaveConsumer(integer -> LightOverlay.lineWidth = integer / 100f).build()); - general.addEntry(eb.startColorField(new TranslatableComponent("config.lightoverlay.yellowColor"), LightOverlay.yellowColor).setDefaultValue(0xFFFF00).setSaveConsumer(color -> LightOverlay.yellowColor = color).build()); - general.addEntry(eb.startColorField(new TranslatableComponent("config.lightoverlay.redColor"), LightOverlay.redColor).setDefaultValue(0xFF0000).setSaveConsumer(color -> LightOverlay.redColor = color).build()); - general.addEntry(eb.startColorField(new TranslatableComponent("config.lightoverlay.secondaryColor"), LightOverlay.secondaryColor).setDefaultValue(0x0000FF).setSaveConsumer(color -> LightOverlay.secondaryColor = color).build()); + general.addEntry(eb.startIntSlider(Component.translatable("config.lightoverlay.secondaryLevel"), LightOverlay.secondaryLevel, -1, 15) + .setDefaultValue(7).setTextGetter(integer -> Component.literal(integer < 0 ? "Off" : "Level: " + integer)).setSaveConsumer(integer -> LightOverlay.secondaryLevel = integer).build()); + general.addEntry(eb.startBooleanToggle(Component.translatable("config.lightoverlay.showNumber"), LightOverlay.showNumber).setDefaultValue(false).setSaveConsumer(bool -> LightOverlay.showNumber = bool).build()); + general.addEntry(eb.startBooleanToggle(Component.translatable("config.lightoverlay.underwater"), LightOverlay.underwater).setDefaultValue(false).setSaveConsumer(bool -> LightOverlay.underwater = bool).build()); + general.addEntry(eb.startBooleanToggle(Component.translatable("config.lightoverlay.mushroom"), LightOverlay.mushroom).setDefaultValue(false).setSaveConsumer(bool -> LightOverlay.mushroom = bool).build()); + general.addEntry(eb.startIntSlider(Component.translatable("config.lightoverlay.lineWidth"), Mth.floor(LightOverlay.lineWidth * 100), 100, 700).setDefaultValue(100).setTextGetter(integer -> Component.literal("Light Width: " + LightOverlay.FORMAT.format(integer / 100d))).setSaveConsumer(integer -> LightOverlay.lineWidth = integer / 100f).build()); + general.addEntry(eb.startColorField(Component.translatable("config.lightoverlay.yellowColor"), LightOverlay.yellowColor).setDefaultValue(0xFFFF00).setSaveConsumer(color -> LightOverlay.yellowColor = color).build()); + general.addEntry(eb.startColorField(Component.translatable("config.lightoverlay.redColor"), LightOverlay.redColor).setDefaultValue(0xFF0000).setSaveConsumer(color -> LightOverlay.redColor = color).build()); + general.addEntry(eb.startColorField(Component.translatable("config.lightoverlay.secondaryColor"), LightOverlay.secondaryColor).setDefaultValue(0x0000FF).setSaveConsumer(color -> LightOverlay.secondaryColor = color).build()); return builder.setSavingRunnable(() -> { try { diff --git a/common/src/main/java/me/shedaniel/lightoverlay/common/LightOverlayTicker.java b/common/src/main/java/me/shedaniel/lightoverlay/common/LightOverlayTicker.java index f971015..24096b3 100644 --- a/common/src/main/java/me/shedaniel/lightoverlay/common/LightOverlayTicker.java +++ b/common/src/main/java/me/shedaniel/lightoverlay/common/LightOverlayTicker.java @@ -19,6 +19,7 @@ import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.LightLayer; import net.minecraft.world.level.biome.Biome; +import net.minecraft.world.level.biome.Biomes; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.chunk.ChunkStatus; @@ -55,8 +56,7 @@ public class LightOverlayTicker { Unsafe unsafe = (Unsafe) f.get(null); // instantiate entity type - EntityType type = (EntityType) unsafe.allocateInstance(EntityType.class); - return type; + return (EntityType) unsafe.allocateInstance(EntityType.class); } catch (Exception e) { throw new RuntimeException(e); } @@ -94,6 +94,7 @@ public class LightOverlayTicker { POS.clear(); CHUNK_MAP.clear(); BlockPos playerPos = player.blockPosition(); + assert world != null; LayerLightEventListener block = world.getLightEngine().getLayerListener(LightLayer.BLOCK); LayerLightEventListener sky = LightOverlay.showNumber ? null : world.getLightEngine().getLayerListener(LightLayer.SKY); BlockPos.MutableBlockPos downPos = new BlockPos.MutableBlockPos(); @@ -117,6 +118,7 @@ public class LightOverlayTicker { } } } else { + assert Minecraft.getInstance().level != null; var height = Mth.ceil(Minecraft.getInstance().level.getHeight() / 32.0); var start = Math.floorDiv(Minecraft.getInstance().level.getMinBuildHeight(), 32); int playerPosX = ((int) player.getX()) >> 4; @@ -188,7 +190,7 @@ public class LightOverlayTicker { int playerPosX1 = ((int) minecraft.player.getX()) >> 4; int playerPosY1 = ((int) minecraft.player.getY()) >> 5; int playerPosZ1 = ((int) minecraft.player.getZ()) >> 4; - if (finalC1 != null) processChunk(finalC1, playerPosX1, playerPosY1, playerPosZ1, collisionContext); + processChunk(finalC1, playerPosX1, playerPosY1, playerPosZ1, collisionContext); if (finalC2 != null) processChunk(finalC2, playerPosX1, playerPosY1, playerPosZ1, collisionContext); if (finalC3 != null) processChunk(finalC3, playerPosX1, playerPosY1, playerPosZ1, collisionContext); }); @@ -211,6 +213,7 @@ public class LightOverlayTicker { return; } try { + assert minecraft.level != null; calculateChunk(minecraft.level.getChunkSource().getChunk(pos.x, pos.z, ChunkStatus.FULL, false), minecraft.level, pos, context); } catch (Throwable throwable) { LogManager.getLogger().throwing(throwable); @@ -263,7 +266,7 @@ public class LightOverlayTicker { // Check block state allow spawning (excludes bedrock and barriers automatically) if (!blockBelowState.isValidSpawn(world, down, TESTING_ENTITY_TYPE.get())) return LightOverlay.CROSS_NONE; - if (!LightOverlay.mushroom && Biome.BiomeCategory.MUSHROOM == Biome.getBiomeCategory(biome)) + if (!LightOverlay.mushroom && biome.is(Biomes.MUSHROOM_FIELDS)) return LightOverlay.CROSS_NONE; int blockLightLevel = block.getLightValue(pos); int skyLightLevel = sky.getLightValue(pos); diff --git a/fabric/build.gradle b/fabric/build.gradle index 269f983..aa91f4e 100755 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -1,5 +1,5 @@ plugins { - id "com.github.johnrengelman.shadow" version "7.0.0" + id "com.github.johnrengelman.shadow" version "7.1.2" } loom { @@ -59,7 +59,7 @@ prepareRemapJar { remapJar { dependsOn(shadowJar) - input.set(shadowJar.archivePath) + inputFile.set(shadowJar.archivePath) classifier null } diff --git a/fabric/gradle.properties b/fabric/gradle.properties new file mode 100644 index 0000000..90ee7a2 --- /dev/null +++ b/fabric/gradle.properties @@ -0,0 +1 @@ +loom.platform=fabric \ No newline at end of file diff --git a/fabric/src/main/resources/lightoverlay.mixins.json b/fabric/src/main/resources/lightoverlay.mixins.json index cb0c3f1..c49d45a 100644 --- a/fabric/src/main/resources/lightoverlay.mixins.json +++ b/fabric/src/main/resources/lightoverlay.mixins.json @@ -1,8 +1,8 @@ { "required": true, "package": "me.shedaniel.lightoverlay.fabric.mixin", - "minVersion": "0.7.11", - "compatibilityLevel": "JAVA_8", + "minVersion": "0.8", + "compatibilityLevel": "JAVA_17", "mixins": [], "client": [ "MixinClientConnection" diff --git a/forge/build.gradle b/forge/build.gradle index c7edf90..1cdb3c5 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -1,5 +1,5 @@ plugins { - id "com.github.johnrengelman.shadow" version "7.0.0" + id "com.github.johnrengelman.shadow" version "7.1.2" } configurations { @@ -56,6 +56,6 @@ prepareRemapJar { remapJar { dependsOn(shadowJar) - input.set(shadowJar.archivePath) - archiveClassifier = "forge" + inputFile.set(shadowJar.archivePath) + archiveClassifier.set("forge") } diff --git a/forge/gradle.properties b/forge/gradle.properties index 01c185b..32f842a 100644 --- a/forge/gradle.properties +++ b/forge/gradle.properties @@ -1 +1 @@ -loom.forge=true \ No newline at end of file +loom.platform=forge \ No newline at end of file diff --git a/forge/src/main/resources/lightoverlay-forge.mixins.json b/forge/src/main/resources/lightoverlay-forge.mixins.json index 798efb5..4536a5b 100644 --- a/forge/src/main/resources/lightoverlay-forge.mixins.json +++ b/forge/src/main/resources/lightoverlay-forge.mixins.json @@ -1,8 +1,8 @@ { "required": true, "package": "me.shedaniel.lightoverlay.forge.mixin", - "minVersion": "0.7.11", - "compatibilityLevel": "JAVA_8", + "minVersion": "0.8", + "compatibilityLevel": "JAVA_17", "mixins": [], "client": [ "MixinClientConnection", diff --git a/gradle.properties b/gradle.properties index 47d0a24..c39f236 100755 --- a/gradle.properties +++ b/gradle.properties @@ -1,16 +1,16 @@ org.gradle.jvmargs=-Xmx3G org.gradle.daemon=false -mod_version=6.0.5 -minecraft_version=1.18.2 +mod_version=6.1.0 +minecraft_version=1.19 -architectury_version=4.0.29 +architectury_version=5.6.22 # fabric -fabric_loader_version=0.13.3 -fabric_api_version=0.47.8+1.18.2 -cloth_config_version=6.2.57 -modmenu_version=3.0.0 +fabric_loader_version=0.14.7 +fabric_api_version=0.55.3+1.19 +cloth_config_version=7.0.72 +modmenu_version=4.0.0 # forge -forge_version=40.0.1 \ No newline at end of file +forge_version=41.0.17 \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index a232ac9..f8dc1e9 100644 --- a/settings.gradle +++ b/settings.gradle @@ -2,6 +2,7 @@ pluginManagement { repositories { maven { url "https://maven.fabricmc.net/" } maven { url "https://maven.shedaniel.me/" } + maven { url "https://maven.architectury.dev/" } maven { url "https://files.minecraftforge.net/maven/" } gradlePluginPortal() } -- 2.44.0