/
Belyash5
/
Flu
Обзор
Документация
Войти
/
Belyash5
/
Flu
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/main/java/com/hbm/handler/imc/IMCBlastFurnace.java
81 строка
2 KB
Boblet
merged blast furnace recipe handling, BF explosion crash fix, textures
12 авг 2022, 12:50
12 авг 2022, 12:50
a9d7f9c
Код
Авторство
О чём код?
package com.hbm.handler.imc; import java.util.ArrayList; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.util.Tuple.Triplet; import cpw.mods.fml.common.event.FMLInterModComms.IMCMessage; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; /** * @author UFFR */ public class IMCBlastFurnace extends IMCHandler { public static final ArrayList<Triplet<Object, Object, ItemStack>> buffer = new ArrayList<>(); @Override public void process(IMCMessage message) { final NBTTagCompound data = message.getNBTValue(); final NBTTagCompound outputData = data.getCompoundTag("output"); final ItemStack output = ItemStack.loadItemStackFromNBT(outputData); if(output == null) { printError(message, "Output stack could not be read!"); return; } final Object input1; final Object input2; switch(data.getString("inputType1")) { case "ore": input1 = data.getString("input1"); break; case "orelist": final NBTTagList list = data.getTagList("input1", 8); final ArrayList<String> ores = new ArrayList<String>(list.tagCount()); for(int i = 0; i < list.tagCount(); i++) ores.add(list.getStringTagAt(i)); input1 = ores; break; case "itemstack": input1 = new ComparableStack(ItemStack.loadItemStackFromNBT(data.getCompoundTag("input1"))); break; default: printError(message, "Unhandled input type!"); return; } switch(data.getString("inputType2")) { case "ore": input2 = data.getString("input2"); break; case "orelist": final NBTTagList list = data.getTagList("input2", 9); final ArrayList<String> ores = new ArrayList<String>(list.tagCount()); for(int i = 0; i < list.tagCount(); i++) ores.add(list.getStringTagAt(i)); input2 = ores; break; case "itemstack": input2 = new ComparableStack(ItemStack.loadItemStackFromNBT(data.getCompoundTag("input2"))); break; default: printError(message, "Unhandled input type!"); return; } buffer.add(new Triplet<Object, Object, ItemStack>(input1, input2, output)); } }