Fabric API: Network, Input ve GUI Eklentilerinin Arka Planı

ÇırakBey

Yeni Üye
Katılım
Eyl 2026
Konular
1
Mesajlar
1
Tepki puanı
0
Görüntülenme
0
1. Fabric API’de bir packet nasıl tanımlanır?
FabricPacket’i SimpleChannel üzerinden tanımlarsın. Kanalın adı, versiyon ve yönünü (S2C veya C2S) belirle. Örnek:

Kod:
SimpleChannel channel = NetworkRegistry.newChannel(
      new Identifier("modid", "channel"),
      () -> "1",
      s -> true,
      s -> true);
channel.registerS2CPacket(MyS2CPacket::write, MyS2CPacket::read, MyS2CPacket::handle);

Handler içinde world.isClient() ile yön kontrolü yapılır.

2. KeyBinding nasıl oluşturulup input event’e bağlanır?
Key binding tanımlaması KeyBinding sınıfı ile yapılır. Ardından ClientTickEvents.END_CLIENT_TICK içinde client.options.keyBindJump.isPressed() gibi bir kontrol eklenir. Örnek:

Kod:
KeyBinding myKey = new KeyBinding("key.modid.mykey",
        InputUtil.Type.KEYSYM, GLFW.GLFW_KEY_K, "category.modid");
ClientTickEvents.END_CLIENT_TICK.register(client -> {
    if (myKey.wasPressed()) {
        // işlem
    }
});

Bu yöntem input event’in tek seferlik tetiklenmesini sağlar.

3. ScreenHandler ve Screen nasıl ilişkilendirilir?
ScreenHandlerType’i ScreenHandlerType.register() ile yarat. ScreenHandler’in canUse ve writeScreenOpeningData metodlarını uygula. Ardından Screen sınıfında ScreenHandler’i çağır. Örnek:

Kod:
public static final ScreenHandlerType<MyScreenHandler> MY_SCREEN = new ScreenHandlerType<>(MyScreenHandler::new, FeatureFlags.VANILLA_FEATURES);

4. Packet ile GUI açma işlemi nasıl yapılır?
C2S packet’i sunucuya gönderilir, sunucu ScreenHandler yaratır ve PacketByteBuf’a handler’ı yerleştirir. Sonra C2S packet’i işlenir ve minecraftClient.openHandledScreen(handler, buf) ile açılır.

5. Network, Input ve GUI tipleri arasındaki ortak arayüz nedir?
Tümü FabricPacket ve ScreenHandler gibi PacketByteBuf üzerinden veri taşır. Bu yüzden PacketByteBuf’un serialize/deserialize metotları mod tipi egilimini sağlar; aynı API yapısı sayesinde kod tekrarını azaltır.

İlgili konular​

 
Geri
En Üst