diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a44bdc4..1b0424e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -23,18 +23,10 @@ jobs: with: distribution: 'temurin' java-version: 21 - - name: Validate gradle wrapper - uses: gradle/actions/wrapper-validation@v4 - - name: Cache gradle files - uses: actions/cache@v4 + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - ./.gradle/loom-cache - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle', '**/gradle.properties', '**/*.accesswidener', 'settings.json') }} - restore-keys: | - ${{ runner.os }}-gradle- + cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/master' && github.ref != 'refs/heads/dev' }} - name: Build and publish with gradle if: ${{ inputs.build_publish == true }} run: | diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c04fca2..adb29a3 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -198,7 +198,7 @@ jobs: curseforge-token: ${{ secrets.CF_API_TOKEN || '${undefined}' }} files: ${{ steps.file_info.outputs.path }} changelog: ${{ steps.changelog.outputs.result }} - name: ${{ needs.create_github_release.outputs.release_title }} + name: ${{ needs.create_github_release.outputs.release_title }} for MC ${{ matrix.mc_ver }} (${{ matrix.platform }}) version: ${{ format('v{0}.{1}-mc{2}-{3}', needs.create_github_release.outputs.mod_version, needs.create_github_release.outputs.commit_count, matrix.mc_ver, matrix.platform) }} version-type: alpha loaders: ${{ steps.publish_info.outputs.publish_loaders }} @@ -217,7 +217,7 @@ jobs: curseforge-token: ${{ secrets.CF_API_TOKEN || '${undefined}' }} files: ${{ steps.file_info.outputs.path }} changelog: ${{ steps.changelog.outputs.result }} - name: ${{ needs.create_github_release.outputs.release_title }} + name: ${{ needs.create_github_release.outputs.release_title }} for MC ${{ matrix.mc_ver }} (${{ matrix.platform }}) version: ${{ format('v{0}.{1}-mc{2}-{3}', needs.create_github_release.outputs.mod_version, needs.create_github_release.outputs.commit_count, matrix.mc_ver, matrix.platform) }} version-type: ${{ github.event.release.prerelease && 'beta' || 'release' }} loaders: ${{ steps.publish_info.outputs.publish_loaders }} diff --git a/build.gradle b/build.gradle index 8572fc6..077f3de 100644 --- a/build.gradle +++ b/build.gradle @@ -27,6 +27,7 @@ preprocess { Node mc12103_fabric = createNode("1.21.3-fabric", 1_21_03, "mojang") Node mc12104_fabric = createNode("1.21.4-fabric", 1_21_04, "mojang") Node mc12105_fabric = createNode("1.21.5-fabric", 1_21_05, "mojang") + Node mc12107_fabric = createNode("1.21.7-fabric", 1_21_07, "mojang") mc11502_fabric.link(mc11404_fabric, file("versions/mapping-fabric-1.15.2-1.14.4.txt")) mc11605_fabric.link(mc11502_fabric, file("versions/mapping-fabric-1.16.5-1.15.2.txt")) @@ -43,6 +44,7 @@ preprocess { mc12101_fabric.link(mc12103_fabric, file("versions/mapping-fabric-1.21.1-1.21.3.txt")) mc12103_fabric.link(mc12104_fabric, file("versions/mapping-fabric-1.21.3-1.21.4.txt")) mc12104_fabric.link(mc12105_fabric, file("versions/mapping-fabric-1.21.4-1.21.5.txt")) + mc12105_fabric.link(mc12107_fabric, file("versions/mapping-fabric-1.21.5-1.21.7.txt")) // NeoForge Node mc12101_neoforge = createNode("1.21.1-neoforge", 1_21_01, "mojang") diff --git a/gradle.properties b/gradle.properties index e751f7d..1c28dda 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,13 +18,13 @@ mod.version=4.0 ## Annotation processor dependencies.lombok_version=1.18.38 ## MagicLib -dependencies.magiclib_dependency=0.8.706 -dependencies.magiclib_version=0.8.706-beta +dependencies.magiclib_dependency=0.8.721 +dependencies.magiclib_version=0.8.721-beta dependencies.pinin_version=1.6.0 # Gradle Plugins architectury_loom_version=1.10-SNAPSHOT grgit_version=5.3.0 -preprocessor_version=9d21b33 +preprocessor_version=0a04a56 replace_token_version=1.1.3 yamlang_version=1.4.1 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 9bbc975..1b33c55 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 37f853b..d4081da 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index faf9300..23d15a9 100755 --- a/gradlew +++ b/gradlew @@ -114,7 +114,7 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar +CLASSPATH="\\\"\\\"" # Determine the Java command to use to start the JVM. @@ -213,7 +213,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ "$@" # Stop when "xargs" is not available. diff --git a/gradlew.bat b/gradlew.bat index 9d21a21..db3a6ac 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -70,11 +70,11 @@ goto fail :execute @rem Setup the command line -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar +set CLASSPATH= @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%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* :end @rem End local scope for the variables with windows NT shell diff --git a/settings.json b/settings.json index ff792a2..6b02e5b 100644 --- a/settings.json +++ b/settings.json @@ -16,6 +16,7 @@ "1.21.3-fabric", "1.21.4-fabric", "1.21.5-fabric", + "1.21.7-fabric", "1.21.1-neoforge" ] diff --git a/src/main/java/com/plusls/MasaGadget/impl/feature/entityInfo/EntityInfoRenderer.java b/src/main/java/com/plusls/MasaGadget/impl/feature/entityInfo/EntityInfoRenderer.java index 432d7a0..044cb04 100644 --- a/src/main/java/com/plusls/MasaGadget/impl/feature/entityInfo/EntityInfoRenderer.java +++ b/src/main/java/com/plusls/MasaGadget/impl/feature/entityInfo/EntityInfoRenderer.java @@ -6,6 +6,7 @@ import com.plusls.MasaGadget.util.SyncUtil; import lombok.Getter; import net.minecraft.client.Minecraft; +import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.core.Position; import net.minecraft.network.chat.Component; import net.minecraft.util.Mth; @@ -18,8 +19,11 @@ import top.hendrixshen.magiclib.MagicLib; import top.hendrixshen.magiclib.api.event.minecraft.render.RenderEntityListener; import top.hendrixshen.magiclib.api.event.minecraft.render.RenderLevelListener; +import top.hendrixshen.magiclib.api.render.context.LevelRenderContext; import top.hendrixshen.magiclib.api.render.context.RenderContext; import top.hendrixshen.magiclib.impl.render.TextRenderer; +import top.hendrixshen.magiclib.impl.render.context.EntityRenderContext; +import top.hendrixshen.magiclib.util.minecraft.render.RenderUtil; import java.util.Queue; @@ -42,12 +46,12 @@ private static TextRenderer rotationAround(@NotNull TextRenderer renderer, @NotN } @Override - public void preRenderEntity(Entity entity, RenderContext renderContext, float partialTicks) { + public void preRenderEntity(Entity entity, EntityRenderContext renderContext) { // NO-OP } @Override - public void postRenderEntity(Entity entity, RenderContext renderContext, float partialTicks) { + public void postRenderEntity(Entity entity, EntityRenderContext renderContext) { if ((entity instanceof Villager && (Configs.renderNextRestockTime.getBooleanValue() || Configs.renderTradeEnchantedBook.getBooleanValue())) || (entity instanceof ZombieVillager && (Configs.renderZombieVillagerConvertTime.getBooleanValue()))) { @@ -56,12 +60,14 @@ public void postRenderEntity(Entity entity, RenderContext renderContext, float p } @Override - public void preRenderLevel(Level level, RenderContext renderContext, float partialTicks) { + public void preRenderLevel(ClientLevel level, LevelRenderContext renderContext) { // NO-OP } @Override - public void postRenderLevel(Level level, RenderContext renderContext, float partialTicks) { + public void postRenderLevel(ClientLevel level, LevelRenderContext renderContext) { + float partialTick = RenderUtil.getPartialTick(); + for (Entity entity : this.queue) { if (entity instanceof Villager) { Villager villager = MiscUtil.cast(SyncUtil.syncEntityDataFromIntegratedServer(entity)); @@ -80,10 +86,10 @@ public void postRenderLevel(Level level, RenderContext renderContext, float part } if (villager.isSleeping()) { - Position position = entity.getEyePosition(partialTicks); + Position position = entity.getEyePosition(partialTick); renderer.at(position.x(), position.y() + 0.4F, position.z()); } else { - EntityInfoRenderer.rotationAround(renderer, entity.getEyePosition(partialTicks), 0.6); + EntityInfoRenderer.rotationAround(renderer, entity.getEyePosition(partialTick), 0.6); } renderer.bgColor((int) (Minecraft.getInstance().options.getBackgroundOpacity(0.25F) * 255.0F) << 24) @@ -92,7 +98,7 @@ public void postRenderLevel(Level level, RenderContext renderContext, float part .render(); } else if (entity instanceof ZombieVillager) { ZombieVillager zombieVillager = MiscUtil.cast(SyncUtil.syncEntityDataFromIntegratedServer(entity)); - EntityInfoRenderer.rotationAround(TextRenderer.create(), entity.getEyePosition(partialTicks), 0.6) + EntityInfoRenderer.rotationAround(TextRenderer.create(), entity.getEyePosition(partialTick), 0.6) .text(ZombieVillagerConvertTimeInfo.getInfo(zombieVillager)) .bgColor((int) (Minecraft.getInstance().options.getBackgroundOpacity(0.25F) * 255.0F) << 24) .fontScale(0.015F) diff --git a/src/main/java/com/plusls/MasaGadget/impl/feature/entityTrace/EntityTraceRenderer.java b/src/main/java/com/plusls/MasaGadget/impl/feature/entityTrace/EntityTraceRenderer.java index 5620251..60b996b 100644 --- a/src/main/java/com/plusls/MasaGadget/impl/feature/entityTrace/EntityTraceRenderer.java +++ b/src/main/java/com/plusls/MasaGadget/impl/feature/entityTrace/EntityTraceRenderer.java @@ -7,6 +7,7 @@ import com.plusls.MasaGadget.util.SyncUtil; import fi.dy.masa.malilib.util.Color4f; import lombok.Getter; +import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.ai.memory.MemoryModuleType; import net.minecraft.world.entity.npc.Villager; @@ -16,7 +17,9 @@ import top.hendrixshen.magiclib.MagicLib; import top.hendrixshen.magiclib.api.event.minecraft.render.RenderEntityListener; import top.hendrixshen.magiclib.api.event.minecraft.render.RenderLevelListener; +import top.hendrixshen.magiclib.api.render.context.LevelRenderContext; import top.hendrixshen.magiclib.api.render.context.RenderContext; +import top.hendrixshen.magiclib.impl.render.context.EntityRenderContext; import top.hendrixshen.magiclib.impl.render.context.RenderGlobal; import java.util.Queue; @@ -33,12 +36,12 @@ public void init() { } @Override - public void preRenderEntity(Entity entity, RenderContext renderContext, float partialTicks) { + public void preRenderEntity(Entity entity, EntityRenderContext renderContext) { // NO-OP } @Override - public void postRenderEntity(Entity entity, RenderContext renderContext, float partialTicks) { + public void postRenderEntity(Entity entity, EntityRenderContext renderContext) { if (entity instanceof Villager && Configs.renderVillageHomeTracer.getBooleanValue() || Configs.renderVillageJobSiteTracer.getBooleanValue()) { @@ -47,19 +50,21 @@ public void postRenderEntity(Entity entity, RenderContext renderContext, float p } @Override - public void preRenderLevel(Level level, RenderContext renderContext, float partialTicks) { + public void preRenderLevel(ClientLevel level, LevelRenderContext renderContext) { // NO-OP } @Override - public void postRenderLevel(Level level, RenderContext renderContext, float partialTicks) { + public void postRenderLevel(ClientLevel level, LevelRenderContext renderContext) { + float partialTick = top.hendrixshen.magiclib.util.minecraft.render.RenderUtil.getPartialTick(); + for (Entity entity : this.queue) { if (entity instanceof Villager) { Villager villager = MiscUtil.cast(SyncUtil.syncEntityDataFromIntegratedServer(entity)); if (Configs.renderVillageHomeTracer.getBooleanValue()) { villager.getBrain().getMemory(MemoryModuleType.HOME).ifPresent(globalPos -> { - Vec3 eyeVec3 = entity.getEyePosition(partialTicks); + Vec3 eyeVec3 = entity.getEyePosition(partialTick); Vec3 bedVec3 = new Vec3(globalPos.pos().getX() + 0.5, globalPos.pos().getY() + 0.5, globalPos.pos().getZ() + 0.5); RenderGlobal.disableDepthTest(); RenderUtil.drawConnectLine(eyeVec3, bedVec3, 0.05, @@ -72,7 +77,7 @@ public void postRenderLevel(Level level, RenderContext renderContext, float part if (Configs.renderVillageJobSiteTracer.getBooleanValue()) { villager.getBrain().getMemory(MemoryModuleType.JOB_SITE).ifPresent(globalPos -> { - Vec3 eyeVec3 = entity.getEyePosition(partialTicks); + Vec3 eyeVec3 = entity.getEyePosition(partialTick); Vec3 jobVev3 = new Vec3(globalPos.pos().getX() + 0.5, globalPos.pos().getY() + 0.5, globalPos.pos().getZ() + 0.5); RenderGlobal.disableDepthTest(); RenderUtil.drawConnectLine(eyeVec3, jobVev3, 0.05, diff --git a/src/main/java/com/plusls/MasaGadget/impl/gui/MasaGadgetIcons.java b/src/main/java/com/plusls/MasaGadget/impl/gui/MasaGadgetIcons.java index da81864..b708c91 100644 --- a/src/main/java/com/plusls/MasaGadget/impl/gui/MasaGadgetIcons.java +++ b/src/main/java/com/plusls/MasaGadget/impl/gui/MasaGadgetIcons.java @@ -52,12 +52,15 @@ public int getV() { @Override public void renderAt( + //#if MC >= 12106 + //$$ GuiGraphics guiGraphics, + //#endif int x, int y, float zLevel, boolean enabled, boolean selected - //#if MC > 12101 + //#if 12106 > MC && MC > 12101 //$$ , GuiGraphics guiGraphics //#endif ) { @@ -73,19 +76,22 @@ public void renderAt( } RenderUtils.drawTexturedRect( - //#if MC > 12104 - //$$ this.getTexture(), - //#endif - x, - y, - u, - v, - this.w, - this.h, - zLevel - //#if MC > 12104 - //$$ , guiGraphics - //#endif + //#if MC >= 12106 + //$$ guiGraphics, + //#endif + //#if MC > 12104 + //$$ this.getTexture(), + //#endif + x, + y, + u, + v, + this.w, + this.h, + zLevel + //#if 12106 > MC && MC > 12104 + //$$ , guiGraphics + //#endif ); } diff --git a/src/main/java/com/plusls/MasaGadget/impl/gui/ScalableWidgetLabel.java b/src/main/java/com/plusls/MasaGadget/impl/gui/ScalableWidgetLabel.java index 6f3dcfb..18e71e2 100644 --- a/src/main/java/com/plusls/MasaGadget/impl/gui/ScalableWidgetLabel.java +++ b/src/main/java/com/plusls/MasaGadget/impl/gui/ScalableWidgetLabel.java @@ -4,8 +4,7 @@ import fi.dy.masa.malilib.render.RenderUtils; import lombok.Getter; import lombok.Setter; -import net.minecraft.client.Minecraft; -import top.hendrixshen.magiclib.api.compat.minecraft.client.gui.FontCompat; +import top.hendrixshen.magiclib.api.render.context.GuiRenderContext; import top.hendrixshen.magiclib.api.render.context.RenderContext; //#if MC > 11904 @@ -14,14 +13,6 @@ import com.mojang.blaze3d.vertex.PoseStack; //#endif -//#if MC > 11404 -import top.hendrixshen.magiclib.util.minecraft.render.RenderUtil; -import net.minecraft.client.renderer.MultiBufferSource; -//#endif - -//#if MC < 12000 && MC > 11404 -//#endif - @Getter @Setter public class ScalableWidgetLabel extends WidgetLabel { @@ -34,27 +25,34 @@ public ScalableWidgetLabel(int x, int y, int width, int height, int textColor, f @Override public void render( + //#if MC >= 12106 + //$$ GuiGraphics guiGraphicsOrPoseStack, + //#endif int mouseX, int mouseY, boolean selected + //#if MC < 12106 //#if MC > 11904 //$$ , GuiGraphics guiGraphicsOrPoseStack //#elseif MC > 11502 , PoseStack guiGraphicsOrPoseStack //#endif + //#endif ) { - RenderContext renderContext = RenderContext.of( - //#if MC > 11502 - guiGraphicsOrPoseStack - //#endif - ); - if (this.visible) { - renderContext.pushMatrix(); //#if MC < 12105 RenderUtils.setupBlend(); //#endif - this.drawLabelBackground(); + this.drawLabelBackground( + //#if MC >= 12106 + //$$ guiGraphicsOrPoseStack + //#endif + ); + GuiRenderContext renderContext = RenderContext.gui( + //#if MC > 11502 + guiGraphicsOrPoseStack + //#endif + ); int fontHeight = this.fontHeight; int yCenter = this.y + this.height / 2 + this.borderSize / 2; @@ -62,46 +60,43 @@ public void render( for (int i = 0; i < this.labels.size(); i++) { String text = this.labels.get(i); + double x = this.x + (this.centered ? this.width / 2.0 : 0); + double y = yTextStart + i * fontHeight * scale; + renderContext.pushMatrix(); + renderContext.scale(scale, scale); + x /= scale; + y /= scale; if (this.centered) { - renderContext.translate( - this.x + this.width / 2.0f - this.getStringWidth(text) / 2.0f, - yTextStart + i * fontHeight, - 0 + this.drawCenteredStringWithShadow( + //#if MC >= 12106 + //$$ guiGraphicsOrPoseStack, + //#endif + (int) x, + (int) y, + this.textColor, + text + //#if 12106 > MC && MC >= 11600 + , guiGraphicsOrPoseStack + //#endif ); } else { - renderContext.translate(this.x, yTextStart + i * fontHeight, 0); + this.drawStringWithShadow( + //#if MC >= 12106 + //$$ guiGraphicsOrPoseStack, + //#endif + (int) x, + (int) y, + this.textColor, + text + //#if 12106 > MC && MC >= 11600 + , guiGraphicsOrPoseStack + //#endif + ); } - renderContext.scale(scale, scale, scale); - //#if MC > 11404 - MultiBufferSource.BufferSource immediate = RenderUtil.getBufferSource(); - //#endif - FontCompat.of(Minecraft.getInstance().font) - .drawInBatch( - text, - 0.0F, - 0.0F, - this.textColor, - true, - //#if MC > 11404 - //#if MC > 11502 - renderContext.getMatrixStack().getPoseStack().last().pose(), - //#else - //$$ new PoseStack().last().pose(), - //#endif - immediate, - //#endif - FontCompat.DisplayMode.NORMAL, - 0, - 0xf000f0 - ); - //#if MC > 11404 - immediate.endBatch(); - //#endif + renderContext.popMatrix(); } - - renderContext.popMatrix(); } } } diff --git a/src/main/java/com/plusls/MasaGadget/impl/mod_tweak/malilib/favoritesSupport/MalilibFavoritesButton.java b/src/main/java/com/plusls/MasaGadget/impl/mod_tweak/malilib/favoritesSupport/MalilibFavoritesButton.java index 27c2749..6b07296 100644 --- a/src/main/java/com/plusls/MasaGadget/impl/mod_tweak/malilib/favoritesSupport/MalilibFavoritesButton.java +++ b/src/main/java/com/plusls/MasaGadget/impl/mod_tweak/malilib/favoritesSupport/MalilibFavoritesButton.java @@ -34,6 +34,15 @@ private MalilibFavoritesButton(int x, int y, @NotNull IGuiIcon icon, boolean def return new MalilibFavoritesButton(x, y, MasaGadgetIcons.FAVORITE, defaultStatus, onPress, tooltipSupplier); } + //#if MC >= 12106 + //$$ public void render(GuiGraphics guiGraphics, int mouseX, int mouseY, boolean selected) { + //$$ icon.renderAt(guiGraphics, this.x, this.y, (float) this.zLevel, this.status, this.isMouseOver(mouseX, mouseY)); + //$$ + //$$ if (this.isMouseOver(mouseX, mouseY)) { + //$$ RenderUtils.drawOutlinedBox(guiGraphics, this.x, this.y, this.width, this.height, 0x20C0C0C0, -520093697); + //$$ } + //$$ } + //#else @Override public void render( int mouseX, @@ -67,6 +76,7 @@ public void render( RenderUtils.drawOutlinedBox(this.x, this.y, this.width, this.height, 0x20C0C0C0, -520093697); } } + //#endif protected boolean onMouseClickedImpl(int mouseX, int mouseY, int mouseButton) { this.status = !this.status; diff --git a/src/main/java/com/plusls/MasaGadget/impl/mod_tweak/tweakeroo/inventoryPreviewSupportComparator/ComparatorInfo.java b/src/main/java/com/plusls/MasaGadget/impl/mod_tweak/tweakeroo/inventoryPreviewSupportComparator/ComparatorInfo.java index 7f2ef9d..b413256 100644 --- a/src/main/java/com/plusls/MasaGadget/impl/mod_tweak/tweakeroo/inventoryPreviewSupportComparator/ComparatorInfo.java +++ b/src/main/java/com/plusls/MasaGadget/impl/mod_tweak/tweakeroo/inventoryPreviewSupportComparator/ComparatorInfo.java @@ -8,12 +8,14 @@ import fi.dy.masa.tweakeroo.config.Hotkeys; import lombok.Getter; import net.minecraft.ChatFormatting; +import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.core.BlockPos; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.ComparatorBlockEntity; import org.jetbrains.annotations.ApiStatus; import top.hendrixshen.magiclib.MagicLib; import top.hendrixshen.magiclib.api.event.minecraft.render.RenderLevelListener; +import top.hendrixshen.magiclib.api.render.context.LevelRenderContext; import top.hendrixshen.magiclib.api.render.context.RenderContext; import top.hendrixshen.magiclib.impl.render.TextRenderer; import top.hendrixshen.magiclib.util.collect.ValueContainer; @@ -29,12 +31,12 @@ public void init() { } @Override - public void preRenderLevel(Level entity, RenderContext renderContext, float partialTicks) { + public void preRenderLevel(ClientLevel level, LevelRenderContext renderContext) { // NO-OP } @Override - public void postRenderLevel(Level entity, RenderContext renderContext, float partialTicks) { + public void postRenderLevel(ClientLevel level, LevelRenderContext renderContext) { if (!MagicLib.getInstance().getCurrentPlatform().isModLoaded(ModId.tweakeroo) || !FeatureToggle.TWEAK_INVENTORY_PREVIEW.getBooleanValue() || !Hotkeys.INVENTORY_PREVIEW.getKeybind().isKeybindHeld() || diff --git a/src/main/java/com/plusls/MasaGadget/impl/mod_tweak/tweakeroo/inventoryPreviewSupportSelect/InventoryOverlayRenderHandler.java b/src/main/java/com/plusls/MasaGadget/impl/mod_tweak/tweakeroo/inventoryPreviewSupportSelect/InventoryOverlayRenderHandler.java index 05d84e0..c564c39 100644 --- a/src/main/java/com/plusls/MasaGadget/impl/mod_tweak/tweakeroo/inventoryPreviewSupportSelect/InventoryOverlayRenderHandler.java +++ b/src/main/java/com/plusls/MasaGadget/impl/mod_tweak/tweakeroo/inventoryPreviewSupportSelect/InventoryOverlayRenderHandler.java @@ -12,7 +12,11 @@ import net.minecraft.world.phys.HitResult; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import top.hendrixshen.magiclib.api.render.context.RenderContext; +import top.hendrixshen.magiclib.api.render.context.GuiRenderContext; + +//#if MC >= 12106 +//$$ import net.minecraft.core.component.DataComponents; +//#endif //#if MC > 12101 //$$ import net.minecraft.client.renderer.RenderType; @@ -90,7 +94,7 @@ public static void onHitCallback(@Nullable HitResult hitResult, boolean oldStatu } } - public void render(@NotNull RenderContext renderContext) { + public void render(@NotNull GuiRenderContext renderContext) { //#if MC > 11605 && MC < 12000 //$$ RenderSystem.applyModelViewMatrix(); //#endif @@ -109,14 +113,14 @@ public void render(@NotNull RenderContext renderContext) { this.dropState(); } - private void attachToMainInventoryView(RenderContext renderContext) { + private void attachToMainInventoryView(GuiRenderContext renderContext) { if (!this.selectInventory) { this.renderSlotHighlight(renderContext, this.renderX, this.renderY); this.renderTooltip(renderContext, this.itemStack, this.renderX, this.renderY); } } - private void attachToSubShulkerBoxView(RenderContext renderContext) { + private void attachToSubShulkerBoxView(GuiRenderContext renderContext) { if (!this.selectInventory) { return; } @@ -128,17 +132,21 @@ private void attachToSubShulkerBoxView(RenderContext renderContext) { } //#if MC > 11904 - //$$ GuiGraphics gui = renderContext.getGuiComponent(); + //$$ GuiGraphics guiGraphics = renderContext.getGuiComponent(); //#endif this.renderSlotHighlight(renderContext, this.renderX, this.renderY); this.renderingSubInventory = true; - RenderUtils.renderShulkerBoxPreview(this.itemStack, + RenderUtils.renderShulkerBoxPreview( + //#if MC >= 12107 + //$$ guiGraphics, + //#endif + this.itemStack, GuiUtils.getScaledWindowWidth() / 2 - 96, GuiUtils.getScaledWindowHeight() / 2 + 30, true - //#if MC > 11904 - //$$ , gui + //#if 12106 > MC && MC > 11904 + //$$ , guiGraphics //#endif ); this.renderingSubInventory = false; @@ -148,7 +156,9 @@ private void attachToSubShulkerBoxView(RenderContext renderContext) { this.subItemStack != null ) { renderContext.pushMatrix(); - renderContext.translate(0, 0, 400); + //#if MC < 12106 + renderContext.translateDirect(0, 0, 400); + //#endif this.renderSlotHighlight(renderContext, this.subRenderX, this.subRenderY); this.renderTooltip(renderContext, this.subItemStack, this.subRenderX, this.subRenderY); renderContext.popMatrix(); @@ -247,9 +257,22 @@ private void moveSelectedSlot(int n) { } } - private void renderSlotHighlight(@NotNull RenderContext renderContext, int x, int y) { + private void renderSlotHighlight(@NotNull GuiRenderContext renderContext, int x, int y) { //#if MC > 12101 - //$$ renderContext.getGuiComponent().fillGradient(RenderType.guiOverlay(), x, y, x + 16, y + 16, 0x80FFFFFF, 0x80FFFFFF, 0); + //$$ renderContext.getGuiComponent().fillGradient( + //$$ //#if MC < 12106 + //$$ RenderType.guiOverlay(), + //$$ //#endif + //$$ x, + //$$ y, + //$$ x + 16, + //$$ y + 16, + //$$ 0x80FFFFFF, + //$$ 0x80FFFFFF + //$$ //#if MC < 12106 + //$$ , 0 + //$$ //#endif + //$$ ); //#elseif MC > 11605 //$$ AbstractContainerScreen.renderSlotHighlight( //#if MC > 11904 @@ -265,10 +288,10 @@ private void renderSlotHighlight(@NotNull RenderContext renderContext, int x, in RenderGlobal.disableDepthTest(); RenderGlobal.colorMask(true, true, true, false); renderContext.pushMatrix(); - renderContext.translate(0, 0, 400); + renderContext.translateDirect(0, 0, 400); ((AccessorGuiComponent) renderContext.getGuiComponent()).masa_gadget_mod$fillGradient( //#if MC > 11502 - renderContext.getMatrixStack().getPoseStack(), + renderContext.getPoseStack(), //#endif x, y, @@ -283,22 +306,28 @@ private void renderSlotHighlight(@NotNull RenderContext renderContext, int x, in //#endif } - private void renderTooltip(RenderContext renderContext, @NotNull ItemStack itemStack, int x, int y) { + private void renderTooltip(GuiRenderContext renderContext, @NotNull ItemStack itemStack, int x, int y) { Minecraft mc = Minecraft.getInstance(); //#if MC > 11904 //$$ renderContext.getGuiComponent().renderTooltip( //$$ mc.font, - //#if MC > 12006 - // TODO: Consider how to treat this after the PCA protocol rewrite. - // Ugly fix for MC 1.21+ enchantment becomes data-driven changes (Use Registry Sync). - // Note: This will not work if Tweakeroo changes the way it fetches item data. - // Registry Sync must be encoded and decoded using the same registries. - // Otherwise, the codec will not be able to parse the data correctly. - //$$ itemStack.getTooltipLines(Item.TooltipContext.of(WorldUtils.getBestWorld(mc)), mc.player, mc.options.advancedItemTooltips ? TooltipFlag.Default.ADVANCED : TooltipFlag.Default.NORMAL), - //#else + //$$ //#if MC > 12006 + //$$ // TODO: Consider how to treat this after the PCA protocol rewrite. + //$$ // Ugly fix for MC 1.21+ enchantment becomes data-driven changes (Use Registry Sync). + //$$ // Note: This will not work if Tweakeroo changes the way it fetches item data. + //$$ // Registry Sync must be encoded and decoded using the same registries. + //$$ // Otherwise, the codec will not be able to parse the data correctly. + //$$ //$$ itemStack.getTooltipLines(Item.TooltipContext.of(WorldUtils.getBestWorld(mc)), mc.player, mc.options.advancedItemTooltips ? TooltipFlag.Default.ADVANCED : TooltipFlag.Default.NORMAL), + //$$ //#else //$$ Screen.getTooltipFromItem(mc, itemStack), + //$$ //#endif + //$$ itemStack.getTooltipImage(), + //$$ x, + //$$ y + //$$ ); + //#if MC >= 12106 + //$$ renderContext.getGuiComponent().renderDeferredTooltip(); //#endif - //$$ itemStack.getTooltipImage(), x, y); //#else List tooltipLines = itemStack.getTooltipLines(mc.player, mc.options.advancedItemTooltips ? TooltipFlag.Default.ADVANCED : TooltipFlag.Default.NORMAL); @@ -332,7 +361,7 @@ private void renderTooltip(RenderContext renderContext, @NotNull ItemStack itemS } renderContext.pushMatrix(); - renderContext.translate(0, 0, 400); + renderContext.translateDirect(0, 0, 400); //#if MC < 11904 float backupBlitOffset = mc.getItemRenderer().blitOffset; @@ -342,7 +371,7 @@ private void renderTooltip(RenderContext renderContext, @NotNull ItemStack itemS AccessorGuiComponent guiComponent = (AccessorGuiComponent) renderContext.getGuiComponent(); guiComponent.masa_gadget_mod$fillGradient( //#if MC > 11502 - renderContext.getMatrixStack().getPoseStack(), + renderContext.getPoseStack(), //#endif renderX - 3, renderY - 4, @@ -353,7 +382,7 @@ private void renderTooltip(RenderContext renderContext, @NotNull ItemStack itemS ); guiComponent.masa_gadget_mod$fillGradient( //#if MC > 11502 - renderContext.getMatrixStack().getPoseStack(), + renderContext.getPoseStack(), //#endif renderX - 3, renderY + yOffset + 3, @@ -364,7 +393,7 @@ private void renderTooltip(RenderContext renderContext, @NotNull ItemStack itemS ); guiComponent.masa_gadget_mod$fillGradient( //#if MC > 11502 - renderContext.getMatrixStack().getPoseStack(), + renderContext.getPoseStack(), //#endif renderX - 3, renderY - 3, @@ -375,7 +404,7 @@ private void renderTooltip(RenderContext renderContext, @NotNull ItemStack itemS ); guiComponent.masa_gadget_mod$fillGradient( //#if MC > 11502 - renderContext.getMatrixStack().getPoseStack(), + renderContext.getPoseStack(), //#endif renderX - 4, renderY - 3, @@ -386,7 +415,7 @@ private void renderTooltip(RenderContext renderContext, @NotNull ItemStack itemS ); guiComponent.masa_gadget_mod$fillGradient( //#if MC > 11502 - renderContext.getMatrixStack().getPoseStack(), + renderContext.getPoseStack(), //#endif renderX + xOffset + 3, renderY - 3, @@ -397,7 +426,7 @@ private void renderTooltip(RenderContext renderContext, @NotNull ItemStack itemS ); guiComponent.masa_gadget_mod$fillGradient( //#if MC > 11502 - renderContext.getMatrixStack().getPoseStack(), + renderContext.getPoseStack(), //#endif renderX - 3, renderY - 3 + 1, @@ -408,7 +437,7 @@ private void renderTooltip(RenderContext renderContext, @NotNull ItemStack itemS ); guiComponent.masa_gadget_mod$fillGradient( //#if MC > 11502 - renderContext.getMatrixStack().getPoseStack(), + renderContext.getPoseStack(), //#endif renderX + xOffset + 2, renderY - 3 + 1, @@ -419,7 +448,7 @@ private void renderTooltip(RenderContext renderContext, @NotNull ItemStack itemS ); guiComponent.masa_gadget_mod$fillGradient( //#if MC > 11502 - renderContext.getMatrixStack().getPoseStack(), + renderContext.getPoseStack(), //#endif renderX - 3, renderY - 3, @@ -430,7 +459,7 @@ private void renderTooltip(RenderContext renderContext, @NotNull ItemStack itemS ); guiComponent.masa_gadget_mod$fillGradient( //#if MC > 11502 - renderContext.getMatrixStack().getPoseStack(), + renderContext.getPoseStack(), //#endif renderX - 3, renderY + yOffset + 2, @@ -440,7 +469,7 @@ private void renderTooltip(RenderContext renderContext, @NotNull ItemStack itemS 0x5028007F ); - renderContext.translate(0, 0, 1); + renderContext.translateDirect(0, 0, 1); FontCompat fontCompat = FontCompat.of(mc.font); for (int i = 0; i < tooltipLines.size(); i++) { diff --git a/src/main/java/com/plusls/MasaGadget/mixin/event/MixinMinecraft.java b/src/main/java/com/plusls/MasaGadget/mixin/event/MixinMinecraft.java index ace1189..a60d3cf 100644 --- a/src/main/java/com/plusls/MasaGadget/mixin/event/MixinMinecraft.java +++ b/src/main/java/com/plusls/MasaGadget/mixin/event/MixinMinecraft.java @@ -1,6 +1,6 @@ package com.plusls.MasaGadget.mixin.event; -import com.plusls.MasaGadget.impl.event.DisconnectEvent; +import com.plusls.MasaGadget.impl.event.MinecraftEvent; import net.minecraft.client.Minecraft; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -20,12 +20,12 @@ public abstract class MixinMinecraft { ) private void onDisconnect(CallbackInfo ci) { if (!Minecraft.getInstance().hasSingleplayerServer()) { - EventManager.dispatch(new DisconnectEvent()); + EventManager.dispatch(new MinecraftEvent.DisconnectEvent()); } } @Inject(method = "tick", at = @At("RETURN")) private void onTickEnd(CallbackInfo ci) { - EventManager.dispatch(new DisconnectEvent()); + EventManager.dispatch(new MinecraftEvent.TickEndEvent()); } } diff --git a/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/malilib/fastSwitchMasaConfigGui/MixinGuiConfigBase.java b/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/malilib/fastSwitchMasaConfigGui/MixinGuiConfigBase.java index 3ed1947..f975fb1 100644 --- a/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/malilib/fastSwitchMasaConfigGui/MixinGuiConfigBase.java +++ b/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/malilib/fastSwitchMasaConfigGui/MixinGuiConfigBase.java @@ -77,10 +77,13 @@ protected MixinGuiConfigBase(int listX, int listY) { } this.masa_gadget$masaModGuiList.render( + //#if MC >= 12106 + //$$ poseStackOrGuiGraphics, + //#endif mouseX, mouseY, false - //#if MC > 11502 + //#if 12106 > MC && MC > 11502 , poseStackOrGuiGraphics //#endif ); @@ -90,9 +93,12 @@ protected MixinGuiConfigBase(int listX, int listY) { } this.drawHoveredWidget( + //#if MC >= 12106 + //$$ poseStackOrGuiGraphics, + //#endif mouseX, mouseY - //#if MC > 11502 + //#if 12106 > MC && MC > 11502 , poseStackOrGuiGraphics //#endif ); diff --git a/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/malilib/showOriginalConfigName/MixinWidgetConfigOption.java b/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/malilib/showOriginalConfigName/MixinWidgetConfigOption.java index 345d3cc..2b7a425 100644 --- a/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/malilib/showOriginalConfigName/MixinWidgetConfigOption.java +++ b/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/malilib/showOriginalConfigName/MixinWidgetConfigOption.java @@ -7,42 +7,82 @@ import fi.dy.masa.malilib.gui.GuiConfigsBase; import fi.dy.masa.malilib.gui.widgets.WidgetConfigOption; import fi.dy.masa.malilib.gui.widgets.WidgetConfigOptionBase; -import fi.dy.masa.malilib.gui.widgets.WidgetLabel; import fi.dy.masa.malilib.gui.widgets.WidgetListConfigOptionsBase; -import org.jetbrains.annotations.NotNull; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import org.spongepowered.asm.mixin.injection.ModifyArg; +import top.hendrixshen.magiclib.libs.com.llamalad7.mixinextras.injector.wrapoperation.Operation; +import top.hendrixshen.magiclib.libs.com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; +import top.hendrixshen.magiclib.libs.com.llamalad7.mixinextras.sugar.Local; +import top.hendrixshen.magiclib.libs.com.llamalad7.mixinextras.sugar.Share; +import top.hendrixshen.magiclib.libs.com.llamalad7.mixinextras.sugar.ref.LocalBooleanRef; -// TODO: Rewrite. @Mixin(value = WidgetConfigOption.class, remap = false) public abstract class MixinWidgetConfigOption extends WidgetConfigOptionBase { public MixinWidgetConfigOption(int x, int y, int width, int height, WidgetListConfigOptionsBase parent, GuiConfigsBase.ConfigOptionWrapper entry, int listIndex) { super(x, y, width, height, parent, entry, listIndex); } - @Inject( + @WrapOperation( method = "addConfigOption", at = @At( value = "INVOKE", - target = "Lfi/dy/masa/malilib/gui/widgets/WidgetConfigOption;addLabel(IIIII[Ljava/lang/String;)V", - ordinal = 0, - shift = At.Shift.AFTER + target = "Lfi/dy/masa/malilib/gui/widgets/WidgetConfigOption;addLabel(IIIII[Ljava/lang/String;)V" ) ) - private void myAddLabel(int x, int y, float zLevel, int labelWidth, int configWidth, @NotNull IConfigBase config, CallbackInfo ci) { + private void readdBetterLabel(WidgetConfigOption instance, int x, int y, int zLevel, int labelWidth, int configWidth, String[] lines, Operation original, @Local IConfigBase config, @Share("showOriginalTextsThisTime") LocalBooleanRef showOriginalTextsThisTime) { + if (!Configs.showOriginalConfigName.getBooleanValue() || lines.length != 1) { + original.call(instance, x, y, zLevel, labelWidth, configWidth, lines); + showOriginalTextsThisTime.set(false); + return; + } + String displayName = MiscUtil.getStringWithoutFormat(config.getConfigGuiDisplayName()); - if (Configs.showOriginalConfigName.getBooleanValue() && !displayName.equals(config.getName())) { - if (this.subWidgets.get(this.subWidgets.size() - 1).getClass() == WidgetLabel.class) { - this.subWidgets.remove(this.subWidgets.size() - 1); - this.addLabel(x, y, width, height, -1, config.getConfigGuiDisplayName(), ""); - ScalableWidgetLabel label = new ScalableWidgetLabel(x, y + 7, width, height, -1, - (float) Configs.showOriginalConfigNameScale.getDoubleValue(), - String.format("§7%s§r", config.getName())); - this.addWidget(label); - } + if (displayName.equals(config.getName())) { + original.call(instance, x, y, zLevel, labelWidth, configWidth, lines); + showOriginalTextsThisTime.set(false); + return; + } + + original.call(instance, x, y, zLevel, labelWidth, configWidth, lines); + ScalableWidgetLabel label = new ScalableWidgetLabel(x, y + 3, width, height, -1, + (float) Configs.showOriginalConfigNameScale.getDoubleValue(), config.getName()); + this.addWidget(label); + showOriginalTextsThisTime.set(true); + } + + @ModifyArg( + method = "addConfigOption", + at = @At( + value = "INVOKE", + target = "Lfi/dy/masa/malilib/gui/widgets/WidgetConfigOption;addConfigComment(IIIILjava/lang/String;)V" + ), + index = 1 + ) + private int tweakCommentYOffset(int y, @Share("showOriginalTextsThisTime") LocalBooleanRef showOriginalTextsThisTime) { + if (showOriginalTextsThisTime.get()) { + y -= 4; } + + return y; + } + + @ModifyArg( + method = "addConfigOption", + at = @At( + value = "INVOKE", + target = "Lfi/dy/masa/malilib/gui/widgets/WidgetConfigOption;addConfigComment(IIIILjava/lang/String;)V", + remap = false + ), + index = 3, + remap = false + ) + private int tweakCommentHeight(int height, @Share("showOriginalTextsThisTime") LocalBooleanRef showOriginalTextsThisTime) { + if (showOriginalTextsThisTime.get()) { + height += 6; + } + + return height; } } diff --git a/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/malilib/showOriginalConfigName/MixinWidgetListConfigOptions.java b/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/malilib/showOriginalConfigName/MixinWidgetListConfigOptions.java index bf26591..cf0d002 100644 --- a/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/malilib/showOriginalConfigName/MixinWidgetListConfigOptions.java +++ b/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/malilib/showOriginalConfigName/MixinWidgetListConfigOptions.java @@ -7,18 +7,14 @@ import fi.dy.masa.malilib.gui.widgets.WidgetListConfigOptions; import fi.dy.masa.malilib.gui.widgets.WidgetListConfigOptionsBase; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.ModifyVariable; +import top.hendrixshen.magiclib.libs.com.llamalad7.mixinextras.sugar.Local; import java.util.Objects; -// TODO: Rewrite @Mixin(value = WidgetListConfigOptions.class, remap = false) public abstract class MixinWidgetListConfigOptions extends WidgetListConfigOptionsBase { - @Unique - private GuiConfigsBase.ConfigOptionWrapper masa_gadget$maxLengthConfig; - public MixinWidgetListConfigOptions(int x, int y, int width, int height, int configWidth) { super(x, y, width, height, configWidth); } @@ -27,29 +23,18 @@ public MixinWidgetListConfigOptions(int x, int y, int width, int height, int con method = "getMaxNameLengthWrapped", at = @At( value = "INVOKE", - target = "Ljava/lang/Math;max(II)I" - ) - ) - private GuiConfigsBase.ConfigOptionWrapper getWrapper(GuiConfigsBase.ConfigOptionWrapper value) { - this.masa_gadget$maxLengthConfig = value; - return value; - } - - @ModifyVariable( - method = "getMaxNameLengthWrapped", - at = @At( - value = "INVOKE_ASSIGN", - target = "Ljava/lang/Math;max(II)I" + target = "Ljava/lang/Math;max(II)I", + shift = At.Shift.AFTER ) ) - private int getWrapper(int width) { + private int recalcMaxNameLength(int width, @Local GuiConfigsBase.ConfigOptionWrapper wrapper) { if (Configs.showOriginalConfigName.getBooleanValue()) { String displayName = MiscUtil.getStringWithoutFormat(Objects.requireNonNull( - this.masa_gadget$maxLengthConfig.getConfig()).getConfigGuiDisplayName()); - String name = this.masa_gadget$maxLengthConfig.getConfig().getName(); + wrapper.getConfig()).getConfigGuiDisplayName()); + String name = wrapper.getConfig().getName(); if (!displayName.equals(name)) { - width = Math.max(width, (int) Math.ceil(this.getStringWidth(name) * Configs.showOriginalConfigNameScale.getDoubleValue())); + width = (int) Math.max(width, this.getStringWidth(name) * Configs.showOriginalConfigNameScale.getDoubleValue()); } } diff --git a/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/tweakeroo/inventoryPreviewSupportPlayer/MixinRenderUtils.java b/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/tweakeroo/inventoryPreviewSupportPlayer/MixinRenderUtils.java index af14311..0f8e4d3 100644 --- a/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/tweakeroo/inventoryPreviewSupportPlayer/MixinRenderUtils.java +++ b/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/tweakeroo/inventoryPreviewSupportPlayer/MixinRenderUtils.java @@ -12,7 +12,6 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.DyeColor; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.ModifyVariable; import top.hendrixshen.magiclib.api.compat.minecraft.world.entity.player.PlayerCompat; @@ -21,31 +20,12 @@ //#if MC > 11904 //$$ import net.minecraft.client.gui.GuiGraphics; -//$$ import org.spongepowered.asm.mixin.injection.Inject; -//$$ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +//$$ import top.hendrixshen.magiclib.libs.com.llamalad7.mixinextras.sugar.Local; //#endif @Dependencies(require = @Dependency(ModId.tweakeroo)) @Mixin(value = RenderUtils.class, remap = false) public abstract class MixinRenderUtils { - //#if MC > 11904 - //$$ @Unique - //$$ private static GuiGraphics masa_gadget$guiGraphics; - //$$ - //$$ @Inject(method = "renderInventoryOverlay", at = @At("HEAD")) - //$$ private static void intercept( - //#if MC > 12006 - //$$ InventoryOverlay.Context context, - //#else - //$$ Minecraft mc, - //#endif - //$$ GuiGraphics guiGraphics, - //$$ CallbackInfo ci - //$$ ) { - //$$ MixinRenderUtils.masa_gadget$guiGraphics = guiGraphics; - //$$ } - //#endif - @ModifyVariable( method = "renderInventoryOverlay", at = @At( @@ -54,7 +34,12 @@ public abstract class MixinRenderUtils { remap = false ) ) - private static Container modifyInv(Container inv) { + private static Container modifyInv( + Container inv + //#if MC > 11904 + //$$ , @Local(argsOnly = true) GuiGraphics guiGraphics + //#endif + ) { Container ret = inv; Entity traceEntity = HitResultHandler.getInstance().getHitEntity().orElse(null); @@ -69,24 +54,35 @@ private static Container modifyInv(Container inv) { int slotOffsetY = 8; InventoryOverlay.InventoryRenderType type = InventoryOverlay.InventoryRenderType.GENERIC; DyeColor dye = DyeColor.GRAY; + //#if MC < 12106 //#if MC > 12006 //$$ float[] colors = fi.dy.masa.malilib.render.RenderUtils.getColorComponents(dye.getTextureDiffuseColor()); //#else float[] colors = dye.getTextureDiffuseColors(); //#endif fi.dy.masa.malilib.render.RenderUtils.color(colors[0], colors[1], colors[2], 1.0F); + //#endif InventoryOverlay.renderInventoryBackground( - type, - x, - y, - 9, - 27, - Minecraft.getInstance() - //#if MC > 12104 - //$$ , MixinRenderUtils.masa_gadget$guiGraphics - //#endif + //#if MC >= 12106 + //$$ guiGraphics, + //#endif + type, + x, + y, + 9, + 27, + //#if MC >= 12106 + //$$ dye.getTextureDiffuseColor(), + //#endif + Minecraft.getInstance() + //#if 12106 > MC && MC > 12104 + //$$ , guiGraphics + //#endif ); InventoryOverlay.renderInventoryStacks( + //#if MC >= 12106 + //$$ guiGraphics, + //#endif type, player.getEnderChestInventory(), x + slotOffsetX, @@ -95,11 +91,13 @@ private static Container modifyInv(Container inv) { 0, 27, Minecraft.getInstance() - //#if MC > 11904 - //$$ , masa_gadget$guiGraphics + //#if 12106 > MC && MC > 11904 + //$$ , guiGraphics //#endif ); + //#if MC < 12106 fi.dy.masa.malilib.render.RenderUtils.color(1.0F, 1.0F, 1.0F, 1.0F); + //#endif } return ret; diff --git a/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/tweakeroo/inventoryPreviewSupportSelect/MixinInGameHud.java b/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/tweakeroo/inventoryPreviewSupportSelect/MixinInGameHud.java index 5d4c8eb..0a1acfe 100644 --- a/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/tweakeroo/inventoryPreviewSupportSelect/MixinInGameHud.java +++ b/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/tweakeroo/inventoryPreviewSupportSelect/MixinInGameHud.java @@ -40,7 +40,7 @@ private void onGameOverlayPost( CallbackInfo ci ) { if (Configs.inventoryPreviewSupportSelect.getBooleanValue()) { - InventoryOverlayRenderHandler.getInstance().render(RenderContext.of( + InventoryOverlayRenderHandler.getInstance().render(RenderContext.gui( //#if MC > 11502 poseStackOrGuiGraphics //#endif diff --git a/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/tweakeroo/inventoryPreviewSupportSelect/MixinInventoryOverlay.java b/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/tweakeroo/inventoryPreviewSupportSelect/MixinInventoryOverlay.java index a74561e..d53f22d 100644 --- a/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/tweakeroo/inventoryPreviewSupportSelect/MixinInventoryOverlay.java +++ b/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/tweakeroo/inventoryPreviewSupportSelect/MixinInventoryOverlay.java @@ -1,10 +1,10 @@ package com.plusls.MasaGadget.mixin.mod_tweak.tweakeroo.inventoryPreviewSupportSelect; +import com.llamalad7.mixinextras.sugar.Local; import com.plusls.MasaGadget.game.Configs; import com.plusls.MasaGadget.impl.mod_tweak.tweakeroo.inventoryPreviewSupportSelect.InventoryOverlayRenderHandler; import com.plusls.MasaGadget.util.ModId; import fi.dy.masa.malilib.render.InventoryOverlay; -import net.minecraft.client.Minecraft; import net.minecraft.world.item.ItemStack; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -21,8 +21,9 @@ @Mixin(value = InventoryOverlay.class, remap = false) public class MixinInventoryOverlay { @Inject( - //#if MC > 12006 - // Inject the final call. + //#if MC >= 12106 + //$$ method = "renderStackAt(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/world/item/ItemStack;FFFLnet/minecraft/client/Minecraft;DD)V", + //#elseif MC > 12006 //$$ method = "renderStackAt(Lnet/minecraft/world/item/ItemStack;FFFLnet/minecraft/client/Minecraft;Lnet/minecraft/client/gui/GuiGraphics;DD)V", //$$ remap = true, //#else @@ -30,21 +31,7 @@ public class MixinInventoryOverlay { //#endif at = @At("RETURN") ) - private static void addStackToolTip( - ItemStack stack, - float x, - float y, - float scale, - Minecraft mc, - //#if MC > 11904 - //$$ GuiGraphics gui, - //#endif - //#if MC > 12006 - //$$ double mouseX, - //$$ double mouseY, - //#endif - CallbackInfo ci - ) { + private static void addStackToolTip(CallbackInfo ci, @Local(argsOnly = true) ItemStack stack, @Local(ordinal = 0, argsOnly = true) float x, @Local(ordinal = 1, argsOnly = true) float y) { if (Configs.inventoryPreviewSupportSelect.getBooleanValue()) { InventoryOverlayRenderHandler.getInstance().updateState((int) x, (int) y, stack); } diff --git a/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/tweakeroo/inventoryPreviewSupportShulkerBoxItemEntity/MixinRenderUtils.java b/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/tweakeroo/inventoryPreviewSupportShulkerBoxItemEntity/MixinRenderUtils.java index caef806..a93648f 100644 --- a/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/tweakeroo/inventoryPreviewSupportShulkerBoxItemEntity/MixinRenderUtils.java +++ b/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/tweakeroo/inventoryPreviewSupportShulkerBoxItemEntity/MixinRenderUtils.java @@ -21,6 +21,15 @@ import top.hendrixshen.magiclib.api.dependency.annotation.Dependencies; import top.hendrixshen.magiclib.api.dependency.annotation.Dependency; +//#if MC >= 12106 +//$$ import com.mojang.logging.LogUtils; +//$$ import net.minecraft.world.level.storage.TagValueInput; +//$$ import net.minecraft.world.level.storage.ValueInput; +//$$ import net.minecraft.util.ProblemReporter; +//$$ import org.slf4j.Logger; +//$$ import org.spongepowered.asm.mixin.Unique; +//#endif + //#if MC > 12004 //$$ import net.minecraft.client.Minecraft; //$$ import net.minecraft.core.component.DataComponents; @@ -30,6 +39,11 @@ @Dependencies(require = @Dependency(ModId.tweakeroo)) @Mixin(value = RenderUtils.class, remap = false) public abstract class MixinRenderUtils { + //#if MC >= 12106 + //$$ @Unique + //$$ private static final Logger masa_gadget$logger = LogUtils.getLogger(); + //#endif + @ModifyVariable( method = "renderInventoryOverlay", at = @At( @@ -65,6 +79,12 @@ private static Container modifyInv(Container inv) { if (item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof ShulkerBoxBlock) { ret = new SimpleContainer(27); + //#if MC >= 12106 + //$$ try (ProblemReporter.ScopedCollector collector = new ProblemReporter.ScopedCollector(MixinRenderUtils.masa_gadget$logger)) { + //$$ ValueInput input = TagValueInput.create(collector, Minecraft.getInstance().cameraEntity.registryAccess(), invNbt); + //$$ ContainerHelper.loadAllItems(input, stacks); + //$$ } + //#else if (invNbt != null) { ContainerHelper.loadAllItems( invNbt, @@ -74,6 +94,7 @@ private static Container modifyInv(Container inv) { //#endif ); } + //#endif for (int i = 0; i < 27; i++) { ret.setItem(i, stacks.get(i)); diff --git a/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/tweakeroo/inventoryPreviewSupportTradeOfferList/MixinRenderUtils.java b/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/tweakeroo/inventoryPreviewSupportTradeOfferList/MixinRenderUtils.java index 53d7773..e3d2d40 100644 --- a/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/tweakeroo/inventoryPreviewSupportTradeOfferList/MixinRenderUtils.java +++ b/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/tweakeroo/inventoryPreviewSupportTradeOfferList/MixinRenderUtils.java @@ -12,7 +12,6 @@ import net.minecraft.world.Container; import net.minecraft.world.SimpleContainer; import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.npc.AbstractVillager; import net.minecraft.world.entity.npc.Villager; import net.minecraft.world.entity.npc.VillagerProfession; import net.minecraft.world.item.DyeColor; @@ -27,31 +26,12 @@ //#if MC > 11904 //$$ import net.minecraft.client.gui.GuiGraphics; -//$$ import org.spongepowered.asm.mixin.injection.Inject; -//$$ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +//$$ import top.hendrixshen.magiclib.libs.com.llamalad7.mixinextras.sugar.Local; //#endif @Dependencies(require = @Dependency(ModId.tweakeroo)) @Mixin(value = RenderUtils.class, remap = false) public class MixinRenderUtils { - //#if MC > 11904 - //$$ @Unique - //$$ private static GuiGraphics masa_gadget$guiGraphics; - //$$ - //$$ @Inject(method = "renderInventoryOverlay", at = @At("HEAD")) - //$$ private static void intercept( - //#if MC > 12006 - //$$ InventoryOverlay.Context context, - //#else - //$$ Minecraft mc, - //#endif - //$$ GuiGraphics guiGraphics, - //$$ CallbackInfo ci - //$$ ) { - //$$ MixinRenderUtils.masa_gadget$guiGraphics = guiGraphics; - //$$ } - //#endif - @Unique private static final int masa_gadget$maxTradeOfferSize = 9; @@ -64,7 +44,12 @@ public class MixinRenderUtils { ), ordinal = 0 ) - private static Container renderTradeOfferList(Container inv) { + private static Container renderTradeOfferList( + Container inv + //#if MC > 11904 + //$$ , @Local(argsOnly = true) GuiGraphics guiGraphics + //#endif + ) { if (!Configs.inventoryPreviewSupportTradeOfferList.getBooleanValue()) { return inv; } @@ -101,25 +86,35 @@ private static Container renderTradeOfferList(Container inv) { int slotOffsetY = 8; InventoryRenderType type = InventoryRenderType.GENERIC; DyeColor dye = DyeColor.GREEN; + //#if MC < 12106 //#if MC > 12006 //$$ float[] colors = fi.dy.masa.malilib.render.RenderUtils.getColorComponents(dye.getTextureDiffuseColor()); //#else float[] colors = dye.getTextureDiffuseColors(); //#endif - fi.dy.masa.malilib.render.RenderUtils.color(colors[0], colors[1], colors[2], 1.0F); + //#endif InventoryOverlay.renderInventoryBackground( + //#if MC >= 12106 + //$$ guiGraphics, + //#endif type, x, y, MixinRenderUtils.masa_gadget$maxTradeOfferSize, MixinRenderUtils.masa_gadget$maxTradeOfferSize, + //#if MC >= 12106 + //$$ dye.getTextureDiffuseColor(), + //#endif Minecraft.getInstance() - //#if MC > 12104 - //$$ , MixinRenderUtils.masa_gadget$guiGraphics + //#if 12106 > MC && MC > 12104 + //$$ , guiGraphics //#endif ); InventoryOverlay.renderInventoryStacks( + //#if MC >= 12106 + //$$ guiGraphics, + //#endif type, simpleInventory, x + slotOffsetX, @@ -128,11 +123,13 @@ private static Container renderTradeOfferList(Container inv) { 0, MixinRenderUtils.masa_gadget$maxTradeOfferSize, Minecraft.getInstance() - //#if MC > 11904 - //$$ , masa_gadget$guiGraphics + //#if 12106 > MC && MC > 11904 + //$$ , guiGraphics //#endif ); + //#if MC < 12106 fi.dy.masa.malilib.render.RenderUtils.color(1.0F, 1.0F, 1.0F, 1.0F); + //#endif return inv; } } diff --git a/src/main/java/com/plusls/MasaGadget/util/MiscUtil.java b/src/main/java/com/plusls/MasaGadget/util/MiscUtil.java index 56eee01..24fead5 100644 --- a/src/main/java/com/plusls/MasaGadget/util/MiscUtil.java +++ b/src/main/java/com/plusls/MasaGadget/util/MiscUtil.java @@ -15,13 +15,14 @@ import net.minecraft.world.level.chunk.LevelChunk; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import top.hendrixshen.magiclib.api.compat.minecraft.world.entity.EntityCompat; import top.hendrixshen.magiclib.api.i18n.I18n; public class MiscUtil extends top.hendrixshen.magiclib.util.MiscUtil { public static T getBestEntity(T entity) { // Only try to fetch the corresponding server world if the entity is in the actual client world. // Otherwise the entity may be for example in Litematica's schematic world. - Level world = entity.getCommandSenderWorld(); + Level world = EntityCompat.of(entity).getLevel(); Minecraft client = Minecraft.getInstance(); T ret = entity; if (world == client.level) { diff --git a/src/main/java/com/plusls/MasaGadget/util/PcaSyncProtocol.java b/src/main/java/com/plusls/MasaGadget/util/PcaSyncProtocol.java index 1ea7f61..35b94a6 100644 --- a/src/main/java/com/plusls/MasaGadget/util/PcaSyncProtocol.java +++ b/src/main/java/com/plusls/MasaGadget/util/PcaSyncProtocol.java @@ -1,6 +1,5 @@ package com.plusls.MasaGadget.util; -import com.google.common.collect.Sets; import com.mojang.serialization.Dynamic; import com.plusls.MasaGadget.SharedConstants; import com.plusls.MasaGadget.api.event.DisconnectListener; @@ -20,7 +19,6 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtOps; import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.ContainerHelper; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.Mob; @@ -36,7 +34,6 @@ import net.minecraft.world.level.block.entity.BlockEntity; import org.jetbrains.annotations.NotNull; import top.hendrixshen.magiclib.MagicLib; -import top.hendrixshen.magiclib.api.compat.minecraft.nbt.TagCompat; import top.hendrixshen.magiclib.api.compat.minecraft.resources.ResourceLocationCompat; import top.hendrixshen.magiclib.api.compat.minecraft.world.SimpleContainerCompat; import top.hendrixshen.magiclib.api.compat.minecraft.world.entity.player.PlayerCompat; @@ -50,11 +47,21 @@ import top.hendrixshen.magiclib.util.minecraft.NetworkUtil; import java.util.Objects; -import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.BiConsumer; import java.util.function.Consumer; +//#if MC >= 12106 +//$$ import com.mojang.logging.LogUtils; +//$$ import net.minecraft.util.ProblemReporter; +//$$ import net.minecraft.world.ItemStackWithSlot; +//$$ import net.minecraft.world.level.storage.TagValueInput; +//$$ import net.minecraft.world.level.storage.ValueInput; +//$$ import org.slf4j.Logger; +//#else +import top.hendrixshen.magiclib.api.compat.minecraft.nbt.TagCompat; +//#endif + //#if MC > 12104 //$$ import net.minecraft.core.UUIDUtil; //#endif @@ -64,6 +71,10 @@ //#endif public class PcaSyncProtocol { + //#if MC >= 12106 + //$$ private static final Logger LOGGER = LogUtils.getLogger(); + //#endif + private static final String NAMESPACE = "pca"; private static final AtomicBoolean registeredPackers = new AtomicBoolean(); private static BlockPos lastBlockPos = null; @@ -162,6 +173,14 @@ private static void updateEntityHandler(FriendlyByteBuf buf, ClientboundPacketHa if (entity != null) { SharedConstants.getLogger().debug("update entity!"); + //#if MC >= 12106 + //$$ ValueInput input; + //$$ + //$$ try (ProblemReporter.ScopedCollector collector = new ProblemReporter.ScopedCollector(entity.problemPath(), PcaSyncProtocol.LOGGER)) { + //$$ input = TagValueInput.create(collector, entity.registryAccess(), tag); + //$$ } + //#endif + if (entity instanceof Mob) { if ( //#if MC > 12104 @@ -178,9 +197,13 @@ private static void updateEntityHandler(FriendlyByteBuf buf, ClientboundPacketHa NonNullList itemStacks = ((AccessorAbstractMinecartContainer) entity).masa_gadget_mod$getItemStacks(); itemStacks.clear(); ContainerHelper.loadAllItems( + //#if MC >= 12106 + //$$ input, + //#else tag, + //#endif itemStacks - //#if MC > 12004 + //#if 12106 >= MC && MC > 12004 //$$ , mc.level.registryAccess() //#endif ); @@ -188,6 +211,11 @@ private static void updateEntityHandler(FriendlyByteBuf buf, ClientboundPacketHa if (entity instanceof AbstractVillager) { ((AbstractVillager) entity).getInventory().clearContent(); + //#if MC >= 12106 + //$$ input.list("Inventory", ItemStack.CODEC).ifPresent(itemStacks -> + //$$ SimpleContainerCompat.of(((AbstractVillager) entity).getInventory()).fromTag(itemStacks)); + //$$ ((AccessorAbstractVillager) entity).masa_gadget_mod$setOffers(input.read("Offers", MerchantOffers.CODEC).orElse(null)); + //#else SimpleContainerCompat.of(((AbstractVillager) entity).getInventory()).fromTag( //#if MC > 12104 //$$ tag.getListOrEmpty("Inventory") @@ -210,6 +238,7 @@ private static void updateEntityHandler(FriendlyByteBuf buf, ClientboundPacketHa //#else ((AccessorAbstractVillager) entity).masa_gadget_mod$setOffers(new MerchantOffers(tag.getCompound("Offers"))); //#endif + //#endif if (entity instanceof Villager) { ((AccessorVillager) entity).masa_gadget_mod$setNumberOfRestocksToday( @@ -232,11 +261,21 @@ private static void updateEntityHandler(FriendlyByteBuf buf, ClientboundPacketHa if (entity instanceof AbstractHorse) { // TODO 写的更优雅一些 - entity.load(tag); + entity.load( + //#if MC >= 12106 + //$$ input + //#else + tag + //#endif + ); } if (entity instanceof Player) { Player playerEntity = (Player) entity; + //#if MC >= 12106 + //$$ PlayerCompat.of(playerEntity).getInventory().load(input.listOrEmpty("Inventory", ItemStackWithSlot.CODEC)); + //$$ playerEntity.getEnderChestInventory().fromSlots(input.listOrEmpty("EnderItems", ItemStackWithSlot.CODEC)); + //#else PlayerCompat.of(playerEntity).getInventory().load( //#if MC > 12104 //$$ tag.getListOrEmpty("Inventory") @@ -259,6 +298,7 @@ private static void updateEntityHandler(FriendlyByteBuf buf, ClientboundPacketHa ); } //#endif + //#endif } if (entity instanceof ZombieVillager) { diff --git a/src/main/java/com/plusls/MasaGadget/util/RenderUtil.java b/src/main/java/com/plusls/MasaGadget/util/RenderUtil.java index d6d3d48..3bd368a 100644 --- a/src/main/java/com/plusls/MasaGadget/util/RenderUtil.java +++ b/src/main/java/com/plusls/MasaGadget/util/RenderUtil.java @@ -7,8 +7,11 @@ import net.minecraft.world.phys.Vec3; import org.jetbrains.annotations.NotNull; -//#if MC > 12104 +//#if 12106 > MC && MC > 12104 //$$ import com.mojang.blaze3d.buffers.BufferUsage; +//#endif + +//#if MC > 12104 //$$ import fi.dy.masa.malilib.render.MaLiLibPipelines; //$$ import fi.dy.masa.malilib.render.RenderContext; //#elseif MC > 11605 @@ -33,7 +36,15 @@ public static void drawLine(Vec3 pos1, Vec3 pos2, Color4f color) { pos1 = pos1.subtract(camPos); pos2 = pos2.subtract(camPos); //#if MC > 12104 - //$$ RenderContext ctx = new RenderContext(MaLiLibPipelines.DEBUG_LINES_MASA_SIMPLE_NO_DEPTH_NO_CULL, BufferUsage.STATIC_WRITE); + //$$ RenderContext ctx = new RenderContext( + //$$ //#if MC >= 12107 + //$$ //$$ () -> "masa_gadget:line", + //$$ //#endif + //$$ MaLiLibPipelines.DEBUG_LINES_MASA_SIMPLE_NO_DEPTH_NO_CULL + //$$ //#if MC < 12106 + //$$ , BufferUsage.STATIC_WRITE + //$$ //#endif + //$$ ); //$$ BufferBuilder builder = ctx.getBuilder(); //#else Tesselator tesselator = Tesselator.getInstance(); @@ -75,7 +86,15 @@ public static void drawOutlineBox(Vec3 pos, double expend, Color4f color) { pos = pos.subtract(camPos); //#if MC > 12104 - //$$ RenderContext ctx = new RenderContext(MaLiLibPipelines.DEBUG_LINES_MASA_SIMPLE_NO_DEPTH_NO_CULL, BufferUsage.STATIC_WRITE); + //$$ RenderContext ctx = new RenderContext( + //$$ //#if MC >= 12107 + //$$ //$$ () -> "masa_gadget:outline_box", + //$$ //#endif + //$$ MaLiLibPipelines.DEBUG_LINES_MASA_SIMPLE_NO_DEPTH_NO_CULL + //$$ //#if MC < 12106 + //$$ , BufferUsage.STATIC_WRITE + //$$ //#endif + //$$ ); //$$ BufferBuilder builder = ctx.getBuilder(); //#else Tesselator tesselator = Tesselator.getInstance(); diff --git a/versions/1.16.5-fabric/build.gradle b/versions/1.16.5-fabric/build.gradle index 65aa21a..b7703f8 100644 --- a/versions/1.16.5-fabric/build.gradle +++ b/versions/1.16.5-fabric/build.gradle @@ -211,55 +211,6 @@ loom { } } } - - // Setup client default settings. - runClient { - defaultCharacterEncoding = "UTF-8" - - doFirst { - file("${project.projectDir}/run/client/config").mkdirs() - file("${project.projectDir}/run/client/options.txt").with { File f -> - { - if (!f.exists()) { - f.parentFile.mkdirs() - f.withWriter { BufferedWriter writer -> - writer.writeLine("autoJump:false") - writer.writeLine("enableVsync:false") - writer.writeLine("forceUnicodeFont:true") - writer.writeLine("fov:1.0") - writer.writeLine("gamma:16.0") - writer.writeLine("guiScale:3") - writer.writeLine("lang:${Locale.getDefault().toString().toLowerCase()}") - writer.writeLine("maxFps:260") - writer.writeLine("renderDistance:10") - writer.writeLine("soundCategory_master:0.0") - } - } - } - } - } - } - - // Setup server default settings. - runServer { - defaultCharacterEncoding = "UTF-8" - - doFirst { - // Agree eula before server init. - file("${project.projectDir}/run/server/eula.txt").with { File f -> - { - if (!f.exists()) { - f.parentFile.mkdirs() - f.withWriter { BufferedWriter writer -> - writer.writeLine("#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).") - writer.writeLine("#${new Date()}") - writer.writeLine("eula=true") - } - } - } - } - } - } } base { @@ -399,6 +350,59 @@ tasks.withType(JavaCompile).configureEach { JavaCompile task -> } } +// Setup client default settings. +tasks.named("runClient") { + defaultCharacterEncoding = "UTF-8" + + doFirst { + file("${project.projectDir}/run/client/config").mkdirs() + file("${project.projectDir}/run/client/options.txt").with { File f -> + { + if (!f.exists()) { + f.parentFile.mkdirs() + f.withWriter { BufferedWriter writer -> + writer.writeLine("autoJump:false") + writer.writeLine("enableVsync:false") + writer.writeLine("forceUnicodeFont:true") + writer.writeLine("fov:1.0") + + if (mcVersion < 11900) { + writer.writeLine("gamma:16.0") + } + + writer.writeLine("guiScale:3") + writer.writeLine("lang:${Locale.getDefault().toString().toLowerCase()}") + writer.writeLine("maxFps:260") + writer.writeLine("renderDistance:10") + writer.writeLine("soundCategory_master:0.0") + } + } + } + } + } +} + +// Setup server default settings. +tasks.named("runServer") { + defaultCharacterEncoding = "UTF-8" + + doFirst { + // Agree eula before server init. + file("${project.projectDir}/run/server/eula.txt").with { File f -> + { + if (!f.exists()) { + f.parentFile.mkdirs() + f.withWriter { BufferedWriter writer -> + writer.writeLine("#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).") + writer.writeLine("#${new Date()}") + writer.writeLine("eula=true") + } + } + } + } + } +} + tasks.register("cleanRuns", Delete.class) { Delete cleanTask -> dependsOn("cleanRunClient", "cleanRunServer") cleanTask.setGroup("${project.property("mod.id")}") diff --git a/versions/1.21.1-fabric/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/tweakeroo/inventoryPreviewUseCache/MixinMixinRenderUtils.java b/versions/1.21.1-fabric/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/tweakeroo/inventoryPreviewUseCache/MixinMixinRenderUtils.java new file mode 100644 index 0000000..0de00f7 --- /dev/null +++ b/versions/1.21.1-fabric/src/main/java/com/plusls/MasaGadget/mixin/mod_tweak/tweakeroo/inventoryPreviewUseCache/MixinMixinRenderUtils.java @@ -0,0 +1,8 @@ +package com.plusls.MasaGadget.mixin.mod_tweak.tweakeroo.inventoryPreviewUseCache; + +import org.spongepowered.asm.mixin.Mixin; +import top.hendrixshen.magiclib.api.preprocess.DummyClass; + +@Mixin(DummyClass.class) +public class MixinMixinRenderUtils { +} diff --git a/versions/1.21.7-fabric/gradle.properties b/versions/1.21.7-fabric/gradle.properties new file mode 100644 index 0000000..09754c2 --- /dev/null +++ b/versions/1.21.7-fabric/gradle.properties @@ -0,0 +1,19 @@ +# Dependency Versions +dependencies.minecraft_dependency=>=1.21.6- <1.21.8- +dependencies.minecraft_version=1.21.7 + +# Compatible Libraries +dependencies.api.itemscroller_version=0.28.1 +dependencies.api.litematica_version=0.23.1 +dependencies.api.minihud_version=0.36.1 +dependencies.api.tweakeroo_version=0.25.1 + +# Publish properties +publish.game_version=1.21.5 +publish.dependencies_list=\ + fabric-api(required){modrinth:P7dR8mSH}{curseforge:306612}#(ignore:github),\ + magiclib(required){modrinth:mv1zH6ln}{curseforge:576459}#(ignore:github),\ + itemscroller(optional){modrinth:JygyCSA4}{curseforge:242064}#(ignore:github),\ + litematica(optional){modrinth:bEpr0Arc}{curseforge:308892}#(ignore:github),\ + minihud(optional){modrinth:UMxybHE8}{curseforge:244260}#(ignore:github),\ + tweakeroo(optional){modrinth:t5wuYk45}{curseforge:297344}#(ignore:github) diff --git a/versions/mapping-fabric-1.21.5-1.21.7.txt b/versions/mapping-fabric-1.21.5-1.21.7.txt new file mode 100644 index 0000000..e69de29