Move ModernFix branding to right side of screen

This commit is contained in:
embeddedt 2023-08-03 11:27:32 -04:00
parent df9d2fbe2f
commit 24792b96cc
No known key found for this signature in database
GPG Key ID: A69433EC199B5613
2 changed files with 27 additions and 7 deletions

View File

@ -4,15 +4,16 @@ import net.minecraft.client.gui.components.DebugScreenOverlay;
import org.embeddedt.modernfix.ModernFixClientFabric;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import org.spongepowered.asm.mixin.injection.ModifyVariable;
import java.util.List;
@Mixin(DebugScreenOverlay.class)
public class GuiMixin {
@Inject(method = "getGameInformation", at = @At("RETURN"))
private void addModernFix(CallbackInfoReturnable<List<String>> cir) {
cir.getReturnValue().add(ModernFixClientFabric.commonMod.brandingString);
@ModifyVariable(method = "getSystemInformation", at = @At("STORE"), ordinal = 0, require = 0)
private List<String> addModernFix(List<String> list) {
list.add("");
list.add(ModernFixClientFabric.commonMod.brandingString);
return list;
}
}

View File

@ -23,6 +23,9 @@ import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import org.embeddedt.modernfix.ModernFixClient;
import org.embeddedt.modernfix.screen.ModernFixConfigScreen;
import java.util.ArrayList;
import java.util.List;
public class ModernFixClientForge {
private static ModernFixClient commonMod;
@ -50,11 +53,27 @@ public class ModernFixClientForge {
}
}
private static final List<String> brandingList = new ArrayList<>();
@SubscribeEvent(priority = EventPriority.HIGHEST)
public void onRenderOverlay(RenderGameOverlayEvent.Text event) {
if(commonMod.brandingString != null && Minecraft.getInstance().options.renderDebug) {
event.getLeft().add("");
event.getLeft().add(commonMod.brandingString);
if(brandingList.size() == 0) {
brandingList.add("");
brandingList.add(commonMod.brandingString);
}
int targetIdx = 0, numSeenBlanks = 0;
List<String> right = event.getRight();
while(targetIdx < right.size()) {
String s = right.get(targetIdx);
if(s == null || s.length() == 0) {
numSeenBlanks++;
}
if(numSeenBlanks == 3)
break;
targetIdx++;
}
right.addAll(targetIdx, brandingList);
}
}