deuterium extraction tower, bobbleheads
@ -889,6 +889,9 @@ public class ModBlocks {
|
||||
|
||||
public static Block machine_large_turbine;
|
||||
public static final int guiID_machine_large_turbine = 100;
|
||||
|
||||
public static Block machine_deuterium_extractor;
|
||||
public static Block machine_deuterium_tower;
|
||||
|
||||
public static Block machine_chungus;
|
||||
public static Block machine_condenser;
|
||||
@ -2036,7 +2039,10 @@ public class ModBlocks {
|
||||
machine_condenser = new MachineCondenser(Material.iron).setBlockName("machine_condenser").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":condenser");
|
||||
machine_tower_small = new MachineTowerSmall(Material.iron).setBlockName("machine_tower_small").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_concrete");
|
||||
machine_tower_large = new MachineTowerLarge(Material.iron).setBlockName("machine_tower_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":concrete");
|
||||
|
||||
|
||||
machine_deuterium_extractor = new MachineDeuteriumExtractor(Material.iron).setBlockName("machine_deuterium_extractor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_deuterium_extractor_side");
|
||||
machine_deuterium_tower = new DeuteriumTower(Material.iron).setBlockName("machine_deuterium_tower").setHardness(10.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_deuterium_tower");
|
||||
|
||||
anvil_iron = new NTMAnvil(Material.iron, 1).setBlockName("anvil_iron").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_iron");
|
||||
anvil_lead = new NTMAnvil(Material.iron, 1).setBlockName("anvil_lead").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_lead");
|
||||
anvil_steel = new NTMAnvil(Material.iron, 2).setBlockName("anvil_steel").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_steel");
|
||||
@ -2907,6 +2913,8 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(machine_condenser, machine_condenser.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_tower_small, machine_tower_small.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_tower_large, machine_tower_large.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_deuterium_extractor, machine_deuterium_extractor.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_deuterium_tower, machine_deuterium_tower.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_deaerator, machine_deaerator.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_waste_drum, machine_waste_drum.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_storage_drum, machine_storage_drum.getUnlocalizedName());
|
||||
|
||||
@ -3,9 +3,13 @@ package com.hbm.blocks.generic;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.generic.BlockLoot.TileEntityLoot;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.util.Tuple.Quartet;
|
||||
|
||||
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.Block;
|
||||
@ -60,6 +64,9 @@ public class BlockBobble extends BlockContainer {
|
||||
TileEntityBobble entity = (TileEntityBobble) world.getTileEntity(x, y, z);
|
||||
if(entity != null) {
|
||||
EntityItem item = new EntityItem(world, x + 0.5, y, z + 0.5, new ItemStack(this, 1, entity.type.ordinal()));
|
||||
item.motionX = 0;
|
||||
item.motionY = 0;
|
||||
item.motionZ = 0;
|
||||
world.spawnEntityInWorld(item);
|
||||
}
|
||||
}
|
||||
@ -71,10 +78,7 @@ public class BlockBobble extends BlockContainer {
|
||||
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
|
||||
|
||||
if(world.isRemote) {
|
||||
return true;
|
||||
|
||||
} else if(!player.isSneaking()) {
|
||||
world.setBlockToAir(x, y, z);
|
||||
FMLNetworkHandler.openGui(player, MainRegistry.instance, ModItems.guiID_item_bobble, world, x, y, z);
|
||||
return true;
|
||||
|
||||
} else {
|
||||
@ -154,7 +158,20 @@ public class BlockBobble extends BlockContainer {
|
||||
public static enum BobbleType {
|
||||
|
||||
NONE("null", "null", null, null, false),
|
||||
BOB("HbMinecraft", "HbMinecraft", "Hbm's Nuclear Tech Mod", "eat my shit, tteabag", false),
|
||||
//vault tec bobbleheads
|
||||
STRENGTH("Strength", "Strength", null, "It's essential to give your arguments impact.", false),
|
||||
PERCEPTION("Perception", "Perception", null, "Only through observation will you perceive weakness.", false),
|
||||
ENDURANCE("Endurance", "Endurance", null, "Always be ready to take one for the team.", false),
|
||||
CHARISMA("Charisma", "Charisma", null, "Nothing says pizzaz like a winning smile.", false),
|
||||
INTELLIGENCE("Intelligence", "Intelligence", null, "It takes the smartest individuals to realize$there's always more to learn.", false),
|
||||
AGILITY("Agility", "Agility", null, "Never be afraid to dodge the sensitive issues.", false),
|
||||
LUCK("Luck", "Luck", null, "There's only one way to give 110%.", false),
|
||||
//contributor bobbles
|
||||
BOB("Robert \"The Bobcat\" Katzinsky", "HbMinecraft", "Hbm's Nuclear Tech Mod", "how did i get here?", false),
|
||||
FRIZZLE("Frooz", "Frooz", "Weapon models", "BLOOD IS FUEL", true),
|
||||
PU238("Pu-238", "Pu-238", "Improved Tom impact mechanics", null, false),
|
||||
VT("VT-6/24", "VT-6/24", "Balefire warhead model and general texturework", "You cannot unfuck a horse.", true),
|
||||
//testing garbage. why is she so dumb?
|
||||
CIRNO("Cirno", "Cirno", "being a dumb ice fairy", "No brain. Head empty.", true);
|
||||
|
||||
public String name; //the title of the tooltip
|
||||
|
||||
54
src/main/java/com/hbm/blocks/machine/DeuteriumTower.java
Normal file
@ -0,0 +1,54 @@
|
||||
package com.hbm.blocks.machine;
|
||||
|
||||
import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.tileentity.TileEntityProxyCombo;
|
||||
import com.hbm.tileentity.machine.TileEntityDeuteriumTower;
|
||||
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class DeuteriumTower extends BlockDummyable {
|
||||
|
||||
public DeuteriumTower(Material mat) {
|
||||
super(mat);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World p_149915_1_, int meta) {
|
||||
|
||||
if(meta >= 12)
|
||||
return new TileEntityDeuteriumTower();
|
||||
|
||||
if(meta >= 8)
|
||||
return new TileEntityProxyCombo(false, true, true);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getDimensions() {
|
||||
return new int[] {9, 0, 1, 0, 0, 1};
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getOffset() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) {
|
||||
super.fillSpace(world, x, y, z, dir, o);
|
||||
|
||||
x = x + dir.offsetX * o;
|
||||
z = z + dir.offsetZ * o;
|
||||
|
||||
ForgeDirection dr2 = dir.getRotation(ForgeDirection.UP);
|
||||
|
||||
this.makeExtra(world, x - dir.offsetX - dr2.offsetX, y, z - dir.offsetZ - dr2.offsetZ);
|
||||
this.makeExtra(world, x, y, z - dir.offsetZ - dr2.offsetZ);
|
||||
this.makeExtra(world, x - dir.offsetX - dr2.offsetX, y, z);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,46 @@
|
||||
package com.hbm.blocks.machine;
|
||||
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.machine.TileEntityDeuteriumExtractor;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.BlockContainer;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class MachineDeuteriumExtractor extends BlockContainer {
|
||||
|
||||
public MachineDeuteriumExtractor(Material mat) {
|
||||
super(mat);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World world, int meta) {
|
||||
meta = 0;
|
||||
return new TileEntityDeuteriumExtractor();
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon iconTopH2O;
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerBlockIcons(IIconRegister iconRegister) {
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":deuterium_extractor_side");
|
||||
this.iconTopH2O = iconRegister.registerIcon(RefStrings.MODID + ":deuterium_extractor_top_water");
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getIcon(int side, int metadata) {
|
||||
if(side == 0 || side == 1) {
|
||||
return iconTopH2O;
|
||||
} else {
|
||||
return blockIcon;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -20,25 +20,25 @@ public class RodRecipes {
|
||||
|
||||
//Single rods
|
||||
CraftingManager.addRecipeAuto(new ItemStack(ModItems.rod_empty, 16), new Object[] { "SSS", "L L", "SSS", 'S', STEEL.plate(), 'L', PB.plate() });
|
||||
addDualRodBilletUnload(U, ModItems.billet_uranium, ModItems.rod_uranium);
|
||||
addDualRodBilletUnload(U233, ModItems.billet_u233, ModItems.rod_u233);
|
||||
addDualRodBilletUnload(U235, ModItems.billet_u235, ModItems.rod_u235);
|
||||
addDualRodBilletUnload(U238, ModItems.billet_u238, ModItems.rod_u238);
|
||||
addDualRodBilletUnload(TH232, ModItems.billet_th232, ModItems.rod_th232);
|
||||
addDualRodBilletUnload(PU, ModItems.billet_plutonium, ModItems.rod_plutonium);
|
||||
addDualRodBilletUnload(PU238, ModItems.billet_pu238, ModItems.rod_pu238);
|
||||
addDualRodBilletUnload(PU239, ModItems.billet_pu239, ModItems.rod_pu239);
|
||||
addDualRodBilletUnload(PU240, ModItems.billet_pu240, ModItems.rod_pu240);
|
||||
addDualRodBilletUnload(NP237, ModItems.billet_neptunium, ModItems.rod_neptunium);
|
||||
addDualRodBilletUnload(PO210, ModItems.billet_polonium, ModItems.rod_polonium);
|
||||
addDualRodBilletUnload(SA326, ModItems.billet_schrabidium, ModItems.rod_schrabidium);
|
||||
addDualRodBilletUnload(SA327, ModItems.billet_solinium, ModItems.rod_solinium);
|
||||
addDualRodBilletUnload(ModItems.egg_balefire_shard, ModItems.rod_balefire);
|
||||
addDualFuelRodBillet(ModItems.billet_uranium_fuel, ModItems.rod_uranium_fuel);
|
||||
addDualFuelRodBillet(ModItems.billet_thorium_fuel, ModItems.rod_thorium_fuel);
|
||||
addDualFuelRodBillet(ModItems.billet_plutonium_fuel, ModItems.rod_plutonium_fuel);
|
||||
addDualFuelRodBillet(ModItems.billet_mox_fuel, ModItems.rod_mox_fuel);
|
||||
addDualFuelRodBillet(ModItems.billet_schrabidium_fuel, ModItems.rod_schrabidium_fuel);
|
||||
addRodBilletUnload(U, ModItems.billet_uranium, ModItems.rod_uranium);
|
||||
addRodBilletUnload(U233, ModItems.billet_u233, ModItems.rod_u233);
|
||||
addRodBilletUnload(U235, ModItems.billet_u235, ModItems.rod_u235);
|
||||
addRodBilletUnload(U238, ModItems.billet_u238, ModItems.rod_u238);
|
||||
addRodBilletUnload(TH232, ModItems.billet_th232, ModItems.rod_th232);
|
||||
addRodBilletUnload(PU, ModItems.billet_plutonium, ModItems.rod_plutonium);
|
||||
addRodBilletUnload(PU238, ModItems.billet_pu238, ModItems.rod_pu238);
|
||||
addRodBilletUnload(PU239, ModItems.billet_pu239, ModItems.rod_pu239);
|
||||
addRodBilletUnload(PU240, ModItems.billet_pu240, ModItems.rod_pu240);
|
||||
addRodBilletUnload(NP237, ModItems.billet_neptunium, ModItems.rod_neptunium);
|
||||
addRodBilletUnload(PO210, ModItems.billet_polonium, ModItems.rod_polonium);
|
||||
addRodBilletUnload(SA326, ModItems.billet_schrabidium, ModItems.rod_schrabidium);
|
||||
addRodBilletUnload(SA327, ModItems.billet_solinium, ModItems.rod_solinium);
|
||||
addRodBilletUnload(ModItems.egg_balefire_shard, ModItems.rod_balefire);
|
||||
addFuelRodBillet(ModItems.billet_uranium_fuel, ModItems.rod_uranium_fuel);
|
||||
addFuelRodBillet(ModItems.billet_thorium_fuel, ModItems.rod_thorium_fuel);
|
||||
addFuelRodBillet(ModItems.billet_plutonium_fuel, ModItems.rod_plutonium_fuel);
|
||||
addFuelRodBillet(ModItems.billet_mox_fuel, ModItems.rod_mox_fuel);
|
||||
addFuelRodBillet(ModItems.billet_schrabidium_fuel, ModItems.rod_schrabidium_fuel);
|
||||
CraftingManager.addShapelessAuto(new ItemStack(ModItems.rod_lead, 1), new Object[] { ModItems.rod_empty, PB.nugget(), PB.nugget(), PB.nugget(), PB.nugget(), PB.nugget(), PB.nugget() });
|
||||
CraftingManager.addShapelessAuto(new ItemStack(ModItems.nugget_lead, 6), new Object[] { ModItems.rod_lead });
|
||||
CraftingManager.addShapelessAuto(new ItemStack(ModItems.rod_lithium, 1), new Object[] { ModItems.rod_empty, LI.ingot() });
|
||||
|
||||
@ -96,7 +96,8 @@ public class FluidTypeHandler {
|
||||
|
||||
HELIUM3 (0xFCF0C4, 7, 2, 2, 3, 4, 0, EnumSymbol.ASPHYXIANT, "hbmfluid.helium3"),
|
||||
DEATH (0x717A88, 8, 2, 2, 2, 0, 1, EnumSymbol.ACID, "hbmfluid.death", 300, FluidTrait.CORROSIVE_2),
|
||||
ETHANOL (0xe0ffff, 9, 2, 2, 2, 3, 0, EnumSymbol.NONE, "hbmfluid.ethanol");
|
||||
ETHANOL (0xe0ffff, 9, 2, 2, 2, 3, 0, EnumSymbol.NONE, "hbmfluid.ethanol"),
|
||||
HEAVYWATER (0x00a0b0, 10, 2, 2, 1, 0, 0, EnumSymbol.NONE, "hbmfluid.heavywater");
|
||||
|
||||
//Approximate HEX Color of the fluid, used for pipe rendering
|
||||
private int color;
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.hbm.handler;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.generic.BlockBobble.TileEntityBobble;
|
||||
import com.hbm.blocks.machine.NTMAnvil;
|
||||
import com.hbm.interfaces.Spaghetti;
|
||||
import com.hbm.inventory.container.*;
|
||||
@ -1729,6 +1730,8 @@ public class GUIHandler implements IGuiHandler {
|
||||
return new GUIBook(player.inventory);
|
||||
case ModItems.guiID_item_guide:
|
||||
return new GUIScreenGuide(player);
|
||||
case ModItems.guiID_item_bobble:
|
||||
return new GUIScreenBobble((TileEntityBobble) world.getTileEntity(x, y, z));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
109
src/main/java/com/hbm/inventory/gui/GUIScreenBobble.java
Normal file
@ -0,0 +1,109 @@
|
||||
package com.hbm.inventory.gui;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.blocks.generic.BlockBobble.TileEntityBobble;
|
||||
|
||||
import net.minecraft.client.audio.PositionedSoundRecord;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
import net.minecraft.client.renderer.OpenGlHelper;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class GUIScreenBobble extends GuiScreen {
|
||||
|
||||
TileEntityBobble bobble;
|
||||
|
||||
public GUIScreenBobble(TileEntityBobble bobble) {
|
||||
this.bobble = bobble;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initGui() {
|
||||
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("hbm:block.bobble"), 1.0F));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawScreen(int mouseX, int mouseY, float f) {
|
||||
|
||||
this.drawDefaultBackground();
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glDisable(GL11.GL_ALPHA_TEST);
|
||||
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
|
||||
GL11.glDisable(GL11.GL_TEXTURE_2D);
|
||||
|
||||
double sizeX = 300;
|
||||
double sizeY = 150;
|
||||
double left = (this.width - sizeX) / 2;
|
||||
double top = (this.height - sizeY) / 2;
|
||||
|
||||
Tessellator tess = Tessellator.instance;
|
||||
tess.startDrawingQuads();
|
||||
tess.setColorRGBA_F(0F, 0.2F, 0F, 0.8F);
|
||||
tess.addVertex(left + sizeX, top, this.zLevel);
|
||||
tess.addVertex(left, top, this.zLevel);
|
||||
tess.addVertex(left, top + sizeY, this.zLevel);
|
||||
tess.addVertex(left + sizeX, top + sizeY, this.zLevel);
|
||||
tess.draw();
|
||||
|
||||
GL11.glEnable(GL11.GL_TEXTURE_2D);
|
||||
GL11.glEnable(GL11.GL_ALPHA_TEST);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
|
||||
int nextLevel = (int)top + 10;
|
||||
|
||||
String bobbleTitle = "Nuclear Tech Commemorative Bobblehead";
|
||||
this.fontRendererObj.drawStringWithShadow(bobbleTitle, (int)(left + sizeX / 2 - this.fontRendererObj.getStringWidth(bobbleTitle) / 2), nextLevel, 0x00ff00);
|
||||
|
||||
nextLevel += 10;
|
||||
|
||||
String bobbleName = this.bobble.type.name;
|
||||
this.fontRendererObj.drawStringWithShadow(bobbleName, (int)(left + sizeX / 2 - this.fontRendererObj.getStringWidth(bobbleName) / 2), nextLevel, 0x009900);
|
||||
|
||||
nextLevel += 20;
|
||||
|
||||
if(this.bobble.type.contribution != null) {
|
||||
|
||||
String title = "Has contributed";
|
||||
this.fontRendererObj.drawStringWithShadow(title, (int)(left + sizeX / 2 - this.fontRendererObj.getStringWidth(title) / 2), nextLevel, 0x00ff00);
|
||||
|
||||
nextLevel += 10;
|
||||
|
||||
String text = this.bobble.type.contribution;
|
||||
this.fontRendererObj.drawStringWithShadow(text, (int)(left + sizeX / 2 - this.fontRendererObj.getStringWidth(text) / 2), nextLevel, 0x009900);
|
||||
|
||||
nextLevel += 20;
|
||||
}
|
||||
|
||||
if(this.bobble.type.inscription != null) {
|
||||
|
||||
String title = "The bottom has following inscription:";
|
||||
this.fontRendererObj.drawStringWithShadow(title, (int)(left + sizeX / 2 - this.fontRendererObj.getStringWidth(title) / 2), nextLevel, 0x00ff00);
|
||||
|
||||
nextLevel += 10;
|
||||
|
||||
String[] list = this.bobble.type.inscription.split("\\$");
|
||||
for(String text : list) {
|
||||
this.fontRendererObj.drawStringWithShadow(text, (int)(left + sizeX / 2 - this.fontRendererObj.getStringWidth(text) / 2), nextLevel, 0x009900);
|
||||
nextLevel += 10;
|
||||
}
|
||||
|
||||
nextLevel += 10;
|
||||
}
|
||||
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void keyTyped(char c, int key) {
|
||||
if(key == 1 || key == this.mc.gameSettings.keyBindInventory.getKeyCode()) {
|
||||
this.mc.thePlayer.closeScreen();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean doesGuiPauseGame() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -727,6 +727,17 @@ public class AssemblerRecipes {
|
||||
new ComparableStack(ModItems.circuit_tantalium, 16)
|
||||
}, 100);
|
||||
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_deuterium_extractor, 1), new AStack[] {
|
||||
new ComparableStack(ModItems.deuterium_filter, 1),
|
||||
new ComparableStack(ModItems.sulfur, 12),
|
||||
new OreDictStack("plateSteel", 8),
|
||||
new OreDictStack("plateAluminum", 4),
|
||||
new ComparableStack(ModItems.pipes_steel),
|
||||
new ComparableStack(ModItems.board_copper, 2),
|
||||
new ComparableStack(ModItems.turbine_titanium, 2),
|
||||
new ComparableStack(ModItems.circuit_aluminium, 3)
|
||||
}, 100);
|
||||
|
||||
makeRecipe(new ComparableStack(ModBlocks.machine_difurnace_rtg_off, 1), new AStack[] {
|
||||
new ComparableStack(ModBlocks.machine_difurnace_off, 1),
|
||||
new ComparableStack(ModItems.rtg_unit, 3),
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.hbm.inventory.recipes;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import static com.hbm.inventory.OreDictManager.*;
|
||||
import com.hbm.inventory.RecipesCommon.AStack;
|
||||
@ -29,8 +30,13 @@ public class PressRecipes {
|
||||
|
||||
StampType type = ((ItemStamp) stamp.getItem()).type;
|
||||
|
||||
Pair<AStack, StampType> key = new Pair<AStack, StampType>(new ComparableStack(ingredient), type);
|
||||
return recipes.get(key);
|
||||
for(Entry<Pair<AStack, StampType>, ItemStack> recipe : recipes.entrySet()) {
|
||||
|
||||
if(recipe.getKey().getValue() == type && recipe.getKey().getKey().matchesRecipe(ingredient, true))
|
||||
return recipe.getValue();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static void register() {
|
||||
@ -67,9 +73,9 @@ public class PressRecipes {
|
||||
makeRecipe(StampType.WIRE, new OreDictStack(ALLOY.ingot()), new ItemStack(ModItems.wire_advanced_alloy, 8));
|
||||
makeRecipe(StampType.WIRE, new OreDictStack(MAGTUNG.ingot()), new ItemStack(ModItems.wire_magnetized_tungsten, 8));
|
||||
|
||||
makeRecipe(StampType.PLATE, new ComparableStack(ModItems.circuit_raw), ModItems.circuit_aluminium);
|
||||
makeRecipe(StampType.PLATE, new ComparableStack(ModItems.circuit_bismuth_raw), ModItems.circuit_bismuth);
|
||||
makeRecipe(StampType.PLATE, new ComparableStack(ModItems.circuit_tantalium_raw), ModItems.circuit_tantalium);
|
||||
makeRecipe(StampType.CIRCUIT, new ComparableStack(ModItems.circuit_raw), ModItems.circuit_aluminium);
|
||||
makeRecipe(StampType.CIRCUIT, new ComparableStack(ModItems.circuit_bismuth_raw), ModItems.circuit_bismuth);
|
||||
makeRecipe(StampType.CIRCUIT, new ComparableStack(ModItems.circuit_tantalium_raw), ModItems.circuit_tantalium);
|
||||
|
||||
makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_iron), ModItems.gun_revolver_iron_ammo);
|
||||
makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_steel), ModItems.gun_revolver_ammo);
|
||||
|
||||
@ -186,7 +186,19 @@ public class AnvilRecipes {
|
||||
new ComparableStack(Items.leather, 4),
|
||||
new ComparableStack(Items.feather, 24)
|
||||
}, new AnvilOutput(new ItemStack(ModItems.wings_limp))).setTier(2));
|
||||
|
||||
|
||||
constructionRecipes.add(new AnvilConstructionRecipe(
|
||||
new AStack[] {
|
||||
new ComparableStack(ModItems.deuterium_filter, 3),
|
||||
new ComparableStack(ModItems.hull_big_steel, 5),
|
||||
new ComparableStack(ModBlocks.concrete_smooth, 8),
|
||||
new ComparableStack(ModBlocks.concrete_asbestos, 4),
|
||||
new ComparableStack(ModBlocks.steel_scaffold, 16),
|
||||
new ComparableStack(ModBlocks.deco_pipe_quad, 12),
|
||||
new OreDictStack("dustSulfur", 32),
|
||||
},
|
||||
new AnvilOutput(new ItemStack(ModBlocks.machine_deuterium_tower))).setTier(5));
|
||||
|
||||
constructionRecipes.add(new AnvilConstructionRecipe(
|
||||
new AStack[] {
|
||||
new ComparableStack(ModItems.tank_steel, 1),
|
||||
|
||||
@ -489,6 +489,7 @@ public class ModItems {
|
||||
public static Item component_limiter;
|
||||
public static Item component_emitter;
|
||||
public static Item chlorine_pinwheel;
|
||||
public static Item deuterium_filter;
|
||||
|
||||
public static Item circuit_raw;
|
||||
public static Item circuit_aluminium;
|
||||
@ -2471,6 +2472,7 @@ public class ModItems {
|
||||
public static final int guiID_item_sat_coord = 10104;
|
||||
public static final int guiID_item_book = 10105;
|
||||
public static final int guiID_item_guide = 10106;
|
||||
public static final int guiID_item_bobble = 10107;
|
||||
|
||||
public static Item mysteryshovel;
|
||||
public static Item memory;
|
||||
@ -2912,8 +2914,9 @@ public class ModItems {
|
||||
chlorine_pinwheel = new Item().setUnlocalizedName("chlorine_pinwheel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":chlorine_pinwheel");
|
||||
ring_starmetal = new Item().setUnlocalizedName("ring_starmetal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ring_starmetal");
|
||||
flywheel_beryllium = new Item().setUnlocalizedName("flywheel_beryllium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":flywheel_beryllium");
|
||||
deuterium_filter = new Item().setUnlocalizedName("deuterium_filter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":deuterium_filter");
|
||||
|
||||
cap_aluminium = new Item().setUnlocalizedName("cap_aluminium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":cap_aluminium");
|
||||
cap_aluminium = new Item().setUnlocalizedName("cap_aluminium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":cap_aluminium");
|
||||
hull_small_steel = new Item().setUnlocalizedName("hull_small_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":hull_small_steel");
|
||||
hull_small_aluminium = new Item().setUnlocalizedName("hull_small_aluminium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":hull_small_aluminium");
|
||||
hull_big_steel = new Item().setUnlocalizedName("hull_big_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":hull_big_steel");
|
||||
@ -5875,6 +5878,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(photo_panel, photo_panel.getUnlocalizedName());
|
||||
GameRegistry.registerItem(chlorine_pinwheel, chlorine_pinwheel.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ring_starmetal, ring_starmetal.getUnlocalizedName());
|
||||
GameRegistry.registerItem(deuterium_filter, deuterium_filter.getUnlocalizedName());
|
||||
|
||||
//Teleporter Parts
|
||||
GameRegistry.registerItem(telepad, telepad.getUnlocalizedName());
|
||||
|
||||
@ -206,6 +206,7 @@ public class ClientProxy extends ServerProxy {
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityChungus.class, new RenderChungus());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTowerLarge.class, new RenderLargeTower());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTowerSmall.class, new RenderSmallTower());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDeuteriumTower.class, new RenderDeuteriumTower());
|
||||
//AMS
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAMSBase.class, new RenderAMSBase());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAMSEmitter.class, new RenderAMSEmitter());
|
||||
|
||||
@ -172,6 +172,7 @@ public class CraftingManager {
|
||||
addRecipeAuto(new ItemStack(ModItems.thermo_unit_endo, 1), new Object[] { "EEE", "ETE", "EEE", 'E', Item.getItemFromBlock(Blocks.ice), 'T', ModItems.thermo_unit_empty });
|
||||
addRecipeAuto(new ItemStack(ModItems.thermo_unit_exo, 1), new Object[] { "LLL", "LTL", "LLL", 'L', Items.lava_bucket, 'T', ModItems.thermo_unit_empty });
|
||||
//addRecipeAuto(new ItemStack(ModItems.levitation_unit, 1), new Object[] { "CSC", "TAT", "PSP", 'C', ModItems.coil_copper, 'S', ModItems.nugget_schrabidium, 'T', ModItems.coil_tungsten, 'P', TI.plate(), 'A', STEEL.ingot() });
|
||||
addRecipeAuto(new ItemStack(ModItems.deuterium_filter, 1), new Object[] { "TST", "SCS", "TST", 'T', TCALLOY.ingot(), 'S', S.dust(), 'C', ModItems.catalyst_clay });
|
||||
|
||||
addRecipeAuto(new ItemStack(ModItems.cap_aluminium, 1), new Object[] { "PIP", 'P', AL.plate(), 'I', AL.ingot() });
|
||||
addRecipeAuto(new ItemStack(ModItems.hull_small_steel, 3), new Object[] { "PPP", " ", "PPP", 'P', STEEL.plate(), 'I', STEEL.ingot() });
|
||||
|
||||
@ -145,6 +145,9 @@ public class ResourceManager {
|
||||
//Waste Drum
|
||||
public static final IModelCustom waste_drum = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/drum.obj"));
|
||||
|
||||
//Deuterium Tower
|
||||
public static final IModelCustom deuterium_tower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/machine_deuterium_tower.obj"));
|
||||
|
||||
//Anti Mass Spectrometer
|
||||
public static final IModelCustom ams_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/ams_base.obj"));
|
||||
public static final IModelCustom ams_emitter = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/ams_emitter.obj"));
|
||||
@ -350,6 +353,9 @@ public class ResourceManager {
|
||||
public static final ResourceLocation tower_small_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/tower_small.png");
|
||||
public static final ResourceLocation tower_large_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/tower_large.png");
|
||||
|
||||
//Deuterium Tower
|
||||
public static final ResourceLocation deuterium_tower_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/machine_deuterium_tower.png");
|
||||
|
||||
//IGen
|
||||
public static final ResourceLocation igen_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/igen.png");
|
||||
public static final ResourceLocation igen_rotor = new ResourceLocation(RefStrings.MODID, "textures/models/machines/igen_rotor.png");
|
||||
|
||||
@ -1142,6 +1142,21 @@ public class ItemRenderLibrary {
|
||||
GL11.glScaled(0.5, 0.5, 0.5);
|
||||
RenderBobble.instance.renderBobble(BobbleType.values()[stack.getItemDamage()]);
|
||||
}});
|
||||
|
||||
renderers.put(Item.getItemFromBlock(ModBlocks.machine_deuterium_tower), new ItemRenderBase() {
|
||||
public void renderInventory() {
|
||||
GL11.glTranslated(0, -5, 0);
|
||||
GL11.glScaled(3, 3, 3);
|
||||
}
|
||||
|
||||
public void renderCommon() {
|
||||
GL11.glRotated(180, 0, 1, 0);
|
||||
GL11.glScaled(0.5, 0.5, 0.5);
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
bindTexture(ResourceManager.deuterium_tower_tex); ResourceManager.deuterium_tower.renderAll();
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private static void bindTexture(ResourceLocation res) {
|
||||
|
||||
@ -11,6 +11,7 @@ import com.hbm.main.ResourceManager;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.FontRenderer;
|
||||
import net.minecraft.client.renderer.OpenGlHelper;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.renderer.texture.TextureManager;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
@ -25,10 +26,13 @@ public class RenderBobble extends TileEntitySpecialRenderer {
|
||||
public static final IModelCustom bobble = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/trinkets/bobble.obj"));
|
||||
public static final ResourceLocation socket = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/socket.png");
|
||||
|
||||
public static final ResourceLocation bobble_vaultboy = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/vaultboy.png");
|
||||
public static final ResourceLocation bobble_hbm = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/hbm.png");
|
||||
public static final ResourceLocation bobble_pu238 = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/pellet.png");
|
||||
public static final ResourceLocation bobble_frizzle = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/frizzle.png");
|
||||
public static final ResourceLocation bobble_vt = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/vt.png");
|
||||
public static final ResourceLocation bobble_cirno = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/cirno.png");
|
||||
|
||||
@SuppressWarnings("incomplete-switch") //shut up
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float intero) {
|
||||
GL11.glPushMatrix();
|
||||
@ -50,7 +54,6 @@ public class RenderBobble extends TileEntitySpecialRenderer {
|
||||
public void renderBobble(BobbleType type) {
|
||||
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
|
||||
TextureManager texman = Minecraft.getMinecraft().getTextureManager();
|
||||
@ -59,11 +62,114 @@ public class RenderBobble extends TileEntitySpecialRenderer {
|
||||
bobble.renderPart("Socket");
|
||||
|
||||
switch(type) {
|
||||
case BOB: texman.bindTexture(bobble_hbm); break;
|
||||
case CIRNO: texman.bindTexture(bobble_cirno); break;
|
||||
default: texman.bindTexture(ResourceManager.universal);
|
||||
case STRENGTH:
|
||||
case PERCEPTION:
|
||||
case ENDURANCE:
|
||||
case CHARISMA:
|
||||
case INTELLIGENCE:
|
||||
case AGILITY:
|
||||
case LUCK: texman.bindTexture(bobble_vaultboy); break;
|
||||
|
||||
case BOB: texman.bindTexture(bobble_hbm); break;
|
||||
case PU238: texman.bindTexture(bobble_pu238); break;
|
||||
case FRIZZLE: texman.bindTexture(bobble_frizzle); break;
|
||||
case VT: texman.bindTexture(bobble_vt); break;
|
||||
case CIRNO: texman.bindTexture(bobble_cirno); break;
|
||||
default: texman.bindTexture(ResourceManager.universal);
|
||||
}
|
||||
|
||||
switch(type) {
|
||||
case PU238: renderPellet(type); break;
|
||||
default: renderGuy(type);
|
||||
}
|
||||
|
||||
renderSocket(type);
|
||||
}
|
||||
|
||||
/*
|
||||
* RENDER STANDARD PLAYER MODEL
|
||||
*/
|
||||
|
||||
public static double[] rotLeftArm = {0, 0, 0};
|
||||
public static double[] rotRightArm = {0, 0, 0};
|
||||
public static double[] rotLeftLeg = {0, 0, 0};
|
||||
public static double[] rotRightLeg = {0, 0, 0};
|
||||
public static double rotBody = 0;
|
||||
public static double[] rotHead = {0, 0, 0};
|
||||
|
||||
public void resetFigurineRotation() {
|
||||
rotLeftArm = new double[]{0, 0, 0};
|
||||
rotRightArm = new double[]{0, 0, 0};
|
||||
rotLeftLeg = new double[]{0, 0, 0};
|
||||
rotRightLeg = new double[]{0, 0, 0};
|
||||
rotBody = 0;
|
||||
rotHead = new double[]{0, 0, 0};
|
||||
}
|
||||
|
||||
public void setupFigurineRotation(BobbleType type) {
|
||||
switch(type) {
|
||||
case STRENGTH:
|
||||
rotLeftArm = new double[]{0, 25, 135};
|
||||
rotRightArm = new double[]{0, -45, 135};
|
||||
rotLeftLeg = new double[]{0, 0, -5};
|
||||
rotRightLeg = new double[]{0, 0, 5};
|
||||
rotHead = new double[]{15, 0, 0};
|
||||
break;
|
||||
case PERCEPTION:
|
||||
rotLeftArm = new double[]{0, -15, 135};
|
||||
rotRightArm = new double[]{-5, 0, 0};
|
||||
break;
|
||||
case ENDURANCE:
|
||||
rotBody = 45;
|
||||
rotLeftArm = new double[]{0, -25, 30};
|
||||
rotRightArm = new double[]{0, 45, 30};
|
||||
rotHead = new double[]{0, -45, 0};
|
||||
break;
|
||||
case CHARISMA:
|
||||
rotBody = 45;
|
||||
rotRightArm = new double[]{0, -45, 90};
|
||||
rotLeftLeg = new double[]{0, 0, -5};
|
||||
rotRightLeg = new double[]{0, 0, 5};
|
||||
rotHead = new double[]{-5, -45, 0};
|
||||
break;
|
||||
case INTELLIGENCE:
|
||||
rotHead = new double[]{0, 30, 0};
|
||||
rotLeftArm = new double[]{5, 0, 0};
|
||||
rotRightArm = new double[]{15, 0, 170};
|
||||
break;
|
||||
case AGILITY:
|
||||
rotLeftArm = new double[]{0, 0, 60};
|
||||
rotRightArm = new double[]{0, 0, -45};
|
||||
rotLeftLeg = new double[]{0, 0, -15};
|
||||
rotRightLeg = new double[]{0, 0, 45};
|
||||
break;
|
||||
case LUCK:
|
||||
rotLeftArm = new double[]{135, 45, 0};
|
||||
rotRightArm = new double[]{-135, -45, 0};
|
||||
rotRightLeg = new double[]{-5, 0, 0};
|
||||
break;
|
||||
case BOB: break;
|
||||
case PU238: break;
|
||||
case VT:
|
||||
rotLeftArm = new double[]{0, -45, 60};
|
||||
rotRightArm = new double[]{0, 0, 45};
|
||||
rotLeftLeg = new double[]{2, 0, 0};
|
||||
rotRightLeg = new double[]{-2, 0, 0};
|
||||
break;
|
||||
case CIRNO: break;
|
||||
}
|
||||
}
|
||||
|
||||
public void renderGuy(BobbleType type) {
|
||||
|
||||
resetFigurineRotation();
|
||||
setupFigurineRotation(type);
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotated(rotBody, 0, 1, 0);
|
||||
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
|
||||
String suffix = type.skinLayers ? "" : "17";
|
||||
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
@ -71,12 +177,52 @@ public class RenderBobble extends TileEntitySpecialRenderer {
|
||||
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
|
||||
bobble.renderPart("LL" + suffix);
|
||||
bobble.renderPart("RL" + suffix);
|
||||
bobble.renderPart("LA" + suffix);
|
||||
bobble.renderPart("RA" + suffix);
|
||||
bobble.renderPart("Body" + suffix);
|
||||
//LEFT LEG//
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(0, 1, -0.125);
|
||||
GL11.glRotated(rotLeftLeg[0], 1, 0, 0);
|
||||
GL11.glRotated(rotLeftLeg[1], 0, 1, 0);
|
||||
GL11.glRotated(rotLeftLeg[2], 0, 0, 1);
|
||||
GL11.glTranslated(0, -1, 0.125);
|
||||
bobble.renderPart("LL" + suffix);
|
||||
GL11.glPopMatrix();
|
||||
|
||||
//RIGHT LEG//
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(0, 1, 0.125);
|
||||
GL11.glRotated(rotRightLeg[0], 1, 0, 0);
|
||||
GL11.glRotated(rotRightLeg[1], 0, 1, 0);
|
||||
GL11.glRotated(rotRightLeg[2], 0, 0, 1);
|
||||
GL11.glTranslated(0, -1, -0.125);
|
||||
bobble.renderPart("RL" + suffix);
|
||||
GL11.glPopMatrix();
|
||||
|
||||
//renderOrigin();
|
||||
|
||||
//LEFT ARM//
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(0, 1.625, -0.25);
|
||||
GL11.glRotated(rotLeftArm[0], 1, 0, 0);
|
||||
GL11.glRotated(rotLeftArm[1], 0, 1, 0);
|
||||
GL11.glRotated(rotLeftArm[2], 0, 0, 1);
|
||||
GL11.glTranslated(0, -1.625, 0.25);
|
||||
bobble.renderPart("LA" + suffix);
|
||||
GL11.glPopMatrix();
|
||||
|
||||
//RIGHT ARM//
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(0, 1.625, 0.25);
|
||||
GL11.glRotated(rotRightArm[0], 1, 0, 0);
|
||||
GL11.glRotated(rotRightArm[1], 0, 1, 0);
|
||||
GL11.glRotated(rotRightArm[2], 0, 0, 1);
|
||||
GL11.glTranslated(0, -1.625, -0.25);
|
||||
bobble.renderPart("RA" + suffix);
|
||||
GL11.glPopMatrix();
|
||||
|
||||
//BODY//
|
||||
bobble.renderPart("Body" + suffix);
|
||||
|
||||
//HEAD//
|
||||
double speed = 0.005;
|
||||
double amplitude = 1;
|
||||
|
||||
@ -84,26 +230,118 @@ public class RenderBobble extends TileEntitySpecialRenderer {
|
||||
GL11.glTranslated(0, 1.75, 0);
|
||||
GL11.glRotated(Math.sin(System.currentTimeMillis() * speed) * amplitude, 1, 0, 0);
|
||||
GL11.glRotated(Math.sin(System.currentTimeMillis() * speed + (Math.PI * 0.5)) * amplitude, 0, 0, 1);
|
||||
|
||||
GL11.glRotated(rotHead[0], 1, 0, 0);
|
||||
GL11.glRotated(rotHead[1], 0, 1, 0);
|
||||
GL11.glRotated(rotHead[2], 0, 0, 1);
|
||||
|
||||
GL11.glTranslated(0, -1.75, 0);
|
||||
bobble.renderPart("Head" + suffix);
|
||||
|
||||
if(type == BobbleType.VT)
|
||||
bobble.renderPart("Horn");
|
||||
|
||||
GL11.glPopMatrix();
|
||||
|
||||
GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public void renderPellet(BobbleType type) {
|
||||
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glPushAttrib(GL11.GL_LIGHTING_BIT);
|
||||
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F);
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
bobble.renderPart("Pellet");
|
||||
|
||||
GL11.glDisable(GL11.GL_TEXTURE_2D);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glAlphaFunc(GL11.GL_GREATER, 0);
|
||||
|
||||
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
|
||||
GL11.glColor4f(1.0F, 1.0F, 0.0F, 0.1F + (float)Math.sin(System.currentTimeMillis() * 0.001D) * 0.05F);
|
||||
bobble.renderPart("PelletShine");
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
|
||||
GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glEnable(GL11.GL_TEXTURE_2D);
|
||||
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glPopAttrib();
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public void renderOrigin() {
|
||||
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
GL11.glDisable(GL11.GL_TEXTURE_2D);
|
||||
Tessellator tess = Tessellator.instance;
|
||||
tess.setColorOpaque_F(1F, 0F, 0F);
|
||||
tess.startDrawing(GL11.GL_TRIANGLES);
|
||||
|
||||
double d = 0.125D;
|
||||
tess.addVertex(0, d, 0);
|
||||
tess.addVertex(d, 0, 0);
|
||||
tess.addVertex(0, 0, d);
|
||||
|
||||
tess.addVertex(0, d, 0);
|
||||
tess.addVertex(-d, 0, 0);
|
||||
tess.addVertex(0, 0, d);
|
||||
|
||||
tess.addVertex(0, d, 0);
|
||||
tess.addVertex(d, 0, 0);
|
||||
tess.addVertex(0, 0, -d);
|
||||
|
||||
tess.addVertex(0, d, 0);
|
||||
tess.addVertex(-d, 0, 0);
|
||||
tess.addVertex(0, 0, -d);
|
||||
|
||||
tess.addVertex(0, -d, 0);
|
||||
tess.addVertex(d, 0, 0);
|
||||
tess.addVertex(0, 0, d);
|
||||
|
||||
tess.addVertex(0, -d, 0);
|
||||
tess.addVertex(d, 0, 0);
|
||||
tess.addVertex(0, 0, -d);
|
||||
|
||||
tess.addVertex(0, -d, 0);
|
||||
tess.addVertex(-d, 0, 0);
|
||||
tess.addVertex(0, 0, d);
|
||||
|
||||
tess.addVertex(0, -d, 0);
|
||||
tess.addVertex(-d, 0, 0);
|
||||
tess.addVertex(0, 0, -d);
|
||||
|
||||
tess.draw();
|
||||
|
||||
GL11.glEnable(GL11.GL_TEXTURE_2D);
|
||||
}
|
||||
|
||||
/*
|
||||
* RENDER BASE PEDESTAL
|
||||
*/
|
||||
public void renderSocket(BobbleType type) {
|
||||
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
FontRenderer font = Minecraft.getMinecraft().fontRenderer;
|
||||
float f3 = 0.01F;
|
||||
GL11.glTranslated(0.63, 0.175F, 0.0);
|
||||
GL11.glScalef(f3, -f3, f3);
|
||||
GL11.glTranslated(0, 0, font.getStringWidth(type.label) * 0.5D);
|
||||
GL11.glNormal3f(0.0F, 0.0F, -1.0F * f3);
|
||||
GL11.glRotatef(90, 0, 1, 0);
|
||||
GL11.glDepthMask(false);
|
||||
GL11.glTranslatef(0, 1, 0);
|
||||
font.drawString(type.label, 0, 0, 0xffffff);
|
||||
font.drawString(type.label, 0, 0, type == BobbleType.VT ? 0xff0000 : 0xffffff);
|
||||
GL11.glDepthMask(true);
|
||||
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,45 @@
|
||||
package com.hbm.render.tileentity;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.main.ResourceManager;
|
||||
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
public class RenderDeuteriumTower extends TileEntitySpecialRenderer {
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) {
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(x + 0.0D, y, z + 0.0D);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
GL11.glRotatef(180F, 0F, 1F, 0F);
|
||||
switch(tileEntity.getBlockMetadata() - 10) {
|
||||
case 2:
|
||||
GL11.glRotatef(0F, 0F, 1F, 0F);
|
||||
GL11.glTranslatef(0F, 0F, -1F);
|
||||
break;
|
||||
case 3:
|
||||
GL11.glRotatef(180F, 0F, 1F, 0F);
|
||||
GL11.glTranslatef(1F, 0F, 0F);
|
||||
break;
|
||||
case 4:
|
||||
GL11.glRotatef(90F, 0F, 1F, 0F);
|
||||
GL11.glTranslatef(1F, 0F, -1F);
|
||||
break;
|
||||
case 5:
|
||||
GL11.glRotatef(270F, 0F, 1F, 0F);
|
||||
break;
|
||||
}
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
bindTexture(ResourceManager.deuterium_tower_tex);
|
||||
ResourceManager.deuterium_tower.renderAll();
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,198 @@
|
||||
package com.hbm.tileentity.machine;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.handler.FluidTypeHandler.FluidType;
|
||||
import com.hbm.interfaces.IConsumer;
|
||||
import com.hbm.interfaces.IFluidAcceptor;
|
||||
import com.hbm.interfaces.IFluidSource;
|
||||
import com.hbm.inventory.FluidTank;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.packet.AuxElectricityPacket;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class TileEntityDeuteriumExtractor extends TileEntityMachineBase implements IFluidAcceptor, IFluidSource, IConsumer {
|
||||
|
||||
public int age = 0;
|
||||
public long power = 0;
|
||||
public static final long maxPower = 100000;
|
||||
public FluidTank[] tanks;
|
||||
public List<IFluidAcceptor> list = new ArrayList();
|
||||
|
||||
public TileEntityDeuteriumExtractor() {
|
||||
super(0);
|
||||
tanks = new FluidTank[2];
|
||||
tanks[0] = new FluidTank(FluidType.WATER, 1000, 0);
|
||||
tanks[1] = new FluidTank(FluidType.HEAVYWATER, 100, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "container.deuterium";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
if(!worldObj.isRemote) {
|
||||
|
||||
this.tanks[0].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
|
||||
|
||||
age++;
|
||||
if(age >= 2) {
|
||||
age = 0;
|
||||
if(hasPower() && hasEnoughWater()) {
|
||||
int convert = Math.min(tanks[0].getFill(), tanks[1].getMaxFill() - tanks[1].getFill());
|
||||
tanks[0].setFill(tanks[0].getFill() - convert);
|
||||
tanks[1].setFill(tanks[1].getFill() + Math.round(convert / 50));
|
||||
power -= maxPower / 10;
|
||||
}
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setLong("power", power);
|
||||
this.networkPack(data, 25);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if(power < 0)
|
||||
power = 0;
|
||||
|
||||
fillFluidInit(tanks[1].getTankType());
|
||||
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50));
|
||||
}
|
||||
}
|
||||
|
||||
public void networkUnpack(NBTTagCompound data) {
|
||||
this.power = data.getLong("power");
|
||||
}
|
||||
|
||||
public long getPowerRemainingScaled(long i) {
|
||||
return (power * i) / maxPower;
|
||||
}
|
||||
|
||||
public boolean hasPower() {
|
||||
return power > 0;
|
||||
}
|
||||
|
||||
public boolean hasEnoughWater() {
|
||||
return tanks[0].getFill() >= 100;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
super.readFromNBT(nbt);
|
||||
this.power = nbt.getLong("power");
|
||||
tanks[0].readFromNBT(nbt, "water");
|
||||
tanks[1].readFromNBT(nbt, "heavyWater");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound nbt) {
|
||||
super.writeToNBT(nbt);
|
||||
nbt.setLong("power", power);
|
||||
tanks[0].writeToNBT(nbt, "water");
|
||||
tanks[1].writeToNBT(nbt, "heavyWater");
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void fillFluidInit(FluidType type) {
|
||||
|
||||
for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS)
|
||||
fillFluid(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, getTact(), type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) {
|
||||
Library.transmitFluid(x, y, z, newTact, this, worldObj, type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getTact() {
|
||||
if(age == 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFluidFill(int i, FluidType type) {
|
||||
if(type.name().equals(tanks[0].getTankType().name()))
|
||||
tanks[0].setFill(i);
|
||||
else if(type.name().equals(tanks[1].getTankType().name()))
|
||||
tanks[1].setFill(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getFluidFill(FluidType type) {
|
||||
if(type.name().equals(tanks[0].getTankType().name()))
|
||||
return tanks[0].getFill();
|
||||
else if(type.name().equals(tanks[1].getTankType().name()))
|
||||
return tanks[1].getFill();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxFluidFill(FluidType type) {
|
||||
if(type.name().equals(tanks[0].getTankType().name()))
|
||||
return tanks[0].getMaxFill();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFillstate(int fill, int index) {
|
||||
if(index < 2 && tanks[index] != null)
|
||||
tanks[index].setFill(fill);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setType(FluidType type, int index) {
|
||||
if(index < 2 && tanks[index] != null)
|
||||
tanks[index].setTankType(type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<FluidTank> getTanks() {
|
||||
List<FluidTank> list = new ArrayList();
|
||||
list.add(tanks[0]);
|
||||
list.add(tanks[1]);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<IFluidAcceptor> getFluidList(FluidType type) {
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearFluidList(FluidType type) {
|
||||
list.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPower(long i) {
|
||||
power = i;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getPower() {
|
||||
return power;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getMaxPower() {
|
||||
return maxPower;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,97 @@
|
||||
package com.hbm.tileentity.machine;
|
||||
|
||||
import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.handler.FluidTypeHandler.FluidType;
|
||||
import com.hbm.interfaces.IConsumer;
|
||||
import com.hbm.inventory.FluidTank;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class TileEntityDeuteriumTower extends TileEntityDeuteriumExtractor implements IConsumer {
|
||||
|
||||
public static final long maxPower = 10000000;
|
||||
|
||||
public TileEntityDeuteriumTower() {
|
||||
tanks = new FluidTank[2];
|
||||
tanks[0] = new FluidTank(FluidType.WATER, 5000000, 0);
|
||||
tanks[1] = new FluidTank(FluidType.HEAVYWATER, 500000, 0);
|
||||
}
|
||||
|
||||
public void fillFluidInit(FluidType type) {
|
||||
|
||||
int offsetX = 0;
|
||||
int offsetZ = 0;
|
||||
|
||||
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset);
|
||||
ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN);
|
||||
offsetX = -dir.offsetX;
|
||||
offsetZ = -rot.offsetZ;
|
||||
|
||||
if(dir == ForgeDirection.NORTH || dir == ForgeDirection.SOUTH) {
|
||||
offsetX = rot.offsetX;
|
||||
offsetZ = dir.offsetZ;
|
||||
}
|
||||
|
||||
/*fillFluid(this.xCoord + rot.offsetX * 2, this.yCoord, this.zCoord - dir.offsetZ * 1, getTact(), type);
|
||||
fillFluid(this.xCoord + rot.offsetX * 2, this.yCoord, this.zCoord - dir.offsetZ * 0, getTact(), type);
|
||||
fillFluid(this.xCoord + rot.offsetX * 1, this.yCoord, this.zCoord - dir.offsetZ * 2, getTact(), type);
|
||||
fillFluid(this.xCoord + rot.offsetX * 0, this.yCoord, this.zCoord - dir.offsetZ * 2, getTact(), type);
|
||||
fillFluid(this.xCoord + rot.offsetX * 1, this.yCoord, this.zCoord + dir.offsetZ * 1, getTact(), type);
|
||||
fillFluid(this.xCoord + rot.offsetX * 0, this.yCoord, this.zCoord + dir.offsetZ * 1, getTact(), type);
|
||||
fillFluid(this.xCoord - rot.offsetX * 1, this.yCoord, this.zCoord + dir.offsetZ * 0, getTact(), type);
|
||||
fillFluid(this.xCoord - rot.offsetX * 1, this.yCoord, this.zCoord - dir.offsetZ * 1, getTact(), type);*/
|
||||
|
||||
/*worldObj.setBlock(this.xCoord + rot.offsetX * 2, this.yCoord, this.zCoord - dir.offsetZ * 1, Blocks.dirt);
|
||||
worldObj.setBlock(this.xCoord + rot.offsetX * 2, this.yCoord, this.zCoord - dir.offsetZ * 0, Blocks.dirt);
|
||||
worldObj.setBlock(this.xCoord + rot.offsetX * 1, this.yCoord, this.zCoord - dir.offsetZ * 2, Blocks.dirt);
|
||||
worldObj.setBlock(this.xCoord + rot.offsetX * 0, this.yCoord, this.zCoord - dir.offsetZ * 2, Blocks.dirt);
|
||||
worldObj.setBlock(this.xCoord + rot.offsetX * 1, this.yCoord, this.zCoord + dir.offsetZ * 1, Blocks.dirt);
|
||||
worldObj.setBlock(this.xCoord + rot.offsetX * 0, this.yCoord, this.zCoord + dir.offsetZ * 1, Blocks.dirt);
|
||||
worldObj.setBlock(this.xCoord - rot.offsetX * 1, this.yCoord, this.zCoord + dir.offsetZ * 0, Blocks.dirt);
|
||||
worldObj.setBlock(this.xCoord - rot.offsetX * 1, this.yCoord, this.zCoord - dir.offsetZ * 1, Blocks.dirt);*/
|
||||
|
||||
/* I'm never doing an even sided fluid machine ever again
|
||||
*
|
||||
* this was pain
|
||||
*
|
||||
* - pheo */
|
||||
|
||||
|
||||
fillFluid(this.xCoord + offsetX * 2, this.yCoord, this.zCoord - offsetZ * 1, getTact(), type);
|
||||
fillFluid(this.xCoord + offsetX * 2, this.yCoord, this.zCoord - offsetZ * 0, getTact(), type);
|
||||
fillFluid(this.xCoord + offsetX * 1, this.yCoord, this.zCoord - offsetZ * 2, getTact(), type);
|
||||
fillFluid(this.xCoord + offsetX * 0, this.yCoord, this.zCoord - offsetZ * 2, getTact(), type);
|
||||
fillFluid(this.xCoord + offsetX * 1, this.yCoord, this.zCoord + offsetZ * 1, getTact(), type);
|
||||
fillFluid(this.xCoord + offsetX * 0, this.yCoord, this.zCoord + offsetZ * 1, getTact(), type);
|
||||
fillFluid(this.xCoord - offsetX * 1, this.yCoord, this.zCoord + offsetZ * 0, getTact(), type);
|
||||
fillFluid(this.xCoord - offsetX * 1, this.yCoord, this.zCoord - offsetZ * 1, getTact(), type);
|
||||
}
|
||||
|
||||
AxisAlignedBB bb = null;
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getRenderBoundingBox() {
|
||||
|
||||
if(bb == null) {
|
||||
bb = AxisAlignedBB.getBoundingBox(
|
||||
xCoord,
|
||||
yCoord,
|
||||
zCoord,
|
||||
xCoord + 2,
|
||||
yCoord + 10,
|
||||
zCoord + 2
|
||||
);
|
||||
}
|
||||
|
||||
return bb;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public double getMaxRenderDistanceSquared() {
|
||||
return 65536.0D;
|
||||
}
|
||||
}
|
||||
@ -2404,6 +2404,10 @@ item.stamp_357.name=.357 Magnum-Stempel
|
||||
item.stamp_44.name=.44 Magnum-Stempel
|
||||
item.stamp_50.name=Großkaliberstempel
|
||||
item.stamp_9.name=Kleinkaliberstempel
|
||||
item.stamp_desh_circuit.name=Schaltkreisstempel (Desh)
|
||||
item.stamp_desh_flat.name=Flacher Stempe (Desh)
|
||||
item.stamp_desh_plate.name=Plattenstempel (Desh)
|
||||
item.stamp_desh_wire.name=Kabelstempel (Desh)
|
||||
item.stamp_iron_circuit.name=Schaltkreisstempel (Eisen)
|
||||
item.stamp_iron_flat.name=Flacher Stempel (Eisen)
|
||||
item.stamp_iron_plate.name=Plattenstempel (Eisen)
|
||||
|
||||
@ -2471,6 +2471,10 @@ item.stamp_357.name=.357 Magnum Stamp
|
||||
item.stamp_44.name=.44 Magnum Stamp
|
||||
item.stamp_50.name=Large Caliber Stamp
|
||||
item.stamp_9.name=Small Caliber Stamp
|
||||
item.stamp_desh_circuit.name=Circuit Stamp (Desh)
|
||||
item.stamp_desh_flat.name=Flat Stamp (Desh)
|
||||
item.stamp_desh_plate.name=Plate Stamp (Desh)
|
||||
item.stamp_desh_wire.name=Wire Stamp (Desh)
|
||||
item.stamp_iron_circuit.name=Circuit Stamp (Iron)
|
||||
item.stamp_iron_flat.name=Flat Stamp (Iron)
|
||||
item.stamp_iron_plate.name=Plate Stamp (Iron)
|
||||
|
||||
@ -1,5 +1,333 @@
|
||||
# Blender v2.79 (sub 0) OBJ File: 'bobble.blend'
|
||||
# www.blender.org
|
||||
o Horn
|
||||
v 0.205806 2.419194 0.062500
|
||||
v 0.294194 2.330806 0.062500
|
||||
v 0.205806 2.419194 -0.062500
|
||||
v 0.294194 2.330806 -0.062500
|
||||
v 0.780330 2.905330 0.000000
|
||||
vt 0.906250 0.500000
|
||||
vt 0.890625 0.687500
|
||||
vt 0.875000 0.500000
|
||||
vt 0.906250 0.500000
|
||||
vt 0.875000 0.500000
|
||||
vt 0.906250 0.500000
|
||||
vt 0.875000 0.500000
|
||||
vt 0.875000 0.500000
|
||||
vt 0.906250 0.500000
|
||||
vn 0.7634 -0.6459 0.0000
|
||||
vn 0.0587 0.0587 -0.9965
|
||||
vn 0.0587 0.0587 0.9965
|
||||
vn -0.6459 0.7634 0.0000
|
||||
s off
|
||||
f 4/1/1 5/2/1 2/3/1
|
||||
f 3/4/2 5/2/2 4/5/2
|
||||
f 2/6/3 5/2/3 1/7/3
|
||||
f 3/8/4 1/9/4 5/2/4
|
||||
o PelletShine
|
||||
v -0.000000 0.250000 -0.375000
|
||||
v -0.187500 0.250000 -0.324760
|
||||
v -0.324760 0.250000 -0.187500
|
||||
v -0.375000 0.250000 0.000000
|
||||
v -0.324760 0.250000 0.187500
|
||||
v -0.187500 0.250000 0.324760
|
||||
v -0.000000 0.250000 0.375000
|
||||
v 0.187500 0.250000 0.324760
|
||||
v 0.324759 0.250000 0.187500
|
||||
v 0.375000 0.250000 0.000000
|
||||
v 0.324760 0.250000 -0.187500
|
||||
v 0.187500 0.250000 -0.324759
|
||||
v -0.000000 0.812500 -0.375000
|
||||
v -0.187500 0.812500 -0.324760
|
||||
v -0.324760 0.812500 -0.187500
|
||||
v -0.375000 0.812500 0.000000
|
||||
v -0.324760 0.812500 0.187500
|
||||
v -0.187500 0.812500 0.324760
|
||||
v -0.000000 0.812500 0.375000
|
||||
v 0.187500 0.812500 0.324760
|
||||
v 0.324759 0.812500 0.187500
|
||||
v 0.375000 0.812500 0.000000
|
||||
v 0.324760 0.812500 -0.187500
|
||||
v 0.187500 0.812500 -0.324759
|
||||
v 0.000000 0.875000 -0.312500
|
||||
v -0.156250 0.875000 -0.270633
|
||||
v -0.270633 0.875000 -0.156250
|
||||
v -0.312500 0.875000 0.000000
|
||||
v -0.270633 0.875000 0.156250
|
||||
v -0.156250 0.875000 0.270633
|
||||
v -0.000000 0.875000 0.312500
|
||||
v 0.156250 0.875000 0.270633
|
||||
v 0.270633 0.875000 0.156250
|
||||
v 0.312500 0.875000 0.000000
|
||||
v 0.270633 0.875000 -0.156250
|
||||
v 0.156250 0.875000 -0.270633
|
||||
vn -0.7071 0.0000 -0.7071
|
||||
vn 0.9659 0.0000 0.2588
|
||||
vn -0.2588 0.0000 0.9659
|
||||
vn -0.9659 0.0000 -0.2588
|
||||
vn 0.9659 0.0000 -0.2588
|
||||
vn 0.2588 0.0000 0.9659
|
||||
vn -0.9659 0.0000 0.2588
|
||||
vn 0.7071 0.0000 -0.7071
|
||||
vn -0.2588 0.0000 -0.9659
|
||||
vn 0.7071 0.0000 0.7071
|
||||
vn -0.7071 0.0000 0.7071
|
||||
vn 0.2588 0.0000 -0.9659
|
||||
vn 0.6947 0.6947 0.1862
|
||||
vn 0.6947 0.6947 -0.1862
|
||||
vn 0.5086 0.6947 -0.5086
|
||||
vn 0.1862 0.6947 -0.6947
|
||||
vn -0.1862 0.6947 -0.6947
|
||||
vn -0.5086 0.6947 -0.5086
|
||||
vn -0.6947 0.6947 -0.1862
|
||||
vn -0.6947 0.6947 0.1862
|
||||
vn -0.5086 0.6947 0.5086
|
||||
vn -0.1862 0.6947 0.6947
|
||||
vn 0.1862 0.6947 0.6947
|
||||
vn 0.5086 0.6947 0.5086
|
||||
vn 0.0000 1.0000 0.0000
|
||||
s off
|
||||
f 20//5 7//5 8//5
|
||||
f 27//6 14//6 15//6
|
||||
f 24//7 11//7 12//7
|
||||
f 21//8 8//8 9//8
|
||||
f 28//9 15//9 16//9
|
||||
f 25//10 12//10 13//10
|
||||
f 22//11 9//11 10//11
|
||||
f 29//12 16//12 17//12
|
||||
f 19//13 6//13 7//13
|
||||
f 26//14 13//14 14//14
|
||||
f 23//15 10//15 11//15
|
||||
f 18//16 17//16 6//16
|
||||
f 27//17 38//17 26//17
|
||||
f 27//18 40//18 39//18
|
||||
f 28//19 41//19 40//19
|
||||
f 29//20 30//20 41//20
|
||||
f 18//21 31//21 30//21
|
||||
f 19//22 32//22 31//22
|
||||
f 21//23 32//23 20//23
|
||||
f 22//24 33//24 21//24
|
||||
f 23//25 34//25 22//25
|
||||
f 24//26 35//26 23//26
|
||||
f 25//27 36//27 24//27
|
||||
f 26//28 37//28 25//28
|
||||
f 38//29 40//29 30//29
|
||||
f 20//5 19//5 7//5
|
||||
f 27//6 26//6 14//6
|
||||
f 24//7 23//7 11//7
|
||||
f 21//8 20//8 8//8
|
||||
f 28//9 27//9 15//9
|
||||
f 25//10 24//10 12//10
|
||||
f 22//11 21//11 9//11
|
||||
f 29//12 28//12 16//12
|
||||
f 19//13 18//13 6//13
|
||||
f 26//14 25//14 13//14
|
||||
f 23//15 22//15 10//15
|
||||
f 18//16 29//16 17//16
|
||||
f 27//17 39//17 38//17
|
||||
f 27//18 28//18 40//18
|
||||
f 28//19 29//19 41//19
|
||||
f 29//20 18//20 30//20
|
||||
f 18//21 19//21 31//21
|
||||
f 19//22 20//22 32//22
|
||||
f 21//23 33//23 32//23
|
||||
f 22//24 34//24 33//24
|
||||
f 23//25 35//25 34//25
|
||||
f 24//26 36//26 35//26
|
||||
f 25//27 37//27 36//27
|
||||
f 26//28 38//28 37//28
|
||||
f 30//29 31//29 34//29
|
||||
f 31//29 32//29 34//29
|
||||
f 32//29 33//29 34//29
|
||||
f 34//29 35//29 36//29
|
||||
f 36//29 37//29 38//29
|
||||
f 38//29 39//29 40//29
|
||||
f 40//29 41//29 30//29
|
||||
f 34//29 36//29 30//29
|
||||
f 36//29 38//29 30//29
|
||||
o Pellet
|
||||
v 0.000000 0.250000 -0.312500
|
||||
v -0.156250 0.250000 -0.270633
|
||||
v -0.270633 0.250000 -0.156250
|
||||
v -0.312500 0.250000 0.000000
|
||||
v -0.270633 0.250000 0.156250
|
||||
v -0.156250 0.250000 0.270633
|
||||
v -0.000000 0.250000 0.312500
|
||||
v 0.156250 0.250000 0.270633
|
||||
v 0.270633 0.250000 0.156250
|
||||
v 0.312500 0.250000 0.000000
|
||||
v 0.270633 0.250000 -0.156250
|
||||
v 0.156250 0.250000 -0.270633
|
||||
v 0.000000 0.750000 -0.312500
|
||||
v -0.156250 0.750000 -0.270633
|
||||
v -0.270633 0.750000 -0.156250
|
||||
v -0.312500 0.750000 0.000000
|
||||
v -0.270633 0.750000 0.156250
|
||||
v -0.156250 0.750000 0.270633
|
||||
v -0.000000 0.750000 0.312500
|
||||
v 0.156250 0.750000 0.270633
|
||||
v 0.270633 0.750000 0.156250
|
||||
v 0.312500 0.750000 0.000000
|
||||
v 0.270633 0.750000 -0.156250
|
||||
v 0.156250 0.750000 -0.270633
|
||||
v 0.000000 0.812500 -0.250000
|
||||
v -0.125000 0.812500 -0.216506
|
||||
v -0.216506 0.812500 -0.125000
|
||||
v -0.250000 0.812500 0.000000
|
||||
v -0.216506 0.812500 0.125000
|
||||
v -0.125000 0.812500 0.216506
|
||||
v -0.000000 0.812500 0.250000
|
||||
v 0.125000 0.812500 0.216506
|
||||
v 0.216506 0.812500 0.125000
|
||||
v 0.250000 0.812500 0.000000
|
||||
v 0.216506 0.812500 -0.125000
|
||||
v 0.125000 0.812500 -0.216506
|
||||
vt 0.250000 0.000000
|
||||
vt 0.166667 0.470588
|
||||
vt 0.166667 0.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 0.916667 0.470588
|
||||
vt 0.916667 0.000000
|
||||
vt 0.583333 0.000000
|
||||
vt 0.500000 0.470588
|
||||
vt 0.500000 0.000000
|
||||
vt 0.333333 0.000000
|
||||
vt 0.250000 0.470588
|
||||
vt 0.083333 0.000000
|
||||
vt 0.000000 0.470588
|
||||
vt 0.000000 0.000000
|
||||
vt 0.666667 0.000000
|
||||
vt 0.583333 0.470588
|
||||
vt 0.833333 0.000000
|
||||
vt 0.750000 0.470588
|
||||
vt 0.750000 0.000000
|
||||
vt 0.416667 0.000000
|
||||
vt 0.333333 0.470588
|
||||
vt 0.083333 0.470588
|
||||
vt 0.666667 0.470588
|
||||
vt 0.833333 0.470588
|
||||
vt 0.416667 0.470588
|
||||
vt 0.638889 0.529412
|
||||
vt 0.583333 0.529412
|
||||
vt 0.722222 0.529412
|
||||
vt 0.666667 0.529412
|
||||
vt 0.750000 0.529412
|
||||
vt 0.833333 0.529412
|
||||
vt 1.000000 0.470588
|
||||
vt 0.916667 0.529412
|
||||
vt 0.000000 0.529412
|
||||
vt 0.083333 0.529412
|
||||
vt 0.166667 0.529412
|
||||
vt 0.250000 0.529412
|
||||
vt 0.388889 0.529412
|
||||
vt 0.333333 0.529412
|
||||
vt 0.472222 0.529412
|
||||
vt 0.416667 0.529412
|
||||
vt 0.555556 0.529412
|
||||
vt 0.500000 0.529412
|
||||
vt 0.056160 0.966261
|
||||
vt 0.056160 0.563151
|
||||
vt 0.221014 0.764706
|
||||
vt 0.805556 0.529412
|
||||
vt 0.888889 0.529412
|
||||
vt 0.972222 0.529412
|
||||
vt 0.055556 0.529412
|
||||
vt 0.138889 0.529412
|
||||
vt 0.222222 0.529412
|
||||
vt 0.305556 0.529412
|
||||
vt 0.206290 0.881074
|
||||
vt 0.166062 0.966261
|
||||
vt 0.111111 0.997441
|
||||
vt 0.015932 0.881073
|
||||
vt 0.001208 0.764706
|
||||
vt 0.015933 0.648338
|
||||
vt 0.111111 0.531970
|
||||
vt 0.166063 0.563151
|
||||
vt 0.206290 0.648338
|
||||
vn -0.2588 0.0000 0.9659
|
||||
vn -0.9659 0.0000 -0.2588
|
||||
vn 0.9659 0.0000 -0.2588
|
||||
vn 0.2588 0.0000 0.9659
|
||||
vn -0.9659 0.0000 0.2588
|
||||
vn 0.7071 0.0000 -0.7071
|
||||
vn -0.2588 0.0000 -0.9659
|
||||
vn 0.7071 0.0000 0.7071
|
||||
vn -0.7071 0.0000 0.7071
|
||||
vn 0.2588 0.0000 -0.9659
|
||||
vn -0.7071 0.0000 -0.7071
|
||||
vn 0.9659 0.0000 0.2588
|
||||
vn 0.5086 0.6947 -0.5086
|
||||
vn 0.1862 0.6947 -0.6947
|
||||
vn -0.1862 0.6947 -0.6947
|
||||
vn -0.5086 0.6947 -0.5086
|
||||
vn -0.6947 0.6947 -0.1862
|
||||
vn -0.6947 0.6947 0.1862
|
||||
vn -0.5086 0.6947 0.5086
|
||||
vn -0.1862 0.6947 0.6947
|
||||
vn 0.1862 0.6947 0.6947
|
||||
vn 0.5086 0.6947 0.5086
|
||||
vn 0.6947 0.6947 0.1862
|
||||
vn 0.6947 0.6947 -0.1862
|
||||
vn 0.0000 1.0000 -0.0000
|
||||
s off
|
||||
f 48/10/30 59/11/30 47/12/30
|
||||
f 45/13/31 56/14/31 44/15/31
|
||||
f 52/16/32 63/17/32 51/18/32
|
||||
f 49/19/33 60/20/33 48/10/33
|
||||
f 46/21/34 57/22/34 45/23/34
|
||||
f 53/24/35 64/25/35 52/16/35
|
||||
f 43/26/36 54/27/36 42/28/36
|
||||
f 50/29/37 61/30/37 49/19/37
|
||||
f 47/12/38 58/31/38 46/21/38
|
||||
f 42/28/39 65/32/39 53/24/39
|
||||
f 44/15/40 55/33/40 43/26/40
|
||||
f 51/18/41 62/34/41 50/29/41
|
||||
f 64/25/42 77/35/42 76/36/42
|
||||
f 65/32/43 66/37/43 77/38/43
|
||||
f 55/33/44 66/39/44 54/27/44
|
||||
f 56/14/45 67/40/45 55/33/45
|
||||
f 57/41/46 68/42/46 56/14/46
|
||||
f 58/31/47 69/43/47 57/22/47
|
||||
f 59/11/48 70/44/48 58/31/48
|
||||
f 60/20/49 71/45/49 59/11/49
|
||||
f 61/30/50 72/46/50 60/20/50
|
||||
f 61/30/51 74/47/51 73/48/51
|
||||
f 62/34/52 75/49/52 74/50/52
|
||||
f 63/17/53 76/51/53 75/52/53
|
||||
f 70/53/54 74/54/54 66/55/54
|
||||
f 48/10/30 60/20/30 59/11/30
|
||||
f 45/13/31 57/41/31 56/14/31
|
||||
f 52/16/32 64/25/32 63/17/32
|
||||
f 49/19/33 61/30/33 60/20/33
|
||||
f 46/21/34 58/31/34 57/22/34
|
||||
f 53/24/35 65/32/35 64/25/35
|
||||
f 43/26/36 55/33/36 54/27/36
|
||||
f 50/29/37 62/34/37 61/30/37
|
||||
f 47/12/38 59/11/38 58/31/38
|
||||
f 42/28/39 54/27/39 65/32/39
|
||||
f 44/15/40 56/14/40 55/33/40
|
||||
f 51/18/41 63/17/41 62/34/41
|
||||
f 64/25/42 65/32/42 77/35/42
|
||||
f 65/32/43 54/27/43 66/37/43
|
||||
f 55/33/44 67/56/44 66/39/44
|
||||
f 56/14/45 68/57/45 67/40/45
|
||||
f 57/41/46 69/58/46 68/42/46
|
||||
f 58/31/47 70/59/47 69/43/47
|
||||
f 59/11/48 71/60/48 70/44/48
|
||||
f 60/20/49 72/61/49 71/45/49
|
||||
f 61/30/50 73/62/50 72/46/50
|
||||
f 61/30/51 62/34/51 74/47/51
|
||||
f 62/34/52 63/17/52 75/49/52
|
||||
f 63/17/53 64/25/53 76/51/53
|
||||
f 66/55/54 67/63/54 68/64/54
|
||||
f 68/64/54 69/65/54 70/53/54
|
||||
f 70/53/54 71/66/54 72/67/54
|
||||
f 72/67/54 73/68/54 70/53/54
|
||||
f 73/68/54 74/54/54 70/53/54
|
||||
f 74/54/54 75/69/54 76/70/54
|
||||
f 76/70/54 77/71/54 66/55/54
|
||||
f 66/55/54 68/64/54 70/53/54
|
||||
f 74/54/54 76/70/54 66/55/54
|
||||
o Head
|
||||
v 0.375000 1.750000 0.375000
|
||||
v -0.375000 1.750000 0.375000
|
||||
@ -56,30 +384,30 @@ vn 0.0000 0.0000 1.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
s off
|
||||
f 4/1/1 1/2/1 2/3/1
|
||||
f 5/4/2 7/5/2 6/6/2
|
||||
f 3/7/3 5/4/3 1/8/3
|
||||
f 1/8/4 6/9/4 2/10/4
|
||||
f 2/11/5 7/12/5 4/13/5
|
||||
f 4/13/6 8/14/6 3/7/6
|
||||
f 12/15/1 9/16/1 10/17/1
|
||||
f 13/18/2 15/19/2 14/20/2
|
||||
f 11/21/3 13/18/3 9/22/3
|
||||
f 9/22/4 14/23/4 10/24/4
|
||||
f 10/25/5 15/26/5 12/27/5
|
||||
f 12/27/6 16/28/6 11/21/6
|
||||
f 4/1/1 3/29/1 1/2/1
|
||||
f 5/4/2 8/14/2 7/5/2
|
||||
f 3/7/3 8/14/3 5/4/3
|
||||
f 1/8/4 5/4/4 6/9/4
|
||||
f 2/11/5 6/30/5 7/12/5
|
||||
f 4/13/6 7/12/6 8/14/6
|
||||
f 12/15/1 11/31/1 9/16/1
|
||||
f 13/18/2 16/28/2 15/19/2
|
||||
f 11/21/3 16/28/3 13/18/3
|
||||
f 9/22/4 13/18/4 14/23/4
|
||||
f 10/25/5 14/32/5 15/26/5
|
||||
f 12/27/6 15/26/6 16/28/6
|
||||
f 81/72/55 78/73/55 79/74/55
|
||||
f 82/75/56 84/76/56 83/77/56
|
||||
f 80/78/57 82/75/57 78/79/57
|
||||
f 78/79/58 83/80/58 79/81/58
|
||||
f 79/82/59 84/83/59 81/84/59
|
||||
f 81/84/60 85/85/60 80/78/60
|
||||
f 89/86/55 86/87/55 87/88/55
|
||||
f 90/89/56 92/90/56 91/91/56
|
||||
f 88/92/57 90/89/57 86/93/57
|
||||
f 86/93/58 91/94/58 87/95/58
|
||||
f 87/96/59 92/97/59 89/98/59
|
||||
f 89/98/60 93/99/60 88/92/60
|
||||
f 81/72/55 80/100/55 78/73/55
|
||||
f 82/75/56 85/85/56 84/76/56
|
||||
f 80/78/57 85/85/57 82/75/57
|
||||
f 78/79/58 82/75/58 83/80/58
|
||||
f 79/82/59 83/101/59 84/83/59
|
||||
f 81/84/60 84/83/60 85/85/60
|
||||
f 89/86/55 88/102/55 86/87/55
|
||||
f 90/89/56 93/99/56 92/90/56
|
||||
f 88/92/57 93/99/57 90/89/57
|
||||
f 86/93/58 90/89/58 91/94/58
|
||||
f 87/96/59 91/103/59 92/97/59
|
||||
f 89/98/60 92/97/60 93/99/60
|
||||
o LA
|
||||
v -0.125000 1.000000 -0.250000
|
||||
v 0.125000 1.000000 -0.250000
|
||||
@ -136,30 +464,30 @@ vn 0.0000 1.0000 0.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
s off
|
||||
f 23/33/7 18/34/7 22/35/7
|
||||
f 22/35/8 24/36/8 23/33/8
|
||||
f 21/37/9 19/38/9 24/36/9
|
||||
f 23/33/10 19/39/10 20/40/10
|
||||
f 22/41/11 17/42/11 21/43/11
|
||||
f 19/44/12 18/34/12 20/40/12
|
||||
f 30/45/11 25/46/11 29/47/11
|
||||
f 32/48/7 26/49/7 30/50/7
|
||||
f 31/51/10 28/52/10 32/48/10
|
||||
f 29/53/9 27/54/9 31/55/9
|
||||
f 27/56/12 26/49/12 28/52/12
|
||||
f 30/50/8 31/55/8 32/48/8
|
||||
f 23/33/7 20/40/7 18/34/7
|
||||
f 22/35/8 21/37/8 24/36/8
|
||||
f 21/37/9 17/57/9 19/38/9
|
||||
f 23/33/10 24/58/10 19/39/10
|
||||
f 22/41/11 18/59/11 17/42/11
|
||||
f 19/44/12 17/60/12 18/34/12
|
||||
f 30/45/11 26/61/11 25/46/11
|
||||
f 32/48/7 28/52/7 26/49/7
|
||||
f 31/51/10 27/62/10 28/52/10
|
||||
f 29/53/9 25/63/9 27/54/9
|
||||
f 27/56/12 25/64/12 26/49/12
|
||||
f 30/50/8 29/53/8 31/55/8
|
||||
f 100/104/61 95/105/61 99/106/61
|
||||
f 99/106/62 101/107/62 100/104/62
|
||||
f 98/108/63 96/109/63 101/107/63
|
||||
f 100/104/64 96/110/64 97/111/64
|
||||
f 99/112/65 94/113/65 98/114/65
|
||||
f 96/115/66 95/105/66 97/111/66
|
||||
f 107/116/65 102/117/65 106/118/65
|
||||
f 109/119/61 103/120/61 107/121/61
|
||||
f 108/122/64 105/123/64 109/119/64
|
||||
f 106/124/63 104/125/63 108/126/63
|
||||
f 104/127/66 103/120/66 105/123/66
|
||||
f 107/121/62 108/126/62 109/119/62
|
||||
f 100/104/61 97/111/61 95/105/61
|
||||
f 99/106/62 98/108/62 101/107/62
|
||||
f 98/108/63 94/128/63 96/109/63
|
||||
f 100/104/64 101/129/64 96/110/64
|
||||
f 99/112/65 95/130/65 94/113/65
|
||||
f 96/115/66 94/131/66 95/105/66
|
||||
f 107/116/65 103/132/65 102/117/65
|
||||
f 109/119/61 105/123/61 103/120/61
|
||||
f 108/122/64 104/133/64 105/123/64
|
||||
f 106/124/63 102/134/63 104/125/63
|
||||
f 104/127/66 102/135/66 103/120/66
|
||||
f 107/121/62 106/124/62 108/126/62
|
||||
o RA
|
||||
v -0.125000 1.750000 0.250000
|
||||
v 0.125000 1.750000 0.250000
|
||||
@ -216,30 +544,30 @@ vn 0.0000 -1.0000 0.0000
|
||||
vn 1.0000 0.0000 -0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
s off
|
||||
f 35/65/13 33/66/13 34/67/13
|
||||
f 38/68/14 39/69/14 37/70/14
|
||||
f 36/71/15 38/72/15 33/66/15
|
||||
f 35/73/16 40/74/16 36/75/16
|
||||
f 34/67/17 39/69/17 35/65/17
|
||||
f 34/67/18 38/76/18 37/70/18
|
||||
f 43/77/13 42/78/13 41/79/13
|
||||
f 46/80/14 47/81/14 45/82/14
|
||||
f 44/83/15 46/84/15 42/78/15
|
||||
f 42/85/18 45/82/18 41/79/18
|
||||
f 41/79/17 47/81/17 43/77/17
|
||||
f 43/86/16 48/87/16 44/88/16
|
||||
f 35/65/13 36/71/13 33/66/13
|
||||
f 38/68/14 40/89/14 39/69/14
|
||||
f 36/71/15 40/90/15 38/72/15
|
||||
f 35/73/16 39/91/16 40/74/16
|
||||
f 34/67/17 37/70/17 39/69/17
|
||||
f 34/67/18 33/92/18 38/76/18
|
||||
f 43/77/13 44/83/13 42/78/13
|
||||
f 46/80/14 48/93/14 47/81/14
|
||||
f 44/83/15 48/94/15 46/84/15
|
||||
f 42/85/18 46/95/18 45/82/18
|
||||
f 41/79/17 45/82/17 47/81/17
|
||||
f 43/86/16 47/96/16 48/87/16
|
||||
f 112/136/67 110/137/67 111/138/67
|
||||
f 115/139/68 116/140/68 114/141/68
|
||||
f 113/142/69 115/143/69 110/137/69
|
||||
f 112/144/70 117/145/70 113/146/70
|
||||
f 111/138/71 116/140/71 112/136/71
|
||||
f 111/138/72 115/147/72 114/141/72
|
||||
f 120/148/67 119/149/67 118/150/67
|
||||
f 123/151/68 124/152/68 122/153/68
|
||||
f 121/154/69 123/155/69 119/149/69
|
||||
f 119/156/72 122/153/72 118/150/72
|
||||
f 118/150/71 124/152/71 120/148/71
|
||||
f 120/157/70 125/158/70 121/159/70
|
||||
f 112/136/67 113/142/67 110/137/67
|
||||
f 115/139/68 117/160/68 116/140/68
|
||||
f 113/142/69 117/161/69 115/143/69
|
||||
f 112/144/70 116/162/70 117/145/70
|
||||
f 111/138/71 114/141/71 116/140/71
|
||||
f 111/138/72 110/163/72 115/147/72
|
||||
f 120/148/67 121/154/67 119/149/67
|
||||
f 123/151/68 125/164/68 124/152/68
|
||||
f 121/154/69 125/165/69 123/155/69
|
||||
f 119/156/72 123/166/72 122/153/72
|
||||
f 118/150/71 122/153/71 124/152/71
|
||||
f 120/157/70 124/167/70 125/158/70
|
||||
o LL
|
||||
v -0.125000 1.000000 -0.250000
|
||||
v -0.125000 0.250000 -0.250000
|
||||
@ -296,30 +624,30 @@ vn 1.0000 0.0000 -0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
s off
|
||||
f 50/97/19 56/98/19 54/99/19
|
||||
f 53/100/20 50/101/20 54/102/20
|
||||
f 55/103/21 54/104/21 56/105/21
|
||||
f 51/106/22 56/105/22 52/107/22
|
||||
f 53/108/23 51/106/23 49/109/23
|
||||
f 49/110/24 52/107/24 50/101/24
|
||||
f 61/111/23 59/112/23 57/113/23
|
||||
f 58/114/19 64/115/19 62/116/19
|
||||
f 59/112/22 64/117/22 60/118/22
|
||||
f 57/119/24 60/118/24 58/120/24
|
||||
f 61/121/20 58/120/20 62/122/20
|
||||
f 63/123/21 62/124/21 64/117/21
|
||||
f 50/97/19 52/125/19 56/98/19
|
||||
f 53/100/20 49/110/20 50/101/20
|
||||
f 55/103/21 53/126/21 54/104/21
|
||||
f 51/106/22 55/103/22 56/105/22
|
||||
f 53/108/23 55/103/23 51/106/23
|
||||
f 49/110/24 51/106/24 52/107/24
|
||||
f 61/111/23 63/123/23 59/112/23
|
||||
f 58/114/19 60/127/19 64/115/19
|
||||
f 59/112/22 63/123/22 64/117/22
|
||||
f 57/119/24 59/112/24 60/118/24
|
||||
f 61/121/20 57/119/20 58/120/20
|
||||
f 63/123/21 61/128/21 62/124/21
|
||||
f 127/168/73 133/169/73 131/170/73
|
||||
f 130/171/74 127/172/74 131/173/74
|
||||
f 132/174/75 131/175/75 133/176/75
|
||||
f 128/177/76 133/176/76 129/178/76
|
||||
f 130/179/77 128/177/77 126/180/77
|
||||
f 126/181/78 129/178/78 127/172/78
|
||||
f 138/182/77 136/183/77 134/184/77
|
||||
f 135/185/73 141/186/73 139/187/73
|
||||
f 136/183/76 141/188/76 137/189/76
|
||||
f 134/190/78 137/189/78 135/191/78
|
||||
f 138/192/74 135/191/74 139/193/74
|
||||
f 140/194/75 139/195/75 141/188/75
|
||||
f 127/168/73 129/196/73 133/169/73
|
||||
f 130/171/74 126/181/74 127/172/74
|
||||
f 132/174/75 130/197/75 131/175/75
|
||||
f 128/177/76 132/174/76 133/176/76
|
||||
f 130/179/77 132/174/77 128/177/77
|
||||
f 126/181/78 128/177/78 129/178/78
|
||||
f 138/182/77 140/194/77 136/183/77
|
||||
f 135/185/73 137/198/73 141/186/73
|
||||
f 136/183/76 140/194/76 141/188/76
|
||||
f 134/190/78 136/183/78 137/189/78
|
||||
f 138/192/74 134/190/74 135/191/74
|
||||
f 140/194/75 138/199/75 139/195/75
|
||||
o RL
|
||||
v 0.125000 0.250000 0.250000
|
||||
v 0.125000 1.000000 0.250000
|
||||
@ -376,30 +704,30 @@ vn 1.0000 0.0000 -0.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
s off
|
||||
f 66/129/25 67/130/25 65/131/25
|
||||
f 68/132/26 71/133/26 67/134/26
|
||||
f 72/135/27 69/136/27 71/133/27
|
||||
f 70/137/28 65/131/28 69/136/28
|
||||
f 71/138/29 65/139/29 67/140/29
|
||||
f 68/141/30 70/137/30 72/142/30
|
||||
f 74/143/25 75/144/25 73/145/25
|
||||
f 76/146/26 79/147/26 75/148/26
|
||||
f 80/149/27 77/150/27 79/147/27
|
||||
f 78/151/28 73/145/28 77/150/28
|
||||
f 79/152/29 73/153/29 75/154/29
|
||||
f 76/155/30 78/151/30 80/156/30
|
||||
f 66/129/25 68/157/25 67/130/25
|
||||
f 68/132/26 72/135/26 71/133/26
|
||||
f 72/135/27 70/137/27 69/136/27
|
||||
f 70/137/28 66/129/28 65/131/28
|
||||
f 71/138/29 69/158/29 65/139/29
|
||||
f 68/141/30 66/129/30 70/137/30
|
||||
f 74/143/25 76/159/25 75/144/25
|
||||
f 76/146/26 80/149/26 79/147/26
|
||||
f 80/149/27 78/151/27 77/150/27
|
||||
f 78/151/28 74/143/28 73/145/28
|
||||
f 79/152/29 77/160/29 73/153/29
|
||||
f 76/155/30 74/143/30 78/151/30
|
||||
f 143/200/79 144/201/79 142/202/79
|
||||
f 145/203/80 148/204/80 144/205/80
|
||||
f 149/206/81 146/207/81 148/204/81
|
||||
f 147/208/82 142/202/82 146/207/82
|
||||
f 148/209/83 142/210/83 144/211/83
|
||||
f 145/212/84 147/208/84 149/213/84
|
||||
f 151/214/79 152/215/79 150/216/79
|
||||
f 153/217/80 156/218/80 152/219/80
|
||||
f 157/220/81 154/221/81 156/218/81
|
||||
f 155/222/82 150/216/82 154/221/82
|
||||
f 156/223/83 150/224/83 152/225/83
|
||||
f 153/226/84 155/222/84 157/227/84
|
||||
f 143/200/79 145/228/79 144/201/79
|
||||
f 145/203/80 149/206/80 148/204/80
|
||||
f 149/206/81 147/208/81 146/207/81
|
||||
f 147/208/82 143/200/82 142/202/82
|
||||
f 148/209/83 146/229/83 142/210/83
|
||||
f 145/212/84 143/200/84 147/208/84
|
||||
f 151/214/79 153/230/79 152/215/79
|
||||
f 153/217/80 157/220/80 156/218/80
|
||||
f 157/220/81 155/222/81 154/221/81
|
||||
f 155/222/82 151/214/82 150/216/82
|
||||
f 156/223/83 154/231/83 150/224/83
|
||||
f 153/226/84 151/214/84 155/222/84
|
||||
o Head17
|
||||
v 0.375000 1.750000 0.375000
|
||||
v -0.375000 1.750000 0.375000
|
||||
@ -456,30 +784,30 @@ vn 0.0000 0.0000 1.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
s off
|
||||
f 84/161/31 81/162/31 82/163/31
|
||||
f 85/164/32 87/165/32 86/166/32
|
||||
f 83/167/33 85/164/33 81/168/33
|
||||
f 81/168/34 86/169/34 82/170/34
|
||||
f 82/171/35 87/172/35 84/173/35
|
||||
f 84/173/36 88/174/36 83/167/36
|
||||
f 92/175/31 89/176/31 90/177/31
|
||||
f 93/178/32 95/179/32 94/180/32
|
||||
f 91/181/33 93/178/33 89/182/33
|
||||
f 89/182/34 94/183/34 90/184/34
|
||||
f 90/185/35 95/186/35 92/187/35
|
||||
f 92/187/36 96/188/36 91/181/36
|
||||
f 84/161/31 83/189/31 81/162/31
|
||||
f 85/164/32 88/174/32 87/165/32
|
||||
f 83/167/33 88/174/33 85/164/33
|
||||
f 81/168/34 85/164/34 86/169/34
|
||||
f 82/171/35 86/190/35 87/172/35
|
||||
f 84/173/36 87/172/36 88/174/36
|
||||
f 92/175/31 91/191/31 89/176/31
|
||||
f 93/178/32 96/188/32 95/179/32
|
||||
f 91/181/33 96/188/33 93/178/33
|
||||
f 89/182/34 93/178/34 94/183/34
|
||||
f 90/185/35 94/192/35 95/186/35
|
||||
f 92/187/36 95/186/36 96/188/36
|
||||
f 161/232/85 158/233/85 159/234/85
|
||||
f 162/235/86 164/236/86 163/237/86
|
||||
f 160/238/87 162/235/87 158/239/87
|
||||
f 158/239/88 163/240/88 159/241/88
|
||||
f 159/242/89 164/243/89 161/244/89
|
||||
f 161/244/90 165/245/90 160/238/90
|
||||
f 169/246/85 166/247/85 167/248/85
|
||||
f 170/249/86 172/250/86 171/251/86
|
||||
f 168/252/87 170/249/87 166/253/87
|
||||
f 166/253/88 171/254/88 167/255/88
|
||||
f 167/256/89 172/257/89 169/258/89
|
||||
f 169/258/90 173/259/90 168/252/90
|
||||
f 161/232/85 160/260/85 158/233/85
|
||||
f 162/235/86 165/245/86 164/236/86
|
||||
f 160/238/87 165/245/87 162/235/87
|
||||
f 158/239/88 162/235/88 163/240/88
|
||||
f 159/242/89 163/261/89 164/243/89
|
||||
f 161/244/90 164/243/90 165/245/90
|
||||
f 169/246/85 168/262/85 166/247/85
|
||||
f 170/249/86 173/259/86 172/250/86
|
||||
f 168/252/87 173/259/87 170/249/87
|
||||
f 166/253/88 170/249/88 171/254/88
|
||||
f 167/256/89 171/263/89 172/257/89
|
||||
f 169/258/90 172/257/90 173/259/90
|
||||
o RA17
|
||||
v -0.125000 1.750000 0.250000
|
||||
v 0.125000 1.750000 0.250000
|
||||
@ -512,18 +840,18 @@ vn 0.0000 -1.0000 0.0000
|
||||
vn 1.0000 0.0000 -0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
s off
|
||||
f 99/193/37 97/194/37 98/195/37
|
||||
f 102/196/38 103/197/38 101/198/38
|
||||
f 100/199/39 102/200/39 97/194/39
|
||||
f 99/201/40 104/202/40 100/203/40
|
||||
f 98/195/41 103/197/41 99/193/41
|
||||
f 98/195/42 102/204/42 101/198/42
|
||||
f 99/193/37 100/199/37 97/194/37
|
||||
f 102/196/38 104/205/38 103/197/38
|
||||
f 100/199/39 104/206/39 102/200/39
|
||||
f 99/201/40 103/207/40 104/202/40
|
||||
f 98/195/41 101/198/41 103/197/41
|
||||
f 98/195/42 97/208/42 102/204/42
|
||||
f 176/264/91 174/265/91 175/266/91
|
||||
f 179/267/92 180/268/92 178/269/92
|
||||
f 177/270/93 179/271/93 174/265/93
|
||||
f 176/272/94 181/273/94 177/274/94
|
||||
f 175/266/95 180/268/95 176/264/95
|
||||
f 175/266/96 179/275/96 178/269/96
|
||||
f 176/264/91 177/270/91 174/265/91
|
||||
f 179/267/92 181/276/92 180/268/92
|
||||
f 177/270/93 181/277/93 179/271/93
|
||||
f 176/272/94 180/278/94 181/273/94
|
||||
f 175/266/95 178/269/95 180/268/95
|
||||
f 175/266/96 174/279/96 179/275/96
|
||||
o LA17
|
||||
v -0.125000 1.000000 -0.500000
|
||||
v 0.125000 1.000000 -0.500000
|
||||
@ -556,18 +884,18 @@ vn 0.0000 -1.0000 0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
vn -1.0000 0.0000 -0.0000
|
||||
s off
|
||||
f 106/209/43 107/210/43 108/211/43
|
||||
f 111/212/44 107/213/44 112/214/44
|
||||
f 106/209/45 111/212/45 110/215/45
|
||||
f 105/216/46 110/217/46 109/218/46
|
||||
f 112/219/47 110/215/47 111/212/47
|
||||
f 107/220/48 109/221/48 112/219/48
|
||||
f 106/209/43 105/222/43 107/210/43
|
||||
f 111/212/44 108/211/44 107/213/44
|
||||
f 106/209/45 108/211/45 111/212/45
|
||||
f 105/216/46 106/223/46 110/217/46
|
||||
f 112/219/47 109/221/47 110/215/47
|
||||
f 107/220/48 105/224/48 109/221/48
|
||||
f 183/280/97 184/281/97 185/282/97
|
||||
f 188/283/98 184/284/98 189/285/98
|
||||
f 183/280/99 188/283/99 187/286/99
|
||||
f 182/287/100 187/288/100 186/289/100
|
||||
f 189/290/101 187/286/101 188/283/101
|
||||
f 184/291/102 186/292/102 189/290/102
|
||||
f 183/280/97 182/293/97 184/281/97
|
||||
f 188/283/98 185/282/98 184/284/98
|
||||
f 183/280/99 185/282/99 188/283/99
|
||||
f 182/287/100 183/294/100 187/288/100
|
||||
f 189/290/101 186/292/101 187/286/101
|
||||
f 184/291/102 182/295/102 186/292/102
|
||||
o LL17
|
||||
v -0.125000 1.000000 0.000000
|
||||
v -0.125000 0.250000 0.000000
|
||||
@ -600,18 +928,18 @@ vn 0.0000 0.0000 1.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
s off
|
||||
f 115/225/49 117/226/49 113/227/49
|
||||
f 120/228/50 114/229/50 118/230/50
|
||||
f 120/231/51 115/225/51 116/232/51
|
||||
f 116/232/52 113/233/52 114/234/52
|
||||
f 114/234/53 117/235/53 118/236/53
|
||||
f 118/237/54 119/238/54 120/231/54
|
||||
f 115/225/49 119/238/49 117/226/49
|
||||
f 120/228/50 116/239/50 114/229/50
|
||||
f 120/231/51 119/238/51 115/225/51
|
||||
f 116/232/52 115/225/52 113/233/52
|
||||
f 114/234/53 113/233/53 117/235/53
|
||||
f 118/237/54 117/240/54 119/238/54
|
||||
f 192/296/103 194/297/103 190/298/103
|
||||
f 197/299/104 191/300/104 195/301/104
|
||||
f 197/302/105 192/296/105 193/303/105
|
||||
f 193/303/106 190/304/106 191/305/106
|
||||
f 191/305/107 194/306/107 195/307/107
|
||||
f 195/308/108 196/309/108 197/302/108
|
||||
f 192/296/103 196/309/103 194/297/103
|
||||
f 197/299/104 193/310/104 191/300/104
|
||||
f 197/302/105 196/309/105 192/296/105
|
||||
f 193/303/106 192/296/106 190/304/106
|
||||
f 191/305/107 190/304/107 194/306/107
|
||||
f 195/308/108 194/311/108 196/309/108
|
||||
o RL17
|
||||
v 0.125000 0.250000 0.250000
|
||||
v 0.125000 1.000000 0.250000
|
||||
@ -644,18 +972,18 @@ vn 1.0000 0.0000 -0.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
s off
|
||||
f 122/241/55 123/242/55 121/243/55
|
||||
f 124/244/56 127/245/56 123/246/56
|
||||
f 128/247/57 125/248/57 127/245/57
|
||||
f 126/249/58 121/243/58 125/248/58
|
||||
f 127/250/59 121/251/59 123/252/59
|
||||
f 124/253/60 126/249/60 128/254/60
|
||||
f 122/241/55 124/255/55 123/242/55
|
||||
f 124/244/56 128/247/56 127/245/56
|
||||
f 128/247/57 126/249/57 125/248/57
|
||||
f 126/249/58 122/241/58 121/243/58
|
||||
f 127/250/59 125/256/59 121/251/59
|
||||
f 124/253/60 122/241/60 126/249/60
|
||||
f 199/312/109 200/313/109 198/314/109
|
||||
f 201/315/110 204/316/110 200/317/110
|
||||
f 205/318/111 202/319/111 204/316/111
|
||||
f 203/320/112 198/314/112 202/319/112
|
||||
f 204/321/113 198/322/113 200/323/113
|
||||
f 201/324/114 203/320/114 205/325/114
|
||||
f 199/312/109 201/326/109 200/313/109
|
||||
f 201/315/110 205/318/110 204/316/110
|
||||
f 205/318/111 203/320/111 202/319/111
|
||||
f 203/320/112 199/312/112 198/314/112
|
||||
f 204/321/113 202/327/113 198/322/113
|
||||
f 201/324/114 199/312/114 203/320/114
|
||||
o Body17
|
||||
v 0.125000 1.750000 0.250000
|
||||
v -0.125000 1.750000 0.250000
|
||||
@ -688,18 +1016,18 @@ vn 0.0000 0.0000 -1.0000
|
||||
vn 1.0000 0.0000 -0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
s off
|
||||
f 129/257/61 132/258/61 130/259/61
|
||||
f 135/260/62 133/261/62 134/262/62
|
||||
f 132/263/63 134/264/63 130/265/63
|
||||
f 131/266/64 135/267/64 132/263/64
|
||||
f 129/257/65 136/268/65 131/266/65
|
||||
f 130/269/66 133/270/66 129/257/66
|
||||
f 129/257/61 131/266/61 132/258/61
|
||||
f 135/260/62 136/271/62 133/261/62
|
||||
f 132/263/63 135/267/63 134/264/63
|
||||
f 131/266/64 136/268/64 135/267/64
|
||||
f 129/257/65 133/270/65 136/268/65
|
||||
f 130/269/66 134/272/66 133/270/66
|
||||
f 206/328/115 209/329/115 207/330/115
|
||||
f 212/331/116 210/332/116 211/333/116
|
||||
f 209/334/117 211/335/117 207/336/117
|
||||
f 208/337/118 212/338/118 209/334/118
|
||||
f 206/328/119 213/339/119 208/337/119
|
||||
f 207/340/120 210/341/120 206/328/120
|
||||
f 206/328/115 208/337/115 209/329/115
|
||||
f 212/331/116 213/342/116 210/332/116
|
||||
f 209/334/117 212/338/117 211/335/117
|
||||
f 208/337/118 213/339/118 212/338/118
|
||||
f 206/328/119 210/341/119 213/339/119
|
||||
f 207/340/120 211/343/120 210/341/120
|
||||
o Socket
|
||||
v 0.625000 0.000000 0.625000
|
||||
v 0.625000 0.000000 -0.625000
|
||||
@ -736,18 +1064,18 @@ vn 1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
s off
|
||||
f 139/273/67 138/274/67 137/275/67
|
||||
f 143/276/68 141/277/68 142/278/68
|
||||
f 139/279/69 144/280/69 140/281/69
|
||||
f 138/282/70 142/283/70 137/284/70
|
||||
f 140/285/71 143/286/71 138/274/71
|
||||
f 137/287/72 141/277/72 139/288/72
|
||||
f 139/273/67 140/285/67 138/274/67
|
||||
f 143/276/68 144/289/68 141/277/68
|
||||
f 139/279/69 141/290/69 144/280/69
|
||||
f 138/282/70 143/291/70 142/283/70
|
||||
f 140/285/71 144/292/71 143/286/71
|
||||
f 137/287/72 142/278/72 141/277/72
|
||||
f 216/344/121 215/345/121 214/346/121
|
||||
f 220/347/122 218/348/122 219/349/122
|
||||
f 216/350/123 221/351/123 217/352/123
|
||||
f 215/353/124 219/354/124 214/355/124
|
||||
f 217/356/125 220/357/125 215/345/125
|
||||
f 214/358/126 218/348/126 216/359/126
|
||||
f 216/344/121 217/356/121 215/345/121
|
||||
f 220/347/122 221/360/122 218/348/122
|
||||
f 216/350/123 218/361/123 221/351/123
|
||||
f 215/353/124 220/362/124 219/354/124
|
||||
f 217/356/125 221/363/125 220/357/125
|
||||
f 214/358/126 219/349/126 218/348/126
|
||||
o Body
|
||||
v 0.125000 1.750000 0.250000
|
||||
v -0.125000 1.750000 0.250000
|
||||
@ -804,27 +1132,27 @@ vn 0.0000 0.0000 -1.0000
|
||||
vn 1.0000 0.0000 -0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
s off
|
||||
f 145/293/73 148/294/73 146/295/73
|
||||
f 151/296/74 149/297/74 150/298/74
|
||||
f 148/299/75 150/300/75 146/301/75
|
||||
f 147/302/76 151/303/76 148/299/76
|
||||
f 145/293/77 152/304/77 147/302/77
|
||||
f 146/305/78 149/306/78 145/293/78
|
||||
f 153/307/73 156/308/73 154/309/73
|
||||
f 158/310/74 160/311/74 157/312/74
|
||||
f 156/313/75 158/314/75 154/315/75
|
||||
f 155/316/76 159/317/76 156/313/76
|
||||
f 153/307/77 160/318/77 155/316/77
|
||||
f 154/319/78 157/320/78 153/307/78
|
||||
f 145/293/73 147/302/73 148/294/73
|
||||
f 151/296/74 152/321/74 149/297/74
|
||||
f 148/299/75 151/303/75 150/300/75
|
||||
f 147/302/76 152/304/76 151/303/76
|
||||
f 145/293/77 149/306/77 152/304/77
|
||||
f 146/305/78 150/322/78 149/306/78
|
||||
f 153/307/73 155/316/73 156/308/73
|
||||
f 158/310/74 159/323/74 160/311/74
|
||||
f 156/313/75 159/317/75 158/314/75
|
||||
f 155/316/76 160/318/76 159/317/76
|
||||
f 153/307/77 157/320/77 160/318/77
|
||||
f 154/319/78 158/324/78 157/320/78
|
||||
f 222/364/127 225/365/127 223/366/127
|
||||
f 228/367/128 226/368/128 227/369/128
|
||||
f 225/370/129 227/371/129 223/372/129
|
||||
f 224/373/130 228/374/130 225/370/130
|
||||
f 222/364/131 229/375/131 224/373/131
|
||||
f 223/376/132 226/377/132 222/364/132
|
||||
f 230/378/127 233/379/127 231/380/127
|
||||
f 235/381/128 237/382/128 234/383/128
|
||||
f 233/384/129 235/385/129 231/386/129
|
||||
f 232/387/130 236/388/130 233/384/130
|
||||
f 230/378/131 237/389/131 232/387/131
|
||||
f 231/390/132 234/391/132 230/378/132
|
||||
f 222/364/127 224/373/127 225/365/127
|
||||
f 228/367/128 229/392/128 226/368/128
|
||||
f 225/370/129 228/374/129 227/371/129
|
||||
f 224/373/130 229/375/130 228/374/130
|
||||
f 222/364/131 226/377/131 229/375/131
|
||||
f 223/376/132 227/393/132 226/377/132
|
||||
f 230/378/127 232/387/127 233/379/127
|
||||
f 235/381/128 236/394/128 237/382/128
|
||||
f 233/384/129 236/388/129 235/385/129
|
||||
f 232/387/130 237/389/130 236/388/130
|
||||
f 230/378/131 234/391/131 237/389/131
|
||||
f 231/390/132 235/395/132 234/391/132
|
||||
|
||||
@ -37,6 +37,7 @@
|
||||
"block.rbmk_explosion": {"category": "block", "sounds": [{"name": "block/rbmk_explosion", "stream": false}]},
|
||||
"block.rbmk_az5_cover": {"category": "block", "sounds": [{"name": "block/rbmk_az5_cover", "stream": false}]},
|
||||
"block.chungusLever": {"category": "block", "sounds": [{"name": "block/chungusLever", "stream": false}]},
|
||||
"block.bobble": {"category": "block", "sounds": [{"name": "block/bobble", "stream": false}]},
|
||||
|
||||
"item.techBleep": {"category": "player", "sounds": [{"name": "tool/techBleep", "stream": false}]},
|
||||
"item.techBoop": {"category": "player", "sounds": [{"name": "tool/techBoop", "stream": false}]},
|
||||
|
||||
BIN
src/main/resources/assets/hbm/sounds/block/bobble.ogg
Normal file
|
After Width: | Height: | Size: 504 B |
|
After Width: | Height: | Size: 405 B |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 417 B |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 5.9 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 210 B |
|
After Width: | Height: | Size: 810 B |
BIN
src/main/resources/assets/hbm/textures/models/trinkets/vt.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |