Merge branch 'master' into 1.17
# Conflicts: # src/main/java/carpet/logging/HUDController.java # src/main/java/carpet/script/api/Auxiliary.java
This commit is contained in:
commit
d636965f59
4 files changed
+72
-55
No files matched your search
@@ -21,10 +21,13 @@ import net.minecraft.world.World;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public class HUDController
|
||||
@@ -40,9 +43,18 @@ public class HUDController
|
||||
HUDListeners.add(listener);
|
||||
}
|
||||
|
||||
public static Map<PlayerEntity, List<BaseText>> player_huds = new HashMap<>();
|
||||
public static Map<ServerPlayerEntity, List<BaseText>> player_huds = new HashMap<>();
|
||||
|
||||
public static void addMessage(PlayerEntity player, BaseText hudMessage)
|
||||
public static final Map<ServerPlayerEntity, BaseText> scarpet_headers = new HashMap<>();
|
||||
|
||||
public static final Map<ServerPlayerEntity, BaseText> scarpet_footers = new HashMap<>();
|
||||
|
||||
public static void resetScarpetHUDs() {
|
||||
scarpet_headers.clear();
|
||||
scarpet_footers.clear();
|
||||
}
|
||||
|
||||
public static void addMessage(ServerPlayerEntity player, BaseText hudMessage)
|
||||
{
|
||||
if (!player_huds.containsKey(player))
|
||||
{
|
||||
@@ -64,13 +76,15 @@ public class HUDController
|
||||
}
|
||||
|
||||
|
||||
public static void update_hud(MinecraftServer server)
|
||||
public static void update_hud(MinecraftServer server, List<ServerPlayerEntity> force)
|
||||
{
|
||||
if(server.getTicks() % 20 != 0 || CarpetServer.minecraft_server == null)
|
||||
if (((server.getTicks() % 20 != 0) && force == null) || CarpetServer.minecraft_server == null)
|
||||
return;
|
||||
|
||||
player_huds.clear();
|
||||
|
||||
scarpet_footers.forEach(HUDController::addMessage);
|
||||
|
||||
if (LoggerRegistry.__tps)
|
||||
LoggerRegistry.getLogger("tps").log(()-> send_tps_display(server));
|
||||
|
||||
@@ -101,7 +115,9 @@ public class HUDController
|
||||
// extensions have time to pitch in.
|
||||
HUDListeners.forEach(l -> l.accept(server));
|
||||
|
||||
for (PlayerEntity player: player_huds.keySet())
|
||||
Set<ServerPlayerEntity> targets = new HashSet<>(player_huds.keySet());
|
||||
if (force!= null) targets.addAll(force);
|
||||
for (ServerPlayerEntity player: targets)
|
||||
{
|
||||
PacketByteBuf packetData = new PacketByteBuf(Unpooled.buffer()).
|
||||
writeText(new LiteralText("")).
|
||||
@@ -109,9 +125,9 @@ public class HUDController
|
||||
PlayerListHeaderS2CPacket packet = new PlayerListHeaderS2CPacket(packetData);
|
||||
|
||||
//PlayerListHeaderS2CPacket packet = new PlayerListHeaderS2CPacket();
|
||||
//((PlayerListHeaderS2CPacketMixin)packet).setHeader(new LiteralText(""));
|
||||
//((PlayerListHeaderS2CPacketMixin)packet).setFooter(Messenger.c(player_huds.get(player).toArray(new Object[0])));
|
||||
((ServerPlayerEntity)player).networkHandler.sendPacket(packet);
|
||||
//((PlayerListHeaderS2CPacketMixin)packet).setHeader(scarpet_headers.getOrDefault(player, new LiteralText("")));
|
||||
//((PlayerListHeaderS2CPacketMixin)packet).setFooter(Messenger.c(player_huds.getOrDefault(player, Collections.emptyList()).toArray(new Object[0])));
|
||||
player.networkHandler.sendPacket(packet);
|
||||
}
|
||||
}
|
||||
private static BaseText [] send_tps_display(MinecraftServer server)
|
||||
|
||||
Reference in new issue
Block a user