package stellarcore; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.networking.v1.S2CPlayChannelEvents; import net.fabricmc.fabric.api.screenhandler.v1.ScreenHandlerRegistry; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; import net.minecraft.item.ItemStack; import net.minecraft.screen.ScreenHandlerType; import net.minecraft.util.Identifier; public class StellarCore implements ModInitializer { // Местная переменная, которая будет использоваться для регистрации ScreenHandler public static ScreenHandlerType MOD_SCREEN_HANDLER; @Override public void onInitialize() { // Регистрация ScreenHandlerType через ScreenHandlerRegistry MOD_SCREEN_HANDLER = ScreenHandlerRegistry.registerSimple( new Identifier("stellarcore", "screen_inventory"), ScreenInventoryHandler::new ); ItemPickupEvent.ItemPickupListener.ITEM_PICKUP.register(this::onItemPickup); } private void onItemPickup(ItemPickupEvent event) { // Логика обработки подбора предмета PlayerEntity player = event.getPlayer(); ItemStack itemStack = event.getItemStack(); // Добавляем предмет в модульный инвентарь ModularInventory inventory = getModularInventoryForPlayer(player); if (inventory != null) { inventory.addItem(itemStack); } } private ModularInventory getModularInventoryForPlayer(PlayerEntity player) { // Логика получения модульного инвентаря игрока return new ModularInventory(10); // Пример: инвентарь на 10 слотов } }