the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 45 lines 1.7 kB view raw
1#pragma once 2#include "IUIScene_AbstractContainerMenu.h" 3#include "..\..\..\Minecraft.World\net.minecraft.world.inventory.ContainerListener.h" 4 5// The 0-indexed slot in the inventory list that lines up with the result slot 6#define ANVIL_SCENE_RESULT_SLOT_UP_OFFSET 5 7#define ANVIL_SCENE_RESULT_SLOT_DOWN_OFFSET 5 8#define ANVIL_SCENE_ITEM1_SLOT_UP_OFFSET 3 9#define ANVIL_SCENE_ITEM1_SLOT_DOWN_OFFSET 3 10#define ANVIL_SCENE_ITEM2_SLOT_UP_OFFSET 4 11#define ANVIL_SCENE_ITEM2_SLOT_DOWN_OFFSET 4 12 13class Inventory; 14class AnvilMenu; 15 16class IUIScene_AnvilMenu : public virtual IUIScene_AbstractContainerMenu, public net_minecraft_world_inventory::ContainerListener 17{ 18protected: 19 shared_ptr<Inventory> m_inventory; 20 AnvilMenu *m_repairMenu; 21 wstring m_itemName; 22 23protected: 24 IUIScene_AnvilMenu(); 25 26 virtual ESceneSection GetSectionAndSlotInDirection( ESceneSection eSection, ETapState eTapDirection, int *piTargetX, int *piTargetY ); 27 int getSectionStartOffset(ESceneSection eSection); 28 virtual void handleOtherClicked(int iPad, ESceneSection eSection, int buttonNum, bool quickKey); 29 bool IsSectionSlotList( ESceneSection eSection ); 30 31 void handleTick(); 32 33 // Anvil only 34 virtual void handleEditNamePressed() = 0; 35 virtual void setEditNameValue(const wstring &name) = 0; 36 virtual void setEditNameEditable(bool enabled) = 0; 37 virtual void setCostLabel(const wstring &label, bool canAfford) = 0; 38 virtual void showCross(bool show) = 0; 39 void updateItemName(); 40 41 // ContainerListenr 42 void refreshContainer(AbstractContainerMenu *container, vector<shared_ptr<ItemInstance> > *items); 43 void slotChanged(AbstractContainerMenu *container, int slotIndex, shared_ptr<ItemInstance> item); 44 void setContainerData(AbstractContainerMenu *container, int id, int value); 45};