Skip to content

🔄 Alternancia del Jugador y Gestión de Estado (MC 26.1.2) ​

📌 Descargo de Responsabilidad del Código del Repositorio: La documentación de esta Wiki refleja el estado actual del código fuente en el repositorio, que puede incluir confirmaciones recientes no publicadas o características en desarrollo antes de las versiones públicas en CurseForge y Modrinth.

Infobox de CaracterísticaParámetros Técnicos
Clase de Almacenamiento de Estadonet.instantgratification.magnet.MagnetPlayerState
Tecla Rápida por Defecto del ClienteCtrl+M (GLFW.GLFW_KEY_M + isControlDown())
Categoría de Teclakey.category.ig_magnet.magnet (Magnet, Let me get that!)
Payload de RedMagnetTogglePayload (ig_magnet:toggle)
API de Actionbarclient.gui.setOverlayMessage(Component, boolean)

📖 Visión General de la Arquitectura de Estado ​

En Minecraft 26.1.2, las preferencias de alternancia de los jugadores se gestionan durante la sesión activa del servidor mediante MagnetPlayerState utilizando un ConcurrentHashMap seguro para subprocesos:

java
public class MagnetPlayerState {
    private static final Map<UUID, Boolean> playerStates = new ConcurrentHashMap<>();

    public static boolean isMagnetEnabled(Player player) {
        return playerStates.getOrDefault(player.getUUID(), true);
    }

    public static void setMagnetEnabled(Player player, boolean enabled) {
        playerStates.put(player.getUUID(), enabled);
    }

    public static boolean toggleMagnet(Player player) {
        boolean newState = !isMagnetEnabled(player);
        setMagnetEnabled(player, newState);
        return newState;
    }
}

⌨️ Asignación de Tecla en el Cliente (Ctrl+M) ​

  • Combinación Predeterminada: Ctrl+M (GLFW_KEY_M + isControlDown()), con compatibilidad multiplataforma para la tecla Comando en macOS (GLFW_KEY_LEFT_SUPER).
  • Respuesta Visual en Actionbar:
    • chat.ig_magnet.enabled: "Item Magnet: Enabled"
    • chat.ig_magnet.disabled: "Item Magnet: Disabled"

📡 Protocolo de Sincronización de Red ​

[CLIENTE]                                                          [SERVIDOR]
Jugador pulsa Ctrl+M
MagnetPlayerState.setMagnetEnabled(player, newState)
ClientPlayNetworking.send(new MagnetTogglePayload(newState))
                                               ------------------> Receptor en Servidor
                                                                   MagnetPlayerState.setMagnetEnabled(player, payload.enabled())

🔗 Documentación Relacionada de la Wiki ​

Official documentation & web portal for Dasik Igaijinn mods.