Updated Calclavia Core
This commit is contained in:
parent
148152fc71
commit
b94e8aaf17
4 changed files with 68 additions and 64 deletions
|
@ -1,24 +0,0 @@
|
||||||
package resonantinduction.archaic.engineering;
|
|
||||||
|
|
||||||
import net.minecraft.client.renderer.RenderBlocks;
|
|
||||||
import net.minecraft.tileentity.TileEntity;
|
|
||||||
import resonantinduction.core.render.RenderItemOverlayTile;
|
|
||||||
import cpw.mods.fml.relauncher.Side;
|
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
|
||||||
public class RenderEngineeringTable extends RenderItemOverlayTile
|
|
||||||
{
|
|
||||||
private final RenderBlocks renderBlocks = new RenderBlocks();
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float var8)
|
|
||||||
{
|
|
||||||
if (tileEntity instanceof TileEngineeringTable)
|
|
||||||
{
|
|
||||||
TileEngineeringTable tile = (TileEngineeringTable) tileEntity;
|
|
||||||
renderItemOnSides(tileEntity, tile.getStackInSlot(9), x, y, z);
|
|
||||||
renderTopOverlay(tileEntity, tile.craftingMatrix, tile.getDirection(), x, y - 0.1, z);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,6 +1,5 @@
|
||||||
package resonantinduction.archaic.engineering;
|
package resonantinduction.archaic.engineering;
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
|
@ -18,17 +17,18 @@ import net.minecraft.nbt.NBTTagList;
|
||||||
import net.minecraft.network.packet.Packet;
|
import net.minecraft.network.packet.Packet;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.Icon;
|
import net.minecraft.util.Icon;
|
||||||
import net.minecraft.world.World;
|
|
||||||
import net.minecraftforge.common.ForgeDirection;
|
import net.minecraftforge.common.ForgeDirection;
|
||||||
|
|
||||||
import org.apache.commons.lang3.ArrayUtils;
|
import org.apache.commons.lang3.ArrayUtils;
|
||||||
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
import resonantinduction.core.ResonantInduction;
|
import resonantinduction.core.ResonantInduction;
|
||||||
import resonantinduction.core.Settings;
|
import resonantinduction.core.Settings;
|
||||||
import resonantinduction.core.prefab.imprint.ItemImprint;
|
import resonantinduction.core.prefab.imprint.ItemImprint;
|
||||||
|
import resonantinduction.core.render.RenderItemOverlayTile;
|
||||||
import universalelectricity.api.vector.Vector2;
|
import universalelectricity.api.vector.Vector2;
|
||||||
import universalelectricity.api.vector.Vector3;
|
import universalelectricity.api.vector.Vector3;
|
||||||
import calclavia.lib.content.module.TileBlock;
|
import calclavia.lib.content.module.TileRender;
|
||||||
import calclavia.lib.content.module.prefab.TileInventory;
|
import calclavia.lib.content.module.prefab.TileInventory;
|
||||||
import calclavia.lib.gui.ContainerDummy;
|
import calclavia.lib.gui.ContainerDummy;
|
||||||
import calclavia.lib.network.IPacketReceiver;
|
import calclavia.lib.network.IPacketReceiver;
|
||||||
|
@ -39,8 +39,8 @@ import calclavia.lib.prefab.tile.IRotatable;
|
||||||
import calclavia.lib.prefab.vector.Cuboid;
|
import calclavia.lib.prefab.vector.Cuboid;
|
||||||
import calclavia.lib.utility.WorldUtility;
|
import calclavia.lib.utility.WorldUtility;
|
||||||
import calclavia.lib.utility.inventory.AutoCraftingManager;
|
import calclavia.lib.utility.inventory.AutoCraftingManager;
|
||||||
import calclavia.lib.utility.inventory.InventoryUtility;
|
|
||||||
import calclavia.lib.utility.inventory.AutoCraftingManager.IAutoCrafter;
|
import calclavia.lib.utility.inventory.AutoCraftingManager.IAutoCrafter;
|
||||||
|
import calclavia.lib.utility.inventory.InventoryUtility;
|
||||||
import codechicken.multipart.ControlKeyModifer;
|
import codechicken.multipart.ControlKeyModifer;
|
||||||
|
|
||||||
import com.builtbroken.common.Pair;
|
import com.builtbroken.common.Pair;
|
||||||
|
@ -80,9 +80,7 @@ public class TileEngineeringTable extends TileInventory implements IPacketReceiv
|
||||||
private int[] playerSlots;
|
private int[] playerSlots;
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
private Icon iconTop;
|
private static Icon iconTop, iconFront, iconSide;
|
||||||
@SideOnly(Side.CLIENT)
|
|
||||||
private Icon iconFront;
|
|
||||||
|
|
||||||
public TileEngineeringTable()
|
public TileEngineeringTable()
|
||||||
{
|
{
|
||||||
|
@ -97,16 +95,16 @@ public class TileEngineeringTable extends TileInventory implements IPacketReceiv
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public Icon getIcon(int side, int meta)
|
public Icon getIcon(int side, int meta)
|
||||||
{
|
{
|
||||||
return side == 1 ? iconTop : (side == meta ? iconFront : icon);
|
return side == 1 ? iconTop : (side == meta ? iconFront : iconSide);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public void registerIcons(IconRegister iconRegister)
|
public void registerIcons(IconRegister iconRegister)
|
||||||
{
|
{
|
||||||
iconTop = iconRegister.registerIcon(this.getTextureName() + "_top");
|
iconTop = iconRegister.registerIcon(getTextureName() + "_top");
|
||||||
iconFront = iconRegister.registerIcon(this.getTextureName() + "_front");
|
iconFront = iconRegister.registerIcon(getTextureName() + "_front");
|
||||||
icon = iconRegister.registerIcon(this.getTextureName() + "_side");
|
iconSide = iconRegister.registerIcon(getTextureName() + "_side");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -154,7 +152,7 @@ public class TileEngineeringTable extends TileInventory implements IPacketReceiv
|
||||||
Vector3 hitVector = new Vector3(hit.x, 0, hit.z);
|
Vector3 hitVector = new Vector3(hit.x, 0, hit.z);
|
||||||
final double regionLength = 1d / 3d;
|
final double regionLength = 1d / 3d;
|
||||||
|
|
||||||
// Rotate the hit vector baed on direction of the tile.
|
// Rotate the hit vector based on direction of the tile.
|
||||||
hitVector.translate(new Vector3(-0.5, 0, -0.5));
|
hitVector.translate(new Vector3(-0.5, 0, -0.5));
|
||||||
hitVector.rotate(WorldUtility.getAngleFromForgeDirection(getDirection()), Vector3.UP());
|
hitVector.rotate(WorldUtility.getAngleFromForgeDirection(getDirection()), Vector3.UP());
|
||||||
hitVector.translate(new Vector3(0.5, 0, 0.5));
|
hitVector.translate(new Vector3(0.5, 0, 0.5));
|
||||||
|
@ -221,7 +219,9 @@ public class TileEngineeringTable extends TileInventory implements IPacketReceiv
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean configure(EntityPlayer player, int hitSide, Vector3 hit)
|
protected boolean configure(EntityPlayer player, int side, Vector3 hit)
|
||||||
|
{
|
||||||
|
if (player.isSneaking())
|
||||||
{
|
{
|
||||||
searchInventories = !searchInventories;
|
searchInventories = !searchInventories;
|
||||||
|
|
||||||
|
@ -237,6 +237,9 @@ public class TileEngineeringTable extends TileInventory implements IPacketReceiv
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return super.configure(player, side, hit);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRemove(int par5, int par6)
|
public void onRemove(int par5, int par6)
|
||||||
{
|
{
|
||||||
|
@ -305,7 +308,7 @@ public class TileEngineeringTable extends TileInventory implements IPacketReceiv
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
this.readFromNBT(PacketHandler.readNBTTagCompound(data));
|
readFromNBT(PacketHandler.readNBTTagCompound(data));
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
@ -753,4 +756,26 @@ public class TileEngineeringTable extends TileInventory implements IPacketReceiv
|
||||||
|
|
||||||
return slots;
|
return slots;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
|
protected TileRender newRenderer()
|
||||||
|
{
|
||||||
|
return new TileRender()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean renderDynamic(Vector3 position, boolean isItem, float frame)
|
||||||
|
{
|
||||||
|
if (!isItem)
|
||||||
|
{
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
RenderItemOverlayTile.renderItemOnSides(TileEngineeringTable.this, getStackInSlot(9), position.x, position.y, position.z);
|
||||||
|
RenderItemOverlayTile.renderTopOverlay(TileEngineeringTable.this, craftingMatrix, getDirection(), position.x, position.y - 0.1, position.z);
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ import net.minecraft.entity.item.EntityItem;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.network.packet.Packet;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraftforge.client.model.AdvancedModelLoader;
|
import net.minecraftforge.client.model.AdvancedModelLoader;
|
||||||
import net.minecraftforge.client.model.IModelCustom;
|
import net.minecraftforge.client.model.IModelCustom;
|
||||||
|
@ -19,7 +19,6 @@ import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
import resonantinduction.api.IFilterable;
|
import resonantinduction.api.IFilterable;
|
||||||
import resonantinduction.core.Reference;
|
import resonantinduction.core.Reference;
|
||||||
import resonantinduction.core.ResonantInduction;
|
|
||||||
import resonantinduction.core.prefab.imprint.ItemImprint;
|
import resonantinduction.core.prefab.imprint.ItemImprint;
|
||||||
import universalelectricity.api.UniversalElectricity;
|
import universalelectricity.api.UniversalElectricity;
|
||||||
import universalelectricity.api.vector.Vector3;
|
import universalelectricity.api.vector.Vector3;
|
||||||
|
@ -136,7 +135,7 @@ public class TileSorter extends TileInventory
|
||||||
}
|
}
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
protected TileRender renderer()
|
protected TileRender newRenderer()
|
||||||
{
|
{
|
||||||
return new TileRender()
|
return new TileRender()
|
||||||
{
|
{
|
||||||
|
@ -144,13 +143,15 @@ public class TileSorter extends TileInventory
|
||||||
final ResourceLocation TEXTURE = new ResourceLocation(Reference.DOMAIN, Reference.MODEL_PATH + "sorter.png");
|
final ResourceLocation TEXTURE = new ResourceLocation(Reference.DOMAIN, Reference.MODEL_PATH + "sorter.png");
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void renderDynamic(Vector3 position, float frame)
|
public boolean renderDynamic(Vector3 position, boolean isItem, float frame)
|
||||||
{
|
{
|
||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
RenderUtility.enableBlending();
|
RenderUtility.enableBlending();
|
||||||
GL11.glTranslated(position.x + 0.5, position.y + 0.5, position.z + 0.5);
|
GL11.glTranslated(position.x + 0.5, position.y + 0.5, position.z + 0.5);
|
||||||
RenderUtility.bind(TEXTURE);
|
RenderUtility.bind(TEXTURE);
|
||||||
|
|
||||||
|
if (!isItem)
|
||||||
|
{
|
||||||
for (int i = 0; i < TileSorter.this.getSizeInventory(); i++)
|
for (int i = 0; i < TileSorter.this.getSizeInventory(); i++)
|
||||||
{
|
{
|
||||||
if (TileSorter.this.getStackInSlot(i) != null)
|
if (TileSorter.this.getStackInSlot(i) != null)
|
||||||
|
@ -169,10 +170,12 @@ public class TileSorter extends TileInventory
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
MODEL.renderAllExcept("port");
|
MODEL.renderAllExcept("port");
|
||||||
RenderUtility.disableBlending();
|
RenderUtility.disableBlending();
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -39,7 +39,7 @@ public abstract class RenderItemOverlayTile extends TileEntitySpecialRenderer
|
||||||
renderBlocks = new RenderBlocks();
|
renderBlocks = new RenderBlocks();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void renderTopOverlay(TileEntity tileEntity, ItemStack[] inventory, ForgeDirection dir, double x, double y, double z)
|
public static void renderTopOverlay(TileEntity tileEntity, ItemStack[] inventory, ForgeDirection dir, double x, double y, double z)
|
||||||
{
|
{
|
||||||
renderTopOverlay(tileEntity, inventory, dir, 3, 3, x, y, z, 0.7f);
|
renderTopOverlay(tileEntity, inventory, dir, 3, 3, x, y, z, 0.7f);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue