Skip to content

API Override Pengaya ​

Gambaran Umum ​

Stack Size Adjuster menyediakan mekanisme ekspansi via StackSizeManager.registerOverride. Pengembang addon pihak ketiga (seperti Potion Stacker Addon atau Stew Stacker Addon) dapat mendaftarkan aturan khusus per item.


🛠️ Tanda Tangan Registrasi API ​

java
package net.instantgratification.stacksizeadjuster.util;

import net.minecraft.world.item.Item;
import java.util.function.BiFunction;

public class StackSizeManager {
    public static void registerOverride(BiFunction<Item, Integer, Integer> override);
}

Parameter: ​

  • Item: Objek item yang sedang diperiksa.
  • Integer: Batas tumpukan asli vanilla.
  • Integer (Nilai Balik): Batas tumpukan yang diubah (atau nilai awal jika tidak diubah).

💻 Contoh Implementasi Addon ​

java
import net.instantgratification.stacksizeadjuster.util.StackSizeManager;
import net.minecraft.world.item.Items;
import net.minecraft.world.item.PotionItem;

public class CustomAddonInitializer implements ModInitializer {
    @Override
    public void onInitialize() {
        StackSizeManager.registerOverride((item, originalSize) -> {
            // Izinkan ramuan bertumpuk hingga 16
            if (item instanceof PotionItem) {
                return 16;
            }
            // Izinkan ender pearl bertumpuk hingga 64
            if (item == Items.ENDER_PEARL) {
                return 64;
            }
            // Kembalikan nilai asli agar ditangani oleh GameRules global
            return originalSize;
        });
    }
}

🔄 Urutan Prioritas ​

  1. Jika fungsi override mengembalikan angka yang berbeda dari originalSize, nilai baru tersebut segera digunakan.
  2. Jika tidak ada override yang mengubah item tersebut, StackSizeManager akan memeriksa GameRules yang aktif (items_64_limit, items_16_limit, atau items_1_limit).

Official documentation & web portal for Dasik Igaijinn mods.