Display custom You died message as android

This commit is contained in:
DBotThePony 2021-08-19 10:33:52 +07:00
parent 33a2000705
commit 017478b312
Signed by: DBot
GPG Key ID: DCC23B5715498507
5 changed files with 28 additions and 0 deletions

View File

@ -43,6 +43,8 @@ minecraft {
// Simply re-run your setup task after changing the mappings to update your workspace.
mappings channel: 'official', version: '1.17.1'
accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
// accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') // Currently, this location cannot be changed from the default.
// Default run configurations.

View File

@ -88,6 +88,7 @@ public class OverdriveThatMatters {
private void setupClient(final FMLClientSetupEvent event) {
ANDROID_GUI = new AndroidGui();
MinecraftForge.EVENT_BUS.register(ANDROID_GUI);
MinecraftForge.EVENT_BUS.register(AndroidGui.class);
}
private void enqueueIMC(final InterModEnqueueEvent event) {

View File

@ -2,10 +2,15 @@ package ru.dbotthepony.mc.otm.client;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screens.DeathScreen;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.client.player.LocalPlayer;
import net.minecraft.network.chat.TextComponent;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraftforge.client.event.GuiOpenEvent;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.client.gui.ForgeIngameGui;
import net.minecraftforge.eventbus.api.SubscribeEvent;
@ -24,6 +29,22 @@ public class AndroidGui {
private IAndroidCapability last_state;
@SubscribeEvent
public static void onOpenGUI(GuiOpenEvent event) {
if (!(event.getGui() instanceof DeathScreen screen))
return;
LocalPlayer ply = Minecraft.getInstance().player;
if (ply == null)
return;
ply.getCapability(MatteryCapability.ANDROID).ifPresent(cap -> {
if (cap.isAndroid())
screen.title = new TranslatableComponent("otm.death_reason");
});
}
@SubscribeEvent
public void onLayerRenderEvent(RenderGameOverlayEvent.PreLayer event) {
if (event.getOverlay() != ForgeIngameGui.FOOD_LEVEL_ELEMENT && event.getOverlay() != ForgeIngameGui.AIR_LEVEL_ELEMENT)

View File

@ -0,0 +1,2 @@
# Make Screen.title be public and easily modifiable
public-f net.minecraft.client.gui.screens.Screen f_96539_ # title

View File

@ -15,6 +15,8 @@
"otm.gui.matter.format": "Matter: %s",
"otm.gui.matter.name": "MtU",
"otm.death_reason": "Decommissioned!",
"otm.item.power.infinite.storage": "Stored energy: Infinity / Infinity",
"otm.item.power.infinite.throughput": "Max I/O Infinite / Infinite",