mirror of
https://github.com/TeamMidnightDust/MidnightLib.git
synced 2025-12-16 17:25:09 +01:00
Fix button positioning
- Overview button is now positioned correctly again - Updated to 24w13a (also works on 24w14a)
This commit is contained in:
@@ -3,12 +3,17 @@ package eu.midnightdust.core.mixin;
|
|||||||
import eu.midnightdust.core.config.MidnightLibConfig;
|
import eu.midnightdust.core.config.MidnightLibConfig;
|
||||||
import eu.midnightdust.core.screen.MidnightConfigOverviewScreen;
|
import eu.midnightdust.core.screen.MidnightConfigOverviewScreen;
|
||||||
import eu.midnightdust.lib.util.PlatformFunctions;
|
import eu.midnightdust.lib.util.PlatformFunctions;
|
||||||
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
import net.minecraft.client.gui.screen.option.OptionsScreen;
|
import net.minecraft.client.gui.screen.option.OptionsScreen;
|
||||||
import net.minecraft.client.gui.widget.TextIconButtonWidget;
|
import net.minecraft.client.gui.widget.TextIconButtonWidget;
|
||||||
|
import net.minecraft.client.gui.widget.ThreePartsLayoutWidget;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
|
import org.spongepowered.asm.mixin.Final;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.Shadow;
|
||||||
|
import org.spongepowered.asm.mixin.Unique;
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
import org.spongepowered.asm.mixin.injection.Inject;
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||||
@@ -17,17 +22,27 @@ import java.util.Objects;
|
|||||||
|
|
||||||
@Mixin(OptionsScreen.class)
|
@Mixin(OptionsScreen.class)
|
||||||
public class MixinOptionsScreen extends Screen {
|
public class MixinOptionsScreen extends Screen {
|
||||||
protected MixinOptionsScreen(Text title) {super(title);}
|
@Shadow @Final private ThreePartsLayoutWidget layout;
|
||||||
|
@Unique TextIconButtonWidget button = TextIconButtonWidget.builder(Text.translatable("midnightlib.overview.title"), (
|
||||||
@Inject(at = @At("HEAD"),method = "init")
|
|
||||||
private void midnightlib$init(CallbackInfo ci) {
|
|
||||||
if (MidnightLibConfig.config_screen_list.equals(MidnightLibConfig.ConfigButton.TRUE) || (MidnightLibConfig.config_screen_list.equals(MidnightLibConfig.ConfigButton.MODMENU) && !PlatformFunctions.isModLoaded("modmenu"))) {
|
|
||||||
TextIconButtonWidget button = TextIconButtonWidget.builder(Text.translatable("midnightlib.overview.title"), (
|
|
||||||
buttonWidget) -> Objects.requireNonNull(client).setScreen(new MidnightConfigOverviewScreen(this)), true)
|
buttonWidget) -> Objects.requireNonNull(client).setScreen(new MidnightConfigOverviewScreen(this)), true)
|
||||||
.texture(new Identifier("midnightlib","icon/midnightlib"), 16, 16).dimension(20, 20).build();
|
.texture(new Identifier("midnightlib","icon/midnightlib"), 16, 16).dimension(20, 20).build();
|
||||||
//button.setPosition(this.width / 2 + 158, this.height / 6 - 17);
|
|
||||||
button.setPosition(this.width / 2 + 158, this.height / 2 - 105);
|
protected MixinOptionsScreen(Text title) {super(title);}
|
||||||
|
@Inject(at = @At("HEAD"), method = "init")
|
||||||
|
public void midnightlib$onInit(CallbackInfo ci) {
|
||||||
|
this.midnightlib$setupButton();
|
||||||
this.addDrawableChild(button);
|
this.addDrawableChild(button);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void resize(MinecraftClient client, int width, int height) {
|
||||||
|
super.resize(client, width, height);
|
||||||
|
this.midnightlib$setupButton();
|
||||||
|
}
|
||||||
|
@Unique
|
||||||
|
public void midnightlib$setupButton() {
|
||||||
|
if (MidnightLibConfig.config_screen_list.equals(MidnightLibConfig.ConfigButton.TRUE) || (MidnightLibConfig.config_screen_list.equals(MidnightLibConfig.ConfigButton.MODMENU) && !PlatformFunctions.isModLoaded("modmenu"))) {
|
||||||
|
button.setPosition(layout.getWidth() / 2 + 158, layout.getY() + layout.getFooterHeight() - 4);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -19,7 +19,6 @@ import net.minecraft.client.gui.tab.Tab;
|
|||||||
import net.minecraft.client.gui.tab.TabManager;
|
import net.minecraft.client.gui.tab.TabManager;
|
||||||
import net.minecraft.client.gui.tooltip.Tooltip;
|
import net.minecraft.client.gui.tooltip.Tooltip;
|
||||||
import net.minecraft.client.gui.widget.*;
|
import net.minecraft.client.gui.widget.*;
|
||||||
import net.minecraft.client.render.RenderLayer;
|
|
||||||
import net.minecraft.client.resource.language.I18n;
|
import net.minecraft.client.resource.language.I18n;
|
||||||
import net.minecraft.screen.ScreenTexts;
|
import net.minecraft.screen.ScreenTexts;
|
||||||
import net.minecraft.text.OrderedText;
|
import net.minecraft.text.OrderedText;
|
||||||
@@ -393,7 +392,7 @@ public abstract class MidnightConfig {
|
|||||||
super(client, width, height, y, itemHeight);
|
super(client, width, height, y, itemHeight);
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public int getScrollbarPositionX() { return this.width -7; }
|
public int getScrollbarX() { return this.width -7; }
|
||||||
|
|
||||||
public void addButton(List<ClickableWidget> buttons, Text text, EntryInfo info) {
|
public void addButton(List<ClickableWidget> buttons, Text text, EntryInfo info) {
|
||||||
this.addEntry(new ButtonEntry(buttons, text, info));
|
this.addEntry(new ButtonEntry(buttons, text, info));
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
org.gradle.jvmargs=-Xmx4096M
|
org.gradle.jvmargs=-Xmx4096M
|
||||||
|
|
||||||
minecraft_version=24w09a
|
minecraft_version=24w13a
|
||||||
yarn_mappings=24w09a+build.11
|
yarn_mappings=24w13a+build.5
|
||||||
enabled_platforms=fabric
|
enabled_platforms=fabric
|
||||||
|
|
||||||
archives_base_name=midnightlib
|
archives_base_name=midnightlib
|
||||||
mod_version=1.5.3
|
mod_version=1.5.4
|
||||||
maven_group=eu.midnightdust
|
maven_group=eu.midnightdust
|
||||||
|
|
||||||
fabric_loader_version=0.15.7
|
fabric_loader_version=0.15.9
|
||||||
fabric_api_version=0.96.7+1.20.5
|
fabric_api_version=0.96.13+1.20.5
|
||||||
|
|
||||||
neoforge_version=20.4.12-beta
|
neoforge_version=20.4.12-beta
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user