[Fix] Crash due to client code in Command execution
This commit is contained in:
parent
e06bee11e9
commit
d48f6db59f
2 changed files with 13 additions and 8 deletions
|
@ -10,6 +10,8 @@ import org.betterx.bclib.BCLib;
|
||||||
import org.betterx.bclib.config.Configs;
|
import org.betterx.bclib.config.Configs;
|
||||||
import org.betterx.bclib.networking.VersionChecker;
|
import org.betterx.bclib.networking.VersionChecker;
|
||||||
|
|
||||||
|
import com.mojang.blaze3d.systems.RenderSystem;
|
||||||
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.gui.GuiGraphics;
|
import net.minecraft.client.gui.GuiGraphics;
|
||||||
import net.minecraft.client.gui.screens.Screen;
|
import net.minecraft.client.gui.screens.Screen;
|
||||||
import net.minecraft.network.chat.CommonComponents;
|
import net.minecraft.network.chat.CommonComponents;
|
||||||
|
@ -31,6 +33,15 @@ public class UpdatesScreen extends BCLibLayoutScreen {
|
||||||
public UpdatesScreen(Screen parent) {
|
public UpdatesScreen(Screen parent) {
|
||||||
super(parent, Component.translatable("bclib.updates.title"), 10, 10, 10);
|
super(parent, Component.translatable("bclib.updates.title"), 10, 10, 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void showUpdateUI() {
|
||||||
|
if (!RenderSystem.isOnRenderThread()) {
|
||||||
|
RenderSystem.recordRenderCall(() -> Minecraft.getInstance()
|
||||||
|
.setScreen(new UpdatesScreen(Minecraft.getInstance().screen)));
|
||||||
|
} else {
|
||||||
|
Minecraft.getInstance().setScreen(new UpdatesScreen(Minecraft.getInstance().screen));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public ResourceLocation getUpdaterIcon(String modID) {
|
public ResourceLocation getUpdaterIcon(String modID) {
|
||||||
if (modID.equals(BCLib.MOD_ID)) {
|
if (modID.equals(BCLib.MOD_ID)) {
|
||||||
|
|
|
@ -5,12 +5,10 @@ import org.betterx.bclib.client.gui.screens.UpdatesScreen;
|
||||||
import org.betterx.bclib.config.Configs;
|
import org.betterx.bclib.config.Configs;
|
||||||
import org.betterx.bclib.networking.VersionChecker;
|
import org.betterx.bclib.networking.VersionChecker;
|
||||||
|
|
||||||
import com.mojang.blaze3d.systems.RenderSystem;
|
|
||||||
import com.mojang.brigadier.Command;
|
import com.mojang.brigadier.Command;
|
||||||
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
|
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
|
||||||
import com.mojang.brigadier.context.CommandContext;
|
import com.mojang.brigadier.context.CommandContext;
|
||||||
import net.minecraft.ChatFormatting;
|
import net.minecraft.ChatFormatting;
|
||||||
import net.minecraft.client.Minecraft;
|
|
||||||
import net.minecraft.commands.CommandSourceStack;
|
import net.minecraft.commands.CommandSourceStack;
|
||||||
import net.minecraft.commands.Commands;
|
import net.minecraft.commands.Commands;
|
||||||
import net.minecraft.network.chat.ClickEvent;
|
import net.minecraft.network.chat.ClickEvent;
|
||||||
|
@ -126,13 +124,9 @@ public class PrintInfo {
|
||||||
ctx.getSource().sendSuccess(() -> footer, false);
|
ctx.getSource().sendSuccess(() -> footer, false);
|
||||||
|
|
||||||
if (withUI && BCLib.isClient() && Configs.CLIENT_CONFIG.showUpdateInfo() && !VersionChecker.isEmpty()) {
|
if (withUI && BCLib.isClient() && Configs.CLIENT_CONFIG.showUpdateInfo() && !VersionChecker.isEmpty()) {
|
||||||
if (!RenderSystem.isOnRenderThread()) {
|
UpdatesScreen.showUpdateUI();
|
||||||
RenderSystem.recordRenderCall(() -> Minecraft.getInstance()
|
|
||||||
.setScreen(new UpdatesScreen(Minecraft.getInstance().screen)));
|
|
||||||
} else {
|
|
||||||
Minecraft.getInstance().setScreen(new UpdatesScreen(Minecraft.getInstance().screen));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return Command.SINGLE_SUCCESS;
|
return Command.SINGLE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue