From 66c107aa44599d5b5f9753a09bf7d3ca1b667bbf Mon Sep 17 00:00:00 2001 From: shedaniel Date: Wed, 18 Dec 2019 20:42:57 +0800 Subject: [PATCH] 1.15 --- build.gradle | 10 ++--- .../lightoverlay/LightOverlayClient.java | 37 +++++++++---------- .../lightoverlay/LightOverlayCloth.java | 4 +- src/main/resources/META-INF/mods.toml | 6 +-- 4 files changed, 28 insertions(+), 29 deletions(-) diff --git a/build.gradle b/build.gradle index 2c1315c..d805b16 100644 --- a/build.gradle +++ b/build.gradle @@ -11,14 +11,14 @@ buildscript { apply plugin: 'net.minecraftforge.gradle' apply plugin: 'eclipse' -version = "3.6.2" +version = "4.1" group = "me.shedaniel" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "LightOverlay" sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' minecraft { - mappings channel: 'snapshot', version: '20191019-1.14.3' + mappings channel: 'snapshot', version: '20191218-1.14.3' runs { client { workingDirectory project.file('run') @@ -48,12 +48,12 @@ minecraft { } repositories { - maven { url 'https://jitpack.io' } + maven { url "https://minecraft.curseforge.com/api/maven/" } } dependencies { - minecraft 'net.minecraftforge:forge:1.14.4-28.1.61' - implementation 'com.github.shedaniel:ClothConfig:c70da9769d' + minecraft 'net.minecraftforge:forge:1.15.1-30.0.7' + implementation "cloth-config-forge:ClothConfig2:2.0" } jar { diff --git a/src/main/java/me/shedaniel/lightoverlay/LightOverlayClient.java b/src/main/java/me/shedaniel/lightoverlay/LightOverlayClient.java index f570c94..435a3b9 100644 --- a/src/main/java/me/shedaniel/lightoverlay/LightOverlayClient.java +++ b/src/main/java/me/shedaniel/lightoverlay/LightOverlayClient.java @@ -1,6 +1,6 @@ package me.shedaniel.lightoverlay; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.client.Minecraft; @@ -100,18 +100,17 @@ public class LightOverlayClient { // Check block state allow spawning (excludes bedrock and barriers automatically) if (!blockBelowState.canEntitySpawn(world, pos.down(), testingEntityType)) return CrossType.NONE; - if (world.getLightFor(LightType.BLOCK, pos) >= 8) + if (world.func_226658_a_(LightType.BLOCK, pos) >= 8) return CrossType.NONE; - if (world.getLightFor(LightType.SKY, pos) >= 8) + if (world.func_226658_a_(LightType.SKY, pos) >= 8) return CrossType.YELLOW; return CrossType.RED; } public static void renderCross(World world, BlockPos pos, int color, PlayerEntity entity) { ActiveRenderInfo info = Minecraft.getInstance().gameRenderer.getActiveRenderInfo(); - GlStateManager.lineWidth(lineWidth); - GlStateManager.depthMask(false); - GlStateManager.disableTexture(); + RenderSystem.lineWidth(lineWidth); + RenderSystem.depthMask(false); Tessellator tessellator = Tessellator.getInstance(); BufferBuilder buffer = tessellator.getBuffer(); double d0 = info.getProjectedView().x; @@ -120,18 +119,16 @@ public class LightOverlayClient { if (!upperOutlineShape.isEmpty()) d1 -= upperOutlineShape.getEnd(Direction.Axis.Y); double d2 = info.getProjectedView().z; - buffer.begin(1, DefaultVertexFormats.POSITION_COLOR); int red = (color >> 16) & 255; int green = (color >> 8) & 255; int blue = color & 255; - buffer.pos(pos.getX() + .01 - d0, pos.getY() - d1, pos.getZ() + .01 - d2).color(red, green, blue, 255).endVertex(); - buffer.pos(pos.getX() - .01 + 1 - d0, pos.getY() - d1, pos.getZ() - .01 + 1 - d2).color(red, green, blue, 255).endVertex(); - buffer.pos(pos.getX() - .01 + 1 - d0, pos.getY() - d1, pos.getZ() + .01 - d2).color(red, green, blue, 255).endVertex(); - buffer.pos(pos.getX() + .01 - d0, pos.getY() - d1, pos.getZ() - .01 + 1 - d2).color(red, green, blue, 255).endVertex(); + buffer.func_225582_a_(pos.getX() + .01 - d0, pos.getY() - d1, pos.getZ() + .01 - d2).func_225586_a_(red, green, blue, 255).endVertex(); + buffer.func_225582_a_(pos.getX() - .01 + 1 - d0, pos.getY() - d1, pos.getZ() - .01 + 1 - d2).func_225586_a_(red, green, blue, 255).endVertex(); + buffer.func_225582_a_(pos.getX() - .01 + 1 - d0, pos.getY() - d1, pos.getZ() + .01 - d2).func_225586_a_(red, green, blue, 255).endVertex(); + buffer.func_225582_a_(pos.getX() + .01 - d0, pos.getY() - d1, pos.getZ() - .01 + 1 - d2).func_225586_a_(red, green, blue, 255).endVertex(); tessellator.draw(); - GlStateManager.depthMask(true); - GlStateManager.enableTexture(); + RenderSystem.depthMask(true); } @SubscribeEvent(receiveCanceled = true) @@ -183,14 +180,17 @@ public class LightOverlayClient { @SubscribeEvent public static void renderWorldLast(RenderWorldLastEvent event) { if (LightOverlayClient.enabled) { + RenderSystem.pushMatrix(); + RenderSystem.loadIdentity(); + RenderSystem.multMatrix(event.getMatrixStack().func_227866_c_().func_227870_a_()); Minecraft client = Minecraft.getInstance(); ClientPlayerEntity playerEntity = client.player; World world = client.world; - GlStateManager.disableTexture(); - GlStateManager.disableBlend(); - BlockPos playerPos = new BlockPos(playerEntity.posX, playerEntity.posY, playerEntity.posZ); + RenderSystem.disableTexture(); + RenderSystem.disableBlend(); + BlockPos playerPos = playerEntity.getPosition(); BlockPos.getAllInBox(playerPos.add(-reach, -reach, -reach), playerPos.add(reach, reach, reach)).forEach(pos -> { - Biome biome = world.getBiome(pos); + Biome biome = world.func_226691_t_(pos); if (biome.getSpawningChance() > 0 && !biome.getSpawns(EntityClassification.MONSTER).isEmpty()) { CrossType type = LightOverlayClient.getCrossType(pos, world, playerEntity); if (type != CrossType.NONE) { @@ -200,8 +200,7 @@ public class LightOverlayClient { } } }); - GlStateManager.enableBlend(); - GlStateManager.enableTexture(); + RenderSystem.popMatrix(); } } diff --git a/src/main/java/me/shedaniel/lightoverlay/LightOverlayCloth.java b/src/main/java/me/shedaniel/lightoverlay/LightOverlayCloth.java index 95e23a9..c774d1d 100644 --- a/src/main/java/me/shedaniel/lightoverlay/LightOverlayCloth.java +++ b/src/main/java/me/shedaniel/lightoverlay/LightOverlayCloth.java @@ -2,7 +2,7 @@ package me.shedaniel.lightoverlay; import me.shedaniel.forge.clothconfig2.api.ConfigBuilder; import me.shedaniel.forge.clothconfig2.api.ConfigCategory; -import me.shedaniel.forge.clothconfig2.impl.ConfigEntryBuilderImpl; +import me.shedaniel.forge.clothconfig2.api.ConfigEntryBuilder; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.resources.I18n; @@ -19,7 +19,7 @@ public class LightOverlayCloth { ModLoadingContext.get().registerExtensionPoint(ExtensionPoint.CONFIGGUIFACTORY, () -> (BiFunction) (client, parent) -> { ConfigBuilder builder = ConfigBuilder.create().setParentScreen(parent).setTitle("key.lightoverlay.category"); - ConfigEntryBuilderImpl eb = builder.getEntryBuilder(); + ConfigEntryBuilder eb = builder.getEntryBuilder(); ConfigCategory general = builder.getOrCreateCategory("config.lightoverlay-forge.general"); general.addEntry(eb.startIntSlider("config.lightoverlay-forge.reach", LightOverlayClient.reach, 1, 50).setDefaultValue(7).setTextGetter(integer -> "Reach: " + integer + " Blocks").setSaveConsumer(integer -> LightOverlayClient.reach = integer).build()); general.addEntry(eb.startIntSlider("config.lightoverlay-forge.lineWidth", MathHelper.floor(LightOverlayClient.lineWidth * 100), 100, 700).setDefaultValue(100).setTextGetter(integer -> "Light Width: " + LightOverlayClient.FORMAT.format(integer / 100d)).setSaveConsumer(integer -> LightOverlayClient.lineWidth = integer / 100f).build()); diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml index f00b9b3..a6785fd 100755 --- a/src/main/resources/META-INF/mods.toml +++ b/src/main/resources/META-INF/mods.toml @@ -6,7 +6,7 @@ # The name of the mod loader type to load - for regular FML @Mod mods it should be javafml modLoader="javafml" #mandatory # A version range to match for said mod loader - for regular FML @Mod it will be the forge version -loaderVersion="[26,)" #mandatory (24 is current forge version) +loaderVersion="[29,)" #mandatory (24 is current forge version) # A URL to refer people to when problems occur with this mod issueTrackerURL="https://github.com/shedaniel/LightOverlay-Forge/issues/" #optional # A URL for the "homepage" for this mod, displayed in the mod UI @@ -38,7 +38,7 @@ To provide users with NEI-like light overlay. # Does this dependency have to exist - if not, ordering below must be specified mandatory=true #mandatory # The version range of the dependency - versionRange="[1.4.1,)" #mandatory + versionRange="[2.0,)" #mandatory ordering="NONE" # Side this dependency is applied on - BOTH, CLIENT or SERVER - side="CLIENT" \ No newline at end of file + side="CLIENT" -- 2.44.0