fix: update title display logic

This commit is contained in:
Jarva 2022-11-24 21:41:39 +00:00
parent a875356a1a
commit 11f15494e0
2 changed files with 9 additions and 5 deletions

View File

@ -22,6 +22,7 @@ import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.ChatType;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.MutableComponent;
import net.minecraft.network.chat.Style;
import net.minecraft.network.protocol.game.ClientboundSetSubtitleTextPacket;
import net.minecraft.network.protocol.game.ClientboundSetTitleTextPacket;
import net.minecraft.resources.ResourceLocation;
@ -582,19 +583,20 @@ public class Claim implements IPermissionContainer {
this.setDirty(true);
}
private void displayTitleMessage(ServerPlayer player, Component title, @Nullable Component subtitle) {
private void displayTitleMessage(ServerPlayer player, @Nullable Component title, @Nullable Component subtitle) {
if (title == null) return;
if (ConfigHandler.config.claimDisplayActionBar) {
if (subtitle != null) {
MutableComponent message = this.enterTitle.copy().append(" - ").append(this.enterSubtitle);
MutableComponent message = title.copy().append(Component.literal(" | ").setStyle(Style.EMPTY.withColor(ChatFormatting.WHITE))).append(subtitle);
player.sendSystemMessage(message, ChatType.GAME_INFO);
return;
}
player.sendSystemMessage(this.enterTitle, ChatType.GAME_INFO);
player.sendSystemMessage(title, ChatType.GAME_INFO);
return;
}
player.connection.send(new ClientboundSetTitleTextPacket(this.enterTitle));
player.connection.send(new ClientboundSetTitleTextPacket(title));
if (subtitle != null) {
player.connection.send(new ClientboundSetSubtitleTextPacket(this.enterSubtitle));
player.connection.send(new ClientboundSetSubtitleTextPacket(subtitle));
}
}

View File

@ -170,6 +170,7 @@ public class Config {
if (obj.has("inspectionItem"))
this.inspectionItem = CrossPlatformStuff.INSTANCE.registryItems().getFromId(new ResourceLocation((obj.get("inspectionItem").getAsString())));
this.claimDisplayTime = ConfigHandler.fromJson(obj, "claimDisplayTime", this.claimDisplayTime);
this.claimDisplayActionBar = ConfigHandler.fromJson(obj, "claimDisplayActionBar", this.claimDisplayActionBar);
this.permissionLevel = ConfigHandler.fromJson(obj, "permissionLevel", this.permissionLevel);
this.buySellHandler.fromJson(ConfigHandler.fromJson(obj, "buySellHandler"));
@ -266,6 +267,7 @@ public class Config {
obj.addProperty("claimingItem", CrossPlatformStuff.INSTANCE.registryItems().getIDFrom(this.claimingItem).toString());
obj.addProperty("inspectionItem", CrossPlatformStuff.INSTANCE.registryItems().getIDFrom(this.inspectionItem).toString());
obj.addProperty("claimDisplayTime", this.claimDisplayTime);
obj.addProperty("claimDisplayActionBar", this.claimDisplayActionBar);
obj.addProperty("permissionLevel", this.permissionLevel);
obj.add("buySellHandler", this.buySellHandler.toJson());