Class ConfigEditC2SPacket

java.lang.Object
com.hbm_m.network.ConfigEditC2SPacket
All Implemented Interfaces:
C2SPacket

public class ConfigEditC2SPacket extends Object implements C2SPacket
C2S: оператор применяет серверные настройки, отредактированные в GUI.

Полезная нагрузка — карта key→value только серверных полей (клиентские поля GUI сохраняет локально через ModClothConfig.saveClient(), без пакета).

Безопасность: сервер повторно проверяет права оператора (hasPermissions(2)) — клиентская видимость вкладки не является гарантией прав. ConfigSchema.applyAll(com.hbm_m.config.ModClothConfig, com.hbm_m.config.schema.ConfigSide, java.util.Map<java.lang.String, java.lang.String>) дополнительно отсекает не-серверные ключи.

После применения: сохранение server.json и широковещательная синхронизация всем игрокам через ConfigSyncS2CPacket (включая редактирующего).

  • Constructor Details

    • ConfigEditC2SPacket

      public ConfigEditC2SPacket(Map<String,String> edits)
  • Method Details

    • decode

      public static ConfigEditC2SPacket decode(net.minecraft.network.FriendlyByteBuf buf)
    • write

      public void write(net.minecraft.network.FriendlyByteBuf buf)
      Specified by:
      write in interface C2SPacket
    • handle

      public static void handle(ConfigEditC2SPacket msg, dev.architectury.networking.NetworkManager.PacketContext context)
    • sendToServer

      public static void sendToServer(Map<String,String> edits)
      Клиент: отправить набор правок серверных полей. Вызывает GUI для op-пользователя.