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 void onUpdateHUD(MinecraftServer server) {}
|
||||
|
||||
}
|
||||
@@ -11,7 +11,7 @@ import carpet.helpers.TickSpeed;
|
||||
import carpet.logging.LoggerRegistry;
|
||||
import carpet.script.CarpetScriptServer;
|
||||
import carpet.settings.SettingsManager;
|
||||
import carpet.utils.HUDController;
|
||||
import carpet.logging.HUDController;
|
||||
import carpet.utils.MobAI;
|
||||
import com.mojang.brigadier.CommandDispatcher;
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
|
||||
+17
-2
@@ -1,4 +1,4 @@
|
||||
package carpet.utils;
|
||||
package carpet.logging;
|
||||
|
||||
import carpet.CarpetServer;
|
||||
import carpet.helpers.HopperCounter;
|
||||
@@ -6,6 +6,8 @@ import carpet.helpers.TickSpeed;
|
||||
import carpet.logging.LoggerRegistry;
|
||||
import carpet.logging.logHelpers.PacketCounter;
|
||||
import carpet.mixins.PlayerListHeaderS2CPacketMixin;
|
||||
import carpet.utils.Messenger;
|
||||
import carpet.utils.SpawnReporter;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.network.packet.s2c.play.PlayerListHeaderS2CPacket;
|
||||
@@ -21,9 +23,21 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
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 void addMessage(PlayerEntity player, BaseText hudMessage)
|
||||
@@ -81,7 +95,8 @@ public class HUDController
|
||||
if (LoggerRegistry.__packets)
|
||||
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())
|
||||
{
|
||||
@@ -1,6 +1,5 @@
|
||||
package carpet.logging;
|
||||
|
||||
import carpet.utils.HUDController;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.text.BaseText;
|
||||
|
||||
|
||||
Reference in new issue
Block a user