Skip to content

Commit

Permalink
add block, tile and container
Browse files Browse the repository at this point in the history
  • Loading branch information
MCTBL committed Jun 22, 2024
1 parent 9145f35 commit 2937b6d
Show file tree
Hide file tree
Showing 16 changed files with 223 additions and 540 deletions.
Original file line number Diff line number Diff line change
@@ -1,40 +1,31 @@
package thaumicenergistics.client.gui;

import org.lwjgl.input.Keyboard;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;

import org.lwjgl.input.Mouse;
import org.lwjgl.opengl.GL11;

import appeng.api.config.AdvancedBlockingMode;
import appeng.api.config.InsertionMode;
import appeng.api.config.LockCraftingMode;
import appeng.api.config.Settings;
import appeng.api.config.Upgrades;
import appeng.api.config.YesNo;
import appeng.client.gui.implementations.GuiInterface;
import appeng.client.gui.implementations.GuiUpgradeable;
import appeng.client.gui.widgets.GuiImgButton;
import appeng.client.gui.widgets.GuiSimpleImgButton;
import appeng.client.gui.widgets.GuiTabButton;
import appeng.client.gui.widgets.GuiToggleButton;
import appeng.container.implementations.ContainerInterface;
import appeng.core.AELog;
import appeng.core.localization.ButtonToolTips;
import appeng.core.localization.GuiColors;
import appeng.core.localization.GuiText;
import appeng.core.sync.GuiBridge;
import appeng.core.sync.network.NetworkHandler;
import appeng.core.sync.packets.PacketConfigButton;
import appeng.core.sync.packets.PacketSwitchGuis;
import appeng.core.sync.packets.PacketValueConfig;
import appeng.helpers.IInterfaceHost;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;
import thaumicenergistics.common.container.ContainerEssentiaInterface;
import thaumicenergistics.common.registries.ThEStrings;

public class GuiEssentiaInterface extends GuiUpgradeable{
public class GuiEssentiaInterface extends GuiUpgradeable {

private GuiTabButton priority;
private GuiImgButton BlockMode;
private GuiToggleButton interfaceMode;
Expand All @@ -45,13 +36,12 @@ public class GuiEssentiaInterface extends GuiUpgradeable{
private GuiImgButton advancedBlockingMode;
private GuiImgButton lockCraftingMode;

public GuiEssentiaInterface(final EntityPlayer player, final World world, final int x, final int y,
final int z) {
super(new ContainerEssentiaInterface(player.inventory, (IInterfaceHost) world.getTileEntity(x, y, z)));
this.ySize = 211;
}

@Override
public GuiEssentiaInterface(final EntityPlayer player, final World world, final int x, final int y, final int z) {
super(new ContainerEssentiaInterface(player.inventory, (IInterfaceHost) world.getTileEntity(x, y, z)));
this.ySize = 211;
}

@Override
protected void addButtons() {
this.priority = new GuiTabButton(
this.guiLeft + 154,
Expand Down Expand Up @@ -123,7 +113,7 @@ protected void addButtons() {
this.lockCraftingMode.visible = this.bc.getInstalledUpgrades(Upgrades.LOCK_CRAFTING) > 0;
this.buttonList.add(lockCraftingMode);
}

protected String getBackground() {
return switch (((ContainerEssentiaInterface) this.cvb).getPatternCapacityCardsInstalled()) {
case -1 -> "guis/interfacenone.png";
Expand All @@ -141,7 +131,8 @@ public void drawFG(final int offsetX, final int offsetY, final int mouseX, final
}

if (this.interfaceMode != null) {
this.interfaceMode.setState(((ContainerEssentiaInterface) this.cvb).getInterfaceTerminalMode() == YesNo.YES);
this.interfaceMode
.setState(((ContainerEssentiaInterface) this.cvb).getInterfaceTerminalMode() == YesNo.YES);
}

if (this.insertionMode != null) {
Expand All @@ -157,7 +148,8 @@ public void drawFG(final int offsetX, final int offsetY, final int mouseX, final
}

if (this.patternOptimization != null) {
this.patternOptimization.setState(((ContainerEssentiaInterface) this.cvb).getPatternOptimization() == YesNo.YES);
this.patternOptimization
.setState(((ContainerEssentiaInterface) this.cvb).getPatternOptimization() == YesNo.YES);
}

if (this.advancedBlockingMode != null) {
Expand All @@ -174,15 +166,15 @@ public void drawFG(final int offsetX, final int offsetY, final int mouseX, final
6,
GuiColors.InterfaceTitle.getColor());
}

@Override
protected void actionPerformed(final GuiButton btn) {
super.actionPerformed(btn);

final boolean backwards = Mouse.isButtonDown(1);

}

@Override
protected void handleButtonVisibility() {
super.handleButtonVisibility();
Expand All @@ -193,5 +185,5 @@ protected void handleButtonVisibility() {
this.lockCraftingMode.setVisibility(this.bc.getInstalledUpgrades(Upgrades.LOCK_CRAFTING) > 0);
}
}

}
Original file line number Diff line number Diff line change
@@ -1,21 +1,10 @@
package thaumicenergistics.client.render;

import appeng.block.misc.BlockInterface;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.BlockRenderInfo;
import appeng.client.texture.ExtraBlockTextures;
import appeng.tile.misc.TileInterface;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraftforge.common.util.ForgeDirection;
import thaumicenergistics.client.textures.BlockTextureManager;
import thaumicenergistics.common.blocks.BlockEssentiaInterface;
import thaumicenergistics.common.registries.Renderers;
import thaumicenergistics.common.tiles.TileEssentiaInterface;

public class RenderBlockEssentiaInterface extends RenderBlockProviderBase {

public RenderBlockEssentiaInterface() {
super(BlockTextureManager.ESSENTIA_INTERFACE);
}
Expand All @@ -25,5 +14,5 @@ public int getRenderId() {
// Return the ID of the essentia provider
return Renderers.EssentiaInterfaceRenderID;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@
import java.util.Collections;
import java.util.List;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.util.IIcon;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import thaumicenergistics.common.ThaumicEnergistics;

/**
Expand All @@ -19,112 +20,104 @@
@SideOnly(Side.CLIENT)
public enum BlockTextureManager {

BUS_COLOR(TextureTypes.Part, new String[] { "bus.color.border", "bus.color.light", "bus.color.side" }),
BUS_COLOR(TextureTypes.Part, new String[] { "bus.color.border", "bus.color.light", "bus.color.side" }),

ESSENTIA_IMPORT_BUS(TextureTypes.Part,
new String[] { "essentia.import.bus.face", "essentia.import.bus.overlay",
"essentia.import.bus.chamber",
"essentia.import.bus.side" }),
ESSENTIA_IMPORT_BUS(TextureTypes.Part,
new String[] { "essentia.import.bus.face", "essentia.import.bus.overlay", "essentia.import.bus.chamber",
"essentia.import.bus.side" }),

ESSENTIA_LEVEL_EMITTER(TextureTypes.Part,
new String[] { "essentia.level.emitter.base", "essentia.level.emitter.active",
"essentia.level.emitter.inactive" }),
ESSENTIA_LEVEL_EMITTER(TextureTypes.Part,
new String[] { "essentia.level.emitter.base", "essentia.level.emitter.active",
"essentia.level.emitter.inactive" }),

ESSENTIA_STORAGE_BUS(TextureTypes.Part,
new String[] { "essentia.storage.bus.face", "essentia.storage.bus.overlay",
"essentia.storage.bus.side" }),
ESSENTIA_STORAGE_BUS(TextureTypes.Part,
new String[] { "essentia.storage.bus.face", "essentia.storage.bus.overlay", "essentia.storage.bus.side" }),

ESSENTIA_EXPORT_BUS(TextureTypes.Part,
new String[] { "essentia.export.bus.face", "essentia.export.bus.overlay",
"essentia.export.bus.chamber",
"essentia.export.bus.side" }),
ESSENTIA_EXPORT_BUS(TextureTypes.Part,
new String[] { "essentia.export.bus.face", "essentia.export.bus.overlay", "essentia.export.bus.chamber",
"essentia.export.bus.side" }),

ESSENTIA_TERMINAL(TextureTypes.Part,
new String[] { "essentia.terminal.overlay.dark", "essentia.terminal.overlay.medium",
"essentia.terminal.overlay.light", "essentia.terminal.side",
"essentia.termina.border" }),
ESSENTIA_TERMINAL(TextureTypes.Part,
new String[] { "essentia.terminal.overlay.dark", "essentia.terminal.overlay.medium",
"essentia.terminal.overlay.light", "essentia.terminal.side", "essentia.termina.border" }),

ESSENTIA_PROVIDER(TextureTypes.Block, new String[] { "essentia.provider", "essentia.provider.overlay" }),
ESSENTIA_PROVIDER(TextureTypes.Block, new String[] { "essentia.provider", "essentia.provider.overlay" }),

INFUSION_PROVIDER(TextureTypes.Block, new String[] { "infusion.provider", "infusion.provider.overlay" }),
INFUSION_PROVIDER(TextureTypes.Block, new String[] { "infusion.provider", "infusion.provider.overlay" }),

ARCANE_CRAFTING_TERMINAL(TextureTypes.Part,
new String[] { "arcane.crafting.overlay1", "arcane.crafting.overlay2",
"arcane.crafting.overlay3",
"arcane.crafting.side", "arcane.crafting.overlay4" }),
ARCANE_CRAFTING_TERMINAL(TextureTypes.Part,
new String[] { "arcane.crafting.overlay1", "arcane.crafting.overlay2", "arcane.crafting.overlay3",
"arcane.crafting.side", "arcane.crafting.overlay4" }),

VIS_RELAY_INTERFACE(TextureTypes.Part,
new String[] { "vis.interface", "vis.interface.runes", "vis.interface.side" }),
VIS_RELAY_INTERFACE(TextureTypes.Part,
new String[] { "vis.interface", "vis.interface.runes", "vis.interface.side" }),

GEAR_BOX(TextureTypes.Block, new String[] { "gear.box.fallback", "golem.gear.box.fallback" }),
GEAR_BOX(TextureTypes.Block, new String[] { "gear.box.fallback", "golem.gear.box.fallback" }),

ESSENTIA_CELL_WORKBENCH(TextureTypes.Block,
new String[] { "essentia.cell.workbench.top", "essentia.cell.workbench.bottom",
"essentia.cell.workbench.side" }),
ESSENTIA_CELL_WORKBENCH(TextureTypes.Block,
new String[] { "essentia.cell.workbench.top", "essentia.cell.workbench.bottom",
"essentia.cell.workbench.side" }),

GASEOUS_ESSENTIA(TextureTypes.Block, new String[] { "essentia.gas" }),
GASEOUS_ESSENTIA(TextureTypes.Block, new String[] { "essentia.gas" }),

ARCANE_ASSEMBLER(TextureTypes.Block, new String[] { "arcane.assembler.fallback" }),
ARCANE_ASSEMBLER(TextureTypes.Block, new String[] { "arcane.assembler.fallback" }),

KNOWLEDGE_INSCRIBER(TextureTypes.Block,
new String[] { "knowledge.inscriber.side", "knowledge.inscriber.top",
"knowledge.inscriber.bottom" }),
KNOWLEDGE_INSCRIBER(TextureTypes.Block,
new String[] { "knowledge.inscriber.side", "knowledge.inscriber.top", "knowledge.inscriber.bottom" }),

ESSENTIA_VIBRATION_CHAMBER(TextureTypes.Block,
new String[] { "e.vibration.input", "e.vibration.face.off", "e.vibration.face.ignis",
"e.vibration.face.potentia" }),
ESSENTIA_VIBRATION_CHAMBER(TextureTypes.Block,
new String[] { "e.vibration.input", "e.vibration.face.off", "e.vibration.face.ignis",
"e.vibration.face.potentia" }),

DISTILLATION_ENCODER(TextureTypes.Block,
new String[] { "knowledge.inscriber.side", "distillation.encoder.face",
"knowledge.inscriber.bottom" }),
INFUSION_ENCODER(TextureTypes.Block,
new String[] { "knowledge.inscriber.side", "infusion.encoder.face",
"knowledge.inscriber.bottom" }),
DISTILLATION_ENCODER(TextureTypes.Block,
new String[] { "knowledge.inscriber.side", "distillation.encoder.face", "knowledge.inscriber.bottom" }),
INFUSION_ENCODER(TextureTypes.Block,
new String[] { "knowledge.inscriber.side", "infusion.encoder.face", "knowledge.inscriber.bottom" }),

ESSENTIA_INTERFACE(TextureTypes.Block, new String[] { "essentia.interface" });
ESSENTIA_INTERFACE(TextureTypes.Block, new String[] { "essentia.interface" });

private enum TextureTypes {
Block,
Part;
}
private enum TextureTypes {
Block,
Part;
}

/**
* Cache of the enum values
*/
public static final List<BlockTextureManager> ALLVALUES = Collections
.unmodifiableList(Arrays.asList(BlockTextureManager.values()));
/**
* Cache of the enum values
*/
public static final List<BlockTextureManager> ALLVALUES = Collections
.unmodifiableList(Arrays.asList(BlockTextureManager.values()));

private TextureTypes textureType;
private TextureTypes textureType;

private String[] textureNames;
private String[] textureNames;

private IIcon[] textures;
private IIcon[] textures;

private BlockTextureManager(final TextureTypes textureType, final String[] textureNames) {
this.textureType = textureType;
this.textureNames = textureNames;
this.textures = new IIcon[this.textureNames.length];
}
private BlockTextureManager(final TextureTypes textureType, final String[] textureNames) {
this.textureType = textureType;
this.textureNames = textureNames;
this.textures = new IIcon[this.textureNames.length];
}

public IIcon getTexture() {
return this.textures[0];
}
public IIcon getTexture() {
return this.textures[0];
}

public IIcon[] getTextures() {
return this.textures;
}
public IIcon[] getTextures() {
return this.textures;
}

public void registerTexture(final TextureMap textureMap) {
if (textureMap.getTextureType() == 0) {
String header = ThaumicEnergistics.MOD_ID + ":";
public void registerTexture(final TextureMap textureMap) {
if (textureMap.getTextureType() == 0) {
String header = ThaumicEnergistics.MOD_ID + ":";

if (this.textureType == TextureTypes.Part) {
header += "parts/";
}
if (this.textureType == TextureTypes.Part) {
header += "parts/";
}

for (int i = 0; i < this.textureNames.length; i++) {
this.textures[i] = textureMap.registerIcon(header + this.textureNames[i]);
}
}
for (int i = 0; i < this.textureNames.length; i++) {
this.textures[i] = textureMap.registerIcon(header + this.textureNames[i]);
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
package thaumicenergistics.client.textures;

import net.minecraft.util.ResourceLocation;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.util.ResourceLocation;
import thaumicenergistics.common.ThaumicEnergistics;

/**
Expand Down
Loading

0 comments on commit 2937b6d

Please sign in to comment.