fixed templates, minecart tomfoolery, assemfac model
@ -968,6 +968,7 @@ public class ModBlocks {
|
||||
|
||||
public static Block machine_assembler;
|
||||
public static final int guiID_machine_assembler = 48;
|
||||
public static Block machine_assemfac;
|
||||
|
||||
public static Block machine_chemplant;
|
||||
public static final int guiID_machine_chemplant = 49;
|
||||
@ -2132,6 +2133,7 @@ public class ModBlocks {
|
||||
machine_mining_laser = new MachineMiningLaser(Material.iron).setBlockName("machine_mining_laser").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_mining_laser");
|
||||
barricade = new BlockNoDrop(Material.sand).setBlockName("barricade").setHardness(1.0F).setResistance(2.5F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":barricade");
|
||||
machine_assembler = new MachineAssembler(Material.iron).setBlockName("machine_assembler").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_assembler");
|
||||
machine_assemfac = new MachineAssemfac(Material.iron).setBlockName("machine_assemfac").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
machine_chemplant = new MachineChemplant(Material.iron).setBlockName("machine_chemplant").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_chemplant");
|
||||
machine_chemfac = new MachineChemfac(Material.iron).setBlockName("machine_chemfac").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
machine_fluidtank = new MachineFluidTank(Material.iron).setBlockName("machine_fluidtank").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_fluidtank");
|
||||
@ -3079,6 +3081,7 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(machine_arc_furnace_on, machine_arc_furnace_on.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_microwave, machine_microwave.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_assembler, machine_assembler.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_assemfac, machine_assemfac.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_chemplant, machine_chemplant.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_chemfac, machine_chemfac.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_fluidtank, machine_fluidtank.getUnlocalizedName());
|
||||
|
||||
39
src/main/java/com/hbm/blocks/machine/MachineAssemfac.java
Normal file
@ -0,0 +1,39 @@
|
||||
package com.hbm.blocks.machine;
|
||||
|
||||
import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.tileentity.TileEntityProxyCombo;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineAssemfac;
|
||||
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class MachineAssemfac extends BlockDummyable {
|
||||
|
||||
public MachineAssemfac(Material mat) {
|
||||
super(mat);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World world, int meta) {
|
||||
if(meta >= 12) return new TileEntityMachineAssemfac();
|
||||
if(meta >= 6) return new TileEntityProxyCombo(false, true, true);
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getDimensions() {
|
||||
return new int[] {3, 0, 4, 3, 4, 3};
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
|
||||
return this.standardOpenBehavior(world, x, y, z, player, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getOffset() {
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
@ -3542,7 +3542,7 @@ public class ModItems {
|
||||
canned_bark = new ItemLemon(2, 5, false).setUnlocalizedName("canned_bark").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_bark");
|
||||
can_key = new Item().setUnlocalizedName("can_key").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_key");
|
||||
|
||||
cart = new ItemModMinecart().setUnlocalizedName("cart").setTextureName(RefStrings.MODID + ":cart");
|
||||
cart = new ItemModMinecart().setUnlocalizedName("cart");
|
||||
|
||||
coin_creeper = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("coin_creeper").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coin_creeper");
|
||||
coin_radiation = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("coin_radiation").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coin_radiation");
|
||||
|
||||
@ -44,6 +44,20 @@ public class ItemAssemblyTemplate extends Item {
|
||||
return this.itemIcon;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getIconIndex(ItemStack stack) {
|
||||
|
||||
//NEW
|
||||
ComparableStack out = readType(stack);
|
||||
//LEGACY
|
||||
if(out == null) out = AssemblerRecipes.recipeList.get(stack.getItemDamage());
|
||||
|
||||
if(AssemblerRecipes.hidden.get(out) != null)
|
||||
return this.hiddenIcon;
|
||||
|
||||
return this.itemIcon;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons(IIconRegister reg) {
|
||||
super.registerIcons(reg);
|
||||
@ -74,8 +88,14 @@ public class ItemAssemblyTemplate extends Item {
|
||||
}
|
||||
|
||||
public String getItemStackDisplayName(ItemStack stack) {
|
||||
|
||||
//NEW
|
||||
ComparableStack comp = readType(stack);
|
||||
//LEGACY
|
||||
if(comp == null) comp = AssemblerRecipes.recipeList.get(stack.getItemDamage());
|
||||
|
||||
String s = ("" + StatCollector.translateToLocal(this.getUnlocalizedName() + ".name")).trim();
|
||||
ItemStack out = stack.getItemDamage() < AssemblerRecipes.recipeList.size() ? AssemblerRecipes.recipeList.get(stack.getItemDamage()).toStack() : null;
|
||||
ItemStack out = comp != null ? comp.toStack() : null;
|
||||
String s1 = ("" + StatCollector.translateToLocal((out != null ? out.getUnlocalizedName() : "") + ".name")).trim();
|
||||
|
||||
if(s1 != null) {
|
||||
@ -140,8 +160,6 @@ public class ItemAssemblyTemplate extends Item {
|
||||
out = AssemblerRecipes.recipeList.get(i);
|
||||
nbtType = false;
|
||||
}
|
||||
Integer time = AssemblerRecipes.time.get(out);
|
||||
|
||||
HashSet<Item> folders = AssemblerRecipes.hidden.get(out);
|
||||
|
||||
if(folders == null)
|
||||
|
||||
@ -1,13 +1,20 @@
|
||||
package com.hbm.items.tool;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.entity.cart.*;
|
||||
import com.hbm.entity.item.EntityMinecartOre;
|
||||
import com.hbm.items.ItemEnumMulti;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.util.EnumUtil;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockDispenser;
|
||||
import net.minecraft.block.BlockRailBase;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.dispenser.BehaviorDefaultDispenseItem;
|
||||
import net.minecraft.dispenser.IBehaviorDispenseItem;
|
||||
@ -15,28 +22,159 @@ import net.minecraft.dispenser.IBlockSource;
|
||||
import net.minecraft.entity.item.EntityMinecart;
|
||||
import net.minecraft.entity.item.EntityMinecartEmpty;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class ItemModMinecart extends ItemEnumMulti {
|
||||
public class ItemModMinecart extends Item {
|
||||
|
||||
private IIcon[] icons;
|
||||
private IIcon[] bases = new IIcon[4];
|
||||
|
||||
public static final String CART_BASE_NBT = "cartBase";
|
||||
|
||||
public static enum EnumCartBase {
|
||||
VANILLA,
|
||||
WOOD,
|
||||
STEEL,
|
||||
PAINTED
|
||||
}
|
||||
|
||||
public static enum EnumMinecart {
|
||||
CRATE,
|
||||
DESTROYER,
|
||||
EMPTY
|
||||
EMPTY (EnumCartBase.STEEL),
|
||||
CRATE (EnumCartBase.VANILLA),
|
||||
DESTROYER (EnumCartBase.STEEL),
|
||||
POWDER (EnumCartBase.WOOD);
|
||||
|
||||
public int types;
|
||||
|
||||
private EnumMinecart(EnumCartBase... types) {
|
||||
this.types = 0;
|
||||
for(EnumCartBase type : types) {
|
||||
this.types |= (1 << type.ordinal());
|
||||
}
|
||||
}
|
||||
|
||||
private EnumMinecart(int types) {
|
||||
this.types = types;
|
||||
}
|
||||
|
||||
public boolean supportsBase(int type) {
|
||||
return (this.types & (1 << type)) > 0;
|
||||
}
|
||||
|
||||
public boolean supportsBase(EnumCartBase type) {
|
||||
return supportsBase(type.ordinal());
|
||||
}
|
||||
|
||||
/*public boolean isVanilla() {
|
||||
return isType(0);
|
||||
}
|
||||
|
||||
public boolean isSteel() {
|
||||
return isType(1);
|
||||
}
|
||||
|
||||
public boolean isWood() {
|
||||
return isType(2);
|
||||
}
|
||||
|
||||
public boolean isPainted() {
|
||||
return isType(3);
|
||||
}*/
|
||||
}
|
||||
|
||||
public ItemModMinecart() {
|
||||
super(EnumMinecart.class, true, true);
|
||||
this.setMaxStackSize(4);
|
||||
this.setCreativeTab(CreativeTabs.tabTransport);
|
||||
BlockDispenser.dispenseBehaviorRegistry.putObject(this, dispenseBehavior);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item setUnlocalizedName(String unlocalizedName) {
|
||||
super.setUnlocalizedName(unlocalizedName);
|
||||
this.setTextureName(RefStrings.MODID + ":"+ unlocalizedName);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName(ItemStack stack) {
|
||||
EnumMinecart cart = EnumUtil.grabEnumSafely(EnumMinecart.class, stack.getItemDamage());
|
||||
return super.getUnlocalizedName() + "." + cart.name().toLowerCase();
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void getSubItems(Item item, CreativeTabs tab, List list) {
|
||||
for(int i = 0; i < EnumMinecart.values().length; i++) {
|
||||
EnumMinecart cart = EnumMinecart.values()[i];
|
||||
|
||||
for(EnumCartBase base : EnumCartBase.values()) {
|
||||
if(cart.supportsBase(base)) {
|
||||
list.add(createCartItem(base, cart));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons(IIconRegister reg) {
|
||||
|
||||
for(int i = 0; i < EnumCartBase.values().length; i++) {
|
||||
EnumCartBase base = EnumCartBase.values()[i];
|
||||
bases[i] = reg.registerIcon(this.getIconString() + "." + base.name().toLowerCase());
|
||||
}
|
||||
|
||||
EnumMinecart[] enums = EnumMinecart.values();
|
||||
this.icons = new IIcon[enums.length];
|
||||
|
||||
for(int i = 0; i < icons.length; i++) {
|
||||
Enum num = enums[i];
|
||||
this.icons[i] = reg.registerIcon(this.getIconString() + "_overlay." + num.name().toLowerCase());
|
||||
}
|
||||
}
|
||||
|
||||
public static EnumCartBase getBaseType(ItemStack stack) {
|
||||
if(!stack.hasTagCompound())
|
||||
return EnumCartBase.VANILLA;
|
||||
|
||||
int meta = stack.stackTagCompound.getInteger(CART_BASE_NBT);
|
||||
return EnumUtil.grabEnumSafely(EnumCartBase.class, meta);
|
||||
}
|
||||
|
||||
public static ItemStack createCartItem(EnumCartBase base, EnumMinecart cart) {
|
||||
ItemStack stack = new ItemStack(ModItems.cart, 1, cart.ordinal());
|
||||
stack.stackTagCompound = new NBTTagCompound();
|
||||
stack.stackTagCompound.setInteger(CART_BASE_NBT, base.ordinal());
|
||||
return stack;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public boolean requiresMultipleRenderPasses() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getIcon(ItemStack stack, int pass) {
|
||||
|
||||
if(pass == 0) {
|
||||
EnumCartBase base = getBaseType(stack);
|
||||
return this.bases[base.ordinal()];
|
||||
}
|
||||
|
||||
return this.icons[stack.getItemDamage()];
|
||||
}
|
||||
|
||||
private static final IBehaviorDispenseItem dispenseBehavior = new BehaviorDefaultDispenseItem() {
|
||||
private final BehaviorDefaultDispenseItem behaviourDefaultDispenseItem = new BehaviorDefaultDispenseItem();
|
||||
|
||||
@Override
|
||||
public ItemStack dispenseStack(IBlockSource source, ItemStack stack) {
|
||||
EnumFacing enumfacing = BlockDispenser.func_149937_b(source.getBlockMetadata());
|
||||
World world = source.getWorld();
|
||||
@ -74,7 +212,8 @@ public class ItemModMinecart extends ItemEnumMulti {
|
||||
source.getWorld().playAuxSFX(1000, source.getXInt(), source.getYInt(), source.getZInt(), 0);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onItemUse(ItemStack stack, EntityPlayer entity, World world, int x, int y, int z, int side, float fx, float fy, float fz) {
|
||||
if(BlockRailBase.func_150051_a(world.getBlock(x, y, z))) {
|
||||
if(!world.isRemote) {
|
||||
|
||||
@ -210,6 +210,7 @@ public class ClientProxy extends ServerProxy {
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMiningDrill.class, new RenderMiningDrill());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMiningLaser.class, new RenderLaserMiner());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAssembler.class, new RenderAssembler());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAssemfac.class, new RenderAssemfac());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineChemplant.class, new RenderChemplant());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineChemfac.class, new RenderChemfac());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineFluidTank.class, new RenderFluidTank());
|
||||
|
||||
@ -112,6 +112,7 @@ public class ResourceManager {
|
||||
public static final IModelCustom assembler_cog = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/assembler_new_cog.obj"));
|
||||
public static final IModelCustom assembler_slider = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/assembler_new_slider.obj"));
|
||||
public static final IModelCustom assembler_arm = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/assembler_new_arm.obj"));
|
||||
public static final IModelCustom assemfac = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/assemfac.obj"));
|
||||
|
||||
//Chemplant
|
||||
public static final IModelCustom chemplant_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/chemplant_new_body.obj"));
|
||||
@ -414,6 +415,7 @@ public class ResourceManager {
|
||||
public static final ResourceLocation assembler_cog_tex = new ResourceLocation(RefStrings.MODID, "textures/models/assembler_cog_new.png");
|
||||
public static final ResourceLocation assembler_slider_tex = new ResourceLocation(RefStrings.MODID, "textures/models/assembler_slider_new.png");
|
||||
public static final ResourceLocation assembler_arm_tex = new ResourceLocation(RefStrings.MODID, "textures/models/assembler_arm_new.png");
|
||||
public static final ResourceLocation assemfac_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/assemfac.png");
|
||||
|
||||
//Chemplant
|
||||
public static final ResourceLocation chemplant_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/chemplant_base_new.png");
|
||||
|
||||
@ -59,7 +59,17 @@ public class ItemFolderPacket implements IMessage {
|
||||
ItemStack stack = new ItemStack(Item.getItemById(m.item), 1, m.meta);
|
||||
|
||||
if(p.capabilities.isCreativeMode) {
|
||||
p.inventory.addItemStackToInventory(stack.copy());
|
||||
|
||||
if(stack.getItem() == ModItems.assembly_template) {
|
||||
ComparableStack out = AssemblerRecipes.recipeList.get(stack.getItemDamage());
|
||||
|
||||
if(out != null) {
|
||||
stack.setItemDamage(0);
|
||||
ItemAssemblyTemplate.writeType(stack, out);
|
||||
}
|
||||
}
|
||||
|
||||
p.inventory.addItemStackToInventory(stack);
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -152,7 +162,7 @@ public class ItemFolderPacket implements IMessage {
|
||||
ComparableStack out = AssemblerRecipes.recipeList.get(output.getItemDamage());
|
||||
|
||||
if(out != null) {
|
||||
out.meta = 0;
|
||||
output.setItemDamage(0);
|
||||
ItemAssemblyTemplate.writeType(output, out);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,8 +3,10 @@ package com.hbm.render.item;
|
||||
import org.lwjgl.input.Keyboard;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.inventory.RecipesCommon.ComparableStack;
|
||||
import com.hbm.inventory.recipes.AssemblerRecipes;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.machine.ItemAssemblyTemplate;
|
||||
import com.hbm.render.util.RenderItemStack;
|
||||
|
||||
import net.minecraft.client.renderer.RenderHelper;
|
||||
@ -19,8 +21,10 @@ public class ItemRenderTemplate implements IItemRenderer {
|
||||
|
||||
if (Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) && (type == IItemRenderer.ItemRenderType.INVENTORY)) {
|
||||
|
||||
if(stack.getItem() == ModItems.assembly_template)
|
||||
this.currentItem = AssemblerRecipes.recipeList.get(stack.getItemDamage()).toStack();
|
||||
if(stack.getItem() == ModItems.assembly_template) {
|
||||
ComparableStack st = ItemAssemblyTemplate.readType(stack);
|
||||
this.currentItem = st != null ? st.toStack() : AssemblerRecipes.recipeList.get(stack.getItemDamage()).toStack();
|
||||
}
|
||||
if(stack.getItem() == ModItems.chemistry_template)
|
||||
this.currentItem = new ItemStack(ModItems.chemistry_icon, 1, stack.getItemDamage());
|
||||
|
||||
|
||||
111
src/main/java/com/hbm/render/tileentity/RenderAssemfac.java
Normal file
@ -0,0 +1,111 @@
|
||||
package com.hbm.render.tileentity;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.main.ResourceManager;
|
||||
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
public class RenderAssemfac extends TileEntitySpecialRenderer {
|
||||
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
|
||||
switch(tileEntity.getBlockMetadata() - BlockDummyable.offset) {
|
||||
case 5: GL11.glRotatef(180, 0F, 1F, 0F); break;
|
||||
case 2: GL11.glRotatef(270, 0F, 1F, 0F); break;
|
||||
case 4: GL11.glRotatef(0, 0F, 1F, 0F); break;
|
||||
case 3: GL11.glRotatef(90, 0F, 1F, 0F); break;
|
||||
}
|
||||
|
||||
GL11.glTranslated(0.5D, 0.0D, -0.5D);
|
||||
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
bindTexture(ResourceManager.assemfac_tex);
|
||||
ResourceManager.assemfac.renderPart("Factory");
|
||||
|
||||
double rot = Math.sin((double)(System.currentTimeMillis() / 500D)) * 25 - 20;
|
||||
double rot2 = Math.sin((double)(System.currentTimeMillis() / 400D)) * 10;
|
||||
double hOff;
|
||||
double sOff;
|
||||
|
||||
GL11.glPushMatrix();
|
||||
hOff = 1.875D;
|
||||
sOff = 2D;
|
||||
GL11.glTranslated(sOff, hOff, sOff);
|
||||
GL11.glRotated(rot, 1, 0, 0);
|
||||
GL11.glTranslated(-sOff, -hOff, -sOff);
|
||||
ResourceManager.assemfac.renderPart("Pivot1");
|
||||
ResourceManager.assemfac.renderPart("Pivot2");
|
||||
ResourceManager.assemfac.renderPart("Pivot3");
|
||||
|
||||
hOff = 3.375D;
|
||||
sOff = 2D;
|
||||
GL11.glTranslated(sOff, hOff, sOff);
|
||||
GL11.glRotated(rot * 1.2, -1, 0, 0);
|
||||
GL11.glTranslated(-sOff, -hOff, -sOff);
|
||||
ResourceManager.assemfac.renderPart("Arm1");
|
||||
ResourceManager.assemfac.renderPart("Arm2");
|
||||
ResourceManager.assemfac.renderPart("Arm3");
|
||||
|
||||
hOff = 3.375D;
|
||||
sOff = 0.625D;
|
||||
GL11.glTranslated(sOff, hOff, sOff);
|
||||
GL11.glRotated(rot2, 1, 0, 0);
|
||||
GL11.glTranslated(-sOff, -hOff, -sOff);
|
||||
ResourceManager.assemfac.renderPart("Piston1");
|
||||
ResourceManager.assemfac.renderPart("Piston2");
|
||||
ResourceManager.assemfac.renderPart("Piston3");
|
||||
GL11.glTranslated(0, Math.sin((double)(System.currentTimeMillis() / 70D)) * 0.75 - 0.5, 0);
|
||||
ResourceManager.assemfac.renderPart("Striker1");
|
||||
ResourceManager.assemfac.renderPart("Striker2");
|
||||
ResourceManager.assemfac.renderPart("Striker3");
|
||||
GL11.glPopMatrix();
|
||||
|
||||
rot = -Math.sin((double)((System.currentTimeMillis() + 500) / 500D)) * 25 + 20;
|
||||
rot2 = -Math.sin((double)((System.currentTimeMillis() + 150) / 400D)) * 10;
|
||||
GL11.glPushMatrix();
|
||||
hOff = 1.875D;
|
||||
sOff = -2D;
|
||||
GL11.glTranslated(sOff, hOff, sOff);
|
||||
GL11.glRotated(rot, 1, 0, 0);
|
||||
GL11.glTranslated(-sOff, -hOff, -sOff);
|
||||
ResourceManager.assemfac.renderPart("Pivot4");
|
||||
ResourceManager.assemfac.renderPart("Pivot5");
|
||||
ResourceManager.assemfac.renderPart("Pivot6");
|
||||
|
||||
hOff = 3.375D;
|
||||
sOff = -2D;
|
||||
GL11.glTranslated(sOff, hOff, sOff);
|
||||
GL11.glRotated(rot * 1.2, -1, 0, 0);
|
||||
GL11.glTranslated(-sOff, -hOff, -sOff);
|
||||
ResourceManager.assemfac.renderPart("Arm4");
|
||||
ResourceManager.assemfac.renderPart("Arm5");
|
||||
ResourceManager.assemfac.renderPart("Arm6");
|
||||
|
||||
hOff = 3.375D;
|
||||
sOff = -0.625D;
|
||||
GL11.glTranslated(sOff, hOff, sOff);
|
||||
GL11.glRotated(rot2, 1, 0, 0);
|
||||
GL11.glTranslated(-sOff, -hOff, -sOff);
|
||||
ResourceManager.assemfac.renderPart("Piston4");
|
||||
ResourceManager.assemfac.renderPart("Piston5");
|
||||
ResourceManager.assemfac.renderPart("Piston6");
|
||||
GL11.glTranslated(0, Math.sin((double)((System.currentTimeMillis() + 130) / 70D)) * 0.75 - 0.5, 0);
|
||||
ResourceManager.assemfac.renderPart("Striker4");
|
||||
ResourceManager.assemfac.renderPart("Striker5");
|
||||
ResourceManager.assemfac.renderPart("Striker6");
|
||||
GL11.glPopMatrix();
|
||||
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
}
|
||||
@ -79,7 +79,6 @@ public class TileMappings {
|
||||
put(TileEntityMachineRTG.class, "tileentity_machine_rtg");
|
||||
put(TileEntityStructureMarker.class, "tileentity_structure_marker");
|
||||
put(TileEntityMachineMiningDrill.class, "tileentity_mining_drill");
|
||||
put(TileEntityMachineAssembler.class, "tileentity_assembly_machine");
|
||||
put(TileEntityFluidDuctSimple.class, "tileentity_universal_duct_simple");
|
||||
put(TileEntityFluidDuct.class, "tileentity_universal_duct");
|
||||
put(TileEntityMachineFluidTank.class, "tileentity_fluid_tank");
|
||||
@ -254,6 +253,8 @@ public class TileMappings {
|
||||
put(TileEntityMachineSolidifier.class, "tileentity_solidifier");
|
||||
put(TileEntityElectrolyser.class, "tileentity_electrolyser");
|
||||
|
||||
put(TileEntityMachineAssembler.class, "tileentity_assembly_machine");
|
||||
put(TileEntityMachineAssemfac.class, "tileentity_assemfac");
|
||||
put(TileEntityMachineChemplant.class, "tileentity_chemical_plant");
|
||||
put(TileEntityMachineChemfac.class, "tileentity_chemfac");
|
||||
|
||||
|
||||
@ -0,0 +1,20 @@
|
||||
package com.hbm.tileentity.machine;
|
||||
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
|
||||
public class TileEntityMachineAssemfac extends TileEntityMachineBase {
|
||||
|
||||
public TileEntityMachineAssemfac() {
|
||||
super(10 * 8 + 4 + 1); //8 assembler groups with 10 slots, 4 upgrade slots, 1 battery slot
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "container.assemfac";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
|
||||
}
|
||||
}
|
||||
8233
src/main/resources/assets/hbm/models/machines/assemfac.obj
Normal file
|
After Width: | Height: | Size: 661 B |
BIN
src/main/resources/assets/hbm/textures/items/Thumbs.db
Normal file
BIN
src/main/resources/assets/hbm/textures/items/cart.painted.png
Normal file
|
After Width: | Height: | Size: 493 B |
|
Before Width: | Height: | Size: 439 B After Width: | Height: | Size: 439 B |
BIN
src/main/resources/assets/hbm/textures/items/cart.vanilla.png
Normal file
|
After Width: | Height: | Size: 433 B |
BIN
src/main/resources/assets/hbm/textures/items/cart.wood.png
Normal file
|
After Width: | Height: | Size: 477 B |
|
After Width: | Height: | Size: 270 B |
|
After Width: | Height: | Size: 303 B |
|
After Width: | Height: | Size: 91 B |
|
After Width: | Height: | Size: 178 B |
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 7.0 KiB |