У меня есть итем с энергией. Заряжаю я его крафтом со слитками. При крафте перехватываю нбттэг, увеличиваю в нем кол-во энергии на какое-то количество (не полное) и кидаю в итем на выходе.
В классе предмета визуализация кол-ва энергии реализуется так. Но на выходе я вижу такое:
Мне нужно в код выше вставить процедуру, которая будет писать не 1200/1200, а столько, сколько получится. Один слиток добавляет 400. Если у предмета оставалось 200, то в окне выхода должно быть написано 600/1200. Как подсчитать — ежу понятно. Непонятно, как определить в процедуре AddInformation, что мышка наведена именно на слот выхода крафта.
Подскажите, пожалуйста.
Hello, world. I have a pencil. My pencil is big.
tox1cozZ
Создай класс implements IRecipe, зарегай его через GameRegistry.addRecipe(new YourRecipe()) и уже там пиши код. Не нужно юзать ивент.
Rebel Penguin
ЦВЕТНОЕ НАЗВАНИЕ И ОПИСАНИЕ ПРЕДМЕТОВ, АТРИБУТЫ! — БЫСТРЫЕ ИСЧЕРПЫВАЮЩИЕ ГАЙДЫ КБ
1,007 36 206
Зачем тебе узнавать куда наведена мышка? Создай свой рецепт и в выходном стаке меняй нбт.
LaoTheLizard
Вот мой рецепт:
GameRegistry.addShapelessRecipe(new ItemStack(RHItems.antiRad, 1), new Object[] ); i++;
А вот так я обеспечиваю зарядку:
ItemStack resultstack = e.crafting; // Antirad Refill (energy = 1200, 400 per ingot) if(result == RHItems.antiRad) < IInventory craftnet = e.craftMatrix; ItemStack lookfor = null; for(int i = 0; i < craftnet.getSizeInventory(); i++)< if(craftnet.getStackInSlot(i) == null || craftnet.getStackInSlot(i).getItem() == null)if(craftnet.getStackInSlot(i).getItem() == RHItems.antiRad) // нашли итем антирад > if(lookfor == null) NBTTagCompound tag = new NBTTagCompound(); if(lookfor.stackTagCompound == null) < tag.setInteger(«Energy», RHItem_AntiRad.maxenergy); tag.setInteger(«Alarm», 0); lookfor.setTagCompound(tag); >int energy = lookfor.stackTagCompound.getInteger(«Energy»); energy += 400; if(energy > RHItem_AntiRad.maxenergy) resultstack.setTagCompound(new NBTTagCompound()); resultstack.stackTagCompound.setInteger(«Energy», energy); resultstack.stackTagCompound.setInteger(«Alarm», 0); >
Если не считать, что мой код написан через задний проход, отдаляясь от основной темы, как добиться желаемого результата?
Проблемы бы не было, если бы один слиток заряжал в любом случае предмет до полного.
Последнее редактирование: 7 Янв 2019
Hello, world. I have a pencil. My pencil is big.
tox1cozZ
aka Agravaine
8,435 597 2,873
Создай класс implements IRecipe, зарегай его через GameRegistry.addRecipe(new YourRecipe()) и уже там пиши код. Не нужно юзать ивент.
LaoTheLizard
Я такого никогда не делал. Пример бы хоть какой. Хорошо, завтра будет целый день — буду изучать этот вопрос. Спасибо за совет.
Hello, world. I have a pencil. My pencil is big.
tox1cozZ
aka Agravaine
8,435 597 2,873
Тот же GameRegistry.addShapelessRecipe — это класс, который расширяет IRecipe. Загляни в исходники игры
Rebel Penguin
1,007 36 206
Вот пример, как регистрировать ты уже знаешь.
LaoTheLizard
Не соображаю (особенно с утра).
Сделал вот так:
GameRegistry.addRecipe(new RHRecipe(new ItemStack(RHItems.antiRad, 1), new Object[] ));
Клиент не запускается. Лог:
[12:14:57] [Client thread/ERROR] [FML]: States: ‘U’ = Unloaded ‘L’ = Loaded ‘C’ = Constructed ‘H’ = Pre-initialized ‘I’ = Initialized ‘J’ = Post-initialized ‘A’ = Available ‘D’ = Disabled ‘E’ = Errored UCHI mcp [Minecraft Coder Pack] (minecraft.jar) UCHI FML [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar) UCHI Forge [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar) UCHE rha [Russian Hostility Addon] (bin) UCHI rhmusic [RH Music] (RHMusic.jar) [12:14:57] [Client thread/ERROR] [FML]: The following problems were captured during this phase [12:14:57] [Client thread/ERROR] [FML]: Caught exception from rha java.lang.ClassCastException: ru.lao.rha.items.RHItem_AntiRad cannot be cast to java.lang.Character at net.minecraft.item.crafting.CraftingManager.addRecipe(CraftingManager.java:209) ~[forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar:?] at ru.lao.rha.recipes.RHRecipe.(RHRecipe.java:22) ~[bin/:?] at ru.lao.rha.recipes.Tools.addRecipes(Tools.java:18) ~[bin/:?] at ru.lao.rha.recipes._Recipes.init(_Recipes.java:44) ~[bin/:?] at ru.lao.rha.proxies.RHCommon.init(RHCommon.java:203) ~[bin/:?] at ru.lao.rha.proxies.RHClient.init(RHClient.java:77) ~[bin/:?] at ru.lao.rha.Main.init(Main.java:56) ~[bin/:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_60] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_60] at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532) ~[forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_60] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_60] at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?] at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?] at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212) ~[forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar:?] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) ~[forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_60] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_60] at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?] at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119) [LoadController.class:?] at cpw.mods.fml.common.Loader.initializeMods(Loader.java:737) [Loader.class:?] at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:311) [FMLClientHandler.class:?] at net.minecraft.client.Minecraft.startGame(Minecraft.java:597) [Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:942) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_60] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_60] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_60] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?] at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?] at GradleStart.main(Unknown Source) [start/:?] [12:14:57] [Client thread/INFO] [STDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:388]: —- Minecraft Crash Report —- // I bet Cylons wouldn’t have this problem.
Источник: forum.mcmodding.ru
Lore Expansion — книга с лором на версии [1.12.2] [1.7.10]
LoreExpansion — это мод, с помощью которого вы можете написать собственную историю и повествование игры. Мод можно использовать для создания сюжета для карт в особых тематиках. Вы можете назначить страницу книги как награду за квест или как условие квеста. То как именно вы будете использовать этот мод, уже ваших рук дело.
Видео с модом Lore Expansion
Скриншоты
Показать больше скриншотов
Показать больше скриншотов
Как установить Lore Expansion
1. Скачайте и установте Minecraft Forge
2. Скачайте мод
3. Переместите jar файл в директорию .minecraftmods
4. Наслаждайтесь игрой 🙂
Источник: cubixworld.net
Miner Lore [1.19.2] [1.16.5] [1.12.2]
Добавляет письменные книги в добычу из реальных текстов, связанных с майнингом.
Скриншоты мода (кликабельны):
Этот мод добавляет множество письменных книг в сундук с добычей, содержащий тематически соответствующие тексты, такие как традиционные народные песни шахтеров или выдержки из классической литературы о горном деле или рабочем классе. (В настоящее время есть 19 различных книг для сбора.)
Это простой мод, разработанный для того, чтобы не мешать ванильной добыче или добыче, добавляемой любыми другими модами, и быть легко добавленным в любой модпак. Книги будут генерироваться только поверх того, что уже генерирует существующий лут. Сундуки в библиотеках крепости будут содержать большее количество книг, чем обычные сундуки с подземельями.
Если присутствует мод Champions Чемпионы также будут сбрасывать рукописную книгу при победе, в дополнение к любому другому луту, который они настроены для удаления.
Вот список всех книг, включенных на данный момент:
Blue Diamond Mines (Жан Ритчи) Mining Camp Blues (Кейт Кэмпбелл) Blues Miner (Неизвестно) Come All You Miner (Сара Оган Ганнинг) Песня Диггера (Джеррард Уинстэнли) Темный как темница (Мерл Трэвис) Жерминал (Эмиль Золя) Посыпать угольной пылью на могиле (Орвилл Дж. Дженкс) Шахтеры железной руды (Аноним) Только шахтер (Неизвестно) В этих шахтах (Валери Смит) Гора (Стив Эрл) Молитва Дитя шахтера (Ширли Хилл) ) Вопрос от работника, который читает (Бертольт Брехт) The Testim
Терпение Кершоу (Фрэнк Хиггинс)
Шестнадцать тонн (Мерл Трэвис)
Подполье (Том Уэйтс) Голоса с гор (Рути Гордон) Что она стремится быть (неизвестно) )
Источник: www.geroncraft.ru