Exemple #1
0
        public override void ReactionComplete()
        {
            //If the parent isn't loaded, save the changes in our own slots
            //Otherwise, modify the parent MachineUI directly
            ReinforcedFurnaceUI ui = ParentState as ReinforcedFurnaceUI;

            if (!(ui?.Active ?? false))
            {
                Item input  = GetItem(0);
                Item result = GetItem(1);
                Do_Reaction(input, result);

                //	Main.NewText($"Edited entity slots: \"{Lang.GetItemNameValue(fuel.type)}\" ({fuel.stack}), \"{Lang.GetItemNameValue(result.type)}\" ({result.stack})");
            }
            else
            {
                UIItemSlot input      = ui.GetSlot(0);
                UIItemSlot resultSlot = ui.GetSlot(1);

                Do_Reaction(input.StoredItem, resultSlot.StoredItem);

                //	Main.NewText($"Edited UI slots: \"{Lang.GetItemNameValue(fuel.StoredItem.type)}\" ({fuel.StoredItem.stack}), \"{Lang.GetItemNameValue(resultSlot.StoredItem.type)}\" ({resultSlot.StoredItem.stack})");
            }

            Vector2 center = TileUtils.TileEntityCenter(this, MachineTile);

            this.PlayCustomSound(center, "Flame Arrow");
        }
Exemple #2
0
 internal override bool CanInputItem(int slot, Item item)
 => slot == 0 && ReinforcedFurnaceUI.ValidItem(item);