Skip to content

🔄 Sakelar Pemain & Status Sesi (MC 26.1.2)

📌 Pernyataan Sumber Kode Repositori: Dokumentasi dalam Wiki ini mencerminkan status kode sumber saat ini di repositori, yang mungkin mencakup komit terbaru yang belum dirilis atau fitur dalam pengembangan sebelum rilis publik di CurseForge dan Modrinth.

Kotak Info FiturParameter Teknis
Kelas Penyimpanan Statusnet.instantgratification.magnet.MagnetPlayerState
Tombol Pintas Bawaan KlienCtrl+M (GLFW.GLFW_KEY_M + isControlDown())
Kategori Tombolkey.category.ig_magnet.magnet (Magnet, Let me get that!)
Muatan JaringanMagnetTogglePayload (ig_magnet:toggle)
API Actionbarclient.gui.setOverlayMessage(Component, boolean)

📖 Ikhtisar Arsitektur Status

Dalam Minecraft 26.1.2, preferensi sakelar pemain dikelola selama sesi server aktif melalui MagnetPlayerState menggunakan ConcurrentHashMap yang aman-utas:

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;
    }
}

⌨️ Tombol Pintas Klien (Ctrl+M)

  • Kombinasi Standar: Ctrl+M (GLFW_KEY_M + isControlDown()), dengan dukungan lintas platform untuk tombol Command di macOS (GLFW_KEY_LEFT_SUPER).
  • Umpan Balik Visual Actionbar:
    • chat.ig_magnet.enabled: "Item Magnet: Enabled"
    • chat.ig_magnet.disabled: "Item Magnet: Disabled"

📡 Protokol Sinkronisasi Jaringan

[KLIEN]                                                            [SERVER]
Pemain menekan Ctrl+M
MagnetPlayerState.setMagnetEnabled(player, newState)
ClientPlayNetworking.send(new MagnetTogglePayload(newState))
                                               ------------------> Penerima Server
                                                                   MagnetPlayerState.setMagnetEnabled(player, payload.enabled())

🔗 Dokumentasi Wiki Terkait

Official documentation & web portal for Dasik Igaijinn mods.