Callback for extensions to contribute information to HUD loggers.
This commit is contained in:
1 parent
4b8219281b
commit
3140a4fe53
4 files changed
+18
-6
No files matched your search
@@ -63,6 +63,4 @@ public interface CarpetExtension
|
|||||||
|
|
||||||
default Map<String, String> canHasTranslations(String lang) { return null;}
|
default Map<String, String> canHasTranslations(String lang) { return null;}
|
||||||
|
|
||||||
default void onUpdateHUD(MinecraftServer server) {}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -11,7 +11,7 @@ import carpet.helpers.TickSpeed;
|
|||||||
import carpet.logging.LoggerRegistry;
|
import carpet.logging.LoggerRegistry;
|
||||||
import carpet.script.CarpetScriptServer;
|
import carpet.script.CarpetScriptServer;
|
||||||
import carpet.settings.SettingsManager;
|
import carpet.settings.SettingsManager;
|
||||||
import carpet.utils.HUDController;
|
import carpet.logging.HUDController;
|
||||||
import carpet.utils.MobAI;
|
import carpet.utils.MobAI;
|
||||||
import com.mojang.brigadier.CommandDispatcher;
|
import com.mojang.brigadier.CommandDispatcher;
|
||||||
import net.fabricmc.loader.api.FabricLoader;
|
import net.fabricmc.loader.api.FabricLoader;
|
||||||
|
|||||||
+17
-2
@@ -1,4 +1,4 @@
|
|||||||
package carpet.utils;
|
package carpet.logging;
|
||||||
|
|
||||||
import carpet.CarpetServer;
|
import carpet.CarpetServer;
|
||||||
import carpet.helpers.HopperCounter;
|
import carpet.helpers.HopperCounter;
|
||||||
@@ -6,6 +6,8 @@ import carpet.helpers.TickSpeed;
|
|||||||
import carpet.logging.LoggerRegistry;
|
import carpet.logging.LoggerRegistry;
|
||||||
import carpet.logging.logHelpers.PacketCounter;
|
import carpet.logging.logHelpers.PacketCounter;
|
||||||
import carpet.mixins.PlayerListHeaderS2CPacketMixin;
|
import carpet.mixins.PlayerListHeaderS2CPacketMixin;
|
||||||
|
import carpet.utils.Messenger;
|
||||||
|
import carpet.utils.SpawnReporter;
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
import net.minecraft.server.network.ServerPlayerEntity;
|
import net.minecraft.server.network.ServerPlayerEntity;
|
||||||
import net.minecraft.network.packet.s2c.play.PlayerListHeaderS2CPacket;
|
import net.minecraft.network.packet.s2c.play.PlayerListHeaderS2CPacket;
|
||||||
@@ -21,9 +23,21 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
public class HUDController
|
public class HUDController
|
||||||
{
|
{
|
||||||
|
private static List<Consumer<MinecraftServer>> HUDListeners = new ArrayList<>();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds listener to be called when HUD is updated for logging information
|
||||||
|
* @param listener - a method to be called when new HUD inforation are collected
|
||||||
|
*/
|
||||||
|
public void register(Consumer<MinecraftServer> listener)
|
||||||
|
{
|
||||||
|
HUDListeners.add(listener);
|
||||||
|
}
|
||||||
|
|
||||||
public static Map<PlayerEntity, List<BaseText>> player_huds = new HashMap<>();
|
public static Map<PlayerEntity, List<BaseText>> player_huds = new HashMap<>();
|
||||||
|
|
||||||
public static void addMessage(PlayerEntity player, BaseText hudMessage)
|
public static void addMessage(PlayerEntity player, BaseText hudMessage)
|
||||||
@@ -81,7 +95,8 @@ public class HUDController
|
|||||||
if (LoggerRegistry.__packets)
|
if (LoggerRegistry.__packets)
|
||||||
LoggerRegistry.getLogger("packets").log(()-> packetCounter());
|
LoggerRegistry.getLogger("packets").log(()-> packetCounter());
|
||||||
|
|
||||||
CarpetServer.extensions.forEach(e -> e.onUpdateHUD(server));
|
// extensions have time to pitch in.
|
||||||
|
HUDListeners.forEach(l -> l.accept(server));
|
||||||
|
|
||||||
for (PlayerEntity player: player_huds.keySet())
|
for (PlayerEntity player: player_huds.keySet())
|
||||||
{
|
{
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
package carpet.logging;
|
package carpet.logging;
|
||||||
|
|
||||||
import carpet.utils.HUDController;
|
|
||||||
import net.minecraft.server.network.ServerPlayerEntity;
|
import net.minecraft.server.network.ServerPlayerEntity;
|
||||||
import net.minecraft.text.BaseText;
|
import net.minecraft.text.BaseText;
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user