▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/Serpentine
Serpentine

Serpentine

Serpentine is a light weight config library mod based on providing fast configuration to any mod needing it

Оцените первым
123
0
Все версииSerpentine v2.0.0

Serpentine v2.0.0

Release28.11.2025

Список изменений

Features:

  • Unified client-server config handling
    • SERVER_ONLY and SYNCED values sync automatically between server and client.
    • CLIENT_ONLY values display locally while protecting server-controlled values.
    • getDisplayValues() combines server and client values for UI use.
  • Improved ConfigScreen UI
    • Read-only highlighting for server-synced values.
    • Boolean buttons now indicate current value.
    • Sliders respect read-only states and update pending edits.
    • Text fields indicate inactive state for server-controlled values.
  • Robust networking
    • Updated S2C and C2S payloads for config sync.
    • Detects OP status and singleplayer automatically.
    • Null-safe sync prevents “Invalid Player Data” crashes.
    • Server sync runs on client main thread.
  • Full singleplayer compatibility
    • Integrated singleplayer server safely syncs configs to client.
    • Prevents NullPointerException when configs are missing on client.

Bug Fixes:

  • Boolean buttons no longer appear inactive incorrectly.
  • Server-only configs sync correctly in singleplayer.
  • Fixed NullPointerException when client joins without a registered config.
  • Fixed text field rendering for server-controlled values.
  • Fixed sliders failing to update pendingEdits for integer and float configs.

Major Changes:

ModInitialisers must now have a S2C sync ServerPlayConnectionEvents.JOIN.register after all config registrations, look at the serpentine mod initialiser for it.

expect() now has 3 inputs:

Key - (string) the entry's key [was already in 1.7.0] DefaultValue - (Object) the fallback value if it is unable to find it [was already in 1.7.0] Side - (SyncSide) which type of entry should it be [new in 2.0.0]

SyncSide is a new protected struct inside of the Config class, is has: SERVER_ONLY - the expect entry will only be editable on a server by an opped user. CLIENT_ONLY - the expect entry will only be seen by the user, no server can touch it. SYNCED - the expect entry will be read-only, even to opped users. Can only be edited on the host machine's scnf file.

Upgrade Instructions:

  • Mark server-only fields as SyncSide.SERVER_ONLY and client-only fields as SyncSide.CLIENT_ONLY.
  • Add applyServerEdit method, example here

Файлы

serpentine-2.0.0.jar(51.94 KiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

2.0.0

Загрузчики

Fabric

Версии игры

1.21.1–1.21.10

Загрузок

37

Дата публикации

28.11.2025

Загрузил

ID версии

Главная