Update to 26.1-pre1
This commit is contained in:
parent
9f7c65fc67
commit
c8a43ff7d6
|
|
@ -1,5 +1,5 @@
|
|||
plugins {
|
||||
id("net.neoforged.moddev") version("2.0.134")
|
||||
id("net.neoforged.moddev") version("2.0.140")
|
||||
id("org.ajoberstar.grgit") version("5.2.0")
|
||||
id("com.palantir.git-version") version("1.0.0")
|
||||
id("me.modmuss50.mod-publish-plugin") version("1.1.0")
|
||||
|
|
@ -124,6 +124,14 @@ repositories {
|
|||
includeGroup("curse.maven")
|
||||
}
|
||||
}
|
||||
maven {
|
||||
name = "Maven for PR #2993" // https://github.com/neoforged/NeoForge/pull/2993
|
||||
url = uri("https://prmaven.neoforged.net/NeoForge/pr2993")
|
||||
content {
|
||||
includeModule("net.neoforged", "neoforge")
|
||||
includeModule("net.neoforged", "testframework")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
val embed by configurations.creating {
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ mixinextras_version=0.4.1
|
|||
mod_id=modernfix
|
||||
minecraft_version=26.1
|
||||
enabled_platforms=neoforge
|
||||
forge_version=26.1.0.0-alpha.7+snapshot-3
|
||||
forge_version=26.1.0.0-alpha.0+pre-1.20260310.230015
|
||||
parchment_version=2025.12.20
|
||||
parchment_mc_version=1.21.11
|
||||
refined_storage_version=4392788
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import org.spongepowered.asm.mixin.injection.Redirect;
|
|||
@Mixin(AvatarRenderer.class)
|
||||
@ClientOnlyMixin
|
||||
public class AvatarRendererMixin {
|
||||
@Redirect(method = "submit(Lnet/minecraft/client/renderer/entity/state/AvatarRenderState;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;Lnet/minecraft/client/renderer/state/CameraRenderState;)V", at = @At(value = "INVOKE", target = "Lnet/neoforged/bus/api/IEventBus;post(Lnet/neoforged/bus/api/Event;)Lnet/neoforged/bus/api/Event;", ordinal = 0))
|
||||
@Redirect(method = "submit(Lnet/minecraft/client/renderer/entity/state/AvatarRenderState;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;Lnet/minecraft/client/renderer/state/level/CameraRenderState;)V", at = @At(value = "INVOKE", target = "Lnet/neoforged/bus/api/IEventBus;post(Lnet/neoforged/bus/api/Event;)Lnet/neoforged/bus/api/Event;", ordinal = 0))
|
||||
private Event fireCheckingPoseStack(IEventBus instance, Event event) {
|
||||
PoseStack stack = ((RenderPlayerEvent)event).getPoseStack();
|
||||
int size = ((PoseStackAccessor)stack).mfix$getLastIndex();
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import org.spongepowered.asm.mixin.injection.Redirect;
|
|||
@Mixin(LivingEntityRenderer.class)
|
||||
@ClientOnlyMixin
|
||||
public class LivingEntityRendererMixin {
|
||||
@Redirect(method = "submit(Lnet/minecraft/client/renderer/entity/state/LivingEntityRenderState;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;Lnet/minecraft/client/renderer/state/CameraRenderState;)V", at = @At(value = "INVOKE", target = "Lnet/neoforged/bus/api/IEventBus;post(Lnet/neoforged/bus/api/Event;)Lnet/neoforged/bus/api/Event;", ordinal = 0))
|
||||
@Redirect(method = "submit(Lnet/minecraft/client/renderer/entity/state/LivingEntityRenderState;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;Lnet/minecraft/client/renderer/state/level/CameraRenderState;)V", at = @At(value = "INVOKE", target = "Lnet/neoforged/bus/api/IEventBus;post(Lnet/neoforged/bus/api/Event;)Lnet/neoforged/bus/api/Event;", ordinal = 0))
|
||||
private Event fireCheckingPoseStack(IEventBus instance, Event event) {
|
||||
PoseStack stack = ((RenderLivingEvent)event).getPoseStack();
|
||||
int size = ((PoseStackAccessor)stack).mfix$getLastIndex();
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ package org.embeddedt.modernfix.common.mixin.bugfix.extra_experimental_screen;
|
|||
|
||||
import com.mojang.serialization.Lifecycle;
|
||||
import net.minecraft.client.gui.screens.worldselection.CreateWorldScreen;
|
||||
import net.minecraft.world.level.storage.LevelDataAndDimensions;
|
||||
import net.minecraft.world.level.storage.PrimaryLevelData;
|
||||
import net.minecraft.world.level.storage.WorldData;
|
||||
import org.embeddedt.modernfix.annotation.ClientOnlyMixin;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
|
|
@ -16,11 +16,11 @@ public class CreateWorldScreenMixin {
|
|||
* Fix experimental world dialog still being shown the first time you reopen a world that was created
|
||||
* as experimental.
|
||||
*/
|
||||
@ModifyArg(method = "createNewWorld", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screens/worldselection/WorldOpenFlows;createLevelFromExistingSettings(Lnet/minecraft/world/level/storage/LevelStorageSource$LevelStorageAccess;Lnet/minecraft/server/ReloadableServerResources;Lnet/minecraft/core/LayeredRegistryAccess;Lnet/minecraft/world/level/storage/WorldData;)V"), index = 3)
|
||||
private WorldData setExperimentalFlag(WorldData data) {
|
||||
if(data instanceof PrimaryLevelData pld && data.worldGenSettingsLifecycle() != Lifecycle.stable()) {
|
||||
@ModifyArg(method = "createNewWorld", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screens/worldselection/WorldOpenFlows;createLevelFromExistingSettings(Lnet/minecraft/world/level/storage/LevelStorageSource$LevelStorageAccess;Lnet/minecraft/server/ReloadableServerResources;Lnet/minecraft/core/LayeredRegistryAccess;Lnet/minecraft/world/level/storage/LevelDataAndDimensions$WorldDataAndGenSettings;Ljava/util/Optional;)V"), index = 3)
|
||||
private LevelDataAndDimensions.WorldDataAndGenSettings setExperimentalFlag(LevelDataAndDimensions.WorldDataAndGenSettings settings) {
|
||||
if(settings.data() instanceof PrimaryLevelData pld && settings.data().worldGenSettingsLifecycle() != Lifecycle.stable()) {
|
||||
pld.withConfirmedWarning(true);
|
||||
}
|
||||
return data;
|
||||
return settings;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package org.embeddedt.modernfix.common.mixin.perf.dynamic_dfu;
|
||||
|
||||
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
|
||||
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
|
||||
import com.mojang.datafixers.DataFixerBuilder;
|
||||
import net.minecraft.util.datafix.DataFixers;
|
||||
import org.embeddedt.modernfix.dfu.DFUBlaster;
|
||||
|
|
@ -9,7 +9,7 @@ import org.spongepowered.asm.mixin.injection.At;
|
|||
|
||||
@Mixin(DataFixers.class)
|
||||
public class DataFixersMixin {
|
||||
@ModifyReturnValue(method = "createFixerUpper", at = @At("RETURN"))
|
||||
@ModifyExpressionValue(method = "<clinit>", at = @At(value = "INVOKE", target = "Lcom/mojang/datafixers/DataFixerBuilder;build()Lcom/mojang/datafixers/DataFixerBuilder$Result;"))
|
||||
private static DataFixerBuilder.Result setupMapBlasting(DataFixerBuilder.Result original) {
|
||||
DFUBlaster.blastMaps();
|
||||
return original;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package org.embeddedt.modernfix.common.mixin.perf.dynamic_resources;
|
||||
|
||||
import net.minecraft.client.renderer.block.model.BlockStateModel;
|
||||
import net.minecraft.client.renderer.block.dispatch.BlockStateModel;
|
||||
import net.minecraft.world.level.block.state.BlockBehaviour;
|
||||
import org.embeddedt.modernfix.annotation.ClientOnlyMixin;
|
||||
import org.embeddedt.modernfix.duck.IModelHoldingBlockState;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
package org.embeddedt.modernfix.common.mixin.perf.dynamic_resources;
|
||||
|
||||
import com.google.common.collect.Maps;
|
||||
import it.unimi.dsi.fastutil.objects.Object2IntMap;
|
||||
import net.minecraft.client.color.block.BlockColors;
|
||||
import net.minecraft.client.renderer.block.model.BlockStateModel;
|
||||
import net.minecraft.client.renderer.block.dispatch.BlockStateModel;
|
||||
import net.minecraft.client.resources.model.BlockStateModelLoader;
|
||||
import net.minecraft.client.resources.model.ClientItemInfoLoader;
|
||||
import net.minecraft.client.resources.model.ModelManager;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package org.embeddedt.modernfix.duck;
|
||||
|
||||
import net.minecraft.client.renderer.block.model.BlockStateModel;
|
||||
import net.minecraft.client.renderer.block.dispatch.BlockStateModel;
|
||||
|
||||
public interface IModelHoldingBlockState {
|
||||
BlockStateModel mfix$getModel();
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package org.embeddedt.modernfix.dynresources;
|
||||
|
||||
import net.minecraft.client.renderer.block.model.BlockStateModel;
|
||||
import net.minecraft.client.renderer.block.dispatch.BlockStateModel;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import org.embeddedt.modernfix.duck.IModelHoldingBlockState;
|
||||
|
|
|
|||
|
|
@ -12,15 +12,14 @@ import it.unimi.dsi.fastutil.objects.ObjectSet;
|
|||
import it.unimi.dsi.fastutil.objects.ObjectSets;
|
||||
import it.unimi.dsi.fastutil.objects.ReferenceSets;
|
||||
import net.minecraft.client.color.block.BlockColors;
|
||||
import net.minecraft.client.renderer.block.model.BlockStateModel;
|
||||
import net.minecraft.client.renderer.block.model.ItemModelGenerator;
|
||||
import net.minecraft.client.resources.model.BlockStateModelLoader;
|
||||
import net.minecraft.client.resources.model.ClientItemInfoLoader;
|
||||
import net.minecraft.client.resources.model.MissingBlockModel;
|
||||
import net.minecraft.client.resources.model.ModelDiscovery;
|
||||
import net.minecraft.client.resources.model.ModelManager;
|
||||
import net.minecraft.client.resources.model.ResolvedModel;
|
||||
import net.minecraft.client.resources.model.UnbakedModel;
|
||||
import net.minecraft.client.resources.model.cuboid.ItemModelGenerator;
|
||||
import net.minecraft.client.resources.model.cuboid.MissingCuboidModel;
|
||||
import net.minecraft.resources.FileToIdConverter;
|
||||
import net.minecraft.resources.Identifier;
|
||||
import net.minecraft.server.packs.resources.Resource;
|
||||
|
|
@ -111,7 +110,7 @@ public class DynamicModelSystem {
|
|||
StandaloneModelLoader.LoadedModels standaloneModels) {
|
||||
|
||||
private ResolvedModel resolveModel(Identifier id) {
|
||||
var discovery = new ModelDiscovery(inputModels, MissingBlockModel.missingModel());
|
||||
var discovery = new ModelDiscovery(inputModels, MissingCuboidModel.missingModel());
|
||||
discovery.addSpecialModel(ItemModelGenerator.GENERATED_ITEM_MODEL_ID, new ItemModelGenerator());
|
||||
if (!id.equals(ItemModelGenerator.GENERATED_ITEM_MODEL_ID)) {
|
||||
UnbakedModel unbaked = inputModels.get(id);
|
||||
|
|
@ -127,7 +126,7 @@ public class DynamicModelSystem {
|
|||
}
|
||||
|
||||
public ModelManager.ResolvedModels resolvedModels() {
|
||||
var resolvedMissingModel = new ModelDiscovery(inputModels, MissingBlockModel.missingModel()).missingModel();
|
||||
var resolvedMissingModel = new ModelDiscovery(inputModels, MissingCuboidModel.missingModel()).missingModel();
|
||||
LoadingCache<Identifier, ResolvedModel> resolvedModelCache = CacheBuilder.newBuilder().softValues().maximumSize(1000).build(new CacheLoader<>() {
|
||||
@Override
|
||||
public ResolvedModel load(Identifier key) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package org.embeddedt.modernfix.screen;
|
||||
|
||||
import net.minecraft.client.gui.GuiGraphics;
|
||||
import net.minecraft.client.gui.GuiGraphicsExtractor;
|
||||
import net.minecraft.client.gui.components.Button;
|
||||
import net.minecraft.client.gui.screens.Screen;
|
||||
import net.minecraft.network.chat.CommonComponents;
|
||||
|
|
@ -41,10 +41,10 @@ public class ModernFixConfigScreen extends Screen {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void render(GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTicks) {
|
||||
super.render(guiGraphics, mouseX, mouseY, partialTicks);
|
||||
this.optionList.render(guiGraphics, mouseX, mouseY, partialTicks);
|
||||
guiGraphics.drawCenteredString(this.font, this.title, this.width / 2, 8, 16777215);
|
||||
public void extractRenderState(GuiGraphicsExtractor guiGraphics, int mouseX, int mouseY, float partialTicks) {
|
||||
super.extractRenderState(guiGraphics, mouseX, mouseY, partialTicks);
|
||||
this.optionList.extractRenderState(guiGraphics, mouseX, mouseY, partialTicks);
|
||||
guiGraphics.centeredText(this.font, this.title, this.width / 2, 8, 16777215);
|
||||
this.doneButton.setMessage(madeChanges ? Component.translatable("modernfix.config.done_restart") : CommonComponents.GUI_DONE);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package org.embeddedt.modernfix.screen;
|
||||
|
||||
import net.minecraft.client.gui.Font;
|
||||
import net.minecraft.client.gui.GuiGraphics;
|
||||
import net.minecraft.client.gui.GuiGraphicsExtractor;
|
||||
import net.minecraft.client.gui.components.Button;
|
||||
import net.minecraft.client.gui.screens.Screen;
|
||||
import net.minecraft.network.chat.CommonComponents;
|
||||
|
|
@ -32,17 +32,17 @@ public class ModernFixOptionInfoScreen extends Screen {
|
|||
this.minecraft.setScreen(lastScreen);
|
||||
}
|
||||
|
||||
private void drawMultilineString(GuiGraphics guiGraphics, Font fr, Component str, int x, int y) {
|
||||
private void drawMultilineString(GuiGraphicsExtractor guiGraphics, Font fr, Component str, int x, int y) {
|
||||
for(FormattedCharSequence s : fr.split(str, this.width - 50)) {
|
||||
guiGraphics.drawString(fr, s, x, y, 16777215, true);
|
||||
guiGraphics.text(fr, s, x, y, 16777215, true);
|
||||
y += fr.lineHeight;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTicks) {
|
||||
super.render(guiGraphics, mouseX, mouseY, partialTicks);
|
||||
guiGraphics.drawCenteredString(this.font, this.title, this.width / 2, 8, 16777215);
|
||||
public void extractRenderState(GuiGraphicsExtractor guiGraphics, int mouseX, int mouseY, float partialTicks) {
|
||||
super.extractRenderState(guiGraphics, mouseX, mouseY, partialTicks);
|
||||
guiGraphics.centeredText(this.font, this.title, this.width / 2, 8, 16777215);
|
||||
this.drawMultilineString(guiGraphics, this.minecraft.font, description, 10, 50);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import com.google.common.collect.Multimap;
|
|||
import net.minecraft.ChatFormatting;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.Font;
|
||||
import net.minecraft.client.gui.GuiGraphics;
|
||||
import net.minecraft.client.gui.GuiGraphicsExtractor;
|
||||
import net.minecraft.client.gui.components.Button;
|
||||
import net.minecraft.client.gui.components.ContainerObjectSelectionList;
|
||||
import net.minecraft.client.gui.components.Tooltip;
|
||||
|
|
@ -105,11 +105,11 @@ public class OptionList extends ContainerObjectSelectionList<OptionList.Entry> {
|
|||
this.width = OptionList.this.minecraft.font.width(this.name);
|
||||
}
|
||||
|
||||
public void renderContent(GuiGraphics guiGraphics, int mouseX, int mouseY, boolean isMouseOver, float partialTicks) {
|
||||
public void extractContent(GuiGraphicsExtractor guiGraphics, int mouseX, int mouseY, boolean isMouseOver, float partialTicks) {
|
||||
Font var10000 = OptionList.this.minecraft.font;
|
||||
float x = (float)(OptionList.this.minecraft.screen.width / 2 - this.width / 2);
|
||||
int y = 0 + height - 10;
|
||||
guiGraphics.drawString(var10000, this.name, (int)x, y, 16777215);
|
||||
guiGraphics.text(var10000, this.name, (int)x, y, 16777215);
|
||||
/*
|
||||
if(mouseX >= x && mouseY >= y && mouseX <= (x + this.width) && mouseY <= (y + OptionList.this.minecraft.font.lineHeight))
|
||||
OptionList.this.mainScreen.renderComponentHoverEffect(matrixStack, this.name.getStyle(), mouseX, mouseY);
|
||||
|
|
@ -178,19 +178,19 @@ public class OptionList extends ContainerObjectSelectionList<OptionList.Entry> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void renderContent(GuiGraphics guiGraphics, int mouseX, int mouseY, boolean isHovering, float partialTicks) {
|
||||
public void extractContent(GuiGraphicsExtractor guiGraphics, int mouseX, int mouseY, boolean isHovering, float partialTicks) {
|
||||
int left = 0, top = 0;
|
||||
MutableComponent nameComponent = getOptionComponent(option);
|
||||
if(this.option.isUserDefined())
|
||||
nameComponent = nameComponent.withStyle(style -> style.withItalic(true)).append(Component.translatable("modernfix.config.not_default"));
|
||||
float textX = (float)(left + DEPTH_OFFSET * option.getDepth() + 160 - OptionList.this.maxNameWidth);
|
||||
float textY = (float)(top + height / 2 - 4);
|
||||
guiGraphics.drawString(OptionList.this.minecraft.font, nameComponent, (int)textX, (int)textY, 16777215);
|
||||
guiGraphics.text(OptionList.this.minecraft.font, nameComponent, (int)textX, (int)textY, 16777215);
|
||||
this.toggleButton.setPosition(left + 175, top);
|
||||
this.toggleButton.setMessage(getOptionMessage(this.option));
|
||||
this.toggleButton.render(guiGraphics, mouseX, mouseY, partialTicks);
|
||||
this.toggleButton.extractRenderState(guiGraphics, mouseX, mouseY, partialTicks);
|
||||
this.helpButton.setPosition(left + 175 + 55, top);
|
||||
this.helpButton.render(guiGraphics, mouseX, mouseY, partialTicks);
|
||||
this.helpButton.extractRenderState(guiGraphics, mouseX, mouseY, partialTicks);
|
||||
/*
|
||||
if(mouseX >= textX && mouseY >= textY && mouseX <= (textX + OptionList.this.maxNameWidth) && mouseY <= (textY + OptionList.this.minecraft.font.lineHeight))
|
||||
OptionList.this.mainScreen.renderComponentHoverEffect(matrixStack, nameComponent.getStyle(), mouseX, mouseY);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user