use of gregtech.common.metatileentities.storage.MetaTileEntityQuantumChest in project GregTech by GregTechCEu.
the class MachineRecipeLoader method registerNBTRemoval.
private static void registerNBTRemoval() {
for (MetaTileEntityQuantumChest chest : MetaTileEntities.QUANTUM_CHEST) if (chest != null) {
ModHandler.addShapelessRecipe("quantum_chest_nbt_" + chest.getTier() + chest.getMetaName(), chest.getStackForm(), chest.getStackForm());
}
for (MetaTileEntityQuantumTank tank : MetaTileEntities.QUANTUM_TANK) if (tank != null) {
ModHandler.addShapelessRecipe("quantum_tank_nbt_" + tank.getTier() + tank.getMetaName(), tank.getStackForm(), tank.getStackForm());
}
// Drums
ModHandler.addShapelessRecipe("drum_nbt_wood", MetaTileEntities.WOODEN_DRUM.getStackForm(), MetaTileEntities.WOODEN_DRUM.getStackForm());
ModHandler.addShapelessRecipe("drum_nbt_bronze", MetaTileEntities.BRONZE_DRUM.getStackForm(), MetaTileEntities.BRONZE_DRUM.getStackForm());
ModHandler.addShapelessRecipe("drum_nbt_steel", MetaTileEntities.STEEL_DRUM.getStackForm(), MetaTileEntities.STEEL_DRUM.getStackForm());
ModHandler.addShapelessRecipe("drum_nbt_aluminium", MetaTileEntities.ALUMINIUM_DRUM.getStackForm(), MetaTileEntities.ALUMINIUM_DRUM.getStackForm());
ModHandler.addShapelessRecipe("drum_nbt_stainless_steel", MetaTileEntities.STAINLESS_STEEL_DRUM.getStackForm(), MetaTileEntities.STAINLESS_STEEL_DRUM.getStackForm());
// Cells
ModHandler.addShapedRecipe("cell_nbt_regular", MetaItems.FLUID_CELL.getStackForm(), " C", " ", 'C', MetaItems.FLUID_CELL.getStackForm());
ModHandler.addShapedRecipe("cell_nbt_universal", MetaItems.FLUID_CELL_UNIVERSAL.getStackForm(), " C", " ", 'C', MetaItems.FLUID_CELL_UNIVERSAL.getStackForm());
ModHandler.addShapelessRecipe("cell_nbt_steel", MetaItems.FLUID_CELL_LARGE_STEEL.getStackForm(), MetaItems.FLUID_CELL_LARGE_STEEL.getStackForm());
ModHandler.addShapelessRecipe("cell_nbt_aluminium", MetaItems.FLUID_CELL_LARGE_ALUMINIUM.getStackForm(), MetaItems.FLUID_CELL_LARGE_ALUMINIUM.getStackForm());
ModHandler.addShapelessRecipe("cell_nbt_stainless_steel", MetaItems.FLUID_CELL_LARGE_STAINLESS_STEEL.getStackForm(), MetaItems.FLUID_CELL_LARGE_STAINLESS_STEEL.getStackForm());
ModHandler.addShapelessRecipe("cell_nbt_titanium", MetaItems.FLUID_CELL_LARGE_TITANIUM.getStackForm(), MetaItems.FLUID_CELL_LARGE_TITANIUM.getStackForm());
ModHandler.addShapelessRecipe("cell_nbt_tungstensteel", MetaItems.FLUID_CELL_LARGE_TUNGSTEN_STEEL.getStackForm(), MetaItems.FLUID_CELL_LARGE_TUNGSTEN_STEEL.getStackForm());
// Jetpacks
ModHandler.addShapelessRecipe("fluid_jetpack_clear", SEMIFLUID_JETPACK.getStackForm(), SEMIFLUID_JETPACK.getStackForm());
}
use of gregtech.common.metatileentities.storage.MetaTileEntityQuantumChest in project GregTech by GregTechCEu.
the class MachineConsoleWidget method initWidgets.
private void initWidgets() {
if (mte != null) {
uiWidgetGroup = new UIWidgetGroup();
uiWidgetGroup.setActive(false);
uiWidgetGroup.setVisible(false);
Size size = getSize();
addWidget(new ImageWidget(0, 0, size.width, size.height, GuiTextures.BACKGROUND));
addWidget(new SimpleTextWidget(size.width / 2, 12, "", -1, () -> facing.toString().toUpperCase()).setShadow(true));
int y = 20;
if (mte.hasFrontFacing()) {
addWidget(new RectButtonWidget(10, y, size.width - 20, 20, 1).setClickListener(clickData -> {
if (!isRemote() && mte.isValidFrontFacing(facing)) {
mte.setFrontFacing(facing);
}
}).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), TerminalTheme.COLOR_B_2.getColor()).setIcon(new TextTexture("terminal.console.front", -1)));
y += 25;
}
// IControllable
IControllable controllable = mte.getCapability(GregtechTileCapabilities.CAPABILITY_CONTROLLABLE, facing);
if (controllable != null) {
addWidget(new RectButtonWidget(10, y, 20, 20, 1).setToggleButton(GuiTextures.BUTTON_WORKING_ENABLE.getSubArea(0, 0, 1, 0.5), (c, p) -> {
if (!isRemote()) {
controllable.setWorkingEnabled(p);
}
}).setValueSupplier(false, controllable::isWorkingEnabled).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), 0).setHoverText("terminal.console.controllable").setIcon(GuiTextures.BUTTON_WORKING_ENABLE.getSubArea(0, 0.5, 1, 0.5)));
// AbstractRecipeLogic
AbstractRecipeLogic recipeLogic = mte.getCapability(GregtechTileCapabilities.CAPABILITY_RECIPE_LOGIC, facing);
if (recipeLogic != null) {
addWidget(new CycleButtonWidget(35, y, 20, 20, recipeLogic.getAvailableOverclockingTiers(), recipeLogic::getOverclockTier, recipeLogic::setOverclockTier).setTooltipHoverString("gregtech.gui.overclock.description").setButtonTexture(GuiTextures.BUTTON_OVERCLOCK));
addWidget(new ProgressWidget(recipeLogic::getProgressPercent, 60, y, 63, 20, GuiTextures.PROGRESS_BAR_ARC_FURNACE, ProgressWidget.MoveType.HORIZONTAL));
if (recipeLogic instanceof RecipeLogicSteam) {
y += 25;
addWidget(new RectButtonWidget(10, y, size.width - 20, 20, 1).setClickListener(clickData -> {
EnumFacing currentVentingSide = ((RecipeLogicSteam) recipeLogic).getVentingSide();
if (currentVentingSide == facing || mte.getFrontFacing() == facing)
return;
((RecipeLogicSteam) recipeLogic).setVentingSide(facing);
}).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), TerminalTheme.COLOR_B_2.getColor()).setIcon(new TextTexture("terminal.console.venting", -1)));
}
}
y += 25;
}
// SimpleMachineMetaTileEntity
if (mte instanceof SimpleMachineMetaTileEntity) {
SimpleMachineMetaTileEntity simpleMTE = (SimpleMachineMetaTileEntity) mte;
// items output
if (simpleMTE.getExportItems().getSlots() > 0) {
addWidget(new ImageWidget(10, y, 20, 20, new ItemStackTexture(Items.GLOWSTONE_DUST)));
addWidget(new RectButtonWidget(33, y, 50, 20, 1).setClickListener(clickData -> {
if (!isRemote() && mte.getFrontFacing() != facing) {
simpleMTE.setOutputFacingItems(facing);
}
}).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), TerminalTheme.COLOR_B_2.getColor()).setHoverText("terminal.console.items"));
addWidget(new SimpleTextWidget(58, y + 10, "", -1, () -> simpleMTE.getOutputFacingItems().toString()));
addWidget(new RectButtonWidget(83, y, 20, 20, 1).setToggleButton(GuiTextures.BUTTON_ITEM_OUTPUT.getSubArea(0, 0.5, 1, 0.5), (c, p) -> {
if (!isRemote()) {
simpleMTE.setAutoOutputItems(p);
}
}).setInitValue(simpleMTE.isAutoOutputItems()).setValueSupplier(false, simpleMTE::isAutoOutputItems).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), 0).setHoverText("terminal.console.auto_output").setIcon(GuiTextures.BUTTON_ITEM_OUTPUT.getSubArea(0, 0, 1, 0.5)));
addWidget(new RectButtonWidget(103, y, 20, 20, 1).setToggleButton(GuiTextures.BUTTON_ALLOW_IMPORT_EXPORT.getSubArea(0, 0.5, 1, 0.5), (c, p) -> {
if (!isRemote()) {
simpleMTE.setAllowInputFromOutputSideItems(p);
}
}).setInitValue(simpleMTE.isAllowInputFromOutputSideItems()).setValueSupplier(false, simpleMTE::isAllowInputFromOutputSideItems).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), 0).setHoverText("terminal.console.input").setIcon(GuiTextures.BUTTON_ALLOW_IMPORT_EXPORT.getSubArea(0, 0, 1, 0.5)));
y += 20;
}
// fluids output
if (simpleMTE.getExportFluids().getTanks() > 0) {
addWidget(new ImageWidget(10, y, 20, 20, new ItemStackTexture(Items.WATER_BUCKET)));
addWidget(new RectButtonWidget(33, y, 50, 20, 1).setClickListener(clickData -> {
if (!isRemote() && simpleMTE.getFrontFacing() != facing) {
simpleMTE.setOutputFacingFluids(facing);
}
}).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), TerminalTheme.COLOR_B_2.getColor()).setHoverText("terminal.console.fluids"));
addWidget(new SimpleTextWidget(58, y + 10, "", -1, () -> simpleMTE.getOutputFacingFluids().toString()));
addWidget(new RectButtonWidget(83, y, 20, 20, 1).setToggleButton(GuiTextures.BUTTON_FLUID_OUTPUT.getSubArea(0, 0.5, 1, 0.5), (c, p) -> {
if (!isRemote()) {
simpleMTE.setAutoOutputFluids(p);
}
}).setInitValue(simpleMTE.isAutoOutputFluids()).setValueSupplier(false, simpleMTE::isAutoOutputFluids).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), 0).setHoverText("terminal.console.auto_output").setIcon(GuiTextures.BUTTON_FLUID_OUTPUT.getSubArea(0, 0, 1, 0.5)));
addWidget(new RectButtonWidget(103, y, 20, 20, 1).setToggleButton(GuiTextures.BUTTON_ALLOW_IMPORT_EXPORT.getSubArea(0, 0.5, 1, 0.5), (c, p) -> {
if (!isRemote()) {
simpleMTE.setAllowInputFromOutputSideFluids(p);
}
}).setInitValue(simpleMTE.isAllowInputFromOutputSideFluids()).setValueSupplier(false, simpleMTE::isAllowInputFromOutputSideFluids).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), 0).setHoverText("terminal.console.input").setIcon(GuiTextures.BUTTON_ALLOW_IMPORT_EXPORT.getSubArea(0, 0, 1, 0.5)));
y += 20;
}
y += 5;
}
// MetaTileEntityQuantumTank
if (mte instanceof MetaTileEntityQuantumChest) {
MetaTileEntityQuantumChest chest = (MetaTileEntityQuantumChest) mte;
addWidget(new ImageWidget(10, y, 20, 20, new ItemStackTexture(Items.GLOWSTONE_DUST)));
addWidget(new RectButtonWidget(33, y, 50, 20, 1).setClickListener(clickData -> {
if (!isRemote() && mte.getFrontFacing() != facing) {
chest.setOutputFacing(facing);
}
}).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), TerminalTheme.COLOR_B_2.getColor()).setHoverText("terminal.console.items"));
addWidget(new SimpleTextWidget(58, y + 10, "", -1, () -> chest.getOutputFacing().toString()));
addWidget(new RectButtonWidget(83, y, 20, 20, 1).setToggleButton(GuiTextures.BUTTON_ITEM_OUTPUT.getSubArea(0, 0.5, 1, 0.5), (c, p) -> {
if (!isRemote()) {
chest.setAutoOutputItems(p);
}
}).setInitValue(chest.isAutoOutputItems()).setValueSupplier(false, chest::isAutoOutputItems).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), 0).setHoverText("terminal.console.auto_output").setIcon(GuiTextures.BUTTON_ITEM_OUTPUT.getSubArea(0, 0, 1, 0.5)));
addWidget(new RectButtonWidget(103, y, 20, 20, 1).setToggleButton(GuiTextures.BUTTON_ALLOW_IMPORT_EXPORT.getSubArea(0, 0.5, 1, 0.5), (c, p) -> {
if (!isRemote()) {
chest.setAllowInputFromOutputSide(p);
}
}).setInitValue(chest.isAllowInputFromOutputSideItems()).setValueSupplier(false, chest::isAllowInputFromOutputSideItems).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), 0).setHoverText("terminal.console.input").setIcon(GuiTextures.BUTTON_ALLOW_IMPORT_EXPORT.getSubArea(0, 0, 1, 0.5)));
y += 25;
} else if (mte instanceof MetaTileEntityQuantumTank) {
MetaTileEntityQuantumTank tank = (MetaTileEntityQuantumTank) mte;
addWidget(new ImageWidget(10, y, 20, 20, new ItemStackTexture(Items.WATER_BUCKET)));
addWidget(new RectButtonWidget(33, y, 50, 20, 1).setClickListener(clickData -> {
if (!isRemote() && tank.getFrontFacing() != facing) {
tank.setOutputFacing(facing);
}
}).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), TerminalTheme.COLOR_B_2.getColor()).setHoverText("terminal.console.fluids"));
addWidget(new SimpleTextWidget(58, y + 10, "", -1, () -> tank.getOutputFacing().toString()));
addWidget(new RectButtonWidget(83, y, 20, 20, 1).setToggleButton(GuiTextures.BUTTON_FLUID_OUTPUT.getSubArea(0, 0.5, 1, 0.5), (c, p) -> {
if (!isRemote()) {
tank.setAutoOutputFluids(p);
}
}).setInitValue(tank.isAutoOutputFluids()).setValueSupplier(false, tank::isAutoOutputFluids).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), 0).setHoverText("terminal.console.auto_output").setIcon(GuiTextures.BUTTON_FLUID_OUTPUT.getSubArea(0, 0, 1, 0.5)));
addWidget(new RectButtonWidget(103, y, 20, 20, 1).setToggleButton(GuiTextures.BUTTON_ALLOW_IMPORT_EXPORT.getSubArea(0, 0.5, 1, 0.5), (c, p) -> {
if (!isRemote()) {
tank.setAllowInputFromOutputSide(p);
}
}).setInitValue(tank.isAllowInputFromOutputSideFluids()).setValueSupplier(false, tank::isAllowInputFromOutputSideFluids).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), 0).setHoverText("terminal.console.input").setIcon(GuiTextures.BUTTON_ALLOW_IMPORT_EXPORT.getSubArea(0, 0, 1, 0.5)));
y += 25;
}
// MultiBlockPart
if (mte instanceof MetaTileEntityMultiblockPart) {
// MetaTileEntityMaintenanceHatch
if (mte instanceof MetaTileEntityMaintenanceHatch) {
addWidget(new RectButtonWidget(10, y, size.width - 20, 20, 1).setClickListener(clickData -> {
if (!isRemote()) {
((MetaTileEntityMaintenanceHatch) mte).fixAllMaintenanceProblems();
}
}).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), TerminalTheme.COLOR_B_2.getColor()).setIcon(new TextTexture("terminal.console.maintenance", -1)));
y += 25;
}
}
// CoverBehavior
CoverBehavior cover = mte.getCoverAtSide(facing);
if (cover != null) {
this.addWidget(new SlotWidget(new ItemStackHandler(NonNullList.withSize(1, cover.getPickItem())), 0, 10, y, false, false));
addWidget(new SimpleTextWidget(58, y + 10, "terminal.console.cover_rs", -1, () -> String.valueOf(cover.getRedstoneSignalOutput())).setShadow(true).setCenter(true));
if (cover instanceof CoverWithUI) {
addWidget(new RectButtonWidget(83, y, 40, 20, 1).setClickListener(clickData -> uiWidgetGroup.openUI(((CoverWithUI) cover).createUI(gui.entityPlayer))).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), TerminalTheme.COLOR_B_2.getColor()).setIcon(new TextTexture("terminal.console.cover_gui", -1)));
}
y += 25;
}
addWidget(new RectButtonWidget(10, y, size.width - 20, 20, 1).setClickListener(clickData -> uiWidgetGroup.openUI(mte.getModularUI(gui.entityPlayer))).setColors(TerminalTheme.COLOR_B_1.getColor(), TerminalTheme.COLOR_7.getColor(), TerminalTheme.COLOR_B_2.getColor()).setIcon(new TextTexture("terminal.console.gui", -1)));
addWidget(uiWidgetGroup);
}
}
Aggregations