Adding some preliminary work on the Research Station

This commit is contained in:
pahimar 2014-01-02 22:48:09 -05:00
parent ad6e7f3f3a
commit 49e7bb97d8
30 changed files with 1050 additions and 82 deletions

View file

@ -0,0 +1,42 @@
package com.pahimar.ee3.block;
import com.pahimar.ee3.lib.RenderIds;
import com.pahimar.ee3.lib.Strings;
import com.pahimar.ee3.tileentity.TileResearchStation;
import net.minecraft.block.ITileEntityProvider;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class BlockResearchStation extends BlockEE implements ITileEntityProvider
{
public BlockResearchStation(int id)
{
super(id);
this.setUnlocalizedName(Strings.RESEARCH_STATION_NAME);
}
@Override
public TileEntity createNewTileEntity(World world)
{
return new TileResearchStation();
}
@Override
public boolean renderAsNormalBlock()
{
return false;
}
@Override
public boolean isOpaqueCube()
{
return false;
}
@Override
public int getRenderType()
{
return RenderIds.calcinatorRender;
}
}

View file

@ -21,6 +21,7 @@ public class ModBlocks
public static BlockEE calcinator;
public static BlockEE chalk;
public static BlockEE glassBell;
public static BlockEE researchStation;
public static void init()
{
@ -31,6 +32,7 @@ public class ModBlocks
calcinator = new BlockCalcinator(BlockIds.CALCINATOR);
chalk = new BlockChalk(BlockIds.CHALK);
glassBell = new BlockGlassBell(BlockIds.GLASS_BELL);
researchStation = new BlockResearchStation((BlockIds.RESEARCH_STATION));
GameRegistry.registerBlock(alchemicalChest, "block." + Strings.ALCHEMICAL_CHEST_NAME);
GameRegistry.registerBlock(alchemicalFuel, ItemAlchemicalFuelBlock.class, "block." + Strings.ALCHEMICAL_FUEL_NAME);
@ -39,5 +41,6 @@ public class ModBlocks
GameRegistry.registerBlock(calcinator, "block." + Strings.CALCINATOR_NAME);
GameRegistry.registerBlock(chalk, "block." + Strings.CHALK_NAME);
GameRegistry.registerBlock(glassBell, "block." + Strings.GLASS_BELL_NAME);
GameRegistry.registerBlock(researchStation, "block." + Strings.RESEARCH_STATION_NAME);
}
}

View file

@ -16,18 +16,15 @@ import net.minecraftforge.client.model.IModelCustom;
@SideOnly(Side.CLIENT)
public class ModelAludel
{
private IModelCustom modelAludel;
public ModelAludel()
{
modelAludel = AdvancedModelLoader.loadModel(Models.ALUDEL);
}
public void render()
{
modelAludel.renderPart("Base");
}
}

View file

@ -16,24 +16,20 @@ import net.minecraftforge.client.model.IModelCustom;
@SideOnly(Side.CLIENT)
public class ModelCalcinator
{
private IModelCustom modelCalcinator;
public ModelCalcinator()
{
modelCalcinator = AdvancedModelLoader.loadModel(Models.CALCINATOR);
}
public void render()
{
modelCalcinator.renderAll();
}
public void renderPart(String partName)
{
modelCalcinator.renderPart(partName);
}
}

View file

@ -6,18 +6,15 @@ import net.minecraftforge.client.model.IModelCustom;
public class ModelGlassBell
{
private IModelCustom modelGlassBell;
public ModelGlassBell()
{
modelGlassBell = AdvancedModelLoader.loadModel(Models.GLASS_BELL);
}
public void render()
{
modelGlassBell.renderPart("Bell");
}
}

View file

@ -0,0 +1,20 @@
package com.pahimar.ee3.client.model;
import com.pahimar.ee3.lib.Models;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
public class ModelResearchStation
{
private IModelCustom modelResearchStation;
public ModelResearchStation()
{
modelResearchStation = AdvancedModelLoader.loadModel(Models.RESEARCH_STATION);
}
public void render()
{
modelResearchStation.renderAll();
}
}

View file

@ -19,33 +19,28 @@ import org.lwjgl.opengl.GL11;
@SideOnly(Side.CLIENT)
public class ItemAlchemicalChestRenderer implements IItemRenderer
{
private ModelChest modelChest;
private final ModelChest modelChest;
public ItemAlchemicalChestRenderer()
{
modelChest = new ModelChest();
}
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type)
{
return true;
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
{
return true;
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data)
{
switch (type)
{
case ENTITY:
@ -75,7 +70,6 @@ public class ItemAlchemicalChestRenderer implements IItemRenderer
private void renderAlchemicalChest(float x, float y, float z)
{
FMLClientHandler.instance().getClient().renderEngine.bindTexture(Textures.MODEL_ALCHEMICAL_CHEST);
GL11.glPushMatrix(); //start
GL11.glTranslatef(x, y, z); //size

View file

@ -19,67 +19,61 @@ import org.lwjgl.opengl.GL11;
@SideOnly(Side.CLIENT)
public class ItemAludelRenderer implements IItemRenderer
{
private ModelAludel modelAludel;
private final ModelAludel modelAludel;
public ItemAludelRenderer()
{
modelAludel = new ModelAludel();
}
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type)
{
return true;
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
{
return true;
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data)
{
switch (type)
{
case ENTITY:
{
renderAludel(-0.5F, -0.38F, 0.5F, 1.0F);
renderAludel(-0.5F, -0.38F, 0.5F);
return;
}
case EQUIPPED:
{
renderAludel(0.0F, 0.0F, 1.0F, 1.0F);
renderAludel(0.0F, 0.0F, 1.0F);
return;
}
case EQUIPPED_FIRST_PERSON:
{
renderAludel(0.0F, 0.0F, 1.0F, 1.0F);
renderAludel(0.0F, 0.0F, 1.0F);
return;
}
case INVENTORY:
{
renderAludel(-1.0F, -0.9F, 0.0F, 1.0F);
renderAludel(-1.0F, -0.9F, 0.0F);
return;
}
default:
}
}
private void renderAludel(float x, float y, float z, float scale)
private void renderAludel(float x, float y, float z)
{
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_LIGHTING);
// Scale, Translate, Rotate
GL11.glScalef(scale, scale, scale);
GL11.glScalef(1F, 1F, 1F);
GL11.glTranslatef(x, y, z);
GL11.glRotatef(-90F, 1F, 0, 0);

View file

@ -19,53 +19,48 @@ import org.lwjgl.opengl.GL11;
@SideOnly(Side.CLIENT)
public class ItemCalcinatorRenderer implements IItemRenderer
{
private ModelCalcinator modelCalcinator;
private final ModelCalcinator modelCalcinator;
public ItemCalcinatorRenderer()
{
modelCalcinator = new ModelCalcinator();
}
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type)
{
return true;
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
{
return true;
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data)
{
switch (type)
{
case ENTITY:
{
renderCalcinator(-0.5F, 0.0F, 0.5F, 1.0F);
renderCalcinator(-0.5F, 0.0F, 0.5F);
return;
}
case EQUIPPED:
{
renderCalcinator(0.0F, 0.0F, 1.0F, 1.0F);
renderCalcinator(0.0F, 0.0F, 1.0F);
return;
}
case EQUIPPED_FIRST_PERSON:
{
renderCalcinator(0.0F, 0.0F, 1.0F, 1.0F);
renderCalcinator(0.0F, 0.0F, 1.0F);
return;
}
case INVENTORY:
{
renderCalcinator(0.0F, -0.1F, 1.0F, 1.0F);
renderCalcinator(0.0F, -0.1F, 1.0F);
return;
}
default:
@ -74,14 +69,13 @@ public class ItemCalcinatorRenderer implements IItemRenderer
}
}
private void renderCalcinator(float x, float y, float z, float scale)
private void renderCalcinator(float x, float y, float z)
{
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_LIGHTING);
// Scale, Translate, Rotate
GL11.glScalef(scale, scale, scale);
GL11.glScalef(1F, 1F, 1F);
GL11.glTranslatef(x, y, z);
GL11.glRotatef(-90F, 1F, 0, 0);

View file

@ -19,53 +19,48 @@ import org.lwjgl.opengl.GL11;
@SideOnly(Side.CLIENT)
public class ItemGlassBellRenderer implements IItemRenderer
{
private ModelGlassBell modelGlassBell;
private final ModelGlassBell modelGlassBell;
public ItemGlassBellRenderer()
{
modelGlassBell = new ModelGlassBell();
}
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type)
{
return true;
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
{
return true;
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data)
{
switch (type)
{
case ENTITY:
{
renderGlassBell(-0.5F, -1.2F, 0.5F, 1.4F);
renderGlassBell(-0.5F, -1.2F, 0.5F);
return;
}
case EQUIPPED:
{
renderGlassBell(-0.2F, -0.85F, 0.8F, 1.4F);
renderGlassBell(-0.2F, -0.85F, 0.8F);
return;
}
case EQUIPPED_FIRST_PERSON:
{
renderGlassBell(-0.2F, -0.85F, 0.8F, 1.4F);
renderGlassBell(-0.2F, -0.85F, 0.8F);
return;
}
case INVENTORY:
{
renderGlassBell(-1.0F, -1.675F, 0.0F, 1.4F);
renderGlassBell(-1.0F, -1.675F, 0.0F);
return;
}
default:
@ -74,14 +69,13 @@ public class ItemGlassBellRenderer implements IItemRenderer
}
}
private void renderGlassBell(float x, float y, float z, float scale)
private void renderGlassBell(float x, float y, float z)
{
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_LIGHTING);
// Scale, Translate, Rotate
GL11.glScalef(scale, scale, scale);
GL11.glScalef(1.4F, 1.4F, 1.4F);
GL11.glTranslatef(x, y, z);
GL11.glRotatef(-90F, 1F, 0, 0);

View file

@ -0,0 +1,83 @@
package com.pahimar.ee3.client.renderer.item;
import com.pahimar.ee3.client.model.ModelResearchStation;
import com.pahimar.ee3.lib.Textures;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
@SideOnly(Side.CLIENT)
public class ItemResearchStationRenderer implements IItemRenderer
{
private final ModelResearchStation modelResearchStation;
public ItemResearchStationRenderer()
{
modelResearchStation = new ModelResearchStation();
}
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type)
{
return true;
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
{
return true;
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data)
{
switch (type)
{
case ENTITY:
{
renderCalcinator(-0.5F, 0.0F, 0.5F);
return;
}
case EQUIPPED:
{
renderCalcinator(0.0F, 0.0F, 1.0F);
return;
}
case EQUIPPED_FIRST_PERSON:
{
renderCalcinator(0.0F, 0.0F, 1.0F);
return;
}
case INVENTORY:
{
renderCalcinator(0.0F, -0.1F, 1.0F);
return;
}
default:
{
}
}
}
private void renderCalcinator(float x, float y, float z)
{
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_LIGHTING);
// Scale, Translate, Rotate
GL11.glScalef(1.0F, 1.0F, 1.0F);
GL11.glTranslatef(x, y, z);
// Bind texture
FMLClientHandler.instance().getClient().renderEngine.bindTexture(Textures.MODEL_RESEARCH_STATION);
// Render
modelResearchStation.render();
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glPopMatrix();
}
}

View file

@ -22,7 +22,7 @@ import org.lwjgl.opengl.GL12;
@SideOnly(Side.CLIENT)
public class TileEntityAlchemicalChestRenderer extends TileEntitySpecialRenderer
{
private ModelChest modelChest = new ModelChest();
private final ModelChest modelChest = new ModelChest();
@Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float tick)

View file

@ -27,7 +27,7 @@ import org.lwjgl.opengl.GL11;
@SideOnly(Side.CLIENT)
public class TileEntityAludelRenderer extends TileEntitySpecialRenderer
{
private ModelAludel modelAludel = new ModelAludel();
private final ModelAludel modelAludel = new ModelAludel();
private final RenderItem customRenderItem;
public TileEntityAludelRenderer()

View file

@ -23,7 +23,7 @@ public class TileEntityCalcinatorRenderer extends TileEntitySpecialRenderer
// TODO Show the firepot as being "lit"
// TODO Packet for display dust size/colour and calcinator state
private ModelCalcinator modelCalcinator = new ModelCalcinator();
private final ModelCalcinator modelCalcinator = new ModelCalcinator();
@Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float tick)
@ -68,10 +68,6 @@ public class TileEntityCalcinatorRenderer extends TileEntitySpecialRenderer
GL11.glScalef(0.5F, 0.5F, 0.5F);
GL11.glTranslatef(-0.0125F, 0.75F, -0.7125F);
}
else if (tileCalcinator.getCombinedOutputSize() <= 128)
{
// NOOP
}
// Reapply previous rotation to get it back to a viewable state
GL11.glRotatef(45F, 0F, 1F, 0F);

View file

@ -27,7 +27,7 @@ import org.lwjgl.opengl.GL11;
public class TileEntityGlassBellRenderer extends TileEntitySpecialRenderer
{
private ModelGlassBell modelGlassBell = new ModelGlassBell();
private final ModelGlassBell modelGlassBell = new ModelGlassBell();
private final RenderItem customRenderItem;
public TileEntityGlassBellRenderer()

View file

@ -0,0 +1,40 @@
package com.pahimar.ee3.client.renderer.tileentity;
import com.pahimar.ee3.client.model.ModelResearchStation;
import com.pahimar.ee3.lib.Textures;
import com.pahimar.ee3.tileentity.TileResearchStation;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import org.lwjgl.opengl.GL11;
@SideOnly(Side.CLIENT)
public class TileEntityResearchStationRenderer extends TileEntitySpecialRenderer
{
private final ModelResearchStation modelResearchStation = new ModelResearchStation();
@Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float tick)
{
if (tileEntity instanceof TileResearchStation)
{
GL11.glPushMatrix();
GL11.glDisable(GL11.GL_LIGHTING);
// Scale, Translate, Rotate
GL11.glScalef(1.0F, 1.0F, 1.0F);
GL11.glTranslatef((float) x + 0.0F, (float) y + 0.0F, (float) z + 1.0F);
// Bind texture
FMLClientHandler.instance().getClient().renderEngine.bindTexture(Textures.MODEL_RESEARCH_STATION);
// Render
modelResearchStation.render();
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glPopMatrix();
}
}
}

View file

@ -21,15 +21,14 @@ public class BlockConfiguration
{
blockConfiguration.load();
/* Block configs */
BlockIds.ALCHEMICAL_FUEL = blockConfiguration.getBlock(Strings.ALCHEMICAL_FUEL_NAME, BlockIds.ALCHEMICAL_FUEL_DEFAULT).getInt(BlockIds.ALCHEMICAL_FUEL_DEFAULT);
BlockIds.CHALK = blockConfiguration.getBlock(Strings.CHALK_NAME, BlockIds.CHALK_DEFAULT).getInt(BlockIds.CHALK_DEFAULT);
BlockIds.ALCHEMY_SQUARE = blockConfiguration.getBlock(Strings.ALCHEMY_SQUARE_NAME, BlockIds.ALCHEMY_SQUARE_DEFAULT).getInt(BlockIds.ALCHEMY_SQUARE_DEFAULT);
BlockIds.CALCINATOR = blockConfiguration.getBlock(Strings.CALCINATOR_NAME, BlockIds.CALCINATOR_DEFAULT).getInt(BlockIds.CALCINATOR_DEFAULT);
BlockIds.ALUDEL_BASE = blockConfiguration.getBlock(Strings.ALUDEL_NAME, BlockIds.ALUDEL_BASE_DEFAULT).getInt(BlockIds.ALUDEL_BASE_DEFAULT);
BlockIds.ALCHEMICAL_CHEST = blockConfiguration.getBlock(Strings.ALCHEMICAL_CHEST_NAME, BlockIds.ALCHEMICAL_CHEST_DEFAULT).getInt(BlockIds.ALCHEMICAL_CHEST_DEFAULT);
BlockIds.GLASS_BELL = blockConfiguration.getBlock(Strings.GLASS_BELL_NAME, BlockIds.GLASS_BELL_DEFAULT).getInt(BlockIds.GLASS_BELL_DEFAULT);
BlockIds.RESEARCH_STATION = blockConfiguration.getBlock(Strings.RESEARCH_STATION_NAME, BlockIds.RESEARCH_STATION_DEFAULT).getInt(BlockIds.RESEARCH_STATION_DEFAULT);
}
catch (Exception e)
{

View file

@ -17,6 +17,7 @@ public class BlockIds
public static int ALCHEMICAL_FUEL_DEFAULT = 2455;
public static int CHALK_DEFAULT = 2456;
public static int ALCHEMY_SQUARE_DEFAULT = 2457;
public static int RESEARCH_STATION_DEFAULT = 2458;
/* Current block ids */
public static int CALCINATOR;
@ -26,4 +27,5 @@ public class BlockIds
public static int ALCHEMICAL_FUEL;
public static int CHALK;
public static int ALCHEMY_SQUARE;
public static int RESEARCH_STATION;
}

View file

@ -9,4 +9,5 @@ public class Models
public static final String ALUDEL = MODEL_LOCATION + "aludel.obj";
public static final String CALCINATOR = MODEL_LOCATION + "calcinator.obj";
public static final String GLASS_BELL = MODEL_LOCATION + "aludel.obj";
public static final String RESEARCH_STATION = MODEL_LOCATION + "researchStation.obj";
}

View file

@ -9,9 +9,9 @@ package com.pahimar.ee3.lib;
*/
public class RenderIds
{
public static int calcinatorRender;
public static int aludelRender;
public static int alchemicalChestRender;
public static int glassBell;
public static int researchStation;
}

View file

@ -43,6 +43,7 @@ public class Strings
public static final String ALCHEMICAL_CHEST_NAME = "alchemicalChest";
public static final String GLASS_BELL_NAME = "glassBell";
public static final String ALCHEMY_SQUARE_NAME = "alchemySquare";
public static final String RESEARCH_STATION_NAME = "researchStation";
/* Item name constants */
public static final String MINIUM_SHARD_NAME = "shardMinium";

View file

@ -15,7 +15,7 @@ public class Textures
{
// Base file paths
public static final String MODEL_SHEET_LOCATION = "textures/models/";
public static final String MODEL_TEXTURE_LOCATION = "textures/models/";
public static final String ARMOR_SHEET_LOCATION = "textures/armor/";
public static final String GUI_SHEET_LOCATION = "textures/gui/";
public static final String EFFECTS_LOCATION = "textures/effects/";
@ -30,16 +30,15 @@ public class Textures
public static final ResourceLocation GUI_CALCINATOR = ResourceLocationHelper.getResourceLocation(GUI_SHEET_LOCATION + "calcinator.png");
public static final ResourceLocation GUI_ALUDEL = ResourceLocationHelper.getResourceLocation(GUI_SHEET_LOCATION + "aludel.png");
public static final ResourceLocation GUI_ALCHEMICAL_STORAGE = ResourceLocationHelper.getResourceLocation(GUI_SHEET_LOCATION + "alchemicalStorage.png");
public static final ResourceLocation GUI_SHARED_ALCHEMICAL_STORAGE = ResourceLocationHelper.getResourceLocation(GUI_SHEET_LOCATION + "sharedAlchemicalStorage.png");
public static final ResourceLocation GUI_PORTABLE_CRAFTING = new ResourceLocation("textures/gui/container/crafting_table.png");
public static final ResourceLocation GUI_PORTABLE_TRANSMUTATION = ResourceLocationHelper.getResourceLocation(GUI_SHEET_LOCATION + "portableTransmutation.png");
public static final ResourceLocation GUI_GLASS_BELL = ResourceLocationHelper.getResourceLocation(GUI_SHEET_LOCATION + "glassBell.png");
// Model textures
public static final ResourceLocation MODEL_CALCINATOR = ResourceLocationHelper.getResourceLocation(MODEL_SHEET_LOCATION + "calcinator.png");
public static final ResourceLocation MODEL_ALUDEL = ResourceLocationHelper.getResourceLocation(MODEL_SHEET_LOCATION + "aludel.png");
public static final ResourceLocation MODEL_ALCHEMICAL_CHEST = ResourceLocationHelper.getResourceLocation(MODEL_SHEET_LOCATION + "alchemicalChest.png");
public static final ResourceLocation MODEL_GLASS_BELL = ResourceLocationHelper.getResourceLocation(MODEL_SHEET_LOCATION + "aludel.png");
public static final ResourceLocation MODEL_CALCINATOR = ResourceLocationHelper.getResourceLocation(MODEL_TEXTURE_LOCATION + "calcinator.png");
public static final ResourceLocation MODEL_ALUDEL = ResourceLocationHelper.getResourceLocation(MODEL_TEXTURE_LOCATION + "aludel.png");
public static final ResourceLocation MODEL_ALCHEMICAL_CHEST = ResourceLocationHelper.getResourceLocation(MODEL_TEXTURE_LOCATION + "alchemicalChest.png");
public static final ResourceLocation MODEL_GLASS_BELL = ResourceLocationHelper.getResourceLocation(MODEL_TEXTURE_LOCATION + "aludel.png");
public static final ResourceLocation MODEL_RESEARCH_STATION = ResourceLocationHelper.getResourceLocation(MODEL_TEXTURE_LOCATION + "researchStation.png");
// Effect textures
public static final ResourceLocation EFFECT_WORLD_TRANSMUTATION = ResourceLocationHelper.getResourceLocation(EFFECTS_LOCATION + "noise.png");

View file

@ -7,14 +7,8 @@ import com.pahimar.ee3.client.handler.ItemTooltipEventHandler;
import com.pahimar.ee3.client.handler.KeyBindingHandler;
import com.pahimar.ee3.client.handler.TransmutationTargetOverlayHandler;
import com.pahimar.ee3.client.helper.KeyBindingHelper;
import com.pahimar.ee3.client.renderer.item.ItemAlchemicalChestRenderer;
import com.pahimar.ee3.client.renderer.item.ItemAludelRenderer;
import com.pahimar.ee3.client.renderer.item.ItemCalcinatorRenderer;
import com.pahimar.ee3.client.renderer.item.ItemGlassBellRenderer;
import com.pahimar.ee3.client.renderer.tileentity.TileEntityAlchemicalChestRenderer;
import com.pahimar.ee3.client.renderer.tileentity.TileEntityAludelRenderer;
import com.pahimar.ee3.client.renderer.tileentity.TileEntityCalcinatorRenderer;
import com.pahimar.ee3.client.renderer.tileentity.TileEntityGlassBellRenderer;
import com.pahimar.ee3.client.renderer.item.*;
import com.pahimar.ee3.client.renderer.tileentity.*;
import com.pahimar.ee3.helper.ItemHelper;
import com.pahimar.ee3.helper.TransmutationHelper;
import com.pahimar.ee3.item.IChargeable;
@ -89,16 +83,19 @@ public class ClientProxy extends CommonProxy
RenderIds.aludelRender = RenderingRegistry.getNextAvailableRenderId();
RenderIds.alchemicalChestRender = RenderingRegistry.getNextAvailableRenderId();
RenderIds.glassBell = RenderingRegistry.getNextAvailableRenderId();
RenderIds.researchStation = RenderingRegistry.getNextAvailableRenderId();
MinecraftForgeClient.registerItemRenderer(BlockIds.CALCINATOR, new ItemCalcinatorRenderer());
MinecraftForgeClient.registerItemRenderer(BlockIds.ALUDEL_BASE, new ItemAludelRenderer());
MinecraftForgeClient.registerItemRenderer(BlockIds.ALCHEMICAL_CHEST, new ItemAlchemicalChestRenderer());
MinecraftForgeClient.registerItemRenderer(BlockIds.GLASS_BELL, new ItemGlassBellRenderer());
MinecraftForgeClient.registerItemRenderer(BlockIds.RESEARCH_STATION, new ItemResearchStationRenderer());
ClientRegistry.bindTileEntitySpecialRenderer(TileCalcinator.class, new TileEntityCalcinatorRenderer());
ClientRegistry.bindTileEntitySpecialRenderer(TileAludel.class, new TileEntityAludelRenderer());
ClientRegistry.bindTileEntitySpecialRenderer(TileAlchemicalChest.class, new TileEntityAlchemicalChestRenderer());
ClientRegistry.bindTileEntitySpecialRenderer(TileGlassBell.class, new TileEntityGlassBellRenderer());
ClientRegistry.bindTileEntitySpecialRenderer(TileResearchStation.class, new TileEntityResearchStationRenderer());
}
@Override

View file

@ -195,6 +195,7 @@ public class TileCalcinator extends TileEE implements IInventory
if (this.calcinatorCookTime == 0 && this.canCalcinate())
{
// TODO Effect burn speed by fuel quality
// TODO Notify the client that we are still burning
this.fuelBurnTime = this.calcinatorCookTime = TileEntityFurnace.getItemBurnTime(this.inventory[FUEL_INVENTORY_INDEX]);
if (this.calcinatorCookTime > 0)

View file

@ -0,0 +1,118 @@
package com.pahimar.ee3.tileentity;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
public class TileResearchStation extends TileEE implements IInventory
{
/**
* Returns the number of slots in the inventory.
*/
@Override
public int getSizeInventory()
{
return 0;
}
/**
* Returns the stack in slot i
*
* @param i
*/
@Override
public ItemStack getStackInSlot(int i)
{
return null;
}
/**
* Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a
* new stack.
*
* @param i
* @param j
*/
@Override
public ItemStack decrStackSize(int i, int j)
{
return null;
}
/**
* When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem -
* like when you close a workbench GUI.
*
* @param i
*/
@Override
public ItemStack getStackInSlotOnClosing(int i)
{
return null;
}
/**
* Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections).
*
* @param i
* @param itemstack
*/
@Override
public void setInventorySlotContents(int i, ItemStack itemstack)
{
}
/**
* Returns the name of the inventory.
*/
@Override
public String getInvName()
{
return null;
}
/**
* If this returns false, the inventory name will be used as an unlocalized name, and translated into the player's
* language. Otherwise it will be used directly.
*/
@Override
public boolean isInvNameLocalized()
{
return false;
}
/**
* Returns the maximum stack size for a inventory slot. Seems to always be 64, possibly will be extended. *Isn't
* this more of a set than a get?*
*/
@Override
public int getInventoryStackLimit()
{
return 0;
}
@Override
public void openChest()
{
}
@Override
public void closeChest()
{
}
/**
* Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot.
*
* @param i
* @param itemstack
*/
@Override
public boolean isItemValidForSlot(int i, ItemStack itemstack)
{
return false;
}
}

View file

@ -0,0 +1,4 @@
package com.pahimar.ee3.transmutation;
public class ExchangeRegistry {
}

View file

@ -30,6 +30,7 @@ tile.ee3:aludel.name=Aludel [WIP]
tile.ee3:calcinator.name=Calcinator [WIP]
tile.ee3:chalk.name=Chalk
tile.ee3:glassBell.name=Glass Bell [WIP]
tile.ee3:researchStation.name=Research Station [WIP]
# GUI localizations
container.ee3:alchemicalBag=Alchemical Bag [WIP]
@ -37,6 +38,7 @@ container.ee3:alchemicalChest=Alchemical Chest [WIP]
container.ee3:aludel=Aludel [WIP]
container.ee3:calcinator=Calcinator [WIP]
container.ee3:glassBell=Glass Bell [WIP]
container.ee3:researchStation=Research Station [WIP]
# Command localizations
command.ee3:overlay.turned_on=Target transmutation overlay turned on

View file

@ -0,0 +1,694 @@
# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
# File Created: 18.09.2013 10:30:03
#
# object Table_Top
#
v 1.0000 0.9000 -0.5000
v 0.8536 0.9000 -0.8536
v 0.8536 1.0000 -0.8536
v 1.0000 1.0000 -0.5000
v 0.5000 0.9000 -1.0000
v 0.5000 1.0000 -1.0000
v 0.1464 0.9000 -0.8536
v 0.1464 1.0000 -0.8536
v 0.0000 0.9000 -0.5000
v 0.0000 1.0000 -0.5000
v 0.1464 0.9000 -0.1464
v 0.1464 1.0000 -0.1464
v 0.5000 0.9000 -0.0000
v 0.5000 1.0000 -0.0000
v 0.8536 0.9000 -0.1464
v 0.8536 1.0000 -0.1464
v 0.5000 0.9000 -0.5000
v 0.5000 1.0000 -0.5000
# 18 vertices
vn 0.9239 0.0000 -0.3827
vn 0.3827 0.0000 -0.9239
vn -0.3827 0.0000 -0.9239
vn -0.9239 0.0000 -0.3827
vn -0.9239 0.0000 0.3827
vn -0.3827 0.0000 0.9239
vn 0.3827 0.0000 0.9239
vn 0.9239 0.0000 0.3827
vn 0.0000 -1.0000 -0.0000
vn 0.0000 1.0000 -0.0000
# 10 vertex normals
vt 0.0000 0.3750 0.9995
vt 0.3438 0.3750 0.8532
vt 0.3438 0.4688 0.8532
vt -0.0000 0.4688 0.9995
vt 0.0000 0.3750 0.8532
vt 0.3438 0.3750 0.9995
vt 0.3438 0.4688 0.9995
vt -0.0000 0.4688 0.8532
vt 0.0000 0.3750 0.1468
vt 0.3438 0.3750 0.0005
vt 0.3438 0.4688 0.0005
vt -0.0000 0.4688 0.1468
vt 0.0000 0.3750 0.0005
vt 0.3438 0.3750 0.1468
vt 0.3438 0.4688 0.1468
vt -0.0000 0.4688 0.0005
vt 0.0625 0.9375 0.8987
vt 0.0000 0.7500 0.8987
vt 0.2500 0.7500 0.8987
vt 0.2500 1.0000 0.8987
vt 0.4375 0.9375 0.8987
vt 0.5000 0.7500 0.8987
vt 0.4375 0.5625 0.8987
vt 0.2500 0.5000 0.8987
vt 0.0625 0.5625 0.8987
vt 0.5000 0.7500 0.9995
vt 0.4375 0.9375 0.9995
vt 0.2500 0.7500 0.9995
vt 0.2500 1.0000 0.9995
vt 0.0625 0.9375 0.9995
vt 0.0000 0.7500 0.9995
vt 0.0625 0.5625 0.9995
vt 0.2500 0.5000 0.9995
vt 0.4375 0.5625 0.9995
# 34 texture coords
g Table_Top
s off
f 1/1/1 2/2/1 3/3/1
f 3/3/1 4/4/1 1/1/1
f 2/5/2 5/6/2 6/7/2
f 6/7/2 3/8/2 2/5/2
f 5/1/3 7/2/3 8/3/3
f 8/3/3 6/4/3 5/1/3
f 7/9/4 9/10/4 10/11/4
f 10/11/4 8/12/4 7/9/4
f 9/13/5 11/14/5 12/15/5
f 12/15/5 10/16/5 9/13/5
f 11/9/6 13/10/6 14/11/6
f 14/11/6 12/12/6 11/9/6
f 13/13/7 15/14/7 16/15/7
f 16/15/7 14/16/7 13/13/7
f 15/5/8 1/6/8 4/7/8
f 4/7/8 16/8/8 15/5/8
f 2/17/9 1/18/9 17/19/9
f 5/20/9 2/17/9 17/19/9
f 7/21/9 5/20/9 17/19/9
f 9/22/9 7/21/9 17/19/9
f 11/23/9 9/22/9 17/19/9
f 13/24/9 11/23/9 17/19/9
f 15/25/9 13/24/9 17/19/9
f 1/18/9 15/25/9 17/19/9
f 4/26/10 3/27/10 18/28/10
f 3/27/10 6/29/10 18/28/10
f 6/29/10 8/30/10 18/28/10
f 8/30/10 10/31/10 18/28/10
f 10/31/10 12/32/10 18/28/10
f 12/32/10 14/33/10 18/28/10
f 14/33/10 16/34/10 18/28/10
f 16/34/10 4/26/10 18/28/10
# 32 faces
#
# object Table_Legs01
#
v 0.5000 0.4599 -0.4766
v 0.3957 0.4608 -0.4766
v 0.3462 0.2251 -0.4766
v 0.5000 0.2251 -0.4766
v 0.0374 0.1074 -0.4766
v 0.0097 0.0085 -0.4766
v 0.1420 0.0085 -0.4766
v 0.1482 0.1846 -0.4766
v 0.2270 0.1584 -0.4766
v 0.3210 0.0085 -0.4766
v 0.5000 0.6855 -0.4766
v 0.3687 0.6860 -0.4766
v 0.2270 0.1584 -0.5234
v 0.3462 0.2251 -0.5234
v 0.3210 0.0085 -0.5234
v 0.0374 0.1074 -0.5234
v 0.1482 0.1846 -0.5234
v 0.1420 0.0085 -0.5234
v 0.0097 0.0085 -0.5234
v 0.3957 0.4608 -0.5234
v 0.3687 0.6860 -0.5234
v 0.5000 0.6855 -0.5234
v 0.5000 0.4599 -0.5234
v 0.2525 0.9112 -0.4766
v 0.2525 0.9112 -0.5234
v 0.5000 0.0085 -0.5234
v 0.5000 0.0085 -0.4766
v 0.6538 0.2251 -0.4766
v 0.6043 0.4608 -0.4766
v 0.9626 0.1074 -0.4766
v 0.8518 0.1846 -0.4766
v 0.8580 0.0085 -0.4766
v 0.9903 0.0085 -0.4766
v 0.7730 0.1584 -0.4766
v 0.6790 0.0085 -0.4766
v 0.6313 0.6860 -0.4766
v 0.7730 0.1584 -0.5234
v 0.6790 0.0085 -0.5234
v 0.6538 0.2251 -0.5234
v 0.9626 0.1074 -0.5234
v 0.9903 0.0085 -0.5234
v 0.8580 0.0085 -0.5234
v 0.8518 0.1846 -0.5234
v 0.6313 0.6860 -0.5234
v 0.6043 0.4608 -0.5234
v 0.7475 0.9112 -0.4766
v 0.7475 0.9112 -0.5234
v 0.5000 0.9112 -0.4766
v 0.5000 0.9112 -0.5234
v 0.5000 0.2251 -0.5234
# 50 vertices
vn 0.0000 -0.0000 1.0000
vn -0.0000 -0.0000 1.0000
vn -0.0000 0.0000 -1.0000
vn 0.0000 0.0000 -1.0000
vn -0.9628 0.2701 -0.0000
vn -0.5719 0.8203 -0.0000
vn -0.5719 0.8203 0.0000
vn 0.3148 0.9492 0.0000
vn -0.4877 0.8730 0.0000
vn -0.9787 0.2052 0.0000
vn -0.9787 0.2052 -0.0000
vn -0.8888 -0.4583 0.0000
vn -0.8888 -0.4583 -0.0000
vn 0.0000 -1.0000 0.0000
vn 0.9628 0.2701 -0.0000
vn 0.5719 0.8203 0.0000
vn 0.5719 0.8203 -0.0000
vn -0.3148 0.9492 0.0000
vn 0.4877 0.8730 0.0000
vn 0.9787 0.2052 -0.0000
vn 0.9787 0.2052 0.0000
vn 0.8888 -0.4583 -0.0000
vn -0.9929 -0.1190 0.0000
vn 0.9929 -0.1190 0.0000
vn 0.9929 -0.1190 -0.0000
# 25 vertex normals
vt 0.6719 0.3594 0.4766
vt 0.6094 0.3594 0.4766
vt 0.5625 0.2188 0.4766
vt 0.6719 0.2188 0.4766
vt 0.3750 0.1406 0.4766
vt 0.3594 0.0625 0.4766
vt 0.4531 0.0625 0.4766
vt 0.4531 0.1875 0.4766
vt 0.5000 0.1719 0.4766
vt 0.5625 0.0625 0.4766
vt 0.6719 0.5156 0.4766
vt 0.5781 0.5156 0.4766
vt 0.8438 0.1719 0.5234
vt 0.7813 0.2188 0.5234
vt 0.7813 0.0625 0.5234
vt 0.9688 0.1406 0.5234
vt 0.8906 0.1875 0.5234
vt 0.8906 0.0625 0.5234
vt 0.9844 0.0625 0.5234
vt 0.7344 0.3594 0.5234
vt 0.7656 0.5156 0.5234
vt 0.6719 0.5156 0.5234
vt 0.6719 0.3594 0.5234
vt 0.9375 -0.0000 0.0102
vt 0.9375 0.0313 0.0102
vt 0.8438 0.0313 0.0379
vt 0.8438 -0.0000 0.0379
vt 0.0000 0.0313 0.1001
vt 0.0000 -0.0000 0.1001
vt 0.0938 -0.0000 0.1779
vt 0.0938 0.0313 0.1779
vt 0.1875 -0.0000 0.1516
vt 0.1875 0.0313 0.1516
vt 0.3125 -0.0000 0.2187
vt 0.3125 0.0313 0.2187
vt 0.7188 -0.0000 0.3464
vt 0.7188 0.0313 0.3464
vt 0.5000 0.0313 0.3958
vt 0.5000 -0.0000 0.3958
vt 0.2500 -0.0000 0.3688
vt 0.2500 0.0313 0.3688
vt 0.0313 0.0313 0.2528
vt 0.0313 -0.0000 0.2528
vt 0.4375 0.0313 0.0005
vt 0.4375 -0.0000 0.0005
vt 0.6250 -0.0000 0.0005
vt 0.6250 0.0313 0.0005
vt 0.8125 -0.0000 0.0005
vt 0.8125 0.0313 0.0005
vt 0.9375 -0.0000 0.0005
vt 0.9375 0.0313 0.0005
vt 0.7813 0.2188 0.4766
vt 0.7344 0.3594 0.4766
vt 0.9688 0.1406 0.4766
vt 0.8906 0.1875 0.4766
vt 0.8906 0.0625 0.4766
vt 0.9844 0.0625 0.4766
vt 0.8438 0.1719 0.4766
vt 0.7813 0.0625 0.4766
vt 0.7656 0.5156 0.4766
vt 0.5000 0.1719 0.5234
vt 0.5625 0.0625 0.5234
vt 0.5625 0.2188 0.5234
vt 0.3750 0.1406 0.5234
vt 0.3594 0.0625 0.5234
vt 0.4531 0.0625 0.5234
vt 0.4531 0.1875 0.5234
vt 0.5781 0.5156 0.5234
vt 0.6094 0.3594 0.5234
vt 0.9375 0.0313 0.9898
vt 0.8438 0.0313 0.9621
vt 0.8438 -0.0000 0.9621
vt 0.9375 -0.0000 0.9898
vt 0.9063 0.0313 0.1001
vt 0.8125 0.0313 0.1779
vt 0.8125 -0.0000 0.1779
vt 0.9063 -0.0000 0.1001
vt 0.7188 0.0313 0.1516
vt 0.7188 -0.0000 0.1516
vt 0.5938 0.0313 0.2187
vt 0.5938 -0.0000 0.2187
vt 0.7188 0.0313 0.6536
vt 0.5000 0.0313 0.6042
vt 0.5000 -0.0000 0.6042
vt 0.7188 -0.0000 0.6536
vt 0.0313 -0.0000 0.7472
vt 0.2500 -0.0000 0.6312
vt 0.2500 0.0313 0.6312
vt 0.0313 0.0313 0.7472
vt 0.2813 0.0313 0.0005
vt 0.2813 -0.0000 0.0005
vt 0.0938 0.0313 0.0005
vt 0.0938 -0.0000 0.0005
vt -0.0000 0.0313 0.0005
vt -0.0000 -0.0000 0.0005
vt 0.6719 0.6875 0.4766
vt 0.5000 0.6875 0.4766
vt 0.8438 0.6875 0.5234
vt 0.6719 0.6875 0.5234
vt 0.6250 0.3594 0.3958
vt 0.6563 0.3594 0.3958
vt 0.6563 0.5156 0.3688
vt 0.6250 0.5156 0.3688
vt 0.8438 0.6875 0.4766
vt 0.5000 0.6875 0.5234
vt 0.6250 0.3594 0.6042
vt 0.6563 0.3594 0.6042
vt 0.6563 0.5156 0.6312
vt 0.6250 0.5156 0.6312
vt 0.6719 0.0625 0.4766
vt 0.6719 0.2188 0.5234
vt 0.6719 0.0625 0.5234
# 112 texture coords
g Table_Legs01
s off
f 19/35/11 20/36/11 21/37/11
f 21/37/11 22/38/11 19/35/11
f 23/39/11 24/40/11 25/41/11
f 25/41/11 26/42/11 23/39/11
f 27/43/12 26/42/12 25/41/12
f 25/41/11 28/44/11 27/43/11
f 29/45/11 30/46/11 20/36/11
f 20/36/11 19/35/11 29/45/11
f 31/47/13 32/48/13 33/49/13
f 34/50/13 35/51/13 36/52/13
f 36/52/14 37/53/14 34/50/14
f 31/47/14 33/49/14 36/52/14
f 36/52/14 35/51/14 31/47/14
f 38/54/13 39/55/13 40/56/13
f 40/56/13 41/57/13 38/54/13
f 37/58/15 24/59/15 23/60/15
f 23/60/15 34/61/15 37/58/15
f 34/62/16 23/63/16 26/64/16
f 26/64/17 35/65/17 34/62/17
f 35/65/18 26/64/18 27/66/18
f 27/66/18 31/67/18 35/65/18
f 31/67/19 27/66/19 21/68/19
f 21/68/19 32/69/19 31/67/19
f 32/70/20 21/71/20 20/72/20
f 20/72/21 38/73/21 32/70/21
f 39/74/22 30/75/22 42/76/22
f 42/76/23 43/77/23 39/74/23
f 44/78/24 45/79/24 28/80/24
f 28/80/24 33/81/24 44/78/24
f 33/81/24 28/80/24 25/82/24
f 25/82/24 36/83/24 33/81/24
f 36/83/24 25/82/24 24/84/24
f 24/84/24 37/85/24 36/83/24
f 46/86/12 47/87/12 19/35/12
f 19/35/12 22/38/12 46/86/12
f 48/88/12 49/89/12 50/90/12
f 50/90/11 51/91/11 48/88/11
f 52/92/11 53/93/11 50/90/11
f 50/90/11 49/89/11 52/92/11
f 47/87/12 54/94/12 29/45/12
f 29/45/12 19/35/12 47/87/12
f 55/95/14 56/96/14 57/97/14
f 58/98/14 59/99/14 60/100/14
f 60/100/14 61/101/14 58/98/14
f 55/95/13 61/101/13 60/100/13
f 60/100/14 56/96/14 55/95/14
f 40/56/14 62/102/14 63/103/14
f 63/103/14 41/57/14 40/56/14
f 59/104/25 58/105/25 48/106/25
f 48/106/25 51/107/25 59/104/25
f 58/108/26 61/109/26 49/110/26
f 49/110/27 48/111/27 58/108/27
f 61/109/28 55/112/28 52/113/28
f 52/113/28 49/110/28 61/109/28
f 55/112/29 57/114/29 46/115/29
f 46/115/29 52/113/29 55/112/29
f 57/116/30 63/117/30 47/118/30
f 47/118/31 46/119/31 57/116/31
f 64/120/32 54/121/32 62/122/32
f 62/122/32 65/123/32 64/120/32
f 44/78/24 56/124/24 53/125/24
f 53/125/24 45/79/24 44/78/24
f 56/124/24 60/126/24 50/127/24
f 50/127/24 53/125/24 56/124/24
f 60/126/24 59/128/24 51/129/24
f 51/129/24 50/127/24 60/126/24
f 66/130/11 42/131/11 30/46/11
f 30/46/11 29/45/11 66/130/11
f 39/55/14 43/132/14 67/133/14
f 67/133/13 40/56/13 39/55/13
f 38/134/33 20/135/33 30/136/33
f 30/136/33 39/137/33 38/134/33
f 54/94/11 64/138/11 66/130/11
f 66/130/12 29/45/12 54/94/12
f 67/133/14 65/139/14 62/102/14
f 62/102/14 40/56/14 67/133/14
f 47/140/34 63/141/34 62/142/34
f 62/142/35 54/143/35 47/140/35
f 21/37/11 28/44/11 45/144/11
f 45/144/11 22/38/11 21/37/11
f 45/144/11 53/93/11 46/86/11
f 46/86/12 22/38/12 45/144/12
f 32/48/13 38/54/13 41/57/13
f 41/57/13 68/145/13 32/48/13
f 41/57/14 63/103/14 57/97/14
f 57/97/14 68/145/14 41/57/14
f 32/48/13 68/145/13 44/146/13
f 44/146/14 33/49/14 32/48/14
f 21/37/11 27/43/11 28/44/11
f 44/146/14 68/145/14 57/97/14
f 57/97/14 56/96/14 44/146/14
f 53/93/12 52/92/12 46/86/12
# 92 faces
#
# object Table_Legs02
#
v 0.5234 0.4599 -0.5000
v 0.5234 0.4608 -0.3957
v 0.5234 0.2251 -0.3462
v 0.5234 0.2251 -0.5000
v 0.5234 0.1074 -0.0374
v 0.5234 0.0085 -0.0097
v 0.5234 0.0085 -0.1420
v 0.5234 0.1846 -0.1482
v 0.5234 0.1584 -0.2270
v 0.5234 0.0085 -0.3210
v 0.5234 0.6855 -0.5000
v 0.5234 0.6860 -0.3687
v 0.4766 0.1584 -0.2270
v 0.4766 0.2251 -0.3462
v 0.4766 0.0085 -0.3210
v 0.4766 0.1074 -0.0374
v 0.4766 0.1846 -0.1482
v 0.4766 0.0085 -0.1420
v 0.4766 0.0085 -0.0097
v 0.4766 0.4608 -0.3957
v 0.4766 0.6860 -0.3687
v 0.4766 0.6855 -0.5000
v 0.4766 0.4599 -0.5000
v 0.5234 0.9112 -0.2525
v 0.4766 0.9112 -0.2525
v 0.4766 0.0085 -0.5000
v 0.5234 0.0085 -0.5000
v 0.5234 0.2251 -0.6538
v 0.5234 0.4608 -0.6043
v 0.5234 0.1074 -0.9626
v 0.5234 0.1846 -0.8518
v 0.5234 0.0085 -0.8580
v 0.5234 0.0085 -0.9903
v 0.5234 0.1584 -0.7730
v 0.5234 0.0085 -0.6790
v 0.5234 0.6860 -0.6313
v 0.4766 0.1584 -0.7730
v 0.4766 0.0085 -0.6790
v 0.4766 0.2251 -0.6538
v 0.4766 0.1074 -0.9626
v 0.4766 0.0085 -0.9903
v 0.4766 0.0085 -0.8580
v 0.4766 0.1846 -0.8518
v 0.4766 0.6860 -0.6313
v 0.4766 0.4608 -0.6043
v 0.5234 0.9112 -0.7475
v 0.4766 0.9112 -0.7475
v 0.5234 0.9112 -0.5000
v 0.4766 0.9112 -0.5000
v 0.4766 0.2251 -0.5000
# 50 vertices
vn 1.0000 -0.0000 -0.0000
vn 1.0000 -0.0000 0.0000
vn -1.0000 0.0000 0.0000
vn -1.0000 0.0000 -0.0000
vn -0.0000 0.2701 0.9628
vn -0.0000 0.8203 0.5719
vn 0.0000 0.8203 0.5719
vn 0.0000 0.9492 -0.3148
vn 0.0000 0.8730 0.4877
vn 0.0000 0.2052 0.9787
vn 0.0000 -0.4583 0.8888
vn -0.0000 -0.4583 0.8888
vn 0.0000 -1.0000 -0.0000
vn -0.0000 0.2701 -0.9628
vn 0.0000 0.8203 -0.5719
vn -0.0000 0.8203 -0.5719
vn 0.0000 0.9492 0.3148
vn 0.0000 0.8730 -0.4877
vn -0.0000 0.2052 -0.9787
vn -0.0000 -0.4583 -0.8888
vn 0.0000 -0.1190 0.9929
vn -0.0000 -0.1190 -0.9929
# 22 vertex normals
vt 0.6719 0.3594 0.5234
vt 0.6094 0.3594 0.5234
vt 0.5625 0.2188 0.5234
vt 0.6719 0.2188 0.5234
vt 0.3750 0.1406 0.5234
vt 0.3594 0.0625 0.5234
vt 0.4531 0.0625 0.5234
vt 0.4531 0.1875 0.5234
vt 0.5000 0.1719 0.5234
vt 0.5625 0.0625 0.5234
vt 0.6719 0.5156 0.5234
vt 0.5781 0.5156 0.5234
vt 0.8438 0.1719 0.4766
vt 0.7813 0.2188 0.4766
vt 0.7813 0.0625 0.4766
vt 0.9688 0.1406 0.4766
vt 0.8906 0.1875 0.4766
vt 0.8906 0.0625 0.4766
vt 0.9844 0.0625 0.4766
vt 0.7344 0.3594 0.4766
vt 0.7656 0.5156 0.4766
vt 0.6719 0.5156 0.4766
vt 0.6719 0.3594 0.4766
vt 0.9375 -0.0000 0.0102
vt 0.9375 0.0313 0.0102
vt 0.8438 0.0313 0.0379
vt 0.8438 -0.0000 0.0379
vt 0.9063 -0.0000 0.1001
vt 0.9063 0.0313 0.1001
vt 0.8125 0.0313 0.1779
vt 0.8125 -0.0000 0.1779
vt 0.7188 0.0313 0.1516
vt 0.7188 -0.0000 0.1516
vt 0.5938 0.0313 0.2187
vt 0.5938 -0.0000 0.2187
vt 0.7188 -0.0000 0.3464
vt 0.7188 0.0313 0.3464
vt 0.5000 0.0313 0.3958
vt 0.5000 -0.0000 0.3958
vt 0.2500 -0.0000 0.3688
vt 0.2500 0.0313 0.3688
vt 0.0313 0.0313 0.2528
vt 0.0313 -0.0000 0.2528
vt 0.4375 0.0313 0.0005
vt 0.4375 -0.0000 0.0005
vt 0.6250 -0.0000 0.0005
vt 0.6250 0.0313 0.0005
vt 0.8125 -0.0000 0.0005
vt 0.8125 0.0313 0.0005
vt 0.9375 -0.0000 0.0005
vt 0.9375 0.0313 0.0005
vt 0.7813 0.2188 0.5234
vt 0.7344 0.3594 0.5234
vt 0.9688 0.1406 0.5234
vt 0.8906 0.1875 0.5234
vt 0.8906 0.0625 0.5234
vt 0.9844 0.0625 0.5234
vt 0.8438 0.1719 0.5234
vt 0.7813 0.0625 0.5234
vt 0.7656 0.5156 0.5234
vt 0.5000 0.1719 0.4766
vt 0.5625 0.0625 0.4766
vt 0.5625 0.2188 0.4766
vt 0.3750 0.1406 0.4766
vt 0.3594 0.0625 0.4766
vt 0.4531 0.0625 0.4766
vt 0.4531 0.1875 0.4766
vt 0.5781 0.5156 0.4766
vt 0.6094 0.3594 0.4766
vt 0.9375 0.0313 0.9898
vt 0.8438 0.0313 0.9621
vt 0.8438 -0.0000 0.9621
vt 0.9375 -0.0000 0.9898
vt -0.0000 -0.0000 0.1001
vt 0.0938 -0.0000 0.1779
vt 0.0938 0.0313 0.1779
vt -0.0000 0.0313 0.1001
vt 0.1875 -0.0000 0.1516
vt 0.1875 0.0313 0.1516
vt 0.2813 -0.0000 0.2187
vt 0.2813 0.0313 0.2187
vt 0.7188 0.0313 0.6536
vt 0.5000 0.0313 0.6042
vt 0.5000 -0.0000 0.6042
vt 0.7188 -0.0000 0.6536
vt 0.0313 -0.0000 0.7472
vt 0.2500 -0.0000 0.6312
vt 0.2500 0.0313 0.6312
vt 0.0313 0.0313 0.7472
vt 0.2813 0.0313 0.0005
vt 0.2813 -0.0000 0.0005
vt 0.0938 0.0313 0.0005
vt 0.0938 -0.0000 0.0005
vt -0.0000 0.0313 0.0005
vt -0.0000 -0.0000 0.0005
vt 0.6719 0.6875 0.5234
vt 0.5000 0.6875 0.5234
vt 0.8438 0.6875 0.4766
vt 0.6719 0.6875 0.4766
vt 0.2656 0.0313 0.3958
vt 0.2656 0.0000 0.3958
vt 0.5000 0.0000 0.3688
vt 0.5000 0.0313 0.3688
vt 0.8438 0.6875 0.5234
vt 0.5000 0.6875 0.4766
vt 0.6250 0.3594 0.6042
vt 0.6563 0.3594 0.6042
vt 0.6563 0.5156 0.6312
vt 0.6250 0.5156 0.6312
vt 0.6719 0.0625 0.5234
vt 0.6719 0.2188 0.4766
vt 0.6719 0.0625 0.4766
# 112 texture coords
g Table_Legs02
s off
f 69/147/36 70/148/36 71/149/36
f 71/149/36 72/150/36 69/147/36
f 73/151/36 74/152/36 75/153/36
f 75/153/36 76/154/36 73/151/36
f 77/155/37 76/154/37 75/153/37
f 75/153/36 78/156/36 77/155/36
f 79/157/36 80/158/36 70/148/36
f 70/148/36 69/147/36 79/157/36
f 81/159/38 82/160/38 83/161/38
f 84/162/38 85/163/38 86/164/38
f 86/164/38 87/165/38 84/162/38
f 81/159/38 83/161/38 86/164/38
f 86/164/39 85/163/39 81/159/39
f 88/166/38 89/167/38 90/168/38
f 90/168/38 91/169/38 88/166/38
f 87/170/40 74/171/40 73/172/40
f 73/172/40 84/173/40 87/170/40
f 84/174/41 73/175/41 76/176/41
f 76/176/42 85/177/42 84/174/42
f 85/177/43 76/176/43 77/178/43
f 77/178/43 81/179/43 85/177/43
f 81/179/44 77/178/44 71/180/44
f 71/180/44 82/181/44 81/179/44
f 82/182/45 71/183/45 70/184/45
f 70/184/45 88/185/45 82/182/45
f 89/186/46 80/187/46 92/188/46
f 92/188/47 93/189/47 89/186/47
f 94/190/48 95/191/48 78/192/48
f 78/192/48 83/193/48 94/190/48
f 83/193/48 78/192/48 75/194/48
f 75/194/48 86/195/48 83/193/48
f 86/195/48 75/194/48 74/196/48
f 74/196/48 87/197/48 86/195/48
f 96/198/37 97/199/37 69/147/37
f 69/147/37 72/150/37 96/198/37
f 98/200/37 99/201/37 100/202/37
f 100/202/36 101/203/36 98/200/36
f 102/204/36 103/205/36 100/202/36
f 100/202/36 99/201/36 102/204/36
f 97/199/37 104/206/37 79/157/37
f 79/157/37 69/147/37 97/199/37
f 105/207/39 106/208/39 107/209/39
f 108/210/38 109/211/38 110/212/38
f 110/212/39 111/213/39 108/210/39
f 105/207/38 111/213/38 110/212/38
f 110/212/38 106/208/38 105/207/38
f 90/168/39 112/214/39 113/215/39
f 113/215/39 91/169/39 90/168/39
f 109/216/49 108/217/49 98/218/49
f 98/218/49 101/219/49 109/216/49
f 108/220/50 111/221/50 99/222/50
f 99/222/51 98/223/51 108/220/51
f 111/221/52 105/224/52 102/225/52
f 102/225/52 99/222/52 111/221/52
f 105/224/53 107/226/53 96/227/53
f 96/227/53 102/225/53 105/224/53
f 107/228/54 113/229/54 97/230/54
f 97/230/54 96/231/54 107/228/54
f 114/232/55 104/233/55 112/234/55
f 112/234/55 115/235/55 114/232/55
f 94/190/48 106/236/48 103/237/48
f 103/237/48 95/191/48 94/190/48
f 106/236/48 110/238/48 100/239/48
f 100/239/48 103/237/48 106/236/48
f 110/238/48 109/240/48 101/241/48
f 101/241/48 100/239/48 110/238/48
f 116/242/36 92/243/36 80/158/36
f 80/158/36 79/157/36 116/242/36
f 89/167/38 93/244/38 117/245/38
f 117/245/38 90/168/38 89/167/38
f 88/246/56 70/247/56 80/248/56
f 80/248/56 89/249/56 88/246/56
f 104/206/36 114/250/36 116/242/36
f 116/242/37 79/157/37 104/206/37
f 117/245/38 115/251/38 112/214/38
f 112/214/39 90/168/39 117/245/39
f 97/252/57 113/253/57 112/254/57
f 112/254/57 104/255/57 97/252/57
f 71/149/36 78/156/36 95/256/36
f 95/256/36 72/150/36 71/149/36
f 95/256/36 103/205/36 96/198/36
f 96/198/37 72/150/37 95/256/37
f 82/160/38 88/166/38 91/169/38
f 91/169/38 118/257/38 82/160/38
f 91/169/39 113/215/39 107/209/39
f 107/209/39 118/257/39 91/169/39
f 82/160/38 118/257/38 94/258/38
f 94/258/38 83/161/38 82/160/38
f 71/149/36 77/155/36 78/156/36
f 94/258/39 118/257/39 107/209/39
f 107/209/38 106/208/38 94/258/38
f 103/205/37 102/204/37 96/198/37
# 92 faces

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB