mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
the allmighty flare stack
This commit is contained in:
parent
47eb08dcd7
commit
8779cb3032
@ -5,7 +5,7 @@ import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ITooltipProvider;
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.inventory.fluid.FluidTypeCombustible.FuelGrade;
|
||||
import com.hbm.inventory.fluid.types.FluidTypeCombustible.FuelGrade;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineDiesel;
|
||||
|
||||
@ -1,176 +1,63 @@
|
||||
package com.hbm.blocks.machine;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.blocks.ITooltipProvider;
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.handler.MultiblockHandler;
|
||||
import com.hbm.interfaces.IMultiblock;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.machine.TileEntityDummy;
|
||||
import com.hbm.tileentity.TileEntityProxyCombo;
|
||||
import com.hbm.tileentity.machine.oil.TileEntityMachineGasFlare;
|
||||
|
||||
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockContainer;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class MachineGasFlare extends BlockContainer implements IMultiblock {
|
||||
public class MachineGasFlare extends BlockDummyable implements ITooltipProvider {
|
||||
|
||||
private final Random field_149933_a = new Random();
|
||||
private Random rand;
|
||||
private static boolean keepInventory;
|
||||
|
||||
public MachineGasFlare(Material p_i45386_1_) {
|
||||
super(p_i45386_1_);
|
||||
rand = new Random();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_)
|
||||
{
|
||||
return Item.getItemFromBlock(ModBlocks.machine_flare);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRenderType() {
|
||||
return -1;
|
||||
public MachineGasFlare(Material mat) {
|
||||
super(mat);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean renderAsNormalBlock() {
|
||||
return false;
|
||||
public TileEntity createNewTileEntity(World world, int meta) {
|
||||
|
||||
if(meta >= 12) return new TileEntityMachineGasFlare();
|
||||
if(meta >= 6) return new TileEntityProxyCombo(false, true, true);
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
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())
|
||||
{
|
||||
TileEntityMachineGasFlare entity = (TileEntityMachineGasFlare) world.getTileEntity(x, y, z);
|
||||
if(entity != null)
|
||||
{
|
||||
FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_machine_flare, world, x, y, z);
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
return this.standardOpenBehavior(world, x, y, z, player, ModBlocks.guiID_machine_flare);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
|
||||
return new TileEntityMachineGasFlare();
|
||||
public int[] getDimensions() {
|
||||
return new int[] {11, 0, 1, 1, 1, 1};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_)
|
||||
{
|
||||
if (!keepInventory)
|
||||
{
|
||||
TileEntityMachineGasFlare tileentityfurnace = (TileEntityMachineGasFlare)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_);
|
||||
|
||||
if (tileentityfurnace != null)
|
||||
{
|
||||
for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1)
|
||||
{
|
||||
ItemStack itemstack = tileentityfurnace.getStackInSlot(i1);
|
||||
|
||||
if (itemstack != null)
|
||||
{
|
||||
float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
|
||||
float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
|
||||
float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
|
||||
|
||||
while (itemstack.stackSize > 0)
|
||||
{
|
||||
int j1 = this.field_149933_a.nextInt(21) + 10;
|
||||
|
||||
if (j1 > itemstack.stackSize)
|
||||
{
|
||||
j1 = itemstack.stackSize;
|
||||
}
|
||||
|
||||
itemstack.stackSize -= j1;
|
||||
EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage()));
|
||||
|
||||
if (itemstack.hasTagCompound())
|
||||
{
|
||||
entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy());
|
||||
}
|
||||
|
||||
float f3 = 0.05F;
|
||||
entityitem.motionX = (float)this.field_149933_a.nextGaussian() * f3;
|
||||
entityitem.motionY = (float)this.field_149933_a.nextGaussian() * f3 + 0.2F;
|
||||
entityitem.motionZ = (float)this.field_149933_a.nextGaussian() * f3;
|
||||
p_149749_1_.spawnEntityInWorld(entityitem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_);
|
||||
}
|
||||
}
|
||||
|
||||
super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) {
|
||||
public int getOffset() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.flareDimension)) {
|
||||
MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.flareDimension, ModBlocks.dummy_block_flare);
|
||||
@Override
|
||||
public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) {
|
||||
super.fillSpace(world, x, y, z, dir, o);
|
||||
this.makeExtra(world, x + dir.offsetX * o + 1, y, z + dir.offsetZ * o);
|
||||
this.makeExtra(world, x + dir.offsetX * o - 1, y, z + dir.offsetZ * o);
|
||||
this.makeExtra(world, x + dir.offsetX * o, y, z + dir.offsetZ * o + 1);
|
||||
this.makeExtra(world, x + dir.offsetX * o, y, z + dir.offsetZ * o - 1);
|
||||
}
|
||||
|
||||
DummyBlockFlare.safeBreak = true;
|
||||
world.setBlock(x, y, z + 1, ModBlocks.dummy_port_flare);
|
||||
TileEntity te = world.getTileEntity(x, y, z + 1);
|
||||
if(te instanceof TileEntityDummy) {
|
||||
TileEntityDummy dummy = (TileEntityDummy)te;
|
||||
dummy.targetX = x;
|
||||
dummy.targetY = y;
|
||||
dummy.targetZ = z;
|
||||
}
|
||||
world.setBlock(x, y, z - 1, ModBlocks.dummy_port_flare);
|
||||
TileEntity te2 = world.getTileEntity(x, y, z - 1);
|
||||
if(te instanceof TileEntityDummy) {
|
||||
TileEntityDummy dummy = (TileEntityDummy)te2;
|
||||
dummy.targetX = x;
|
||||
dummy.targetY = y;
|
||||
dummy.targetZ = z;
|
||||
}
|
||||
world.setBlock(x + 1, y, z, ModBlocks.dummy_port_flare);
|
||||
TileEntity te3 = world.getTileEntity(x + 1, y, z);
|
||||
if(te3 instanceof TileEntityDummy) {
|
||||
TileEntityDummy dummy = (TileEntityDummy)te3;
|
||||
dummy.targetX = x;
|
||||
dummy.targetY = y;
|
||||
dummy.targetZ = z;
|
||||
}
|
||||
world.setBlock(x - 1, y, z, ModBlocks.dummy_port_flare);
|
||||
TileEntity te4 = world.getTileEntity(x - 1, y, z);
|
||||
if(te4 instanceof TileEntityDummy) {
|
||||
TileEntityDummy dummy = (TileEntityDummy)te4;
|
||||
dummy.targetX = x;
|
||||
dummy.targetY = y;
|
||||
dummy.targetZ = z;
|
||||
}
|
||||
DummyBlockFlare.safeBreak = false;
|
||||
|
||||
} else
|
||||
world.func_147480_a(x, y, z, true);
|
||||
@Override
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
|
||||
|
||||
list.add(EnumChatFormatting.YELLOW + "Fuel efficiency:");
|
||||
list.add(EnumChatFormatting.YELLOW + "-Flammable Gasses: 50%");
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,7 +5,7 @@ import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ITooltipProvider;
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.inventory.fluid.FluidTypeCombustible.FuelGrade;
|
||||
import com.hbm.inventory.fluid.types.FluidTypeCombustible.FuelGrade;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine;
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@ import com.hbm.blocks.ITooltipProvider;
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.handler.MultiblockHandler;
|
||||
import com.hbm.interfaces.IMultiblock;
|
||||
import com.hbm.inventory.fluid.FluidTypeCombustible.FuelGrade;
|
||||
import com.hbm.inventory.fluid.types.FluidTypeCombustible.FuelGrade;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.machine.TileEntityDummy;
|
||||
|
||||
@ -35,7 +35,7 @@ public class EntityGasFlameFX extends EntityModFX
|
||||
this.smokeParticleScale = this.particleScale;
|
||||
//this.particleMaxAge = (int)(8.0D / (Math.random() * 0.8D + 0.2D));
|
||||
//this.particleMaxAge = (int)((float)this.particleMaxAge * p_i1226_14_);
|
||||
this.noClip = false;
|
||||
this.noClip = true;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -71,9 +71,7 @@ public class EntityGasFlameFX extends EntityModFX
|
||||
this.motionZ *= 0.699999988079071D;
|
||||
}
|
||||
|
||||
this.posX += this.motionX;
|
||||
this.posY += this.motionY;
|
||||
this.posZ += this.motionZ;
|
||||
this.moveEntity(motionX, motionY, motionZ);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -1,8 +1,10 @@
|
||||
package com.hbm.inventory.container;
|
||||
|
||||
import com.hbm.inventory.SlotMachineOutput;
|
||||
import com.hbm.items.machine.IItemFluidIdentifier;
|
||||
import com.hbm.tileentity.machine.oil.TileEntityMachineGasFlare;
|
||||
|
||||
import api.hbm.energy.IBatteryItem;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
@ -18,18 +20,25 @@ public class ContainerMachineGasFlare extends Container {
|
||||
|
||||
testNuke = tedf;
|
||||
|
||||
this.addSlotToContainer(new Slot(tedf, 0, 44, 53));
|
||||
this.addSlotToContainer(new Slot(tedf, 1, 134, 17));
|
||||
this.addSlotToContainer(new SlotMachineOutput(tedf, 2, 134, 53));
|
||||
//Battery
|
||||
this.addSlotToContainer(new Slot(tedf, 0, 143, 71));
|
||||
//Fluid in
|
||||
this.addSlotToContainer(new Slot(tedf, 1, 17, 17));
|
||||
//Fluid out
|
||||
this.addSlotToContainer(new SlotMachineOutput(tedf, 2, 17, 53));
|
||||
//Fluid ID
|
||||
this.addSlotToContainer(new Slot(tedf, 3, 35, 71));
|
||||
|
||||
int offset = 37;
|
||||
|
||||
for(int i = 0; i < 3; i++) {
|
||||
for(int j = 0; j < 9; j++) {
|
||||
this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18));
|
||||
this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18 + offset));
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 0; i < 9; i++) {
|
||||
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142));
|
||||
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + offset));
|
||||
}
|
||||
}
|
||||
|
||||
@ -47,12 +56,25 @@ public class ContainerMachineGasFlare extends Container {
|
||||
ItemStack var5 = var4.getStack();
|
||||
var3 = var5.copy();
|
||||
|
||||
if(par2 <= 1) {
|
||||
if(!this.mergeItemStack(var5, 3, this.inventorySlots.size(), true)) {
|
||||
if(par2 <= 3) {
|
||||
if(!this.mergeItemStack(var5, 4, this.inventorySlots.size(), true)) {
|
||||
return null;
|
||||
}
|
||||
} else if(!this.mergeItemStack(var5, 0, 2, false)) {
|
||||
return null;
|
||||
} else {
|
||||
|
||||
if(var3.getItem() instanceof IItemFluidIdentifier) {
|
||||
if(!this.mergeItemStack(var5, 3, 4, true)) {
|
||||
return null;
|
||||
}
|
||||
} else if(var3.getItem() instanceof IBatteryItem) {
|
||||
if(!this.mergeItemStack(var5, 0, 1, true)) {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
if(!this.mergeItemStack(var5, 1, 2, true)) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(var5.stackSize == 0) {
|
||||
|
||||
@ -173,9 +173,22 @@ public class FluidType {
|
||||
|
||||
if(traits.contains(FluidTrait.NO_CONTAINER)) info.add(EnumChatFormatting.RED + "Cannot be stored in any universal tank");
|
||||
if(traits.contains(FluidTrait.LEAD_CONTAINER)) info.add(EnumChatFormatting.YELLOW + "Requires hazardous material tank to hold");
|
||||
|
||||
info.add("");
|
||||
info.add(EnumChatFormatting.RED + "[DEBUG]");
|
||||
|
||||
for(FluidTrait trait : traits) {
|
||||
info.add(EnumChatFormatting.RED + "-" + trait.name());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Metadata for describing how the fluid acts, like being corrosive, not having fluid IDs or being only stored in certain containers.
|
||||
*/
|
||||
public static enum FluidTrait {
|
||||
LIQUID,
|
||||
GASEOUS,
|
||||
PETROCHEMICAL,
|
||||
AMAT,
|
||||
CORROSIVE,
|
||||
CORROSIVE_2,
|
||||
|
||||
@ -6,7 +6,8 @@ import java.util.List;
|
||||
|
||||
import com.hbm.inventory.fluid.FluidType.ExtContainer;
|
||||
import com.hbm.inventory.fluid.FluidType.FluidTrait;
|
||||
import com.hbm.inventory.fluid.FluidTypeCombustible.FuelGrade;
|
||||
import com.hbm.inventory.fluid.types.*;
|
||||
import com.hbm.inventory.fluid.types.FluidTypeCombustible.FuelGrade;
|
||||
import com.hbm.render.util.EnumSymbol;
|
||||
|
||||
public class Fluids {
|
||||
@ -112,83 +113,83 @@ public class Fluids {
|
||||
|
||||
NONE = new FluidType( "NONE", 0x888888, 0, 0, 0, EnumSymbol.NONE);
|
||||
WATER = new FluidType( "WATER", 0x3333FF, 0, 0, 0, EnumSymbol.NONE);
|
||||
STEAM = new FluidType( "STEAM", 0xe5e5e5, 3, 0, 0, EnumSymbol.NONE).setTemp(100).setCompression(0.01D);
|
||||
HOTSTEAM = new FluidType( "HOTSTEAM", 0xE7D6D6, 4, 0, 0, EnumSymbol.NONE).setTemp(300).setCompression(0.1D);
|
||||
SUPERHOTSTEAM = new FluidType( "SUPERHOTSTEAM", 0xE7B7B7, 4, 0, 0, EnumSymbol.NONE).setTemp(450).setCompression(1D);
|
||||
ULTRAHOTSTEAM = new FluidType( "ULTRAHOTSTEAM", 0xE39393, 4, 0, 0, EnumSymbol.NONE).setTemp(600).setCompression(10D);
|
||||
STEAM = new Gas( "STEAM", 0xe5e5e5, 3, 0, 0, EnumSymbol.NONE).setTemp(100).setCompression(0.01D);
|
||||
HOTSTEAM = new Gas( "HOTSTEAM", 0xE7D6D6, 4, 0, 0, EnumSymbol.NONE).setTemp(300).setCompression(0.1D);
|
||||
SUPERHOTSTEAM = new Gas( "SUPERHOTSTEAM", 0xE7B7B7, 4, 0, 0, EnumSymbol.NONE).setTemp(450).setCompression(1D);
|
||||
ULTRAHOTSTEAM = new Gas( "ULTRAHOTSTEAM", 0xE39393, 4, 0, 0, EnumSymbol.NONE).setTemp(600).setCompression(10D);
|
||||
COOLANT = new FluidType( "COOLANT", 0xd8fcff, 1, 0, 0, EnumSymbol.NONE).setHeatCap(0.25D);
|
||||
LAVA = new FluidType( "LAVA", 0xFF3300, 4, 0, 0, EnumSymbol.NOWATER).setTemp(1200);
|
||||
DEUTERIUM = new FluidTypeCombustible( "DEUTERIUM", 0x0000FF, 3, 4, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 10_000).setHeatEnergy(5_000);
|
||||
TRITIUM = new FluidTypeCombustible( "TRITIUM", 0x000099, 3, 4, 0, EnumSymbol.RADIATION).setCombustionEnergy(FuelGrade.HIGH, 10_000).setHeatEnergy(5_000);
|
||||
OIL = new FluidTypeFlammable( "OIL", 0x020202, 2, 1, 0, EnumSymbol.NONE).addContainers(0x424242, ExtContainer.CANISTER);
|
||||
HOTOIL = new FluidTypeFlammable( "HOTOIL", 0x300900, 2, 3, 0, EnumSymbol.NONE).setTemp(350);
|
||||
HEAVYOIL = new FluidTypeFlammable( "HEAVYOIL", 0x141312, 2, 1, 0, EnumSymbol.NONE).addContainers(0x513F39, ExtContainer.CANISTER);
|
||||
BITUMEN = new FluidType( "BITUMEN", 0x1f2426, 2, 0, 0, EnumSymbol.NONE).addContainers(0x5A5877, ExtContainer.CANISTER);
|
||||
SMEAR = new FluidTypeFlammable( "SMEAR", 0x190f01, 2, 1, 0, EnumSymbol.NONE).setHeatEnergy(50_000).addContainers(0x624F3B, ExtContainer.CANISTER);
|
||||
HEATINGOIL = new FluidTypeCombustible( "HEATINGOIL", 0x211806, 2, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.LOW, 100_000).setHeatEnergy(150_000).addContainers(0x694235, ExtContainer.CANISTER); //TODO: and so forth
|
||||
RECLAIMED = new FluidTypeCombustible( "RECLAIMED", 0x332b22, 2, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.LOW, 200_000).setHeatEnergy(100_000).addContainers(0xF65723, ExtContainer.CANISTER);
|
||||
PETROIL = new FluidTypeCombustible( "PETROIL", 0x44413d, 1, 3, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.MEDIUM, 300_000).setHeatEnergy(125_000).addContainers(0x2369F6, ExtContainer.CANISTER);
|
||||
LUBRICANT = new FluidType( "LUBRICANT", 0x606060, 2, 1, 0, EnumSymbol.NONE).addContainers(0xF1CC05, ExtContainer.CANISTER);
|
||||
NAPHTHA = new FluidTypeFlammable( "NAPHTHA", 0x595744, 2, 1, 0, EnumSymbol.NONE).addContainers(0x5F6D44, ExtContainer.CANISTER);
|
||||
DIESEL = new FluidTypeCombustible( "DIESEL", 0xf2eed5, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 500_000).setHeatEnergy(200_000).addContainers(0xFF2C2C, ExtContainer.CANISTER);
|
||||
LIGHTOIL = new FluidTypeFlammable( "LIGHTOIL", 0x8c7451, 1, 2, 0, EnumSymbol.NONE).addContainers(0xB46B52, ExtContainer.CANISTER);
|
||||
KEROSENE = new FluidTypeCombustible( "KEROSENE", 0xffa5d2, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.AERO, 1_250_000).setHeatEnergy(300_000).addContainers(0xFF377D, ExtContainer.CANISTER);
|
||||
GAS = new FluidTypeFlammable( "GAS", 0xfffeed, 1, 4, 1, EnumSymbol.NONE);
|
||||
PETROLEUM = new FluidTypeFlammable( "PETROLEUM", 0x7cb7c9, 1, 4, 1, EnumSymbol.NONE);
|
||||
LPG = new FluidTypeCombustible( "LPG", 0x4747EA, 1, 3, 1, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 450_000).setHeatEnergy(200_000);
|
||||
BIOGAS = new FluidTypeFlammable( "BIOGAS", 0xbfd37c, 1, 4, 1, EnumSymbol.NONE);
|
||||
BIOFUEL = new FluidTypeCombustible( "BIOFUEL", 0xeef274, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 400_000).setHeatEnergy(150_000).addContainers(0x9EB623, ExtContainer.CANISTER);
|
||||
NITAN = new FluidTypeCombustible( "NITAN", 0x8018ad, 2, 4, 1, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 5_000_000).setHeatEnergy(2_000_000).addContainers(0x6B238C, ExtContainer.CANISTER);
|
||||
UF6 = new FluidType( "UF6", 0xD1CEBE, 4, 0, 2, EnumSymbol.RADIATION).addTraits(FluidTrait.CORROSIVE);
|
||||
PUF6 = new FluidType( "PUF6", 0x4C4C4C, 4, 0, 4, EnumSymbol.RADIATION).addTraits(FluidTrait.CORROSIVE);
|
||||
DEUTERIUM = new CombustibleGas( "DEUTERIUM", 0x0000FF, 3, 4, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 10_000).setHeatEnergy(5_000);
|
||||
TRITIUM = new CombustibleGas( "TRITIUM", 0x000099, 3, 4, 0, EnumSymbol.RADIATION).setCombustionEnergy(FuelGrade.HIGH, 10_000).setHeatEnergy(5_000);
|
||||
OIL = new Oil( "OIL", 0x020202, 2, 1, 0, EnumSymbol.NONE).addContainers(0x424242, ExtContainer.CANISTER);
|
||||
HOTOIL = new Oil( "HOTOIL", 0x300900, 2, 3, 0, EnumSymbol.NONE).setTemp(350);
|
||||
HEAVYOIL = new Oil( "HEAVYOIL", 0x141312, 2, 1, 0, EnumSymbol.NONE).addContainers(0x513F39, ExtContainer.CANISTER);
|
||||
BITUMEN = new Petrochemical( "BITUMEN", 0x1f2426, 2, 0, 0, EnumSymbol.NONE).addContainers(0x5A5877, ExtContainer.CANISTER);
|
||||
SMEAR = new Oil( "SMEAR", 0x190f01, 2, 1, 0, EnumSymbol.NONE).setHeatEnergy(50_000).addContainers(0x624F3B, ExtContainer.CANISTER);
|
||||
HEATINGOIL = new Fuel( "HEATINGOIL", 0x211806, 2, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.LOW, 100_000).setHeatEnergy(150_000).addContainers(0x694235, ExtContainer.CANISTER);
|
||||
RECLAIMED = new Fuel( "RECLAIMED", 0x332b22, 2, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.LOW, 200_000).setHeatEnergy(100_000).addContainers(0xF65723, ExtContainer.CANISTER);
|
||||
PETROIL = new Fuel( "PETROIL", 0x44413d, 1, 3, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.MEDIUM, 300_000).setHeatEnergy(125_000).addContainers(0x2369F6, ExtContainer.CANISTER);
|
||||
LUBRICANT = new Petrochemical( "LUBRICANT", 0x606060, 2, 1, 0, EnumSymbol.NONE).addContainers(0xF1CC05, ExtContainer.CANISTER);
|
||||
NAPHTHA = new Oil( "NAPHTHA", 0x595744, 2, 1, 0, EnumSymbol.NONE).addContainers(0x5F6D44, ExtContainer.CANISTER);
|
||||
DIESEL = new Fuel( "DIESEL", 0xf2eed5, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 500_000).setHeatEnergy(200_000).addContainers(0xFF2C2C, ExtContainer.CANISTER);
|
||||
LIGHTOIL = new Oil( "LIGHTOIL", 0x8c7451, 1, 2, 0, EnumSymbol.NONE).addContainers(0xB46B52, ExtContainer.CANISTER);
|
||||
KEROSENE = new Fuel( "KEROSENE", 0xffa5d2, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.AERO, 1_250_000).setHeatEnergy(300_000).addContainers(0xFF377D, ExtContainer.CANISTER);
|
||||
GAS = new FlammableOilGas( "GAS", 0xfffeed, 1, 4, 1, EnumSymbol.NONE).setHeatEnergy(10_000);
|
||||
PETROLEUM = new FlammableOilGas( "PETROLEUM", 0x7cb7c9, 1, 4, 1, EnumSymbol.NONE).setHeatEnergy(25_000);
|
||||
LPG = new Fuel( "LPG", 0x4747EA, 1, 3, 1, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 450_000).setHeatEnergy(200_000);
|
||||
BIOGAS = new FlammableOilGas( "BIOGAS", 0xbfd37c, 1, 4, 1, EnumSymbol.NONE);
|
||||
BIOFUEL = new Fuel( "BIOFUEL", 0xeef274, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 400_000).setHeatEnergy(150_000).addContainers(0x9EB623, ExtContainer.CANISTER);
|
||||
NITAN = new Fuel( "NITAN", 0x8018ad, 2, 4, 1, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 5_000_000).setHeatEnergy(2_000_000).addContainers(0x6B238C, ExtContainer.CANISTER);
|
||||
UF6 = new RadioactiveGas( "UF6", 0xD1CEBE, 4, 0, 2, EnumSymbol.RADIATION).addTraits(FluidTrait.CORROSIVE);
|
||||
PUF6 = new RadioactiveGas( "PUF6", 0x4C4C4C, 4, 0, 4, EnumSymbol.RADIATION).addTraits(FluidTrait.CORROSIVE);
|
||||
SAS3 = new FluidType( "SAS3", 0x4ffffc, 5, 0, 4, EnumSymbol.RADIATION).addTraits(FluidTrait.CORROSIVE);
|
||||
SCHRABIDIC = new FluidType( "SCHRABIDIC", 0x006B6B, 5, 0, 5, EnumSymbol.ACID).addTraits(FluidTrait.CORROSIVE_2);
|
||||
AMAT = new FluidType( "AMAT", 0x010101, 5, 0, 5, EnumSymbol.ANTIMATTER).addTraits(FluidTrait.AMAT);
|
||||
ASCHRAB = new FluidType( "ASCHRAB", 0xb50000, 5, 0, 5, EnumSymbol.ANTIMATTER).addTraits(FluidTrait.AMAT);
|
||||
AMAT = new Antimatter( "AMAT", 0x010101, 5, 0, 5, EnumSymbol.ANTIMATTER);
|
||||
ASCHRAB = new Antimatter( "ASCHRAB", 0xb50000, 5, 0, 5, EnumSymbol.ANTIMATTER);
|
||||
ACID = new FluidType( "ACID", 0xfff7aa, 3, 0, 3, EnumSymbol.OXIDIZER).addTraits(FluidTrait.CORROSIVE);
|
||||
WATZ = new FluidType( "WATZ", 0x86653E, 4, 0, 3, EnumSymbol.ACID).addTraits(FluidTrait.CORROSIVE_2);
|
||||
CRYOGEL = new FluidType( "CRYOGEL", 0x32ffff, 2, 0, 0, EnumSymbol.CROYGENIC).setTemp(-170);
|
||||
HYDROGEN = new FluidTypeCombustible( "HYDROGEN", 0x4286f4, 3, 4, 0, EnumSymbol.CROYGENIC).setCombustionEnergy(FuelGrade.HIGH, 10_000).setHeatEnergy(5_000);
|
||||
HYDROGEN = new FluidTypeCombustible( "HYDROGEN", 0x4286f4, 3, 4, 0, EnumSymbol.CROYGENIC).setCombustionEnergy(FuelGrade.HIGH, 10_000).setHeatEnergy(5_000).addTraits(FluidTrait.LIQUID);
|
||||
OXYGEN = new FluidType( "OXYGEN", 0x98bdf9, 3, 0, 0, EnumSymbol.CROYGENIC);
|
||||
XENON = new FluidType( "XENON", 0xba45e8, 0, 0, 0, EnumSymbol.ASPHYXIANT);
|
||||
BALEFIRE = new FluidType( "BALEFIRE", 0x28e02e, 4, 4, 3, EnumSymbol.RADIATION).setTemp(1500).addTraits(FluidTrait.CORROSIVE);
|
||||
MERCURY = new FluidType( "MERCURY", 0x808080, 2, 0, 0, EnumSymbol.NONE);
|
||||
PAIN = new FluidType( "PAIN", 0x938541, 2, 0, 1, EnumSymbol.ACID).setTemp(300).addTraits(FluidTrait.CORROSIVE);
|
||||
WASTEFLUID = new FluidType( "WASTEFLUID", 0x544400, 2, 0, 1, EnumSymbol.RADIATION).addTraits(FluidTrait.NO_CONTAINER);
|
||||
WASTEGAS = new FluidType( "WASTEGAS", 0xB8B8B8, 2, 0, 1, EnumSymbol.RADIATION).addTraits(FluidTrait.NO_CONTAINER);
|
||||
GASOLINE = new FluidTypeCombustible( "GASOLINE", 0x445772, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 1_000_000).setHeatEnergy(400_000).addContainers(0x2F7747, ExtContainer.CANISTER);
|
||||
COALGAS = new FluidTypeCombustible( "COALGAS", 0x445772, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.MEDIUM, 150_000).setHeatEnergy(75_000);
|
||||
SPENTSTEAM = new FluidType( "SPENTSTEAM", 0x445772, 2, 0, 0, EnumSymbol.NONE).addTraits(FluidTrait.NO_CONTAINER).setCompression(1D);
|
||||
FRACKSOL = new FluidType( "FRACKSOL", 0x798A6B, 1, 3, 3, EnumSymbol.ACID).addTraits(FluidTrait.CORROSIVE).addContainers(0x4F887F, ExtContainer.CANISTER);
|
||||
WASTEFLUID = new RadioactiveLiquid( "WASTEFLUID", 0x544400, 2, 0, 1, EnumSymbol.RADIATION).addTraits(FluidTrait.NO_CONTAINER);
|
||||
WASTEGAS = new RadioactiveGas( "WASTEGAS", 0xB8B8B8, 2, 0, 1, EnumSymbol.RADIATION).addTraits(FluidTrait.NO_CONTAINER);
|
||||
GASOLINE = new Fuel( "GASOLINE", 0x445772, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 1_000_000).setHeatEnergy(400_000).addContainers(0x2F7747, ExtContainer.CANISTER);
|
||||
COALGAS = new Fuel( "COALGAS", 0x445772, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.MEDIUM, 150_000).setHeatEnergy(75_000);
|
||||
SPENTSTEAM = new Gas( "SPENTSTEAM", 0x445772, 2, 0, 0, EnumSymbol.NONE).addTraits(FluidTrait.NO_CONTAINER).setCompression(1D);
|
||||
FRACKSOL = new Petrochemical( "FRACKSOL", 0x798A6B, 1, 3, 3, EnumSymbol.ACID).addTraits(FluidTrait.CORROSIVE).addContainers(0x4F887F, ExtContainer.CANISTER);
|
||||
PLASMA_DT = new FluidType( "PLASMA_DT", 0xF7AFDE, 0, 4, 0, EnumSymbol.RADIATION).setTemp(3250).addTraits(FluidTrait.NO_CONTAINER, FluidTrait.NO_ID);
|
||||
PLASMA_HD = new FluidType( "PLASMA_HD", 0xF0ADF4, 0, 4, 0, EnumSymbol.RADIATION).setTemp(2500).addTraits(FluidTrait.NO_CONTAINER, FluidTrait.NO_ID);
|
||||
PLASMA_HT = new FluidType( "PLASMA_HT", 0xD1ABF2, 0, 4, 0, EnumSymbol.RADIATION).setTemp(3000).addTraits(FluidTrait.NO_CONTAINER, FluidTrait.NO_ID);
|
||||
PLASMA_XM = new FluidType( "PLASMA_XM", 0xC6A5FF, 0, 4, 1, EnumSymbol.RADIATION).setTemp(4250).addTraits(FluidTrait.NO_CONTAINER, FluidTrait.NO_ID);
|
||||
PLASMA_BF = new FluidType( "PLASMA_BF", 0xA7F1A3, 4, 5, 4, EnumSymbol.ANTIMATTER).setTemp(8500).addTraits(FluidTrait.NO_CONTAINER, FluidTrait.NO_ID);
|
||||
CARBONDIOXIDE = new FluidType( "CARBONDIOXIDE", 0x404040, 3, 0, 0, EnumSymbol.ASPHYXIANT);
|
||||
CARBONDIOXIDE = new Gas( "CARBONDIOXIDE", 0x404040, 3, 0, 0, EnumSymbol.ASPHYXIANT);
|
||||
PLASMA_DH3 = new FluidType( "PLASMA_DH3", 0xFF83AA, 0, 4, 0, EnumSymbol.RADIATION).setTemp(3480).addTraits(FluidTrait.NO_CONTAINER, FluidTrait.NO_ID);
|
||||
HELIUM3 = new FluidType( "HELIUM3", 0xFCF0C4, 3, 4, 0, EnumSymbol.ASPHYXIANT);
|
||||
HELIUM3 = new Gas( "HELIUM3", 0xFCF0C4, 3, 4, 0, EnumSymbol.ASPHYXIANT);
|
||||
DEATH = new FluidType( "DEATH", 0x717A88, 2, 0, 1, EnumSymbol.ACID).setTemp(300).addTraits(FluidTrait.CORROSIVE_2, FluidTrait.LEAD_CONTAINER);
|
||||
ETHANOL = new FluidTypeCombustible( "ETHANOL", 0xe0ffff, 2, 3, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 200_000).setHeatEnergy(75_000).addContainers(0xEAFFF3, ExtContainer.CANISTER);
|
||||
ETHANOL = new Fuel( "ETHANOL", 0xe0ffff, 2, 3, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 200_000).setHeatEnergy(75_000).addContainers(0xEAFFF3, ExtContainer.CANISTER);
|
||||
HEAVYWATER = new FluidType( "HEAVYWATER", 0x00a0b0, 1, 0, 0, EnumSymbol.NONE);
|
||||
CRACKOIL = new FluidTypeFlammable( "CRACKOIL", 0x020202, 2, 1, 0, EnumSymbol.NONE);
|
||||
COALOIL = new FluidTypeFlammable( "COALOIL", 0x020202, 2, 1, 0, EnumSymbol.NONE);
|
||||
HOTCRACKOIL = new FluidTypeFlammable( "HOTCRACKOIL", 0x300900, 2, 3, 0, EnumSymbol.NONE).setTemp(350);
|
||||
NAPHTHA_CRACK = new FluidTypeFlammable( "NAPHTHA_CRACK", 0x595744, 2, 1, 0, EnumSymbol.NONE);
|
||||
LIGHTOIL_CRACK = new FluidTypeFlammable( "LIGHTOIL_CRACK", 0x8c7451, 1, 2, 0, EnumSymbol.NONE);
|
||||
DIESEL_CRACK = new FluidTypeCombustible( "DIESEL_CRACK", 0xf2eed5, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 450_000).setHeatEnergy(200_000);
|
||||
AROMATICS = new FluidTypeFlammable( "AROMATICS", 0x68A09A, 1, 4, 1, EnumSymbol.NONE);
|
||||
UNSATURATEDS = new FluidTypeFlammable( "UNSATURATEDS", 0x628FAE, 1, 4, 1, EnumSymbol.NONE);
|
||||
SALIENT = new FluidType(69, "SALIENT", 0x457F2D, 0, 0, 0, EnumSymbol.NONE);
|
||||
CRACKOIL = new Oil( "CRACKOIL", 0x020202, 2, 1, 0, EnumSymbol.NONE);
|
||||
COALOIL = new Oil( "COALOIL", 0x020202, 2, 1, 0, EnumSymbol.NONE);
|
||||
HOTCRACKOIL = new Oil( "HOTCRACKOIL", 0x300900, 2, 3, 0, EnumSymbol.NONE).setTemp(350);
|
||||
NAPHTHA_CRACK = new Oil( "NAPHTHA_CRACK", 0x595744, 2, 1, 0, EnumSymbol.NONE);
|
||||
LIGHTOIL_CRACK = new Oil( "LIGHTOIL_CRACK", 0x8c7451, 1, 2, 0, EnumSymbol.NONE);
|
||||
DIESEL_CRACK = new Fuel( "DIESEL_CRACK", 0xf2eed5, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 450_000).setHeatEnergy(200_000);
|
||||
AROMATICS = new Oil( "AROMATICS", 0x68A09A, 1, 4, 1, EnumSymbol.NONE);
|
||||
UNSATURATEDS = new Oil( "UNSATURATEDS", 0x628FAE, 1, 4, 1, EnumSymbol.NONE);
|
||||
SALIENT = new FluidType( "SALIENT", 0x457F2D, 0, 0, 0, EnumSymbol.NONE);
|
||||
XPJUICE = new FluidType( "XPJUICE", 0xBBFF09, 0, 0, 0, EnumSymbol.NONE);
|
||||
ENDERJUICE = new FluidType( "ENDERJUICE", 0x127766, 0, 0, 0, EnumSymbol.NONE);
|
||||
PETROIL_LEADED = new FluidTypeCombustible( "PETROIL_LEADED", 0x44413d, 1, 3, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.MEDIUM, 450_000).setHeatEnergy(((FluidTypeFlammable)PETROIL).getHeatEnergy());
|
||||
GASOLINE_LEADED = new FluidTypeCombustible( "GASOLINE_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 1_500_000).setHeatEnergy(((FluidTypeFlammable)GASOLINE).getHeatEnergy());
|
||||
COALGAS_LEADED = new FluidTypeCombustible( "COALGAS_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.MEDIUM, 250_000).setHeatEnergy(((FluidTypeFlammable)COALGAS).getHeatEnergy());
|
||||
PETROIL_LEADED = new Fuel( "PETROIL_LEADED", 0x44413d, 1, 3, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.MEDIUM, 450_000).setHeatEnergy(((FluidTypeFlammable)PETROIL).getHeatEnergy());
|
||||
GASOLINE_LEADED = new Fuel( "GASOLINE_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.HIGH, 1_500_000).setHeatEnergy(((FluidTypeFlammable)GASOLINE).getHeatEnergy());
|
||||
COALGAS_LEADED = new Fuel( "COALGAS_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).setCombustionEnergy(FuelGrade.MEDIUM, 250_000).setHeatEnergy(((FluidTypeFlammable)COALGAS).getHeatEnergy());
|
||||
SULFURIC_ACID = new FluidType( "SULFURIC_ACID", 0xB0AA64, 3, 0, 2, EnumSymbol.ACID).addTraits(FluidTrait.CORROSIVE);
|
||||
COOLANT_HOT = new FluidType( "COOLANT_HOT", 0x99525E, 1, 0, 0, EnumSymbol.NONE).setTemp(600).setHeatCap(COOLANT.heatCap);
|
||||
MUG = new FluidType( "MUG", 0x4B2D28, 0, 0, 0, EnumSymbol.NONE).setHeatCap(1D);
|
||||
MUG_HOT = new FluidType( "MUG_HOT", 0x6B2A20, 0, 0, 0, EnumSymbol.NONE).setHeatCap(MUG.heatCap).setTemp(500);
|
||||
MUG_HOT = new FluidType(78, "MUG_HOT", 0x6B2A20, 0, 0, 0, EnumSymbol.NONE).setHeatCap(MUG.heatCap).setTemp(500);
|
||||
|
||||
|
||||
// ^ ^ ^ ^ ^ ^ ^ ^
|
||||
|
||||
12
src/main/java/com/hbm/inventory/fluid/types/Antimatter.java
Normal file
12
src/main/java/com/hbm/inventory/fluid/types/Antimatter.java
Normal file
@ -0,0 +1,12 @@
|
||||
package com.hbm.inventory.fluid.types;
|
||||
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.render.util.EnumSymbol;
|
||||
|
||||
public class Antimatter extends FluidType {
|
||||
|
||||
public Antimatter(String name, int color, int p, int f, int r, EnumSymbol symbol) {
|
||||
super(name, color, p, f, r, symbol);
|
||||
this.addTraits(FluidTrait.AMAT);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
package com.hbm.inventory.fluid.types;
|
||||
|
||||
import com.hbm.render.util.EnumSymbol;
|
||||
|
||||
public class CombustibleGas extends FluidTypeCombustible {
|
||||
|
||||
public CombustibleGas(String compat, int color, int p, int f, int r, EnumSymbol symbol) {
|
||||
super(compat, color, p, f, r, symbol);
|
||||
this.addTraits(FluidTrait.GASEOUS);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
package com.hbm.inventory.fluid.types;
|
||||
|
||||
import com.hbm.render.util.EnumSymbol;
|
||||
|
||||
public class FlammableGas extends FluidTypeFlammable {
|
||||
|
||||
public FlammableGas(String compat, int color, int p, int f, int r, EnumSymbol symbol) {
|
||||
super(compat, color, p, f, r, symbol);
|
||||
this.addTraits(FluidTrait.GASEOUS);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
package com.hbm.inventory.fluid.types;
|
||||
|
||||
import com.hbm.render.util.EnumSymbol;
|
||||
|
||||
public class FlammableOilGas extends FlammableGas {
|
||||
|
||||
public FlammableOilGas(String compat, int color, int p, int f, int r, EnumSymbol symbol) {
|
||||
super(compat, color, p, f, r, symbol);
|
||||
this.addTraits(FluidTrait.PETROCHEMICAL);
|
||||
}
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
package com.hbm.inventory.fluid;
|
||||
package com.hbm.inventory.fluid.types;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
package com.hbm.inventory.fluid;
|
||||
package com.hbm.inventory.fluid.types;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.render.util.EnumSymbol;
|
||||
import com.hbm.util.BobMathUtil;
|
||||
|
||||
11
src/main/java/com/hbm/inventory/fluid/types/Fuel.java
Normal file
11
src/main/java/com/hbm/inventory/fluid/types/Fuel.java
Normal file
@ -0,0 +1,11 @@
|
||||
package com.hbm.inventory.fluid.types;
|
||||
|
||||
import com.hbm.render.util.EnumSymbol;
|
||||
|
||||
public class Fuel extends FluidTypeCombustible {
|
||||
|
||||
public Fuel(String compat, int color, int p, int f, int r, EnumSymbol symbol) {
|
||||
super(compat, color, p, f, r, symbol);
|
||||
this.addTraits(FluidTrait.LIQUID, FluidTrait.PETROCHEMICAL);
|
||||
}
|
||||
}
|
||||
12
src/main/java/com/hbm/inventory/fluid/types/Gas.java
Normal file
12
src/main/java/com/hbm/inventory/fluid/types/Gas.java
Normal file
@ -0,0 +1,12 @@
|
||||
package com.hbm.inventory.fluid.types;
|
||||
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.render.util.EnumSymbol;
|
||||
|
||||
public class Gas extends FluidType {
|
||||
|
||||
public Gas(String name, int color, int p, int f, int r, EnumSymbol symbol) {
|
||||
super(name, color, p, f, r, symbol);
|
||||
this.addTraits(FluidTrait.GASEOUS);
|
||||
}
|
||||
}
|
||||
11
src/main/java/com/hbm/inventory/fluid/types/Oil.java
Normal file
11
src/main/java/com/hbm/inventory/fluid/types/Oil.java
Normal file
@ -0,0 +1,11 @@
|
||||
package com.hbm.inventory.fluid.types;
|
||||
|
||||
import com.hbm.render.util.EnumSymbol;
|
||||
|
||||
public class Oil extends FluidTypeFlammable {
|
||||
|
||||
public Oil(String compat, int color, int p, int f, int r, EnumSymbol symbol) {
|
||||
super(compat, color, p, f, r, symbol);
|
||||
this.addTraits(FluidTrait.LIQUID, FluidTrait.PETROCHEMICAL);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
package com.hbm.inventory.fluid.types;
|
||||
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.render.util.EnumSymbol;
|
||||
|
||||
public class Petrochemical extends FluidType {
|
||||
|
||||
public Petrochemical(String name, int color, int p, int f, int r, EnumSymbol symbol) {
|
||||
super(name, color, p, f, r, symbol);
|
||||
this.addTraits(FluidTrait.LIQUID, FluidTrait.PETROCHEMICAL);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
package com.hbm.inventory.fluid.types;
|
||||
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.render.util.EnumSymbol;
|
||||
|
||||
public class RadioactiveGas extends FluidType {
|
||||
|
||||
public RadioactiveGas(String name, int color, int p, int f, int r, EnumSymbol symbol) {
|
||||
super(name, color, p, f, r, symbol);
|
||||
this.addTraits(FluidTrait.GASEOUS);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
package com.hbm.inventory.fluid.types;
|
||||
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.render.util.EnumSymbol;
|
||||
|
||||
public class RadioactiveLiquid extends FluidType {
|
||||
|
||||
public RadioactiveLiquid(String name, int color, int p, int f, int r, EnumSymbol symbol) {
|
||||
super(name, color, p, f, r, symbol);
|
||||
this.addTraits(FluidTrait.LIQUID);
|
||||
}
|
||||
}
|
||||
@ -2,19 +2,25 @@ package com.hbm.inventory.gui;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.inventory.FluidTank;
|
||||
import com.hbm.inventory.container.ContainerMachineGasFlare;
|
||||
import com.hbm.inventory.fluid.FluidType.FluidTrait;
|
||||
import com.hbm.inventory.fluid.types.FluidTypeFlammable;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.packet.NBTControlPacket;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.tileentity.machine.oil.TileEntityMachineGasFlare;
|
||||
import com.hbm.util.I18nUtil;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.audio.PositionedSoundRecord;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class GUIMachineGasFlare extends GuiInfoContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_gasFlare.png");
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/generators/gui_flare_stack.png");
|
||||
private TileEntityMachineGasFlare flare;
|
||||
|
||||
public GUIMachineGasFlare(InventoryPlayer invPlayer, TileEntityMachineGasFlare tedf) {
|
||||
@ -22,22 +28,43 @@ public class GUIMachineGasFlare extends GuiInfoContainer {
|
||||
flare = tedf;
|
||||
|
||||
this.xSize = 176;
|
||||
this.ySize = 166;
|
||||
this.ySize = 203;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawScreen(int mouseX, int mouseY, float f) {
|
||||
super.drawScreen(mouseX, mouseY, f);
|
||||
|
||||
flare.tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 80, guiTop + 69 - 52, 34, 52);
|
||||
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 69 - 52, 16, 52, flare.power, flare.maxPower);
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 79, guiTop + 20, 35, 10, mouseX, mouseY, I18nUtil.resolveKeyArray("flare.valve"));
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 79, guiTop + 54, 35, 14, mouseX, mouseY, I18nUtil.resolveKeyArray("flare.ignition"));
|
||||
|
||||
flare.tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 35, guiTop + 69 - 52, 16, 52);
|
||||
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 143, guiTop + 69 - 52, 16, 52, flare.power, flare.maxPower);
|
||||
}
|
||||
|
||||
protected void mouseClicked(int x, int y, int i) {
|
||||
super.mouseClicked(x, y, i);
|
||||
|
||||
if(guiLeft + 89 <= x && guiLeft + 89 + 16 > x && guiTop + 20 < y && guiTop + 20 + 10 >= y) {
|
||||
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setBoolean("valve", true);
|
||||
PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, flare.xCoord, flare.yCoord, flare.zCoord));
|
||||
|
||||
} else if(guiLeft + 89 <= x && guiLeft + 89 + 16 > x && guiTop + 54 < y && guiTop + 54 + 14 >= y) {
|
||||
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setBoolean("dial", true);
|
||||
PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, flare.xCoord, flare.yCoord, flare.zCoord));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer( int i, int j) {
|
||||
String name = this.flare.hasCustomInventoryName() ? this.flare.getInventoryName() : I18n.format(this.flare.getInventoryName());
|
||||
//String name = this.flare.hasCustomInventoryName() ? this.flare.getInventoryName() : I18n.format(this.flare.getInventoryName());
|
||||
|
||||
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
|
||||
//this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
|
||||
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
|
||||
}
|
||||
|
||||
@ -48,8 +75,14 @@ public class GUIMachineGasFlare extends GuiInfoContainer {
|
||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||
|
||||
int j = (int)flare.getPowerScaled(52);
|
||||
drawTexturedModalRect(guiLeft + 8, guiTop + 69 - j, 176, 52 - j, 16, j);
|
||||
drawTexturedModalRect(guiLeft + 143, guiTop + 69 - j, 176, 94 - j, 16, j);
|
||||
|
||||
if(flare.isOn) drawTexturedModalRect(guiLeft + 79, guiTop + 20, 176, 0, 35, 10);
|
||||
if(flare.doesBurn) drawTexturedModalRect(guiLeft + 79, guiTop + 54, 176, 10, 35, 14);
|
||||
|
||||
flare.tank.renderTank(guiLeft + 80, guiTop + 69, this.zLevel, 34, 52);
|
||||
if(flare.isOn && flare.doesBurn && flare.tank.getTankType().traits.contains(FluidTrait.GASEOUS) && flare.tank.getTankType() instanceof FluidTypeFlammable)
|
||||
drawTexturedModalRect(guiLeft + 88, guiTop + 34, 176, 24, 18, 18);
|
||||
|
||||
flare.tank.renderTank(guiLeft + 35, guiTop + 69, this.zLevel, 16, 52);
|
||||
}
|
||||
}
|
||||
|
||||
@ -29,6 +29,7 @@ import net.minecraftforge.client.MinecraftForgeClient;
|
||||
import net.minecraftforge.client.model.AdvancedModelLoader;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Desktop;
|
||||
import java.net.URI;
|
||||
import java.util.HashMap;
|
||||
@ -1504,6 +1505,12 @@ public class ClientProxy extends ServerProxy {
|
||||
fx.setBaseScale(data.getFloat("base"));
|
||||
fx.setMaxScale(data.getFloat("max"));
|
||||
fx.setLife(data.getInteger("life") / (particleSetting + 1));
|
||||
|
||||
if(data.hasKey("color")) {
|
||||
Color color = new Color(data.getInteger("color"));
|
||||
fx.setRBGColorF(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F);
|
||||
}
|
||||
|
||||
Minecraft.getMinecraft().effectRenderer.addEffect(fx);
|
||||
}
|
||||
}
|
||||
|
||||
@ -74,7 +74,7 @@ public class ResourceManager {
|
||||
public static final IModelCustom solidifier = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/solidifier.obj"));
|
||||
|
||||
//Flare Stack
|
||||
public static final IModelCustom oilflare = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/oilFlare.obj"));
|
||||
public static final IModelCustom oilflare = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/flare_stack.obj"));
|
||||
|
||||
//Tank
|
||||
public static final IModelCustom fluidtank = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/fluidtank.obj"));
|
||||
@ -369,7 +369,7 @@ public class ResourceManager {
|
||||
public static final ResourceLocation solidifier_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/solidifier.png");
|
||||
|
||||
//Flare Stack
|
||||
public static final ResourceLocation oilflare_tex = new ResourceLocation(RefStrings.MODID, "textures/models/oilFlareTexture.png");
|
||||
public static final ResourceLocation oilflare_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/flare_stack.png");
|
||||
|
||||
//Tank
|
||||
public static final ResourceLocation tank_tex = new ResourceLocation(RefStrings.MODID, "textures/models/tank.png");
|
||||
|
||||
@ -325,13 +325,15 @@ public class ItemRenderLibrary {
|
||||
renderers.put(Item.getItemFromBlock(ModBlocks.machine_flare), new ItemRenderBase() {
|
||||
public void renderInventory() {
|
||||
GL11.glTranslated(0, -4, 0);
|
||||
GL11.glScaled(2.5, 2.5, 2.5);
|
||||
GL11.glScaled(2.25, 2.25, 2.25);
|
||||
}
|
||||
public void renderCommon() {
|
||||
GL11.glScaled(0.5, 0.5, 0.5);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
bindTexture(ResourceManager.oilflare_tex); ResourceManager.oilflare.renderAll();
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
}});
|
||||
|
||||
renderers.put(Item.getItemFromBlock(ModBlocks.machine_refinery), new ItemRenderBase() {
|
||||
|
||||
@ -2,30 +2,28 @@ package com.hbm.render.tileentity;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.ResourceManager;
|
||||
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.client.model.AdvancedModelLoader;
|
||||
import net.minecraftforge.client.model.IModelCustom;
|
||||
|
||||
public class RenderGasFlare extends TileEntitySpecialRenderer {
|
||||
|
||||
@Override
|
||||
@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);
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glRotatef(180, 0F, 1F, 0F);
|
||||
|
||||
bindTexture(ResourceManager.oilflare_tex);
|
||||
|
||||
ResourceManager.oilflare.renderAll();
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
bindTexture(ResourceManager.oilflare_tex);
|
||||
ResourceManager.oilflare.renderAll();
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
@ -7,9 +7,9 @@ import com.hbm.interfaces.IFluidContainer;
|
||||
import com.hbm.inventory.FluidContainerRegistry;
|
||||
import com.hbm.inventory.FluidTank;
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.inventory.fluid.FluidTypeCombustible;
|
||||
import com.hbm.inventory.fluid.FluidTypeCombustible.FuelGrade;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.inventory.fluid.types.FluidTypeCombustible;
|
||||
import com.hbm.inventory.fluid.types.FluidTypeCombustible.FuelGrade;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
|
||||
@ -8,8 +8,8 @@ import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.interfaces.IFluidAcceptor;
|
||||
import com.hbm.inventory.FluidTank;
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.inventory.fluid.FluidTypeFlammable;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.inventory.fluid.types.FluidTypeFlammable;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.machine.ItemRTGPellet;
|
||||
import com.hbm.lib.Library;
|
||||
|
||||
@ -7,9 +7,9 @@ import com.hbm.interfaces.IFluidContainer;
|
||||
import com.hbm.inventory.FluidContainerRegistry;
|
||||
import com.hbm.inventory.FluidTank;
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.inventory.fluid.FluidTypeCombustible;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.inventory.fluid.FluidTypeCombustible.FuelGrade;
|
||||
import com.hbm.inventory.fluid.types.FluidTypeCombustible;
|
||||
import com.hbm.inventory.fluid.types.FluidTypeCombustible.FuelGrade;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.packet.AuxElectricityPacket;
|
||||
|
||||
@ -1,216 +1,82 @@
|
||||
package com.hbm.tileentity.machine.oil;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.entity.particle.EntityGasFlameFX;
|
||||
import com.hbm.explosion.ExplosionThermo;
|
||||
import com.hbm.interfaces.IControlReceiver;
|
||||
import com.hbm.interfaces.IFluidAcceptor;
|
||||
import com.hbm.interfaces.IFluidContainer;
|
||||
import com.hbm.inventory.FluidTank;
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.inventory.fluid.FluidType.FluidTrait;
|
||||
import com.hbm.inventory.fluid.types.FluidTypeFlammable;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.packet.AuxElectricityPacket;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.tileentity.TileEntityLoadedBase;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
|
||||
import api.hbm.energy.IBatteryItem;
|
||||
import api.hbm.energy.IEnergyGenerator;
|
||||
import api.hbm.fluid.IFluidStandardReceiver;
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.ISidedInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.DamageSource;
|
||||
|
||||
public class TileEntityMachineGasFlare extends TileEntityLoadedBase implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver {
|
||||
public class TileEntityMachineGasFlare extends TileEntityMachineBase implements IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IControlReceiver {
|
||||
|
||||
private ItemStack slots[];
|
||||
|
||||
public long power;
|
||||
public static final long maxPower = 100000;
|
||||
public FluidTank tank;
|
||||
|
||||
private static final int[] slots_top = new int[] {1};
|
||||
private static final int[] slots_bottom = new int[] {2, 0};
|
||||
private static final int[] slots_side = new int[] {0};
|
||||
Random rand = new Random();
|
||||
|
||||
private String customName;
|
||||
|
||||
public boolean isOn = false;
|
||||
public boolean doesBurn = false;
|
||||
|
||||
public TileEntityMachineGasFlare() {
|
||||
slots = new ItemStack[3];
|
||||
super(4);
|
||||
tank = new FluidTank(Fluids.GAS, 64000, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSizeInventory() {
|
||||
return slots.length;
|
||||
public String getName() {
|
||||
return "container.gasFlare";
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlot(int i) {
|
||||
return slots[i];
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlotOnClosing(int i) {
|
||||
if(slots[i] != null)
|
||||
{
|
||||
ItemStack itemStack = slots[i];
|
||||
slots[i] = null;
|
||||
return itemStack;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setInventorySlotContents(int i, ItemStack itemStack) {
|
||||
slots[i] = itemStack;
|
||||
if(itemStack != null && itemStack.stackSize > getInventoryStackLimit())
|
||||
{
|
||||
itemStack.stackSize = getInventoryStackLimit();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getInventoryName() {
|
||||
return this.hasCustomInventoryName() ? this.customName : "container.gasFlare";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasCustomInventoryName() {
|
||||
return this.customName != null && this.customName.length() > 0;
|
||||
}
|
||||
|
||||
public void setCustomName(String name) {
|
||||
this.customName = name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getInventoryStackLimit() {
|
||||
return 64;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isUseableByPlayer(EntityPlayer player) {
|
||||
if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this)
|
||||
{
|
||||
return false;
|
||||
}else{
|
||||
return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=128;
|
||||
}
|
||||
}
|
||||
|
||||
//You scrubs aren't needed for anything (right now)
|
||||
@Override
|
||||
public void openInventory() {}
|
||||
@Override
|
||||
public void closeInventory() {}
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int i, ItemStack itemStack) {
|
||||
if(i == 0)
|
||||
if(itemStack.getItem() instanceof IBatteryItem)
|
||||
return true;
|
||||
|
||||
if(i == 1)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack decrStackSize(int i, int j) {
|
||||
if(slots[i] != null)
|
||||
{
|
||||
if(slots[i].stackSize <= j)
|
||||
{
|
||||
ItemStack itemStack = slots[i];
|
||||
slots[i] = null;
|
||||
return itemStack;
|
||||
}
|
||||
ItemStack itemStack1 = slots[i].splitStack(j);
|
||||
if (slots[i].stackSize == 0)
|
||||
{
|
||||
slots[i] = null;
|
||||
}
|
||||
|
||||
return itemStack1;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
super.readFromNBT(nbt);
|
||||
NBTTagList list = nbt.getTagList("items", 10);
|
||||
|
||||
this.power = nbt.getLong("powerTime");
|
||||
tank.readFromNBT(nbt, "gas");
|
||||
slots = new ItemStack[getSizeInventory()];
|
||||
|
||||
for(int i = 0; i < list.tagCount(); i++)
|
||||
{
|
||||
NBTTagCompound nbt1 = list.getCompoundTagAt(i);
|
||||
byte b0 = nbt1.getByte("slot");
|
||||
if(b0 >= 0 && b0 < slots.length)
|
||||
{
|
||||
slots[b0] = ItemStack.loadItemStackFromNBT(nbt1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound nbt) {
|
||||
super.writeToNBT(nbt);
|
||||
nbt.setLong("powerTime", power);
|
||||
tank.writeToNBT(nbt, "gas");
|
||||
NBTTagList list = new NBTTagList();
|
||||
|
||||
for(int i = 0; i < slots.length; i++)
|
||||
{
|
||||
if(slots[i] != null)
|
||||
{
|
||||
NBTTagCompound nbt1 = new NBTTagCompound();
|
||||
nbt1.setByte("slot", (byte)i);
|
||||
slots[i].writeToNBT(nbt1);
|
||||
list.appendTag(nbt1);
|
||||
}
|
||||
}
|
||||
nbt.setTag("items", list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getAccessibleSlotsFromSide(int p_94128_1_)
|
||||
{
|
||||
return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInsertItem(int i, ItemStack itemStack, int j) {
|
||||
return this.isItemValidForSlot(i, itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canExtractItem(int i, ItemStack itemStack, int j) {
|
||||
return false;
|
||||
}
|
||||
|
||||
public long getPowerScaled(long i) {
|
||||
return (power * i) / maxPower;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(EntityPlayer player) {
|
||||
return player.getDistanceSq(xCoord, yCoord, zCoord) <= 256;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void receiveControl(NBTTagCompound data) {
|
||||
if(data.hasKey("valve")) this.isOn = !this.isOn;
|
||||
if(data.hasKey("dial")) this.doesBurn = !this.doesBurn;
|
||||
this.worldObj.markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
|
||||
this.sendPower(worldObj, xCoord + 2, yCoord, zCoord, Library.POS_X);
|
||||
@ -222,40 +88,99 @@ public class TileEntityMachineGasFlare extends TileEntityLoadedBase implements I
|
||||
this.trySubscribe(tank.getTankType(), worldObj, xCoord - 2, yCoord, zCoord, Library.NEG_X);
|
||||
this.trySubscribe(tank.getTankType(), worldObj, xCoord, yCoord, zCoord + 2, Library.POS_Z);
|
||||
this.trySubscribe(tank.getTankType(), worldObj, xCoord, yCoord, zCoord - 2, Library.NEG_Z);
|
||||
|
||||
|
||||
tank.setType(3, slots);
|
||||
tank.loadTank(1, 2, slots);
|
||||
tank.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
|
||||
|
||||
if(tank.getFill() >= 10) {
|
||||
tank.setFill(tank.getFill() - 10);
|
||||
power += 50;
|
||||
if(isOn && tank.getFill() > 0) {
|
||||
|
||||
if(power > maxPower)
|
||||
power = maxPower;
|
||||
|
||||
worldObj.spawnEntityInWorld(new EntityGasFlameFX(worldObj, this.xCoord + 0.5F, this.yCoord + 11F, this.zCoord + 0.5F, 0.0, 0.0, 0.0));
|
||||
ExplosionThermo.setEntitiesOnFire(worldObj, this.xCoord, this.yCoord + 11, zCoord, 5);
|
||||
|
||||
if(worldObj.getTotalWorldTime() % 5 == 0)
|
||||
this.worldObj.playSoundEffect(this.xCoord, this.yCoord + 11, this.zCoord, "hbm:weapon.flamethrowerShoot", 1.5F, 1F);
|
||||
if(!doesBurn || !(tank.getTankType() instanceof FluidTypeFlammable)) {
|
||||
|
||||
if(tank.getTankType().traits.contains(FluidTrait.GASEOUS)) {
|
||||
int eject = Math.min(10, tank.getFill());
|
||||
tank.setFill(tank.getFill() - eject);
|
||||
tank.getTankType().onFluidRelease(this, tank, eject);
|
||||
|
||||
if(worldObj.getTotalWorldTime() % 7 == 0)
|
||||
this.worldObj.playSoundEffect(this.xCoord, this.yCoord + 11, this.zCoord, "random.fizz", 1.5F, 0.5F);
|
||||
}
|
||||
} else {
|
||||
|
||||
if(tank.getTankType().traits.contains(FluidTrait.GASEOUS) && tank.getTankType() instanceof FluidTypeFlammable) {
|
||||
int eject = Math.min(10, tank.getFill());
|
||||
tank.setFill(tank.getFill() - eject);
|
||||
power += ((FluidTypeFlammable) tank.getTankType()).getHeatEnergy() * eject / 2_000; // divided by 1000 per mB and 2 for the 50% penalty
|
||||
|
||||
if(power > maxPower)
|
||||
power = maxPower;
|
||||
|
||||
worldObj.spawnEntityInWorld(new EntityGasFlameFX(worldObj, this.xCoord + 0.5F, this.yCoord + 11.75F, this.zCoord + 0.5F,
|
||||
worldObj.rand.nextGaussian() * 0.15, 0.2, worldObj.rand.nextGaussian() * 0.15));
|
||||
|
||||
List<Entity> list = worldObj.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(xCoord - 1, yCoord + 12, zCoord - 2, xCoord + 2, yCoord + 17, zCoord + 2));
|
||||
for(Entity e : list) {
|
||||
e.setFire(5);
|
||||
e.attackEntityFrom(DamageSource.onFire, 5F);
|
||||
}
|
||||
|
||||
if(worldObj.getTotalWorldTime() % 3 == 0)
|
||||
this.worldObj.playSoundEffect(this.xCoord, this.yCoord + 11, this.zCoord, "hbm:weapon.flamethrowerShoot", 1.5F, 0.75F);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
power = Library.chargeItemsFromTE(slots, 0, power, maxPower);
|
||||
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50));
|
||||
power = Library.chargeItemsFromTE(slots, 0, power, maxPower);
|
||||
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setLong("power", this.power);
|
||||
data.setBoolean("isOn", isOn);
|
||||
data.setBoolean("doesBurn", doesBurn);
|
||||
this.networkPack(data, 50);
|
||||
|
||||
} else {
|
||||
|
||||
if(isOn && tank.getFill() > 0) {
|
||||
|
||||
if(!doesBurn || !(tank.getTankType() instanceof FluidTypeFlammable)) {
|
||||
|
||||
if(tank.getTankType().traits.contains(FluidTrait.GASEOUS)) {
|
||||
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setString("type", "tower");
|
||||
data.setFloat("lift", 1F);
|
||||
data.setFloat("base", 0.25F);
|
||||
data.setFloat("max", 3F);
|
||||
data.setInteger("life", 150 + worldObj.rand.nextInt(20));
|
||||
data.setInteger("color", tank.getTankType().getColor());
|
||||
|
||||
data.setDouble("posX", xCoord + 0.5);
|
||||
data.setDouble("posZ", zCoord + 0.5);
|
||||
data.setDouble("posY", yCoord + 11);
|
||||
|
||||
MainRegistry.proxy.effectNT(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void networkUnpack(NBTTagCompound nbt) {
|
||||
this.power = nbt.getLong("power");
|
||||
this.isOn = nbt.getBoolean("isOn");
|
||||
this.doesBurn = nbt.getBoolean("doesBurn");
|
||||
}
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getRenderBoundingBox() {
|
||||
return TileEntity.INFINITE_EXTENT_AABB;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public double getMaxRenderDistanceSquared()
|
||||
{
|
||||
public double getMaxRenderDistanceSquared() {
|
||||
return 65536.0D;
|
||||
}
|
||||
|
||||
|
||||
@ -408,6 +408,9 @@ entity.hbm.entity_bullet.name=Patrone
|
||||
entity.hbm.entity_rocket.name=Rakete
|
||||
entity.hbm.entity_schrabnel.name=Schrabnel
|
||||
|
||||
flare.ignition=Zündung
|
||||
flare.valve=Flussventil
|
||||
|
||||
fluid.acid_fluid=Säure
|
||||
fluid.corium_fluid=Corium
|
||||
fluid.mud_fluid=Giftiger Schlamm
|
||||
|
||||
@ -606,6 +606,9 @@ entity.hbm.entity_bullet.name=Bullet
|
||||
entity.hbm.entity_rocket.name=Rocket
|
||||
entity.hbm.entity_schrabnel.name=Schrabnel
|
||||
|
||||
flare.ignition=Ignition
|
||||
flare.valve=Flow Valve
|
||||
|
||||
fluid.acid_fluid=Acid
|
||||
fluid.corium_fluid=Corium
|
||||
fluid.mud_fluid=Poisonous Mud
|
||||
|
||||
7139
src/main/resources/assets/hbm/models/machines/flare_stack.obj
Normal file
7139
src/main/resources/assets/hbm/models/machines/flare_stack.obj
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,895 +0,0 @@
|
||||
# Blender v2.76 (sub 0) OBJ File: 'oilFlare.blend'
|
||||
# www.blender.org
|
||||
o Plane
|
||||
v -1.000000 10.000000 1.000000
|
||||
v 1.000000 10.000000 1.000000
|
||||
v -1.000000 10.000000 -1.000000
|
||||
v 1.000000 10.000000 -1.000000
|
||||
v 0.785714 10.000000 0.785714
|
||||
v 1.000000 10.000000 0.785714
|
||||
v 0.785714 10.000000 1.000000
|
||||
v -0.785714 10.000000 0.785714
|
||||
v -0.785714 10.000000 1.000000
|
||||
v -1.000000 10.000000 0.785714
|
||||
v -0.785714 10.000000 -0.785714
|
||||
v -1.000000 10.000000 -0.785714
|
||||
v -0.785714 10.000000 -1.000000
|
||||
v 0.785714 10.000000 -0.785714
|
||||
v 0.785714 10.000000 -1.000000
|
||||
v 1.000000 10.000000 -0.785714
|
||||
v -1.000000 -0.000000 0.785714
|
||||
v -1.000000 -0.000000 1.000000
|
||||
v 0.785714 -0.000001 -1.000000
|
||||
v 0.785714 -0.000001 -0.785714
|
||||
v 0.785714 -0.000001 0.785714
|
||||
v 1.000000 -0.000001 0.785714
|
||||
v -0.785714 -0.000000 -1.000000
|
||||
v -1.000000 -0.000000 -1.000000
|
||||
v 1.000000 -0.000001 -1.000000
|
||||
v 1.000000 -0.000001 -0.785714
|
||||
v -0.785714 -0.000000 0.785714
|
||||
v -0.785714 -0.000000 1.000000
|
||||
v -0.785714 -0.000000 -0.785714
|
||||
v -1.000000 -0.000000 -0.785714
|
||||
v 1.000000 -0.000001 1.000000
|
||||
v 0.785714 -0.000001 1.000000
|
||||
v 0.785714 2.499999 -0.785714
|
||||
v 1.000000 2.499999 -0.785714
|
||||
v 0.785714 2.499999 -1.000000
|
||||
v 0.785714 5.000000 -0.785714
|
||||
v 0.785714 5.000000 -1.000000
|
||||
v 1.000000 5.000000 -0.785714
|
||||
v 1.000000 2.499999 0.785714
|
||||
v 0.785714 2.499999 0.785714
|
||||
v 0.785714 2.499999 1.000000
|
||||
v 0.785714 7.500000 -1.000000
|
||||
v 1.000000 7.500000 -0.785714
|
||||
v 0.785714 7.500000 1.000000
|
||||
v 0.785714 7.500000 0.785714
|
||||
v 0.785714 7.500000 -0.785714
|
||||
v 1.000000 7.500000 0.785714
|
||||
v 0.785714 5.000000 1.000000
|
||||
v 1.000000 5.000000 0.785714
|
||||
v 0.785714 5.000000 0.785714
|
||||
v -1.000000 5.000000 -0.785714
|
||||
v -0.785714 5.000000 -0.785714
|
||||
v -0.785714 5.000000 -1.000000
|
||||
v -0.785714 7.500000 -0.785714
|
||||
v -1.000000 7.500000 -0.785714
|
||||
v -0.785714 7.500000 -1.000000
|
||||
v -1.000000 2.500000 -0.785714
|
||||
v -0.785714 2.500000 -1.000000
|
||||
v -0.785714 2.500000 -0.785714
|
||||
v -0.785714 5.000000 0.785714
|
||||
v -1.000000 5.000000 0.785714
|
||||
v -0.785714 5.000000 1.000000
|
||||
v -0.785714 2.500000 0.785714
|
||||
v -0.785714 2.500000 1.000000
|
||||
v -1.000000 2.500000 0.785714
|
||||
v -1.000000 2.500000 -1.000000
|
||||
v -1.000000 5.000000 -1.000000
|
||||
v -1.000000 7.500000 -1.000000
|
||||
v -1.000000 7.500000 0.785714
|
||||
v -0.785714 7.500000 0.785714
|
||||
v -0.785714 7.500000 1.000000
|
||||
v 1.000000 7.500000 1.000000
|
||||
v 1.000000 4.999417 1.000000
|
||||
v 1.000000 2.500000 1.000000
|
||||
v -1.000000 2.500000 1.000000
|
||||
v -1.000000 5.000000 1.000000
|
||||
v -1.000000 7.500000 1.000000
|
||||
v 1.000000 2.499999 -1.000000
|
||||
v 1.000000 4.999416 -1.000000
|
||||
v 1.000000 7.499999 -1.000000
|
||||
v 1.500000 5.000000 -1.500000
|
||||
v 1.500000 5.000000 1.500000
|
||||
v -1.500000 5.000000 1.500000
|
||||
v -1.500000 5.000000 -1.500000
|
||||
v 1.500000 10.000000 -1.500000
|
||||
v 1.500000 10.000000 1.500000
|
||||
v -1.500000 10.000000 1.500000
|
||||
v -1.500000 10.000000 -1.500000
|
||||
v 0.530330 2.000000 -0.530330
|
||||
v -0.000000 2.000000 -0.750000
|
||||
v 0.000000 2.000000 -0.250000
|
||||
v 0.000000 10.000000 -0.250000
|
||||
v 0.176777 2.000000 -0.176777
|
||||
v 0.176777 10.000000 -0.176777
|
||||
v 0.250000 2.000000 0.000000
|
||||
v 0.250000 10.000000 0.000000
|
||||
v 0.176777 2.000000 0.176777
|
||||
v 0.176777 10.000000 0.176777
|
||||
v -0.000000 2.000000 0.250000
|
||||
v -0.000000 10.000000 0.250000
|
||||
v -0.176777 2.000000 0.176777
|
||||
v -0.176777 10.000000 0.176777
|
||||
v -0.250000 2.000000 -0.000000
|
||||
v -0.250000 10.000000 -0.000000
|
||||
v -0.176777 2.000000 -0.176777
|
||||
v -0.176777 10.000000 -0.176777
|
||||
v 0.750000 2.000000 0.000000
|
||||
v 0.530330 2.000000 0.530330
|
||||
v -0.000000 2.000000 0.750000
|
||||
v -0.530330 2.000000 0.530330
|
||||
v -0.750000 2.000000 -0.000000
|
||||
v -0.530330 2.000000 -0.530330
|
||||
v -0.530330 0.000000 -0.530330
|
||||
v -0.000000 0.000000 -0.750000
|
||||
v -0.750000 0.000000 -0.000000
|
||||
v -0.530330 0.000000 0.530330
|
||||
v -0.000000 0.000000 0.750000
|
||||
v 0.530330 0.000000 0.530330
|
||||
v 0.750000 0.000000 0.000000
|
||||
v 0.530330 0.000000 -0.530330
|
||||
v -0.785714 5.000000 -0.000000
|
||||
v 0.000000 5.000000 -0.785714
|
||||
v 0.785714 5.000000 -0.000000
|
||||
v 0.000000 5.000000 0.785714
|
||||
v 0.000000 5.000000 -0.250000
|
||||
v 0.176777 5.000000 -0.176777
|
||||
v 0.250000 5.000000 0.000000
|
||||
v 0.176777 5.000000 0.176777
|
||||
v -0.000000 5.000000 0.250000
|
||||
v -0.176777 5.000000 0.176777
|
||||
v -0.250000 5.000000 -0.000000
|
||||
v -0.176777 5.000000 -0.176777
|
||||
v 0.176776 10.250000 -0.176777
|
||||
v -0.000000 10.250000 -0.250000
|
||||
v 0.250000 10.250000 0.000000
|
||||
v 0.176776 10.250000 0.176777
|
||||
v -0.000000 10.250000 0.250000
|
||||
v -0.176777 10.250000 0.176777
|
||||
v -0.250000 10.250000 -0.000000
|
||||
v -0.176777 10.250000 -0.176777
|
||||
v 0.353553 10.250000 -0.353553
|
||||
v -0.000000 10.250000 -0.500000
|
||||
v 0.500000 10.250000 0.000000
|
||||
v 0.353553 10.250000 0.353553
|
||||
v -0.000000 10.250000 0.500000
|
||||
v -0.353554 10.250000 0.353553
|
||||
v -0.500000 10.250000 -0.000000
|
||||
v -0.353554 10.250000 -0.353553
|
||||
v 0.353553 11.500000 -0.353553
|
||||
v -0.000000 11.500000 -0.500000
|
||||
v 0.500000 11.500000 0.000000
|
||||
v 0.353553 11.500000 0.353553
|
||||
v -0.000000 11.500000 0.500000
|
||||
v -0.353554 11.500000 0.353553
|
||||
v -0.500000 11.500000 -0.000000
|
||||
v -0.353554 11.500000 -0.353553
|
||||
v -0.156250 0.343750 1.500000
|
||||
v -0.156250 0.656250 1.500000
|
||||
v -0.156250 0.343750 -1.500000
|
||||
v -0.156250 0.656250 -1.500000
|
||||
v 0.156250 0.343750 1.500000
|
||||
v 0.156250 0.656250 1.500000
|
||||
v 0.156250 0.343750 -1.500000
|
||||
v 0.156250 0.656250 -1.500000
|
||||
v -1.500000 0.343750 0.156250
|
||||
v -1.500000 0.656250 0.156250
|
||||
v -1.500000 0.343750 -0.156250
|
||||
v -1.500000 0.656250 -0.156250
|
||||
v 1.500000 0.343750 0.156250
|
||||
v 1.500000 0.656250 0.156250
|
||||
v 1.500000 0.343750 -0.156250
|
||||
v 1.500000 0.656250 -0.156250
|
||||
v 0.353553 10.500002 -0.353553
|
||||
v -0.000000 10.500002 -0.500000
|
||||
v 0.500000 10.500002 0.000000
|
||||
v 0.353553 10.500002 0.353553
|
||||
v -0.000000 10.500002 0.500000
|
||||
v -0.353554 10.500002 0.353553
|
||||
v -0.500000 10.500002 -0.000000
|
||||
v -0.353554 10.500002 -0.353553
|
||||
v 0.785714 10.000000 -0.000000
|
||||
v 0.000000 10.000000 -0.785714
|
||||
v 0.000000 10.000000 0.785714
|
||||
v -0.785714 10.000000 -0.000000
|
||||
vt 0.397379 0.676621
|
||||
vt 0.397379 0.659785
|
||||
vt 0.414215 0.659785
|
||||
vt 0.414215 0.676621
|
||||
vt 0.508956 0.682773
|
||||
vt 0.492119 0.682773
|
||||
vt 0.492119 0.665937
|
||||
vt 0.259282 0.481688
|
||||
vt 0.276118 0.481688
|
||||
vt 0.276118 0.678115
|
||||
vt 0.159765 0.487474
|
||||
vt 0.159766 0.683901
|
||||
vt 0.142929 0.683901
|
||||
vt 0.176602 0.683901
|
||||
vt 0.176602 0.487474
|
||||
vt 0.193439 0.487474
|
||||
vt 0.126092 0.683901
|
||||
vt 0.126092 0.487474
|
||||
vt 0.142929 0.487474
|
||||
vt 0.951130 0.419382
|
||||
vt 0.934293 0.419382
|
||||
vt 0.934293 0.187374
|
||||
vt 0.951130 0.187374
|
||||
vt 0.259282 0.678115
|
||||
vt 0.242445 0.678115
|
||||
vt 0.193439 0.683924
|
||||
vt 0.292955 0.481688
|
||||
vt 0.309792 0.481688
|
||||
vt 0.309792 0.678115
|
||||
vt 0.890550 0.895409
|
||||
vt 0.873714 0.895409
|
||||
vt 0.873714 0.663401
|
||||
vt 0.890550 0.663401
|
||||
vt 0.292955 0.678115
|
||||
vt 0.242445 0.481688
|
||||
vt 0.570884 0.348475
|
||||
vt 0.509150 0.365312
|
||||
vt 0.447416 0.348475
|
||||
vt 0.570884 0.427046
|
||||
vt 0.570884 0.365312
|
||||
vt 0.587721 0.365312
|
||||
vt 0.447416 0.505617
|
||||
vt 0.509150 0.488781
|
||||
vt 0.570884 0.505617
|
||||
vt 0.430579 0.365312
|
||||
vt 0.447416 0.427046
|
||||
vt 0.430579 0.488781
|
||||
vt 0.823073 0.955128
|
||||
vt 0.699604 0.955128
|
||||
vt 0.699604 0.938291
|
||||
vt 0.823073 0.938291
|
||||
vt 0.509151 0.488780
|
||||
vt 0.627007 0.309189
|
||||
vt 0.587721 0.488780
|
||||
vt 0.391293 0.309189
|
||||
vt 0.391293 0.544904
|
||||
vt 0.627007 0.544903
|
||||
vt 0.150959 0.194056
|
||||
vt 0.135925 0.157761
|
||||
vt 0.181027 0.157761
|
||||
vt 0.690955 0.644624
|
||||
vt 0.705989 0.644624
|
||||
vt 0.705989 0.880337
|
||||
vt 0.286264 0.194056
|
||||
vt 0.271230 0.157761
|
||||
vt 0.316332 0.157761
|
||||
vt 0.721023 0.644624
|
||||
vt 0.721023 0.880337
|
||||
vt 0.015654 0.194057
|
||||
vt 0.000620 0.157761
|
||||
vt 0.045721 0.157761
|
||||
vt 0.736057 0.644624
|
||||
vt 0.736057 0.880337
|
||||
vt 0.196060 0.194056
|
||||
vt 0.226128 0.157761
|
||||
vt 0.751091 0.644624
|
||||
vt 0.751091 0.880337
|
||||
vt 0.241162 0.194056
|
||||
vt 0.766125 0.644624
|
||||
vt 0.766125 0.880337
|
||||
vt 0.105857 0.194056
|
||||
vt 0.090823 0.157761
|
||||
vt 0.316332 0.000619
|
||||
vt 0.361434 0.000619
|
||||
vt 0.781159 0.644624
|
||||
vt 0.781159 0.880337
|
||||
vt 0.560809 0.260328
|
||||
vt 0.560809 0.240685
|
||||
vt 0.575842 0.240685
|
||||
vt 0.796193 0.644624
|
||||
vt 0.796193 0.880337
|
||||
vt 0.811227 0.644624
|
||||
vt 0.811227 0.880337
|
||||
vt 0.331366 0.194056
|
||||
vt 0.361434 0.157761
|
||||
vt 0.060755 0.194057
|
||||
vt 0.910214 0.111717
|
||||
vt 0.833220 0.143609
|
||||
vt 0.801328 0.066615
|
||||
vt 0.045721 0.000619
|
||||
vt 0.090823 0.000619
|
||||
vt 0.226128 0.000619
|
||||
vt 0.271230 0.000619
|
||||
vt 0.135925 0.000619
|
||||
vt 0.181026 0.000619
|
||||
vt 0.000619 0.000620
|
||||
vt 0.790588 0.620702
|
||||
vt 0.775554 0.620702
|
||||
vt 0.775553 0.227849
|
||||
vt 0.760519 0.227849
|
||||
vt 0.745486 0.227849
|
||||
vt 0.760520 0.620702
|
||||
vt 0.730452 0.227849
|
||||
vt 0.745486 0.620702
|
||||
vt 0.715418 0.227849
|
||||
vt 0.730451 0.620702
|
||||
vt 0.715417 0.620702
|
||||
vt 0.700383 0.620702
|
||||
vt 0.700384 0.227849
|
||||
vt 0.685350 0.620702
|
||||
vt 0.685350 0.227849
|
||||
vt 0.805622 0.620702
|
||||
vt 0.790588 0.227849
|
||||
vt 0.447416 0.365311
|
||||
vt 0.495261 0.413156
|
||||
vt 0.489507 0.427046
|
||||
vt 0.495261 0.440935
|
||||
vt 0.447416 0.488781
|
||||
vt 0.509150 0.446689
|
||||
vt 0.523040 0.440935
|
||||
vt 0.528793 0.427046
|
||||
vt 0.523040 0.413156
|
||||
vt 0.509150 0.407403
|
||||
vt 0.645304 0.053326
|
||||
vt 0.652821 0.071474
|
||||
vt 0.622753 0.071474
|
||||
vt 0.515707 0.260328
|
||||
vt 0.515707 0.240685
|
||||
vt 0.530741 0.240685
|
||||
vt 0.575842 0.260328
|
||||
vt 0.590876 0.240685
|
||||
vt 0.500673 0.260328
|
||||
vt 0.500673 0.240685
|
||||
vt 0.530741 0.260328
|
||||
vt 0.545775 0.240685
|
||||
vt 0.470605 0.260328
|
||||
vt 0.470605 0.240685
|
||||
vt 0.485639 0.240685
|
||||
vt 0.545775 0.260328
|
||||
vt 0.485639 0.260328
|
||||
vt 0.502482 0.071474
|
||||
vt 0.502482 0.169687
|
||||
vt 0.472414 0.169687
|
||||
vt 0.449863 0.053326
|
||||
vt 0.464897 0.053326
|
||||
vt 0.472414 0.071474
|
||||
vt 0.525033 0.053326
|
||||
vt 0.532550 0.071474
|
||||
vt 0.585168 0.053326
|
||||
vt 0.592685 0.071474
|
||||
vt 0.562617 0.071474
|
||||
vt 0.615236 0.053326
|
||||
vt 0.434829 0.053326
|
||||
vt 0.442346 0.071474
|
||||
vt 0.412278 0.071474
|
||||
vt 0.479931 0.053326
|
||||
vt 0.494965 0.053326
|
||||
vt 0.540067 0.053326
|
||||
vt 0.555101 0.053326
|
||||
vt 0.570884 0.488781
|
||||
vt 0.562617 0.169687
|
||||
vt 0.532550 0.169687
|
||||
vt 0.652821 0.169687
|
||||
vt 0.622753 0.169687
|
||||
vt 0.442346 0.169687
|
||||
vt 0.592685 0.169687
|
||||
vt 0.412278 0.169687
|
||||
vt 0.303414 0.349532
|
||||
vt 0.303414 0.374085
|
||||
vt 0.067700 0.374085
|
||||
vt 0.327967 0.398639
|
||||
vt 0.303414 0.398639
|
||||
vt 0.067700 0.324979
|
||||
vt 0.067700 0.300425
|
||||
vt 0.303414 0.300425
|
||||
vt 0.043147 0.374085
|
||||
vt 0.067700 0.398638
|
||||
vt 0.303414 0.324978
|
||||
vt 0.067700 0.349532
|
||||
vt 0.692864 0.104440
|
||||
vt 0.714125 0.053111
|
||||
vt 0.744193 0.125701
|
||||
vt 0.508956 0.665937
|
||||
vt 0.587721 0.505616
|
||||
vt 0.587721 0.348475
|
||||
vt 0.430579 0.348475
|
||||
vt 0.430579 0.505618
|
||||
vt 0.165993 0.194056
|
||||
vt 0.690955 0.880337
|
||||
vt 0.301298 0.194056
|
||||
vt 0.030687 0.194057
|
||||
vt 0.211094 0.194056
|
||||
vt 0.256196 0.194056
|
||||
vt 0.120891 0.194056
|
||||
vt 0.346400 0.194056
|
||||
vt 0.075789 0.194057
|
||||
vt 0.833220 0.034724
|
||||
vt 0.878322 0.034724
|
||||
vt 0.910214 0.066615
|
||||
vt 0.878322 0.143609
|
||||
vt 0.801328 0.111717
|
||||
vt 0.805622 0.227849
|
||||
vt 0.630270 0.053326
|
||||
vt 0.590877 0.260328
|
||||
vt 0.509999 0.053326
|
||||
vt 0.570134 0.053326
|
||||
vt 0.600202 0.053326
|
||||
vt 0.419795 0.053326
|
||||
vt 0.327967 0.374085
|
||||
vt 0.043147 0.398638
|
||||
vt 0.765454 0.074372
|
||||
vt 0.765454 0.104440
|
||||
vt 0.714125 0.125701
|
||||
vt 0.692864 0.074372
|
||||
vt 0.744193 0.053111
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn 0.000000 0.532200 0.846600
|
||||
vn 0.000000 0.532200 -0.846600
|
||||
vn -1.000000 0.000000 0.000000
|
||||
vn -0.846600 0.532200 0.000000
|
||||
vn 0.846600 0.532200 0.000000
|
||||
vn -0.923900 0.000000 0.382700
|
||||
vn -0.382700 0.000000 0.923900
|
||||
vn 0.382700 0.000000 0.923900
|
||||
vn 0.923900 0.000000 0.382700
|
||||
vn 0.923900 0.000000 -0.382700
|
||||
vn -0.923900 0.000000 -0.382700
|
||||
vn 0.382700 0.000000 -0.923900
|
||||
vn -0.382700 0.000000 -0.923900
|
||||
vn -0.003900 1.000000 -0.002700
|
||||
vn -0.003900 1.000000 0.002700
|
||||
vn 0.002700 1.000000 -0.003900
|
||||
vn 0.002700 1.000000 0.003900
|
||||
s off
|
||||
f 7/1/1 2/2/1 6/3/1
|
||||
f 1/4/1 9/1/1 8/2/1
|
||||
f 12/1/1 11/2/1 13/3/1
|
||||
f 14/4/1 16/1/1 4/2/1
|
||||
f 25/5/2 26/6/2 20/7/2
|
||||
f 27/5/2 28/6/2 18/7/2
|
||||
f 23/5/2 29/6/2 30/7/2
|
||||
f 22/5/2 31/6/2 32/7/2
|
||||
f 56/8/3 68/9/3 3/10/3
|
||||
f 67/11/3 68/12/3 56/13/3
|
||||
f 57/14/4 30/15/4 29/16/4
|
||||
f 59/17/5 29/18/5 23/19/5
|
||||
f 34/20/6 33/21/6 21/22/6
|
||||
f 26/22/7 20/23/7 40/20/7
|
||||
f 41/8/8 48/24/8 50/25/8
|
||||
f 50/18/8 48/19/8 44/13/8
|
||||
f 50/16/3 45/26/3 47/14/3
|
||||
f 47/27/3 45/28/3 5/29/3
|
||||
f 44/8/8 7/24/8 5/25/8
|
||||
f 38/30/6 36/31/6 40/32/6
|
||||
f 33/33/7 50/30/7 49/31/7
|
||||
f 49/23/6 43/20/6 46/21/6
|
||||
f 47/33/6 16/30/6 14/31/6
|
||||
f 36/23/7 45/20/7 47/21/7
|
||||
f 5/30/7 6/31/7 43/32/7
|
||||
f 54/17/5 52/18/5 53/19/5
|
||||
f 55/14/4 51/15/4 52/16/4
|
||||
f 12/34/4 55/27/4 54/28/4
|
||||
f 11/25/5 54/35/5 56/8/5
|
||||
f 52/25/5 59/35/5 58/8/5
|
||||
f 51/34/4 57/27/4 59/28/4
|
||||
f 66/9/3 67/10/3 53/24/3
|
||||
f 58/13/3 23/19/3 24/11/3
|
||||
f 64/14/5 28/15/5 27/16/5
|
||||
f 63/28/5 60/29/5 62/34/5
|
||||
f 60/16/5 70/26/5 71/14/5
|
||||
f 9/34/5 71/27/5 70/28/5
|
||||
f 10/24/3 8/25/3 70/35/3
|
||||
f 70/17/3 60/18/3 61/19/3
|
||||
f 61/24/3 60/25/3 63/35/3
|
||||
f 27/18/3 17/19/3 65/13/3
|
||||
f 54/33/9 14/30/9 15/31/9
|
||||
f 52/23/9 46/20/9 42/21/9
|
||||
f 58/32/9 59/33/9 36/30/9
|
||||
f 33/20/9 35/21/9 23/22/9
|
||||
f 20/22/10 19/23/10 58/20/10
|
||||
f 52/31/10 33/32/10 35/33/10
|
||||
f 36/22/10 37/23/10 56/20/10
|
||||
f 11/30/10 46/33/10 42/32/10
|
||||
f 7/30/9 5/31/9 70/32/9
|
||||
f 62/23/9 44/20/9 45/21/9
|
||||
f 63/32/9 64/33/9 48/30/9
|
||||
f 40/21/9 27/22/9 28/23/9
|
||||
f 32/22/10 21/23/10 63/20/10
|
||||
f 41/32/10 40/33/10 60/30/10
|
||||
f 71/20/10 48/23/10 50/22/10
|
||||
f 45/33/10 8/30/10 9/31/10
|
||||
f 10/30/7 8/31/7 54/32/7
|
||||
f 70/33/6 11/30/6 12/31/6
|
||||
f 70/21/7 52/22/7 51/23/7
|
||||
f 52/30/6 51/31/6 65/32/6
|
||||
f 65/20/7 63/21/7 29/22/7
|
||||
f 59/20/6 57/21/6 17/22/6
|
||||
f 61/30/7 60/31/7 59/32/7
|
||||
f 60/23/6 54/20/6 55/21/6
|
||||
f 40/28/3 50/29/3 49/34/3
|
||||
f 40/17/8 21/18/8 32/19/8
|
||||
f 21/16/3 40/26/3 39/14/3
|
||||
f 33/17/4 20/18/4 26/19/4
|
||||
f 19/15/8 20/16/8 33/26/8
|
||||
f 38/24/4 36/25/4 33/35/4
|
||||
f 35/27/8 33/28/8 36/29/8
|
||||
f 38/19/4 43/13/4 46/17/4
|
||||
f 37/15/8 36/16/8 46/26/8
|
||||
f 16/24/4 14/25/4 46/35/4
|
||||
f 42/27/8 46/28/8 14/29/8
|
||||
f 7/36/1 183/37/1 9/38/1
|
||||
f 181/39/1 5/40/1 6/41/1
|
||||
f 13/42/1 182/43/1 15/44/1
|
||||
f 10/45/1 184/46/1 12/47/1
|
||||
f 40/48/1 63/49/1 64/50/1
|
||||
f 33/48/1 40/49/1 39/50/1
|
||||
f 59/51/1 57/48/1 65/49/1
|
||||
f 59/50/1 33/51/1 35/48/1
|
||||
f 53/42/1 122/52/1 37/44/1
|
||||
f 48/36/1 50/40/1 124/37/1
|
||||
f 121/46/1 51/47/1 61/45/1
|
||||
f 123/39/1 50/40/1 49/41/1
|
||||
f 70/50/1 54/51/1 55/48/1
|
||||
f 71/50/1 44/51/1 45/48/1
|
||||
f 46/51/1 42/48/1 56/49/1
|
||||
f 47/50/1 43/51/1 46/48/1
|
||||
f 72/9/4 2/10/4 7/24/4
|
||||
f 72/9/5 47/27/5 6/34/5
|
||||
f 41/13/4 32/19/4 31/11/4
|
||||
f 73/10/4 48/24/4 41/8/4
|
||||
f 48/19/4 73/11/4 72/12/4
|
||||
f 31/11/5 22/15/5 39/14/5
|
||||
f 39/27/5 49/34/5 73/10/5
|
||||
f 49/15/5 47/14/5 72/12/5
|
||||
f 68/9/8 55/27/8 12/34/8
|
||||
f 55/14/8 68/12/8 67/11/8
|
||||
f 51/34/8 67/10/8 66/9/8
|
||||
f 30/15/8 57/14/8 66/12/8
|
||||
f 65/13/8 17/19/8 18/11/8
|
||||
f 76/10/8 61/24/8 65/8/8
|
||||
f 69/13/8 61/19/8 76/11/8
|
||||
f 69/8/8 77/9/8 1/10/8
|
||||
f 28/15/4 64/14/4 75/12/4
|
||||
f 62/34/4 76/10/4 75/9/4
|
||||
f 71/14/4 77/12/4 76/11/4
|
||||
f 77/9/4 71/27/4 9/34/4
|
||||
f 4/10/5 16/24/5 43/8/5
|
||||
f 80/12/5 43/13/5 38/19/5
|
||||
f 79/10/5 38/24/5 34/8/5
|
||||
f 26/19/5 25/11/5 78/12/5
|
||||
f 19/15/3 35/14/3 78/12/3
|
||||
f 79/10/3 78/9/3 35/27/3
|
||||
f 80/12/3 79/11/3 37/15/3
|
||||
f 4/10/3 80/9/3 42/27/3
|
||||
f 49/41/1 82/53/1 38/54/1
|
||||
f 48/36/1 83/55/1 82/53/1
|
||||
f 53/42/1 37/44/1 84/56/1
|
||||
f 51/47/1 83/55/1 61/45/1
|
||||
f 88/56/1 87/55/1 10/45/1
|
||||
f 85/57/1 88/56/1 13/42/1
|
||||
f 86/53/1 85/57/1 16/54/1
|
||||
f 87/55/1 86/53/1 7/36/1
|
||||
f 97/58/1 108/59/1 107/60/1
|
||||
f 103/61/11 101/62/11 130/63/11
|
||||
f 91/64/1 90/65/1 112/66/1
|
||||
f 101/62/12 99/67/12 129/68/12
|
||||
f 103/69/1 111/70/1 110/71/1
|
||||
f 97/72/13 128/73/13 129/68/13
|
||||
f 95/74/1 107/60/1 89/75/1
|
||||
f 95/76/14 127/77/14 128/73/14
|
||||
f 93/78/1 89/75/1 90/65/1
|
||||
f 93/79/15 126/80/15 127/77/15
|
||||
f 99/81/1 109/82/1 108/59/1
|
||||
f 112/66/16 113/83/16 115/84/16
|
||||
f 91/85/17 125/86/17 126/80/17
|
||||
f 100/87/12 137/88/12 138/89/12
|
||||
f 91/85/18 105/90/18 132/91/18
|
||||
f 105/90/16 103/92/16 131/93/16
|
||||
f 105/94/1 112/66/1 111/95/1
|
||||
f 101/96/1 110/71/1 109/82/1
|
||||
f 118/97/2 116/98/2 113/99/2
|
||||
f 110/71/12 116/100/12 117/101/12
|
||||
f 89/75/17 120/102/17 114/103/17
|
||||
f 109/82/13 117/101/13 118/104/13
|
||||
f 108/59/14 118/104/14 119/105/14
|
||||
f 90/65/18 114/103/18 113/83/18
|
||||
f 111/70/11 115/106/11 116/100/11
|
||||
f 107/60/15 119/105/15 120/102/15
|
||||
f 106/107/18 92/108/18 125/109/18
|
||||
f 126/110/17 125/109/17 92/108/17
|
||||
f 127/111/15 126/110/15 94/112/15
|
||||
f 128/113/14 127/111/14 96/114/14
|
||||
f 129/115/13 128/113/13 98/116/13
|
||||
f 100/117/12 102/118/12 130/119/12
|
||||
f 102/118/11 104/120/11 131/121/11
|
||||
f 104/122/16 106/107/16 132/123/16
|
||||
f 121/46/1 60/124/1 130/125/1
|
||||
f 121/46/1 131/126/1 132/127/1
|
||||
f 122/52/1 52/128/1 132/127/1
|
||||
f 122/52/1 125/129/1 126/130/1
|
||||
f 126/130/1 127/131/1 123/39/1
|
||||
f 123/39/1 127/131/1 128/132/1
|
||||
f 128/132/1 129/133/1 124/37/1
|
||||
f 124/37/1 129/133/1 130/125/1
|
||||
f 139/134/2 147/135/2 148/136/2
|
||||
f 94/137/15 133/138/15 135/139/15
|
||||
f 102/140/11 138/89/11 139/141/11
|
||||
f 92/142/17 134/143/17 133/138/17
|
||||
f 96/144/14 135/139/14 136/145/14
|
||||
f 104/146/16 139/147/16 140/148/16
|
||||
f 98/149/13 136/145/13 137/88/13
|
||||
f 106/150/18 140/148/18 134/143/18
|
||||
f 144/151/13 152/152/13 153/153/13
|
||||
f 138/154/2 137/155/2 145/156/2
|
||||
f 135/157/2 143/158/2 144/151/2
|
||||
f 134/159/2 142/160/2 141/161/2
|
||||
f 140/162/2 148/136/2 142/160/2
|
||||
f 138/163/2 146/164/2 147/165/2
|
||||
f 137/166/2 136/167/2 144/151/2
|
||||
f 135/168/2 133/169/2 141/161/2
|
||||
f 181/39/1 14/170/1 94/130/1
|
||||
f 141/161/15 149/171/15 151/172/15
|
||||
f 147/135/16 155/173/16 156/174/16
|
||||
f 145/156/12 153/153/12 154/175/12
|
||||
f 143/158/14 151/172/14 152/152/14
|
||||
f 142/160/17 150/176/17 149/171/17
|
||||
f 148/136/18 156/174/18 150/176/18
|
||||
f 146/164/11 154/175/11 155/177/11
|
||||
f 160/178/8 159/179/8 157/180/8
|
||||
f 164/181/3 163/182/3 159/179/3
|
||||
f 162/183/5 161/184/5 163/185/5
|
||||
f 158/186/4 157/180/4 161/187/4
|
||||
f 159/179/2 163/182/2 161/187/2
|
||||
f 164/188/1 160/178/1 158/189/1
|
||||
f 168/186/8 167/180/8 165/187/8
|
||||
f 172/178/3 171/179/3 167/180/3
|
||||
f 170/181/5 169/182/5 171/179/5
|
||||
f 166/183/4 165/184/4 169/185/4
|
||||
f 167/180/2 171/179/2 169/182/2
|
||||
f 172/178/1 168/189/1 166/183/1
|
||||
f 179/190/1 177/191/1 174/192/1
|
||||
f 98/132/1 5/40/1 181/39/1
|
||||
f 183/37/1 5/40/1 98/132/1
|
||||
f 183/37/1 100/133/1 102/125/1
|
||||
f 184/46/1 8/124/1 102/125/1
|
||||
f 184/46/1 104/126/1 106/127/1
|
||||
f 182/43/1 11/128/1 106/127/1
|
||||
f 182/43/1 92/129/1 94/130/1
|
||||
f 5/4/1 7/1/1 6/3/1
|
||||
f 10/3/1 1/4/1 8/2/1
|
||||
f 3/4/1 12/1/1 13/3/1
|
||||
f 15/3/1 14/4/1 4/2/1
|
||||
f 19/193/2 25/5/2 20/7/2
|
||||
f 17/193/2 27/5/2 18/7/2
|
||||
f 24/193/2 23/5/2 30/7/2
|
||||
f 21/193/2 22/5/2 32/7/2
|
||||
f 13/24/3 56/8/3 3/10/3
|
||||
f 53/19/3 67/11/3 56/13/3
|
||||
f 59/26/4 57/14/4 29/16/4
|
||||
f 58/13/5 59/17/5 23/19/5
|
||||
f 22/23/6 34/20/6 21/22/6
|
||||
f 39/21/7 26/22/7 40/20/7
|
||||
f 40/35/8 41/8/8 50/25/8
|
||||
f 45/17/8 50/18/8 44/13/8
|
||||
f 49/15/3 50/16/3 47/14/3
|
||||
f 6/34/3 47/27/3 5/29/3
|
||||
f 45/35/8 44/8/8 5/25/8
|
||||
f 39/33/6 38/30/6 40/32/6
|
||||
f 34/32/7 33/33/7 49/31/7
|
||||
f 50/22/6 49/23/6 46/21/6
|
||||
f 45/32/6 47/33/6 14/31/6
|
||||
f 38/22/7 36/23/7 47/21/7
|
||||
f 46/33/7 5/30/7 43/32/7
|
||||
f 56/13/5 54/17/5 53/19/5
|
||||
f 54/26/4 55/14/4 52/16/4
|
||||
f 11/29/4 12/34/4 54/28/4
|
||||
f 13/24/5 11/25/5 56/8/5
|
||||
f 53/24/5 52/25/5 58/8/5
|
||||
f 52/29/4 51/34/4 59/28/4
|
||||
f 58/8/3 66/9/3 53/24/3
|
||||
f 66/12/3 58/13/3 24/11/3
|
||||
f 63/26/5 64/14/5 27/16/5
|
||||
f 64/27/5 63/28/5 62/34/5
|
||||
f 62/15/5 60/16/5 71/14/5
|
||||
f 8/29/5 9/34/5 70/28/5
|
||||
f 69/8/3 10/24/3 70/35/3
|
||||
f 69/13/3 70/17/3 61/19/3
|
||||
f 65/8/3 61/24/3 63/35/3
|
||||
f 63/17/3 27/18/3 65/13/3
|
||||
f 56/32/9 54/33/9 15/31/9
|
||||
f 53/22/9 52/23/9 42/21/9
|
||||
f 37/31/9 58/32/9 36/30/9
|
||||
f 29/23/9 33/20/9 23/22/9
|
||||
f 59/21/10 20/22/10 58/20/10
|
||||
f 53/30/10 52/31/10 35/33/10
|
||||
f 54/21/10 36/22/10 56/20/10
|
||||
f 13/31/10 11/30/10 42/32/10
|
||||
f 71/33/9 7/30/9 70/32/9
|
||||
f 60/22/9 62/23/9 45/21/9
|
||||
f 50/31/9 63/32/9 48/30/9
|
||||
f 41/20/9 40/21/9 28/23/9
|
||||
f 64/21/10 32/22/10 63/20/10
|
||||
f 62/31/10 41/32/10 60/30/10
|
||||
f 70/21/10 71/20/10 50/22/10
|
||||
f 44/32/10 45/33/10 9/31/10
|
||||
f 55/33/7 10/30/7 54/32/7
|
||||
f 69/32/6 70/33/6 12/31/6
|
||||
f 69/20/7 70/21/7 51/23/7
|
||||
f 63/33/6 52/30/6 65/32/6
|
||||
f 30/23/7 65/20/7 29/22/7
|
||||
f 27/23/6 59/20/6 17/22/6
|
||||
f 57/33/7 61/30/7 59/32/7
|
||||
f 61/22/6 60/23/6 55/21/6
|
||||
f 39/27/3 40/28/3 49/34/3
|
||||
f 41/13/8 40/17/8 32/19/8
|
||||
f 22/15/3 21/16/3 39/14/3
|
||||
f 34/13/4 33/17/4 26/19/4
|
||||
f 35/14/8 19/15/8 33/26/8
|
||||
f 34/8/4 38/24/4 33/35/4
|
||||
f 37/34/8 35/27/8 36/29/8
|
||||
f 36/18/4 38/19/4 46/17/4
|
||||
f 42/14/8 37/15/8 46/26/8
|
||||
f 43/8/4 16/24/4 46/35/4
|
||||
f 15/34/8 42/27/8 14/29/8
|
||||
f 8/124/1 9/38/1 183/37/1
|
||||
f 7/36/1 5/40/1 183/37/1
|
||||
f 6/41/1 16/54/1 181/39/1
|
||||
f 14/170/1 181/39/1 16/54/1
|
||||
f 14/170/1 15/44/1 182/43/1
|
||||
f 13/42/1 11/128/1 182/43/1
|
||||
f 11/128/1 12/47/1 184/46/1
|
||||
f 10/45/1 8/124/1 184/46/1
|
||||
f 41/51/1 40/48/1 64/50/1
|
||||
f 34/51/1 33/48/1 39/50/1
|
||||
f 63/50/1 59/51/1 65/49/1
|
||||
f 58/49/1 59/50/1 35/48/1
|
||||
f 36/170/1 37/44/1 122/52/1
|
||||
f 53/42/1 52/128/1 122/52/1
|
||||
f 124/37/1 60/124/1 62/38/1
|
||||
f 62/38/1 48/36/1 124/37/1
|
||||
f 61/45/1 60/124/1 121/46/1
|
||||
f 121/46/1 52/128/1 51/47/1
|
||||
f 49/41/1 38/54/1 123/39/1
|
||||
f 36/170/1 123/39/1 38/54/1
|
||||
f 69/49/1 70/50/1 55/48/1
|
||||
f 70/49/1 71/50/1 45/48/1
|
||||
f 54/50/1 46/51/1 56/49/1
|
||||
f 45/49/1 47/50/1 46/48/1
|
||||
f 44/8/4 72/9/4 7/24/4
|
||||
f 2/10/5 72/9/5 6/34/5
|
||||
f 74/12/4 41/13/4 31/11/4
|
||||
f 74/9/4 73/10/4 41/8/4
|
||||
f 44/13/4 48/19/4 72/12/4
|
||||
f 74/12/5 31/11/5 39/14/5
|
||||
f 74/9/5 39/27/5 73/10/5
|
||||
f 73/11/5 49/15/5 72/12/5
|
||||
f 3/10/8 68/9/8 12/34/8
|
||||
f 51/15/8 55/14/8 67/11/8
|
||||
f 57/27/8 51/34/8 66/9/8
|
||||
f 24/11/8 30/15/8 66/12/8
|
||||
f 75/12/8 65/13/8 18/11/8
|
||||
f 75/9/8 76/10/8 65/8/8
|
||||
f 77/12/8 69/13/8 76/11/8
|
||||
f 10/24/8 69/8/8 1/10/8
|
||||
f 18/11/4 28/15/4 75/12/4
|
||||
f 64/27/4 62/34/4 75/9/4
|
||||
f 62/15/4 71/14/4 76/11/4
|
||||
f 1/10/4 77/9/4 9/34/4
|
||||
f 80/9/5 4/10/5 43/8/5
|
||||
f 79/11/5 80/12/5 38/19/5
|
||||
f 78/9/5 79/10/5 34/8/5
|
||||
f 34/13/5 26/19/5 78/12/5
|
||||
f 25/11/3 19/15/3 78/12/3
|
||||
f 37/34/3 79/10/3 35/27/3
|
||||
f 42/14/3 80/12/3 37/15/3
|
||||
f 15/34/3 4/10/3 42/27/3
|
||||
f 81/57/19 79/194/19 38/54/19
|
||||
f 49/41/20 73/195/20 82/53/20
|
||||
f 81/57/1 38/54/1 82/53/1
|
||||
f 82/53/21 73/195/21 48/36/21
|
||||
f 48/36/1 62/38/1 83/55/1
|
||||
f 76/196/1 83/55/1 62/38/1
|
||||
f 81/57/1 84/56/1 37/44/1
|
||||
f 67/197/1 53/42/1 84/56/1
|
||||
f 37/44/22 79/194/22 81/57/22
|
||||
f 51/47/1 67/197/1 84/56/1
|
||||
f 76/196/1 61/45/1 83/55/1
|
||||
f 84/56/1 83/55/1 51/47/1
|
||||
f 12/47/1 3/197/1 88/56/1
|
||||
f 87/55/1 1/196/1 10/45/1
|
||||
f 10/45/1 12/47/1 88/56/1
|
||||
f 13/42/1 15/44/1 85/57/1
|
||||
f 4/194/1 85/57/1 15/44/1
|
||||
f 88/56/1 3/197/1 13/42/1
|
||||
f 16/54/1 6/41/1 86/53/1
|
||||
f 2/195/1 86/53/1 6/41/1
|
||||
f 85/57/1 4/194/1 16/54/1
|
||||
f 7/36/1 9/38/1 87/55/1
|
||||
f 1/196/1 87/55/1 9/38/1
|
||||
f 86/53/1 2/195/1 7/36/1
|
||||
f 95/198/1 97/58/1 107/60/1
|
||||
f 131/199/11 103/61/11 130/63/11
|
||||
f 105/200/1 91/64/1 112/66/1
|
||||
f 130/63/12 101/62/12 129/68/12
|
||||
f 101/201/1 103/69/1 110/71/1
|
||||
f 99/67/13 97/72/13 129/68/13
|
||||
f 93/202/1 95/74/1 89/75/1
|
||||
f 97/72/14 95/76/14 128/73/14
|
||||
f 91/203/1 93/78/1 90/65/1
|
||||
f 95/76/15 93/79/15 127/77/15
|
||||
f 97/204/1 99/81/1 108/59/1
|
||||
f 111/95/16 112/66/16 115/84/16
|
||||
f 93/79/17 91/85/17 126/80/17
|
||||
f 102/140/12 100/87/12 138/89/12
|
||||
f 125/86/18 91/85/18 132/91/18
|
||||
f 132/91/16 105/90/16 131/93/16
|
||||
f 103/205/1 105/94/1 111/95/1
|
||||
f 99/206/1 101/96/1 109/82/1
|
||||
f 113/99/2 114/207/2 120/208/2
|
||||
f 120/208/2 119/209/2 118/97/2
|
||||
f 118/97/2 117/210/2 116/98/2
|
||||
f 116/98/2 115/211/2 113/99/2
|
||||
f 113/99/2 120/208/2 118/97/2
|
||||
f 109/82/12 110/71/12 117/101/12
|
||||
f 90/65/17 89/75/17 114/103/17
|
||||
f 108/59/13 109/82/13 118/104/13
|
||||
f 107/60/14 108/59/14 119/105/14
|
||||
f 112/66/18 90/65/18 113/83/18
|
||||
f 110/71/11 111/70/11 116/100/11
|
||||
f 89/75/15 107/60/15 120/102/15
|
||||
f 132/123/18 106/107/18 125/109/18
|
||||
f 94/112/17 126/110/17 92/108/17
|
||||
f 96/114/15 127/111/15 94/112/15
|
||||
f 98/116/14 128/113/14 96/114/14
|
||||
f 100/117/13 129/115/13 98/116/13
|
||||
f 129/115/12 100/117/12 130/119/12
|
||||
f 130/119/11 102/118/11 131/121/11
|
||||
f 131/212/16 104/122/16 132/123/16
|
||||
f 131/126/1 121/46/1 130/125/1
|
||||
f 52/128/1 121/46/1 132/127/1
|
||||
f 125/129/1 122/52/1 132/127/1
|
||||
f 36/170/1 122/52/1 126/130/1
|
||||
f 36/170/1 126/130/1 123/39/1
|
||||
f 50/40/1 123/39/1 128/132/1
|
||||
f 50/40/1 128/132/1 124/37/1
|
||||
f 60/124/1 124/37/1 130/125/1
|
||||
f 140/213/2 139/134/2 148/136/2
|
||||
f 96/144/15 94/137/15 135/139/15
|
||||
f 104/214/11 102/140/11 139/141/11
|
||||
f 94/137/17 92/142/17 133/138/17
|
||||
f 98/149/14 96/144/14 136/145/14
|
||||
f 106/150/16 104/146/16 140/148/16
|
||||
f 100/87/13 98/149/13 137/88/13
|
||||
f 92/142/18 106/150/18 134/143/18
|
||||
f 145/156/13 144/151/13 153/153/13
|
||||
f 146/164/2 138/154/2 145/156/2
|
||||
f 136/215/2 135/157/2 144/151/2
|
||||
f 133/216/2 134/159/2 141/161/2
|
||||
f 134/217/2 140/162/2 142/160/2
|
||||
f 139/218/2 138/163/2 147/165/2
|
||||
f 145/156/2 137/166/2 144/151/2
|
||||
f 143/158/2 135/168/2 141/161/2
|
||||
f 96/131/1 181/39/1 94/130/1
|
||||
f 143/158/15 141/161/15 151/172/15
|
||||
f 148/136/16 147/135/16 156/174/16
|
||||
f 146/164/12 145/156/12 154/175/12
|
||||
f 144/151/14 143/158/14 152/152/14
|
||||
f 141/161/17 142/160/17 149/171/17
|
||||
f 142/160/18 148/136/18 150/176/18
|
||||
f 147/165/11 146/164/11 155/177/11
|
||||
f 158/189/8 160/178/8 157/180/8
|
||||
f 160/219/3 164/181/3 159/179/3
|
||||
f 164/188/5 162/183/5 163/185/5
|
||||
f 162/220/4 158/186/4 161/187/4
|
||||
f 157/180/2 159/179/2 161/187/2
|
||||
f 162/183/1 164/188/1 158/189/1
|
||||
f 166/220/8 168/186/8 165/187/8
|
||||
f 168/189/3 172/178/3 167/180/3
|
||||
f 172/219/5 170/181/5 171/179/5
|
||||
f 170/188/4 166/183/4 169/185/4
|
||||
f 165/187/2 167/180/2 169/182/2
|
||||
f 170/188/1 172/178/1 166/183/1
|
||||
f 175/221/1 173/222/1 174/192/1
|
||||
f 174/192/1 180/223/1 179/190/1
|
||||
f 179/190/1 178/224/1 177/191/1
|
||||
f 177/191/1 176/225/1 175/221/1
|
||||
f 175/221/1 174/192/1 177/191/1
|
||||
f 96/131/1 98/132/1 181/39/1
|
||||
f 100/133/1 183/37/1 98/132/1
|
||||
f 8/124/1 183/37/1 102/125/1
|
||||
f 104/126/1 184/46/1 102/125/1
|
||||
f 11/128/1 184/46/1 106/127/1
|
||||
f 92/129/1 182/43/1 106/127/1
|
||||
f 14/170/1 182/43/1 94/130/1
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
After Width: | Height: | Size: 4.1 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 4.6 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 4.7 KiB |
Loading…
x
Reference in New Issue
Block a user