diff options
20 files changed, 145 insertions, 115 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 31c38eec..62417f76 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,9 +12,7 @@ jobs: matrix: # Use these Java versions java: [ - 1.8, # Minimum supported by Minecraft - 11, # Current Java LTS - 15 # Latest version + 16 # Minimum supported by Minecraft ] # and run on both Linux and Windows os: [ubuntu-20.04, windows-latest] @@ -34,8 +32,8 @@ jobs: - name: build run: ./gradlew build - name: capture build artifacts - if: ${{ runner.os == 'Linux' && matrix.java == '11' }} # Only upload artifacts built from LTS java on one OS + if: ${{ runner.os == 'Linux' && matrix.java == '16' }} # Only upload artifacts built from latest java on one OS uses: actions/upload-artifact@v2 with: name: Artifacts - path: build/libs/ + path: build/libs/
\ No newline at end of file diff --git a/build.gradle b/build.gradle index a711062e..140f0dc8 100644 --- a/build.gradle +++ b/build.gradle @@ -1,10 +1,10 @@ plugins { - id 'fabric-loom' version '0.6-SNAPSHOT' + id 'fabric-loom' version '0.9-SNAPSHOT' id 'maven-publish' } -sourceCompatibility = JavaVersion.VERSION_1_8 -targetCompatibility = JavaVersion.VERSION_1_8 +sourceCompatibility = JavaVersion.VERSION_16 +targetCompatibility = JavaVersion.VERSION_16 archivesBaseName = project.archives_base_name version = project.mod_version @@ -19,29 +19,31 @@ repositories { flatDir { dirs 'libs' } + maven { url "https://maven.terraformersmc.com/releases" } + maven { url "https://maven.shedaniel.me/" } + maven { + url 'https://repo.maven.apache.org/maven2' + name 'Maven Central' + } + } dependencies { - implementation 'com.google.code.gson:gson:2.8.6' + implementation 'com.google.code.gson:gson:2.8.7' // To change the versions see the gradle.properties file minecraft "com.mojang:minecraft:${project.minecraft_version}" mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" - // Cloth API - include "me.shedaniel.cloth:config-2:${project.cloth_api_version}" - modApi("me.shedaniel.cloth:config-2:${project.cloth_api_version}") { - exclude(group: "net.fabricmc.fabric-api") - } - - // Auto Config - include "me.sargunvohra.mcmods:autoconfig1u:${project.auto_config_version}" - modApi("me.sargunvohra.mcmods:autoconfig1u:${project.auto_config_version}") { - exclude(group: "net.fabricmc.fabric-api") + // Cloth config + modImplementation("me.shedaniel.cloth:cloth-config-fabric:${project.clothconfig_version}") { + exclude group: "net.fabricmc.fabric-api" + exclude module: "modmenu" } + include "me.shedaniel.cloth:cloth-config-fabric:${project.clothconfig_version}" // Mod Menu - modImplementation "io.github.prospector:modmenu:${project.mod_menu_version}" + modImplementation "com.terraformersmc:modmenu:${project.mod_menu_version}" // Fabric API. This is technically optional, but you probably want it anyway. modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" @@ -65,13 +67,8 @@ tasks.withType(JavaCompile).configureEach { // If Javadoc is generated, this must be specified in that task too. it.options.encoding = "UTF-8" - // The Minecraft launcher currently installs Java 8 for users, so your mod probably wants to target Java 8 too - // JDK 9 introduced a new way of specifying this that will make sure no newer classes or methods are used. - // We'll use that if it's available, but otherwise we'll use the older option. - def targetVersion = 8 - if (JavaVersion.current().isJava9Compatible()) { - it.options.release = targetVersion - } + // Minecraft 1.17 (21w19a) upwards uses Java 16. + it.options.release = 16 } java { @@ -108,4 +105,4 @@ publishing { // The repositories here will be used for publishing your artifact, not for // retrieving dependencies. } -} +}
\ No newline at end of file diff --git a/gradle.properties b/gradle.properties index fca4137a..1a49ff52 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,23 +1,20 @@ org.gradle.jvmargs=-Xmx1G -# Fabric Properties (https://modmuss50.me/fabric.html) - minecraft_version=1.16.5 - yarn_mappings=1.16.5+build.5 - loader_version=0.11.3 +# Fabric Properties (https://fabricmc.net/versions.html) +minecraft_version=1.17.1 +yarn_mappings=1.17.1+build.39 +loader_version=0.11.6 -fabric_api_version=0.29.3+1.16 -fabric_version=0.31.0+1.16 -# APIs +#Fabric api +fabric_version=0.38.0+1.17 + +# Dependencies ## Cloth Api (https://www.curseforge.com/minecraft/mc-mods/cloth-config/files) -cloth_api_version=4.8.3 -## Auto Config (https://bintray.com/shedaniel/autoconfig1u/autoconfig1u/_latestVersion) -auto_config_version=3.3.1 -## Mod Menu (https://maven.fabricmc.net/io/github/prospector/modmenu/) -mod_menu_version=1.14.13+build.21 +clothconfig_version=5.0.38 +## Mod Menu (https://www.curseforge.com/minecraft/mc-mods/modmenu/files) +mod_menu_version=2.0.4 # Mod Properties -mod_version = 1.0.5 +mod_version = 1.0.6 maven_group = me.xmrvizzy -archives_base_name = skyblocker - -org.gradle.java.home=C:\\Program Files\\Java\\jdk1.8.0_281
\ No newline at end of file +archives_base_name = skyblocker
\ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar Binary files differindex e708b1c0..7454180f 100644 --- a/gradle/wrapper/gradle-wrapper.jar +++ b/gradle/wrapper/gradle-wrapper.jar diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 442d9132..b3974a11 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip
\ No newline at end of file @@ -72,7 +72,7 @@ case "`uname`" in Darwin* ) darwin=true ;; - MINGW* ) + MSYS* | MINGW* ) msys=true ;; NONSTOP* ) @@ -182,4 +182,4 @@ APP_ARGS=`save "$@"` # Collect all arguments for the java command, following the shell quoting and substitution rules eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" -exec "$JAVACMD" "$@" +exec "$JAVACMD" "$@"
\ No newline at end of file diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java index cdf60eed..0bda79d6 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java @@ -1,10 +1,10 @@ package me.xmrvizzy.skyblocker.config; -import me.sargunvohra.mcmods.autoconfig1u.AutoConfig; -import me.sargunvohra.mcmods.autoconfig1u.ConfigData; -import me.sargunvohra.mcmods.autoconfig1u.annotation.Config; -import me.sargunvohra.mcmods.autoconfig1u.annotation.ConfigEntry; -import me.sargunvohra.mcmods.autoconfig1u.serializer.GsonConfigSerializer; +import me.shedaniel.autoconfig.AutoConfig; +import me.shedaniel.autoconfig.ConfigData; +import me.shedaniel.autoconfig.annotation.Config; +import me.shedaniel.autoconfig.annotation.ConfigEntry; +import me.shedaniel.autoconfig.serializer.GsonConfigSerializer; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/modmenu/ModMenuEntry.java b/src/main/java/me/xmrvizzy/skyblocker/config/modmenu/ModMenuEntry.java index cd0c7ad2..f9d4e8fe 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/modmenu/ModMenuEntry.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/modmenu/ModMenuEntry.java @@ -1,8 +1,8 @@ package me.xmrvizzy.skyblocker.config.modmenu; -import io.github.prospector.modmenu.api.ConfigScreenFactory; -import io.github.prospector.modmenu.api.ModMenuApi; -import me.sargunvohra.mcmods.autoconfig1u.AutoConfig; +import me.shedaniel.autoconfig.AutoConfig; +import com.terraformersmc.modmenu.api.ConfigScreenFactory; +import com.terraformersmc.modmenu.api.ModMenuApi; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayerEntityMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayerEntityMixin.java index 343794b1..5825b394 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayerEntityMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayerEntityMixin.java @@ -29,6 +29,6 @@ public abstract class ClientPlayerEntityMixin extends AbstractClientPlayerEntity @Inject(method = "dropSelectedItem", at = @At("HEAD"), cancellable = true) public void dropSelectedItem(boolean dropEntireStack, CallbackInfoReturnable<Boolean> cir) { - if (Utils.isSkyblock) HotbarSlotLock.handleDropSelectedItem(this.inventory.selectedSlot, cir); + if (Utils.isSkyblock) HotbarSlotLock.handleDropSelectedItem(this.getInventory().selectedSlot, cir); } }
\ No newline at end of file diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java index eba58fd0..b2a6dab2 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java @@ -1,5 +1,6 @@ package me.xmrvizzy.skyblocker.mixin; +import com.mojang.blaze3d.systems.RenderSystem; import me.xmrvizzy.skyblocker.SkyblockerMod; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import me.xmrvizzy.skyblocker.skyblock.Attribute; @@ -29,7 +30,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(InGameHud.class) public abstract class InGameHudMixin extends DrawableHelper { private static final Identifier SLOT_LOCK = new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/slot_lock.png"); - private static final Identifier BARS = new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/bars.png"); + private static final Identifier BARS = new Identifier(SkyblockerMod.NAMESPACE,"textures/gui/bars.png"); private MatrixStack hotbarMatrices; private int hotbarSlotIndex; @@ -41,8 +42,8 @@ public abstract class InGameHudMixin extends DrawableHelper { private int scaledHeight; @Shadow private int scaledWidth; - - @Shadow public abstract TextRenderer getFontRenderer(); + @Shadow + public abstract TextRenderer getTextRenderer(); @ModifyVariable(method = "setOverlayMessage(Lnet/minecraft/text/Text;Z)V", at = @At("HEAD")) private Text setOverlayMessage(Text message) { @@ -61,10 +62,10 @@ public abstract class InGameHudMixin extends DrawableHelper { } @Inject(method = "renderHotbarItem", at = @At("HEAD")) - public void renderHotbarItem(int i, int j, float f, PlayerEntity player, ItemStack item, CallbackInfo ci) { + public void renderHotbarItem(int i, int j, float f, PlayerEntity player, ItemStack stack, int seed, CallbackInfo ci) { if (Utils.isSkyblock) { if (HotbarSlotLock.isLocked(hotbarSlotIndex)) { - this.client.getTextureManager().bindTexture(SLOT_LOCK); + RenderSystem.setShaderTexture(0,SLOT_LOCK); this.drawTexture(hotbarMatrices, i, j, 0, 0,16, 16); } hotbarSlotIndex++; @@ -108,7 +109,8 @@ public abstract class InGameHudMixin extends DrawableHelper { int xp = (int) (this.client.player.experienceProgress * 33.0F); // Icons - this.client.getTextureManager().bindTexture(BARS); +// this.client.getTextureManager().bindTexture(BARS); + RenderSystem.setShaderTexture(0,InGameHudMixin.BARS); this.drawTexture(matrices, left, top, 0, 0, 9, 9); this.drawTexture(matrices, left + 47, top, 9, 0, 7, 9); this.drawTexture(matrices, left + 92, top, 16, 0, 9, 9); @@ -131,17 +133,20 @@ public abstract class InGameHudMixin extends DrawableHelper { renderText(matrices, Attribute.MANA.get(), left + 56, top, 5636095); renderText(matrices, Attribute.DEFENCE.get(), left + 103, top, 12106180); renderText(matrices, this.client.player.experienceLevel, left + 150, top, 8453920); + } private void renderText(MatrixStack matrices, int value, int left, int top, int color) { String text = Integer.toString(value); - int x = left + (33 - this.getFontRenderer().getWidth(text)) / 2; + int x = left + (33 - this.getTextRenderer().getWidth(text)) / 2; int y = top - 3; - this.getFontRenderer().draw(matrices, text, (float) (x + 1), (float) y, 0); - this.getFontRenderer().draw(matrices, text, (float) (x - 1), (float) y, 0); - this.getFontRenderer().draw(matrices, text, (float) x, (float) (y + 1), 0); - this.getFontRenderer().draw(matrices, text, (float) x, (float) (y - 1), 0); - this.getFontRenderer().draw(matrices, text, (float) x, (float) y, color); + this.getTextRenderer().draw(matrices, text, (float) (x + 1), (float) y, 0); + this.getTextRenderer().draw(matrices, text, (float) (x - 1), (float) y, 0); + this.getTextRenderer().draw(matrices, text, (float) x, (float) (y + 1), 0); + this.getTextRenderer().draw(matrices, text, (float) x, (float) (y - 1), 0); + this.getTextRenderer().draw(matrices, text, (float) x, (float) y, color); } + + }
\ No newline at end of file diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ItemRendererMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/ItemRendererMixin.java index eaac1c9c..90f82da6 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ItemRendererMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/ItemRendererMixin.java @@ -10,7 +10,7 @@ import net.minecraft.client.render.BufferBuilder; import net.minecraft.client.render.Tessellator; import net.minecraft.client.render.item.ItemRenderer; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.NbtCompound; import net.minecraft.text.LiteralText; import net.minecraft.util.math.MathHelper; import org.jetbrains.annotations.Nullable; @@ -32,7 +32,7 @@ public abstract class ItemRendererMixin { if (Utils.isSkyblock && SkyblockerConfig.get().locations.dwarvenMines.enableDrillFuel) { if (!stack.isEmpty()) { - CompoundTag tag = stack.getTag(); + NbtCompound tag = stack.getNbt(); if (tag != null && tag.contains("ExtraAttributes")) { if (tag.getCompound("ExtraAttributes").contains("drill_fuel")) { float current = 3000.0F; @@ -50,7 +50,7 @@ public abstract class ItemRendererMixin { RenderSystem.disableDepthTest(); RenderSystem.disableTexture(); - RenderSystem.disableAlphaTest(); +// RenderSystem.disableAlphaTest(); RenderSystem.disableBlend(); Tessellator tessellator = Tessellator.getInstance(); BufferBuilder buffer = tessellator.getBuffer(); @@ -60,7 +60,7 @@ public abstract class ItemRendererMixin { this.renderGuiQuad(buffer, x + 2, y + 13, 13, 2, 0,0,0,255); this.renderGuiQuad(buffer, x + 2, y + 13, width, 1, rgb >> 16 & 255, rgb >> 8 & 255, rgb & 255, 255); RenderSystem.enableBlend(); - RenderSystem.enableAlphaTest(); +// RenderSystem.enableAlphaTest(); RenderSystem.enableTexture(); RenderSystem.enableDepthTest(); } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/HotbarSlotLock.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/HotbarSlotLock.java index 42b9db1d..e9b2bfa3 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/HotbarSlotLock.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/HotbarSlotLock.java @@ -1,10 +1,10 @@ package me.xmrvizzy.skyblocker.skyblock; -import me.sargunvohra.mcmods.autoconfig1u.AutoConfig; +import me.shedaniel.autoconfig.AutoConfig; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; import net.minecraft.client.network.ClientPlayerEntity; -import net.minecraft.client.options.KeyBinding; +import net.minecraft.client.option.KeyBinding; import org.lwjgl.glfw.GLFW; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @@ -32,8 +32,8 @@ public class HotbarSlotLock { public static void handleInputEvents(ClientPlayerEntity player) { while (hotbarSlotLock.wasPressed()) { List<Integer> lockedSlots = SkyblockerConfig.get().general.lockedSlots; - int selected = player.inventory.selectedSlot; - if (!isLocked(player.inventory.selectedSlot)) lockedSlots.add(selected); + int selected = player.getInventory().selectedSlot; + if (!isLocked(player.getInventory().selectedSlot)) lockedSlots.add(selected); else lockedSlots.remove(Integer.valueOf(selected)); AutoConfig.getConfigHolder(SkyblockerConfig.class).save(); } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java index 4d77f734..fd20c3a4 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java @@ -38,7 +38,7 @@ import net.minecraft.client.render.debug.DebugRenderer; import net.minecraft.client.render.debug.DebugRenderer.Renderer; import net.minecraft.client.render.entity.EntityRenderDispatcher; import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.client.util.math.Vector3f; +import net.minecraft.util.math.Vec3f; import net.minecraft.entity.Entity; import net.minecraft.entity.mob.BlazeEntity; import net.minecraft.text.LiteralText; diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java index 61e747d0..c6da694b 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java @@ -1,32 +1,32 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.MapRenderer; +import net.minecraft.client.render.MapRenderer; import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.item.FilledMapItem; import net.minecraft.item.ItemStack; import net.minecraft.item.map.MapState; -import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.NbtCompound; public class DungeonMap { public static void render(MatrixStack matrices) { MinecraftClient client = MinecraftClient.getInstance(); if (client.player == null && client.world == null) return; - ItemStack item = client.player.inventory.main.get(8); - CompoundTag tag = item.getTag(); + ItemStack item = client.player.getInventory().main.get(8); + NbtCompound tag = item.getNbt(); if (tag != null && tag.contains("map")) { VertexConsumerProvider.Immediate vertices = client.getBufferBuilders().getEffectVertexConsumers(); MapRenderer map = client.gameRenderer.getMapRenderer(); - MapState state = FilledMapItem.getMapState(item, client.world); + MapState state = FilledMapItem.getOrCreateMapState(item, client.world); if (state == null) return; matrices.push(); matrices.translate(2, 2, 0); matrices.scale(1, 1, 0); - map.draw(matrices, vertices, state, false, 15728880); + map.draw(matrices, vertices, 15728880,state, false,15728880); vertices.draw(); matrices.pop(); } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java index c4c3fb9c..ff02c675 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java @@ -19,7 +19,7 @@ import java.util.zip.GZIPInputStream; import net.minecraft.client.MinecraftClient; import net.minecraft.client.item.TooltipContext; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.NbtCompound; import net.minecraft.text.LiteralText; import net.minecraft.text.Text; import net.minecraft.util.Formatting; @@ -65,14 +65,14 @@ public class PriceInfoTooltip { } public static String getInternalNameForItem(ItemStack stack) { if(stack == null) return null; - CompoundTag tag = stack.getTag(); + NbtCompound tag = stack.getNbt(); return getInternalnameFromNBT(tag); } - public static String getInternalnameFromNBT(CompoundTag tag) { + public static String getInternalnameFromNBT(NbtCompound tag) { String internalname = null; if(tag != null && tag.contains("ExtraAttributes", 10)) { - CompoundTag ea = tag.getCompound("ExtraAttributes"); + NbtCompound ea = tag.getCompound("ExtraAttributes"); if(ea.contains("id", 8)) { internalname = ea.getString("id").replaceAll(":", "-"); @@ -82,7 +82,7 @@ public class PriceInfoTooltip { if("ENCHANTED_BOOK".equals(internalname)) { - CompoundTag enchants = ea.getCompound("enchantments"); + NbtCompound enchants = ea.getCompound("enchantments"); for(String enchname : enchants.getKeys()) { internalname = enchname.toUpperCase() + ";" + enchants.getInt(enchname); diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtils.java b/src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtils.java index f88accab..472c41d6 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtils.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtils.java @@ -26,14 +26,20 @@ public class RenderUtils { // Fill Tessellator tessellator = Tessellator.getInstance(); BufferBuilder buffer = tessellator.getBuffer(); - buffer.begin(5, VertexFormats.POSITION_COLOR); + + VertexFormat.DrawMode drawMode = VertexFormat.DrawMode.QUADS; + buffer.begin(drawMode, VertexFormats.POSITION_COLOR); + +// buffer.begin(5, VertexFormats.POSITION_COLOR); WorldRenderer.drawBox(buffer, box.minX, box.minY, box.minZ, box.maxX, box.maxY, box.maxZ, r, g, b, a / 2f); tessellator.draw(); // Outline - buffer.begin(3, VertexFormats.POSITION_COLOR); + buffer.begin(drawMode, VertexFormats.POSITION_COLOR); + +// buffer.begin(3, VertexFormats.POSITION_COLOR); buffer.vertex(box.minX, box.minY, box.minZ).color(r, g, b, a).next(); buffer.vertex(box.minX, box.minY, box.maxZ).color(r, g, b, a).next(); buffer.vertex(box.maxX, box.minY, box.maxZ).color(r, g, b, a).next(); @@ -70,7 +76,11 @@ public class RenderUtils { float float_8 = (color2 & 255) / 255.0F; Tessellator tessellator_1 = Tessellator.getInstance(); BufferBuilder bufferBuilder_1 = tessellator_1.getBuffer(); - bufferBuilder_1.begin(7, VertexFormats.POSITION_COLOR); + + VertexFormat.DrawMode drawMode = VertexFormat.DrawMode.QUADS; + bufferBuilder_1.begin(drawMode, VertexFormats.POSITION_COLOR); + +// bufferBuilder_1.begin(7, VertexFormats.POSITION_COLOR); bufferBuilder_1.vertex(x1, y1, 0).color(float_2, float_3, float_4, float_1).next(); bufferBuilder_1.vertex(x1, y2, 0).color(float_2, float_3, float_4, float_1).next(); bufferBuilder_1.vertex(x2, y2, 0).color(float_6, float_7, float_8, float_5).next(); @@ -86,7 +96,10 @@ public class RenderUtils { BufferBuilder buffer = tessellator.getBuffer(); // Outline - buffer.begin(3, VertexFormats.POSITION_COLOR); + VertexFormat.DrawMode drawMode = VertexFormat.DrawMode.QUADS; + buffer.begin(drawMode, VertexFormats.POSITION_COLOR); + +// buffer.begin(3, VertexFormats.POSITION_COLOR); buffer.vertex(box.minX, box.minY, box.minZ).color(r, g, b, a).next(); buffer.vertex(box.minX, box.minY, box.maxZ).color(r, g, b, a).next(); buffer.vertex(box.maxX, box.minY, box.maxZ).color(r, g, b, a).next(); @@ -114,7 +127,11 @@ public class RenderUtils { Tessellator tessellator = Tessellator.getInstance(); BufferBuilder buffer = tessellator.getBuffer(); - buffer.begin(3, VertexFormats.POSITION_COLOR); + + VertexFormat.DrawMode drawMode = VertexFormat.DrawMode.QUADS; + buffer.begin(drawMode, VertexFormats.POSITION_COLOR); + +// buffer.begin(3, VertexFormats.POSITION_COLOR); buffer.vertex(x1, y1, z1).color(r, g, b, 0.0F).next(); buffer.vertex(x1, y1, z1).color(r, g, b, 1.0F).next(); buffer.vertex(x2, y2, z2).color(r, g, b, 1.0F).next(); @@ -130,21 +147,26 @@ public class RenderUtils { float blue = (float) (color & 255) / 255.0F; final Tessellator tessellator = Tessellator.getInstance(); final BufferBuilder bufferbuilder = tessellator.getBuffer(); - GlStateManager.enableBlend(); - GlStateManager.disableTexture(); - GlStateManager.blendFuncSeparate(770, 771, 1, 0); - bufferbuilder.begin(7, VertexFormats.POSITION_COLOR); + GlStateManager._enableBlend(); + GlStateManager._disableTexture(); + GlStateManager._blendFuncSeparate(770, 771, 1, 0); + + VertexFormat.DrawMode drawMode = VertexFormat.DrawMode.QUADS; + bufferbuilder.begin(drawMode, VertexFormats.POSITION_COLOR); + +// bufferbuilder.begin(7, VertexFormats.POSITION_COLOR); bufferbuilder.vertex(x, h, 0.0D).color(red, green, blue, alpha).next(); bufferbuilder.vertex(w, h, 0.0D).color(red, green, blue, alpha).next(); bufferbuilder.vertex(w, y, 0.0D).color(red, green, blue, alpha).next(); bufferbuilder.vertex(x, y, 0.0D).color(red, green, blue, alpha).next(); tessellator.draw(); - GlStateManager.enableTexture(); - GlStateManager.disableBlend(); + GlStateManager._enableTexture(); + GlStateManager._disableBlend(); } public static void offsetRender() { - Camera camera = BlockEntityRenderDispatcher.INSTANCE.camera; + //debg + Camera camera = MinecraftClient.getInstance().gameRenderer.getCamera(); Vec3d camPos = camera.getPos(); GL11.glRotated(MathHelper.wrapDegrees(camera.getPitch()), 1, 0, 0); GL11.glRotated(MathHelper.wrapDegrees(camera.getYaw() + 180.0), 0, 1, 0); @@ -177,7 +199,10 @@ public class RenderUtils { final Tessellator tessellator = Tessellator.getInstance(); final BufferBuilder bufferbuilder = tessellator.getBuffer(); - bufferbuilder.begin(GL11.GL_TRIANGLE_FAN, VertexFormats.POSITION); + VertexFormat.DrawMode drawMode = VertexFormat.DrawMode.TRIANGLE_FAN; + bufferbuilder.begin(drawMode, VertexFormats.POSITION_COLOR); + +// bufferbuilder.begin(GL11.GL_TRIANGLE_FAN, VertexFormats.POSITION); float alpha = (float) (color >> 24 & 255) / 255.0F; float red = (float) (color >> 16 & 255) / 255.0F; diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtilsLiving.java b/src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtilsLiving.java index a4c00499..6fca52a0 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtilsLiving.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtilsLiving.java @@ -22,6 +22,7 @@ package me.xmrvizzy.skyblocker.utils; import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.BufferBuilder; import net.minecraft.client.render.Tessellator; +import net.minecraft.client.render.VertexFormat; import net.minecraft.client.render.VertexFormats; import net.minecraft.client.render.model.json.ModelTransformation.Mode; import net.minecraft.client.resource.language.I18n; @@ -54,7 +55,11 @@ public class RenderUtilsLiving { GL11.glDisable(GL11.GL_TEXTURE_2D); Tessellator tessellator = Tessellator.getInstance(); BufferBuilder bufferbuilder = tessellator.getBuffer(); - bufferbuilder.begin(7, VertexFormats.POSITION_COLOR); + + VertexFormat.DrawMode drawMode = VertexFormat.DrawMode.QUADS; + bufferbuilder.begin(drawMode, VertexFormats.POSITION_COLOR); + +// bufferbuilder.begin(7, VertexFormats.POSITION_COLOR); float f = mc.options.getTextBackgroundOpacity(0.25F); bufferbuilder.vertex(-i - 1, -1, 0.0D).color(red, green, blue, f).next(); bufferbuilder.vertex(-i - 1, 8, 0.0D).color(red, green, blue, f).next(); @@ -76,8 +81,7 @@ public class RenderUtilsLiving { GL11.glTranslated(offX, offY, 0); if (item.getItem() instanceof BlockItem) GL11.glRotatef(180F, 1F, 180F, 10F); - mc.getItemRenderer().renderItem(new ItemStack( - item.getItem()), Mode.GUI, 0, 0, new MatrixStack(), mc.getBufferBuilders().getEntityVertexConsumers()); + mc.getItemRenderer().renderItem(new ItemStack(item.getItem()), Mode.GUI, 0, 0, new MatrixStack(), mc.getBufferBuilders().getEntityVertexConsumers(),42); if (item.getItem() instanceof BlockItem) GL11.glRotatef(-180F, -1F, -180F, -10F); GL11.glDisable(GL11.GL_LIGHTING); @@ -118,8 +122,8 @@ public class RenderUtilsLiving { RenderUtils.offsetRender(); GL11.glTranslated(x, y, z); GL11.glNormal3f(0.0F, 1.0F, 0.0F); - GL11.glRotatef(-mc.player.yaw, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(mc.player.pitch, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(-mc.player.getYaw(), 0.0F, 1.0F, 0.0F); + GL11.glRotatef(mc.player.getPitch(), 1.0F, 0.0F, 0.0F); //GL11.glDisable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_DEPTH_TEST); diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json index 590057a2..b716764b 100644 --- a/src/main/resources/assets/skyblocker/lang/en_us.json +++ b/src/main/resources/assets/skyblocker/lang/en_us.json @@ -15,6 +15,7 @@ "text.autoconfig.skyblocker.option.locations.dungeons.solveThreeWeirdos": "Solve Three Weirdos Puzzle", "text.autoconfig.skyblocker.option.locations.dwarvenMines": "Dwarven Mines", "text.autoconfig.skyblocker.option.locations.dwarvenMines.enableDrillFuel": "Enable Drill Fuel", + "text.autoconfig.skyblocker.option.locations.dwarvenMines.solveFetchur": "Solve Fetchur", "text.autoconfig.skyblocker.option.locations.dwarvenMines.solvePuzzler": "Solve Puzzler Puzzle", "text.autoconfig.skyblocker.category.messages": "Messages", diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 53050b9e..fd452708 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -2,11 +2,13 @@ "schemaVersion": 1, "id": "skyblocker", "version": "${version}", - "name": "Skyblocker", + "name": "Skyblocker LIAP", "description": "Hypixel Skyblock Mod", - "authors": ["xMrVizzy"], + "authors": ["xMrVizzy, d3dx9, LifeIsAParadox"], "contact": { - "homepage": "https://modrinth.com/mod/skyblocker" + "homepage": "https://modrinth.com/mod/skyblocker", + "sources": "https://github.com/LifeIsAParadox/Skyblocker", + "issues": "https://github.com/LifeIsAParadox/Skyblocker/issues" }, "license": "CC0-1.0", "icon": "assets/skyblocker/icon.png", @@ -23,10 +25,12 @@ "skyblocker.mixins.json" ], "depends": { - "fabricloader": ">=0.7.4", - "fabric": "*" + "fabricloader": ">=0.11.3", + "fabric": "*", + "cloth-config2": "*", + "minecraft": "1.17.x", + "java": ">=16" }, "custom": { - "modmenu:clientsideOnly": true } } diff --git a/src/main/resources/skyblocker.mixins.json b/src/main/resources/skyblocker.mixins.json index 4a7691a7..9664f9e4 100644 --- a/src/main/resources/skyblocker.mixins.json +++ b/src/main/resources/skyblocker.mixins.json @@ -1,15 +1,14 @@ { "required": true, "package": "me.xmrvizzy.skyblocker.mixin", - "compatibilityLevel": "JAVA_8", + "compatibilityLevel": "JAVA_16", "client": [ "ChatHudListenerMixin", - "ChatScreenMixin", "ClientPlayerEntityMixin", "ClientPlayNetworkHandlerMixin", "InGameHudMixin", "ItemRendererMixin", - "MinecraftClientMixin", + "MinecraftClientMixin" ], "injectors": { |