use of net.minecraft.client.gui.screen.TitleScreen in project meteor-client by MeteorDevelopment.
the class DisconnectedScreenMixin method onRenderBackground.
@Inject(method = "init", at = @At("TAIL"))
private void onRenderBackground(CallbackInfo info) {
if (Modules.get().get(AutoReconnect.class).lastServerInfo != null) {
int x = width / 2 - 100;
int y = Math.min((height / 2 + reasonHeight / 2) + 32, height - 30);
reconnectBtn = addDrawableChild(new ButtonWidget(x, y, 200, 20, new LiteralText(getText()), button -> ConnectScreen.connect(new MultiplayerScreen(new TitleScreen()), client, ServerAddress.parse(Modules.get().get(AutoReconnect.class).lastServerInfo.address), Modules.get().get(AutoReconnect.class).lastServerInfo)));
}
}
use of net.minecraft.client.gui.screen.TitleScreen in project AutoResetMod by DuncanRuns.
the class OptionsScreenMixin method addStopRunButtonMixin.
@Inject(method = "init", at = @At("TAIL"))
private void addStopRunButtonMixin(CallbackInfo info) {
if (AutoReset.isPlaying) {
// Get menu.stop_resets text or set to default
Text text;
if (Language.getInstance().get("menu.stop_resets").equals("menu.stop_resets")) {
text = new LiteralText("Stop Resets & Quit");
} else {
text = new TranslatableText("menu.stop_resets");
}
// Add button to disable the auto reset and quit
this.addButton(new ButtonWidget(0, this.height - 20, 100, 20, text, (buttonWidget) -> {
AutoReset.isPlaying = false;
buttonWidget.active = false;
this.client.world.disconnect();
this.client.disconnect(new SaveLevelScreen(new TranslatableText("menu.savingLevel")));
this.client.openScreen(new TitleScreen());
}));
}
}
use of net.minecraft.client.gui.screen.TitleScreen in project tweakermore by Fallen-Breath.
the class SafeAfkHelper method onHealthUpdate.
public static void onHealthUpdate(MinecraftClient mc) {
if (TweakerMoreConfigs.TWEAKM_SAFE_AFK.getBooleanValue()) {
if (mc.player != null && mc.world != null && hasRecord()) {
float health = mc.player.getHealth();
float maxHealth = mc.player.getMaximumHealth();
if (maxHealth > 0 && health < TweakerMoreConfigs.SAFE_AFK_HEALTH_THRESHOLD.getDoubleValue()) {
String title = TweakerMoreMod.MOD_NAME + " " + TweakerMoreConfigs.TWEAKM_SAFE_AFK.getPrettyName();
BaseText reason = new TranslatableText("tweakermore.config.tweakmSafeAfk.received_damage", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()), String.format("%.1f / %.1f (%.0f%%)", health, maxHealth, health / maxHealth * 100));
resetHurtTime();
mc.execute(() -> {
mc.world.disconnect();
mc.disconnect();
mc.openScreen(new DisconnectedScreen(new MultiplayerScreen(new TitleScreen()), title, reason));
});
}
}
}
}
use of net.minecraft.client.gui.screen.TitleScreen in project BleachHack by BleachDrinker420.
the class BleachTitleScreen method init.
@Override
public void init() {
super.init();
addWindow(new Window(width / 8, height / 8, width - width / 8, height - height / 8 + 2, "BleachHack", new ItemStack(Items.MUSIC_DISC_CAT)));
int w = getWindow(0).x2 - getWindow(0).x1;
int h = getWindow(0).y2 - getWindow(0).y1;
int maxY = MathHelper.clamp(h / 4 + 119, 0, h - 22);
getWindow(0).addWidget(new WindowButtonWidget(w / 2 - 100, h / 4 + 38, w / 2 + 100, h / 4 + 58, I18n.translate("menu.singleplayer"), () -> client.setScreen(new SelectWorldScreen(client.currentScreen))));
getWindow(0).addWidget(new WindowButtonWidget(w / 2 - 100, h / 4 + 62, w / 2 + 100, h / 4 + 82, I18n.translate("menu.multiplayer"), () -> client.setScreen(new MultiplayerScreen(client.currentScreen))));
getWindow(0).addWidget(new WindowButtonWidget(w / 2 - 100, h / 4 + 86, w / 2 + 100, h / 4 + 106, I18n.translate("menu.online"), () -> client.setScreen(new RealmsMainScreen(this))));
getWindow(0).addWidget(new WindowButtonWidget(w / 2 - 124, h / 4 + 86, w / 2 - 104, h / 4 + 106, "MC", () -> {
customTitleScreen = !customTitleScreen;
BleachFileHelper.saveMiscSetting("customTitleScreen", new JsonPrimitive(false));
client.setScreen(new TitleScreen(false));
}));
getWindow(0).addWidget(new WindowButtonWidget(w / 2 - 100, maxY, w / 2 - 2, maxY + 20, I18n.translate("menu.options"), () -> client.setScreen(new OptionsScreen(client.currentScreen, client.options))));
getWindow(0).addWidget(new WindowButtonWidget(w / 2 + 2, maxY, w / 2 + 100, maxY + 20, I18n.translate("menu.quit"), () -> client.scheduleStop()));
// Main Text
getWindow(0).addWidget(new WindowTextWidget(LiteralText.EMPTY, true, WindowTextWidget.TextAlign.MIDDLE, 3f, w / 2, h / 4 - 25, 0).withRenderEvent((widget, ms, wx, wy) -> {
MutableText bhText = new LiteralText("");
int i = 0;
for (char c : "BleachHack".toCharArray()) {
int fi = i++;
bhText.append(new LiteralText(String.valueOf(c)).styled(s -> s.withColor(TextColor.fromRgb(UI.getRainbowFromSettings(fi)))));
}
((WindowTextWidget) widget).setText(bhText);
}));
// Version Text
getWindow(0).addWidget(new WindowTextWidget(BleachHack.VERSION, true, WindowTextWidget.TextAlign.MIDDLE, 1.5f, w / 2, h / 4 - 6, 0xffc050));
// Splash
getWindow(0).addWidget(new WindowTextWidget(LiteralText.EMPTY, true, WindowTextWidget.TextAlign.MIDDLE, 2f, -20f, w / 2 + 80, h / 4 + 6, 0xffff00).withRenderEvent((widget, ms, wx, wy) -> {
if (splash != null) {
WindowTextWidget windgetText = (WindowTextWidget) widget;
windgetText.setText(new LiteralText(splash));
windgetText.color = (windgetText.color & 0x00ffffff) | ((splashTicks * 17) << 24);
float scale = 1.8F - MathHelper.abs(MathHelper.sin(Util.getMeasuringTimeMs() % 1000L / 1000.0F * 6.2831855F) * 0.1F);
scale = scale * 66.0F / (textRenderer.getWidth(splash) + 32);
windgetText.setScale(scale);
}
}));
// Update Text
JsonObject updateJson = BleachHack.getUpdateJson();
if (updateJson != null && updateJson.has("version") && updateJson.get("version").getAsInt() > BleachHack.INTVERSION) {
getWindow(0).addWidget(new WindowTextWidget("\u00a76\u00a7nUpdate\u00a76", true, 4, h - 12, 0xffffff).withClickEvent((widget, mx, my, wx, wy) -> client.setScreen(new UpdateScreen(client.currentScreen, updateJson))));
}
}
Aggregations