finished new RBMK column, more fluid IO stuff

This commit is contained in:
Bob 2022-04-18 22:52:07 +02:00
parent 6bbebdc65a
commit 0412ac6154
26 changed files with 1357 additions and 30 deletions

View File

@ -0,0 +1,77 @@
package api.hbm.fluid;
import com.hbm.inventory.FluidTank;
import com.hbm.inventory.fluid.FluidType;
/**
* transceiver [trăn-vər], noun
*
* 1. A transmitter and receiver housed together in a single unit and having some circuits in common, often for portable or mobile use.
* 2. A combinedradiotransmitter and receiver.
* 3. A device that performs transmitting and receivingfunctions, especially if using commoncomponents.
*
* The American Heritage® Dictionary of the English Language, 5th Edition.
*
* @author hbm
*
*/
public interface IFluidStandardTransceiver extends IFluidUser {
public FluidTank[] getSendingTanks();
public FluidTank[] getReceivingTanks();
@Override
public default long getTotalFluidForSend(FluidType type) {
for(FluidTank tank : getSendingTanks()) {
if(tank.getTankType() == type) {
return tank.getFill();
}
}
return 0;
}
@Override
public default void removeFluidForTransfer(FluidType type, long amount) {
for(FluidTank tank : getSendingTanks()) {
if(tank.getTankType() == type) {
tank.setFill(tank.getFill() - (int) amount);
return;
}
}
}
@Override
public default long getDemand(FluidType type) {
for(FluidTank tank : getReceivingTanks()) {
if(tank.getTankType() == type) {
return tank.getMaxFill() - tank.getFill();
}
}
return 0;
}
@Override
public default long transferFluid(FluidType type, long amount) {
for(FluidTank tank : getReceivingTanks()) {
if(tank.getTankType() == type) {
tank.setFill(tank.getFill() + (int) amount);
if(tank.getFill() > tank.getMaxFill()) {
long overshoot = tank.getFill() - tank.getMaxFill();
tank.setFill(tank.getMaxFill());
return overshoot;
}
return 0;
}
}
return amount;
}
}

View File

@ -64,9 +64,15 @@ public interface IFluidUser extends IFluidConnector {
public default long getTotalFluidForSend(FluidType type) { return 0; }
public default void removeFluidForTransfer(FluidType type, long amount) { }
public default void updateStandardPipes(FluidType type, World world, int x, int y, int z) {
public default void subscribeToAllAround(FluidType type, World world, int x, int y, int z) {
for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS)
this.trySubscribe(type, world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir);
}
public default void unsubscribeToAllAround(FluidType type, World world, int x, int y, int z) {
for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS)
this.tryUnsubscribe(type, world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ);
}
}

View File

@ -558,6 +558,8 @@ public class ModBlocks {
public static Block barbed_wire_ultradeath;
public static Block spikes;
public static Block charger;
public static Block tesla;
public static Block marker_structure;
@ -2010,6 +2012,8 @@ public class ModBlocks {
barbed_wire_ultradeath = new BarbedWire(Material.iron).setBlockName("barbed_wire_ultradeath").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_ultradeath_model");
spikes = new Spikes(Material.iron).setBlockName("spikes").setHardness(2.5F).setResistance(5.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":spikes");
charger = new Charger(Material.iron).setBlockName("charger").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":charger");
tesla = new MachineTesla(Material.iron).setBlockName("tesla").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":tesla");
marker_structure = new BlockMarker(Material.iron).setBlockName("marker_structure").setHardness(0.0F).setResistance(0.0F).setLightLevel(1.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":marker_structure");
@ -2636,6 +2640,9 @@ public class ModBlocks {
GameRegistry.registerBlock(spikes, spikes.getUnlocalizedName());
GameRegistry.registerBlock(tesla, tesla.getUnlocalizedName());
//Charger
GameRegistry.registerBlock(charger, charger.getUnlocalizedName());
//Siege blocks
GameRegistry.registerBlock(siege_shield, ItemBlockLore.class, siege_shield.getUnlocalizedName());
GameRegistry.registerBlock(siege_internal, ItemBlockLore.class, siege_internal.getUnlocalizedName());

View File

@ -0,0 +1,57 @@
package com.hbm.blocks.machine;
import com.hbm.tileentity.machine.TileEntityCharger;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
public class Charger extends BlockContainer {
public Charger(Material mat) {
super(mat);
}
@Override
public TileEntity createNewTileEntity(World world, int meta) {
return new TileEntityCharger();
}
@Override
public int getRenderType(){
return -1;
}
@Override
public boolean isOpaqueCube() {
return false;
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) {
int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
if(i == 0) {
world.setBlockMetadataWithNotify(x, y, z, 2, 2);
}
if(i == 1) {
world.setBlockMetadataWithNotify(x, y, z, 5, 2);
}
if(i == 2) {
world.setBlockMetadataWithNotify(x, y, z, 3, 2);
}
if(i == 3) {
world.setBlockMetadataWithNotify(x, y, z, 4, 2);
}
}
}

View File

@ -1,5 +1,6 @@
package com.hbm.blocks.machine.rbmk;
import com.hbm.tileentity.TileEntityProxyCombo;
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKHeater;
import net.minecraft.entity.player.EntityPlayer;
@ -13,6 +14,9 @@ public class RBMKHeater extends RBMKBase {
if(meta >= this.offset)
return new TileEntityRBMKHeater();
if(hasExtra(meta))
return new TileEntityProxyCombo(false, false, true);
return null;
}

View File

@ -138,6 +138,11 @@ public class EntitySiegeCraft extends EntityUFOBase implements IBossDisplayData
);
}
@Override
protected int getScanRange() {
return 100;
}
@Override
protected int targetHeightOffset() {
return 7 + rand.nextInt(5);

View File

@ -210,6 +210,7 @@ public class GUIRBMKConsole extends GuiScreen {
}
}
@SuppressWarnings("incomplete-switch") //shut up
protected void drawGuiContainerBackgroundLayer(float interp, int mX, int mY) {
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
@ -286,6 +287,13 @@ public class GUIRBMKConsole extends GuiScreen {
drawTexturedModalRect(guiLeft + x + 4, guiTop + y + 7, 44, 189, 2, 2);
break;
case HEATEX:
int cc = (int)Math.ceil((col.data.getInteger("water")) * 8 / col.data.getDouble("maxWater"));
drawTexturedModalRect(guiLeft + x + 1, guiTop + y + size - cc - 1, 131, 191 - cc, 3, cc);
int hc = (int)Math.ceil((col.data.getInteger("steam")) * 8 / col.data.getDouble("maxSteam"));
drawTexturedModalRect(guiLeft + x + 6, guiTop + y + size - hc - 1, 136, 191 - hc, 3, hc);
break;
}
if(this.selection[i])

View File

@ -271,6 +271,8 @@ public class ClientProxy extends ServerProxy {
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityConnector.class, new RenderConnector());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPylonLarge.class, new RenderPylonLarge());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySubstation.class, new RenderSubstation());
//chargers
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCharger.class, new RenderCharger());
//multiblocks
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityStructureMarker.class, new RenderStructureMaker());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMultiblock.class, new RenderMultiblock());

View File

@ -294,6 +294,9 @@ public class ResourceManager {
//Electrolyser
public static final IModelCustom electrolyser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/electrolyser.obj"));
//Belt
public static final IModelCustom charger = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/blocks/charger.obj"));
////Textures TEs
public static final ResourceLocation universal = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png");
@ -603,6 +606,9 @@ public class ResourceManager {
//Electrolyser
public static final ResourceLocation electrolyser_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/electrolyser.png");
//Charger
public static final ResourceLocation charger_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/charger.png");
////Obj Items
//Shimmer Sledge

View File

@ -0,0 +1,92 @@
package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11;
import com.hbm.main.ResourceManager;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
public class RenderCharger extends TileEntitySpecialRenderer {
@Override
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) {
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5, y, z + 0.5);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glRotatef(90, 0F, 1F, 0F);
switch(tile.getBlockMetadata()) {
case 4: GL11.glRotatef(90, 0F, 1F, 0F); break;
case 3: GL11.glRotatef(180, 0F, 1F, 0F); break;
case 5: GL11.glRotatef(270, 0F, 1F, 0F); break;
case 2: GL11.glRotatef(0, 0F, 1F, 0F); break;
}
GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(ResourceManager.charger_tex);
ResourceManager.charger.renderPart("Base");
int time = (int) (System.currentTimeMillis() % 2000);
if(time >= 1000)
time = 1000 - (time - 1000);
double extend = Math.min(time, 500) / 500D;
double swivel = Math.max(time - 500, 0) / 500D;
GL11.glPushMatrix();
GL11.glTranslated(-0.34375D, 0.25D, 0);
GL11.glRotated(10, 0, 0, 1);
GL11.glTranslated(0.34375D, -0.25D, 0);
GL11.glTranslated(0, -0.25 * extend, 0);
//ResourceManager.charger.renderPart("Slide");
GL11.glPushMatrix();
GL11.glTranslated(0, 0.28D, 0);
GL11.glRotated(30 * swivel, 1, 0, 0);
GL11.glTranslated(0, -0.28D, 0);
ResourceManager.charger.renderPart("Left");
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glTranslated(0, 0.28D, 0);
GL11.glRotated(-30 * swivel, 1, 0, 0);
GL11.glTranslated(0, -0.28D, 0);
ResourceManager.charger.renderPart("Right");
GL11.glPopMatrix();
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glPushAttrib(GL11.GL_LIGHTING_BIT);
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_CULL_FACE);
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F);
GL11.glColor3f(1F, 0.75F, 0F);
ResourceManager.charger.renderPart("Light");
GL11.glColor3f(1F, 1F, 1F);
GL11.glTranslated(-0.34375D, 0.25D, 0);
GL11.glRotated(10, 0, 0, 1);
GL11.glTranslated(0.34375D, -0.25D, 0);
GL11.glTranslated(0, -0.25 * extend, 0);
GL11.glEnable(GL11.GL_TEXTURE_2D);
ResourceManager.charger.renderPart("Slide");
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glPopAttrib();
GL11.glPopMatrix();
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glPopMatrix();
}
}

View File

@ -7,6 +7,7 @@ import com.hbm.inventory.fluid.FluidType;
import api.hbm.energy.IEnergyConnector;
import api.hbm.energy.IEnergyUser;
import api.hbm.fluid.IFluidConnector;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;
@ -14,7 +15,7 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.util.ForgeDirection;
public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergyUser, IFluidAcceptor, ISidedInventory {
public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergyUser, IFluidAcceptor, ISidedInventory, IFluidConnector {
TileEntity tile;
boolean inventory;
@ -400,4 +401,40 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy
nbt.setBoolean("power", power);
nbt.setBoolean("fluid", fluid);
}
@Override
public long transferFluid(FluidType type, long fluid) {
if(!this.fluid)
return fluid;
if(getTile() instanceof IFluidConnector) {
return ((IFluidConnector)getTile()).transferFluid(type, fluid);
}
return fluid;
}
@Override
public long getDemand(FluidType type) {
if(!this.fluid)
return 0;
if(getTile() instanceof IFluidConnector) {
return ((IFluidConnector)getTile()).getDemand(type);
}
return 0;
}
@Override
public boolean canConnect(FluidType type, ForgeDirection dir) {
if(!this.fluid)
return false;
if(getTile() instanceof IFluidConnector) {
return ((IFluidConnector)getTile()).canConnect(type, dir);
}
return false;
}
}

View File

@ -193,8 +193,10 @@ public class TileMappings {
put(TileEntityLoot.class, "tileentity_ntm_loot");
put(TileEntityBobble.class, "tileentity_ntm_bobblehead");
put(TileEntityEmitter.class, "tileentity_ntm_emitter");
put(TileEntityDoorGeneric.class, "tileentity_ntm_door");
put(TileEntityCharger.class, "tileentity_ntm_charger");
put(TileEntityProxyInventory.class, "tileentity_proxy_inventory");
put(TileEntityProxyEnergy.class, "tileentity_proxy_power");

View File

@ -0,0 +1,23 @@
package com.hbm.tileentity.machine;
import com.hbm.tileentity.TileEntityLoadedBase;
import api.hbm.energy.IEnergyUser;
public class TileEntityCharger extends TileEntityLoadedBase implements IEnergyUser {
@Override
public long getPower() {
return 0;
}
@Override
public long getMaxPower() {
return 0;
}
@Override
public void setPower(long power) {
}
}

View File

@ -226,7 +226,7 @@ public class TileEntityMachineCoal extends TileEntityLoadedBase implements ISide
for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS)
this.sendPower(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir);
this.updateStandardPipes(Fluids.WATER, worldObj, xCoord, yCoord, zCoord);
this.subscribeToAllAround(Fluids.WATER, worldObj, xCoord, yCoord, zCoord);
//Water
tank.loadTank(0, 3, slots);

View File

@ -102,7 +102,7 @@ public class TileEntityMachineDiesel extends TileEntityMachineBase implements IE
for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS)
this.sendPower(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir);
this.updateStandardPipes(Fluids.WATER, worldObj, xCoord, yCoord, zCoord);
this.subscribeToAllAround(Fluids.WATER, worldObj, xCoord, yCoord, zCoord);
//Tank Management
tank.setType(3, 4, slots);

View File

@ -35,7 +35,6 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.MathHelper;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.EnumSkyBlock;
import net.minecraft.world.World;
import net.minecraftforge.client.event.RenderGameOverlayEvent;

View File

@ -254,6 +254,13 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon
case CONTROL_AUTO:
stats.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("rbmk.control.level", ((int)((this.data.getDouble("level") * 100D))) + "%"));
break;
case HEATEX:
stats.add(EnumChatFormatting.BLUE + I18nUtil.resolveKey(I18nUtil.resolveKey(Fluids.fromID(this.data.getShort("type")).getUnlocalizedName()) + " " +
this.data.getInteger("water") + "/" + this.data.getInteger("maxWater") + "mB"));
stats.add(EnumChatFormatting.RED + I18nUtil.resolveKey(I18nUtil.resolveKey(Fluids.fromID(this.data.getShort("hottype")).getUnlocalizedName()) + " " +
this.data.getInteger("steam") + "/" + this.data.getInteger("maxSteam") + "mB"));
break;
}
if(data.getBoolean("moderated"))

View File

@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.List;
import com.hbm.blocks.ModBlocks;
import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType;
import com.hbm.interfaces.IFluidAcceptor;
import com.hbm.interfaces.IFluidSource;
import com.hbm.inventory.FluidTank;
@ -12,6 +13,8 @@ import com.hbm.inventory.fluid.Fluids;
import com.hbm.lib.Library;
import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType;
import net.minecraft.nbt.NBTTagCompound;
public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements IFluidAcceptor, IFluidSource {
public FluidTank feed;
@ -28,11 +31,6 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I
public String getName() {
return "container.rbmkHeater";
}
@Override
public ColumnType getConsoleType() {
return ColumnType.HEATEX;
}
@Override
public void updateEntity() {
@ -166,4 +164,49 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I
public void clearFluidList(FluidType type) {
list.clear();
}
@Override
public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt);
feed.readFromNBT(nbt, "feed");
steam.readFromNBT(nbt, "steam");
}
@Override
public void writeToNBT(NBTTagCompound nbt) {
super.writeToNBT(nbt);
feed.writeToNBT(nbt, "feed");
steam.writeToNBT(nbt, "steam");
}
@Override
public void onMelt(int reduce) {
int count = 1 + worldObj.rand.nextInt(2);
for(int i = 0; i < count; i++) {
spawnDebris(DebrisType.BLANK);
}
super.onMelt(reduce);
}
@Override
public ColumnType getConsoleType() {
return ColumnType.HEATEX;
}
@Override
public NBTTagCompound getNBTForConsole() {
NBTTagCompound data = new NBTTagCompound();
data.setInteger("water", this.feed.getFill());
data.setInteger("maxWater", this.feed.getMaxFill());
data.setInteger("steam", this.steam.getFill());
data.setInteger("maxSteam", this.steam.getMaxFill());
data.setShort("type", (short)this.feed.getTankType().getID());
data.setShort("hottype", (short)this.steam.getTankType().getID());
return data;
}
}

View File

@ -15,7 +15,6 @@ import net.minecraft.block.Block;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.util.ForgeDirection;
import scala.actors.threadpool.Arrays;
public class TileEntityRBMKOutlet extends TileEntity implements IFluidSource {

View File

@ -14,13 +14,13 @@ import com.hbm.lib.Library;
import com.hbm.main.ModEventHandler;
import com.hbm.tileentity.TileEntityMachineBase;
import api.hbm.fluid.IFluidUser;
import api.hbm.fluid.IFluidStandardTransceiver;
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.EnumSkyBlock;
public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcceptor, IFluidSource, IFluidUser {
public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcceptor, IFluidSource, IFluidStandardTransceiver {
public FluidTank tank;
public short mode = 0;
@ -57,9 +57,11 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc
this.sendFluidToAll(tank.getTankType(), this);
}
/*
* TODO: these don't work as receivers yet, don't forget how the subscription system works
*/
if(this.mode == 0 || this.mode == 1) {
this.subscribeToAllAround(tank.getTankType(), worldObj, xCoord, yCoord, zCoord);
} else {
this.unsubscribeToAllAround(tank.getTankType(), worldObj, xCoord, yCoord, zCoord);
}
age++;
if(age >= 20)
@ -126,7 +128,6 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc
}
public void networkUnpack(NBTTagCompound data) {
mode = data.getShort("mode");
}
@ -211,18 +212,12 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc
}
@Override
public long transferFluid(FluidType type, long fluid) {
long toTransfer = Math.min(getDemand(type), fluid);
tank.setFill(tank.getFill() + (int) toTransfer);
return fluid - toTransfer;
public FluidTank[] getSendingTanks() {
return (mode == 1 || mode == 2) ? new FluidTank[] {tank} : new FluidTank[0];
}
@Override
public long getDemand(FluidType type) {
if(this.mode == 2 || this.mode == 3)
return 0;
return type == tank.getTankType() ? tank.getMaxFill() - tank.getFill() : 0;
public FluidTank[] getReceivingTanks() {
return (mode == 0 || mode == 1) ? new FluidTank[] {tank} : new FluidTank[0];
}
}

View File

@ -7,6 +7,7 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.World;
public class TileEntityMachineBAT9000 extends TileEntityBarrel {
@ -28,6 +29,30 @@ public class TileEntityMachineBAT9000 extends TileEntityBarrel {
}
}
@Override
public void subscribeToAllAround(FluidType type, World world, int x, int y, int z) {
this.trySubscribe(type, world, xCoord + 1, yCoord, zCoord + 3, Library.POS_Z);
this.trySubscribe(type, world, xCoord - 1, yCoord, zCoord + 3, Library.POS_Z);
this.trySubscribe(type, world, xCoord + 1, yCoord, zCoord - 3, Library.NEG_Z);
this.trySubscribe(type, world, xCoord - 1, yCoord, zCoord - 3, Library.NEG_Z);
this.trySubscribe(type, world, xCoord + 3, yCoord, zCoord + 1, Library.POS_X);
this.trySubscribe(type, world, xCoord - 3, yCoord, zCoord + 1, Library.POS_X);
this.trySubscribe(type, world, xCoord + 3, yCoord, zCoord - 1, Library.NEG_X);
this.trySubscribe(type, world, xCoord - 3, yCoord, zCoord - 1, Library.NEG_X);
}
@Override
public void unsubscribeToAllAround(FluidType type, World world, int x, int y, int z) {
this.tryUnsubscribe(type, world, xCoord + 1, yCoord, zCoord + 3);
this.tryUnsubscribe(type, world, xCoord - 1, yCoord, zCoord + 3);
this.tryUnsubscribe(type, world, xCoord + 1, yCoord, zCoord - 3);
this.tryUnsubscribe(type, world, xCoord - 1, yCoord, zCoord - 3);
this.tryUnsubscribe(type, world, xCoord + 3, yCoord, zCoord + 1);
this.tryUnsubscribe(type, world, xCoord - 3, yCoord, zCoord + 1);
this.tryUnsubscribe(type, world, xCoord + 3, yCoord, zCoord - 1);
this.tryUnsubscribe(type, world, xCoord - 3, yCoord, zCoord - 1);
}
@Override
public void fillFluidInit(FluidType type) {
fillFluid(this.xCoord + 1, this.yCoord, this.zCoord + 3, getTact(), type);

View File

@ -7,6 +7,7 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
public class TileEntityMachineOrbus extends TileEntityBarrel {
@ -29,7 +30,7 @@ public class TileEntityMachineOrbus extends TileEntityBarrel {
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite();
ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN);
for(int i = -1; i < 7; i += 7) {
for(int i = -1; i < 6; i += 6) {
this.fillFluid(xCoord, yCoord + i, zCoord, this.getTact(), this.tank.getTankType());
this.fillFluid(xCoord + dir.offsetX, yCoord + i, zCoord + dir.offsetZ, this.getTact(), this.tank.getTankType());
this.fillFluid(xCoord + rot.offsetX, yCoord + i, zCoord + rot.offsetZ, this.getTact(), this.tank.getTankType());
@ -42,7 +43,7 @@ public class TileEntityMachineOrbus extends TileEntityBarrel {
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite();
ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN);
for(int i = -1; i < 7; i += 7) {
for(int i = -1; i < 6; i += 6) {
ForgeDirection out = i == -1 ? ForgeDirection.DOWN : ForgeDirection.UP;
sendFluid(type, worldObj, xCoord, yCoord + i, zCoord, out);
sendFluid(type, worldObj, xCoord + dir.offsetX, yCoord + i, zCoord + dir.offsetZ, out);
@ -50,6 +51,35 @@ public class TileEntityMachineOrbus extends TileEntityBarrel {
sendFluid(type, worldObj, xCoord + dir.offsetX + rot.offsetX, yCoord + i, zCoord + dir.offsetZ + rot.offsetZ, out);
}
}
@Override
public void subscribeToAllAround(FluidType type, World world, int x, int y, int z) {
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite();
ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN);
for(int i = -1; i < 6; i += 6) {
ForgeDirection out = i == -1 ? ForgeDirection.DOWN : ForgeDirection.UP;
this.trySubscribe(type, world, xCoord, yCoord + i, zCoord, out);
this.trySubscribe(type, world, xCoord + dir.offsetX, yCoord + i, zCoord + dir.offsetZ, out);
this.trySubscribe(type, world, xCoord + rot.offsetX, yCoord + i, zCoord + rot.offsetZ, out);
this.trySubscribe(type, world, xCoord + dir.offsetX + rot.offsetX, yCoord + i, zCoord + dir.offsetZ + rot.offsetZ, out);
}
}
@Override
public void unsubscribeToAllAround(FluidType type, World world, int x, int y, int z) {
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite();
ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN);
for(int i = -1; i < 7; i += 7) {
this.tryUnsubscribe(type, world, xCoord, yCoord + i, zCoord);
this.tryUnsubscribe(type, world, xCoord + dir.offsetX, yCoord + i, zCoord + dir.offsetZ);
this.tryUnsubscribe(type, world, xCoord + rot.offsetX, yCoord + i, zCoord + rot.offsetZ);
this.tryUnsubscribe(type, world, xCoord + dir.offsetX + rot.offsetX, yCoord + i, zCoord + dir.offsetZ + rot.offsetZ);
}
}
AxisAlignedBB bb = null;

View File

@ -0,0 +1,903 @@
# Blender v2.79 (sub 0) OBJ File: 'charger.blend'
# www.blender.org
o Light
v -0.266762 0.501450 -0.023437
v -0.269068 0.517861 -0.016573
v -0.270024 0.524659 0.000000
v -0.269068 0.517861 0.016573
v -0.266762 0.501450 0.023438
v -0.264455 0.485038 0.016573
v -0.263500 0.478240 0.000000
v -0.264455 0.485038 -0.016573
vn 0.9903 0.1392 0.0000
s off
f 3//1 5//1 7//1
f 1//1 2//1 3//1
f 3//1 4//1 5//1
f 5//1 6//1 7//1
f 7//1 8//1 1//1
f 1//1 3//1 7//1
o Left
v -0.406250 0.281250 0.000000
v -0.387944 0.281250 0.044194
v -0.343750 0.281250 0.062500
v -0.299556 0.281250 0.044194
v -0.281250 0.281250 0.000000
v -0.375000 0.281250 0.000000
v -0.365847 0.281250 0.022097
v -0.343750 0.281250 0.031250
v -0.321653 0.281250 0.022097
v -0.312500 0.281250 0.000000
v -0.387944 0.531250 0.044194
v -0.406250 0.531250 0.000000
v -0.343750 0.531250 0.062500
v -0.299556 0.531250 0.044194
v -0.281250 0.531250 0.000000
v -0.365847 0.531250 0.022097
v -0.375000 0.531250 0.000000
v -0.343750 0.531250 0.031250
v -0.321653 0.531250 0.022097
v -0.312500 0.531250 0.000000
v -0.406250 0.281250 0.000000
v -0.387944 0.281250 0.044194
v -0.343750 0.281250 0.062500
v -0.299556 0.281250 0.044194
v -0.281250 0.281250 0.000000
v -0.375000 0.281250 0.000000
v -0.365847 0.281250 0.022097
v -0.343750 0.281250 0.031250
v -0.321653 0.281250 0.022097
v -0.312500 0.281250 0.000000
v -0.387944 0.531250 0.044194
v -0.406250 0.531250 0.000000
v -0.343750 0.531250 0.062500
v -0.299556 0.531250 0.044194
v -0.281250 0.531250 0.000000
v -0.365847 0.531250 0.022097
v -0.375000 0.531250 0.000000
v -0.343750 0.531250 0.031250
v -0.321653 0.531250 0.022097
v -0.312500 0.531250 0.000000
vt 0.486486 0.026316
vt 0.513514 -0.000000
vt 0.540541 0.026316
vt 0.378378 -0.000000
vt 0.432432 0.026316
vt 0.378378 0.026316
vt 0.540541 -0.000000
vt 0.594595 0.026316
vt 0.459459 -0.000000
vt 0.486486 0.236842
vt 0.513514 0.263158
vt 0.486486 0.263158
vt 0.432432 0.236842
vt 0.378378 0.263158
vt 0.378378 0.236842
vt 0.594595 0.236842
vt 0.540541 0.263158
vt 0.540541 0.236842
vt 0.459459 0.263158
vt 0.432432 0.263158
vt 0.621622 0.026316
vt 0.351351 0.236842
vt 0.351351 0.026316
vt 0.486486 -0.000000
vt 0.405405 -0.000000
vt 0.567568 -0.000000
vt 0.432432 -0.000000
vt 0.405405 0.263158
vt 0.567568 0.263158
vt 0.621622 0.236842
vt 0.378378 0.473684
vt 0.405405 0.263158
vt 0.405405 0.473684
vt 0.486486 0.026316
vt 0.432432 0.236842
vt 0.432432 0.026316
vt 0.432432 0.473684
vt 0.459459 0.263158
vt 0.459459 0.473684
vt 0.540541 0.026316
vt 0.486486 0.236842
vt 0.486486 0.473684
vt 0.513514 0.263158
vt 0.513514 0.473684
vt 0.594595 0.026316
vt 0.540541 0.236842
vt 0.378378 0.236842
vt 0.378378 0.026316
vt 0.540541 0.473684
vt 0.567568 0.263158
vt 0.567568 0.473684
vt 0.378378 0.263158
vt 0.432432 0.263158
vt 0.486486 0.263158
vt 0.594595 0.236842
vt 0.540541 0.263158
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 0.9239 0.0000 -0.3827
vn 0.7071 0.0000 -0.7071
vn 0.0000 0.0000 1.0000
vn -0.7071 0.0000 0.7071
vn 0.7071 0.0000 0.7071
vn -0.7071 0.0000 -0.7071
vn 0.9239 0.0000 0.3827
vn -0.9239 0.0000 0.3827
vn -0.9239 0.0000 -0.3827
s off
f 11/1/2 17/2/2 12/3/2
f 14/4/2 10/5/2 9/6/2
f 17/7/2 13/8/2 12/3/2
f 10/5/2 16/9/2 11/1/2
f 21/10/3 27/11/3 26/12/3
f 19/13/3 25/14/3 20/15/3
f 23/16/3 27/17/3 22/18/3
f 19/13/3 26/19/3 24/20/3
f 18/21/4 23/16/4 13/8/4
f 9/6/4 25/22/4 14/23/4
f 11/1/2 16/24/2 17/2/2
f 14/4/2 15/25/2 10/5/2
f 17/7/2 18/26/2 13/8/2
f 10/5/2 15/27/2 16/9/2
f 21/10/3 22/18/3 27/11/3
f 19/13/3 24/28/3 25/14/3
f 23/16/3 28/29/3 27/17/3
f 19/13/3 21/10/3 26/19/3
f 18/21/4 28/30/4 23/16/4
f 9/6/4 20/15/4 25/22/4
s 1
f 34/31/5 44/32/6 35/33/6
f 31/34/7 39/35/8 30/36/8
f 35/37/6 46/38/4 36/39/4
f 32/40/9 41/41/7 31/34/7
f 36/42/4 47/43/10 37/44/10
f 33/45/11 42/46/9 32/40/9
f 30/36/8 40/47/12 29/48/12
f 37/49/10 48/50/13 38/51/13
f 34/31/5 45/52/5 44/32/6
f 31/34/7 41/41/7 39/35/8
f 35/37/6 44/53/6 46/38/4
f 32/40/9 42/46/9 41/41/7
f 36/42/4 46/54/4 47/43/10
f 33/45/11 43/55/11 42/46/9
f 30/36/8 39/35/8 40/47/12
f 37/49/10 47/56/10 48/50/13
o Right
v -0.343750 0.281250 -0.062500
v -0.387944 0.281250 -0.044194
v -0.406250 0.281250 0.000000
v -0.281250 0.281250 0.000000
v -0.299556 0.281250 -0.044194
v -0.343750 0.281250 -0.031250
v -0.365847 0.281250 -0.022097
v -0.375000 0.281250 0.000000
v -0.312500 0.281250 0.000000
v -0.321653 0.281250 -0.022097
v -0.387944 0.531250 -0.044194
v -0.343750 0.531250 -0.062500
v -0.406250 0.531250 0.000000
v -0.299556 0.531250 -0.044194
v -0.281250 0.531250 0.000000
v -0.365847 0.531250 -0.022097
v -0.343750 0.531250 -0.031250
v -0.375000 0.531250 0.000000
v -0.321653 0.531250 -0.022097
v -0.312500 0.531250 0.000000
v -0.343750 0.281250 -0.031250
v -0.365847 0.281250 -0.022097
v -0.375000 0.281250 0.000000
v -0.312500 0.281250 0.000000
v -0.321653 0.281250 -0.022097
v -0.365847 0.531250 -0.022097
v -0.343750 0.531250 -0.031250
v -0.375000 0.531250 0.000000
v -0.321653 0.531250 -0.022097
v -0.312500 0.531250 0.000000
v -0.343750 0.281250 -0.062500
v -0.387944 0.281250 -0.044194
v -0.406250 0.281250 0.000000
v -0.281250 0.281250 0.000000
v -0.299556 0.281250 -0.044194
v -0.387944 0.531250 -0.044194
v -0.343750 0.531250 -0.062500
v -0.406250 0.531250 0.000000
v -0.299556 0.531250 -0.044194
v -0.281250 0.531250 0.000000
vt 0.486486 0.026316
vt 0.513514 -0.000000
vt 0.540541 0.026316
vt 0.432432 -0.000000
vt 0.432432 0.026316
vt 0.567568 0.000000
vt 0.594595 0.026316
vt 0.378378 0.026316
vt 0.405405 -0.000000
vt 0.486486 0.236842
vt 0.513514 0.263158
vt 0.486486 0.263158
vt 0.432432 0.263158
vt 0.432432 0.236842
vt 0.540541 0.236842
vt 0.567568 0.263158
vt 0.540541 0.263158
vt 0.378378 0.236842
vt 0.405405 0.263158
vt 0.378378 0.263158
vt 0.351351 0.236842
vt 0.351351 0.026316
vt 0.621622 0.026316
vt 0.594595 0.236842
vt 0.486486 -0.000000
vt 0.459459 -0.000000
vt 0.540541 0.000000
vt 0.378378 -0.000000
vt 0.459459 0.263158
vt 0.621622 0.236842
vt 0.594595 0.026316
vt 0.540541 0.236842
vt 0.540541 0.026316
vt 0.486486 0.236842
vt 0.486486 0.026316
vt 0.432432 0.236842
vt 0.432432 0.026316
vt 0.378378 0.236842
vt 0.378378 0.026316
vt 0.378378 0.473684
vt 0.405405 0.263158
vt 0.405405 0.473684
vt 0.432432 0.473684
vt 0.459459 0.263158
vt 0.459459 0.473684
vt 0.486486 0.473684
vt 0.513514 0.263158
vt 0.513514 0.473684
vt 0.540541 0.473684
vt 0.567568 0.263158
vt 0.567568 0.473684
vt 0.594595 0.236842
vt 0.378378 0.263158
vt 0.432432 0.263158
vt 0.486486 0.263158
vt 0.540541 0.263158
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
vn 0.0000 0.0000 1.0000
vn -0.9239 0.0000 -0.3827
vn -0.7071 0.0000 -0.7071
vn 0.0000 0.0000 -1.0000
vn 0.7071 0.0000 -0.7071
vn 0.9239 0.0000 -0.3827
vn -0.9239 0.0000 0.3827
vn -0.7071 0.0000 0.7071
vn 0.7071 0.0000 0.7071
vn 0.9239 0.0000 0.3827
s off
f 49/57/14 55/58/14 50/59/14
f 58/60/14 49/57/14 53/61/14
f 50/59/14 56/62/14 51/63/14
f 52/64/14 58/65/14 53/61/14
f 60/66/15 64/67/15 65/68/15
f 60/66/15 67/69/15 62/70/15
f 59/71/15 66/72/15 64/73/15
f 63/74/15 67/75/15 68/76/15
f 52/64/16 68/77/16 57/78/16
f 56/79/16 61/80/16 51/63/16
f 49/57/14 54/81/14 55/58/14
f 58/60/14 54/82/14 49/57/14
f 50/59/14 55/83/14 56/62/14
f 52/64/14 57/84/14 58/65/14
f 60/66/15 59/71/15 64/67/15
f 60/66/15 65/85/15 67/69/15
f 59/71/15 61/80/15 66/72/15
f 63/74/15 62/70/15 67/75/15
f 52/64/16 63/74/16 68/77/16
f 56/79/16 66/86/16 61/80/16
s 1
f 81/87/17 84/88/18 80/89/18
f 80/89/18 85/90/19 79/91/19
f 79/91/19 87/92/20 83/93/20
f 83/93/20 88/94/21 82/95/21
f 72/96/22 77/97/23 73/98/23
f 73/99/23 75/100/16 69/101/16
f 69/102/16 74/103/24 70/104/24
f 70/105/24 76/106/25 71/107/25
f 81/87/17 86/108/17 84/88/18
f 80/89/18 84/88/18 85/90/19
f 79/91/19 85/90/19 87/92/20
f 83/93/20 87/92/20 88/94/21
f 72/96/22 78/109/22 77/97/23
f 73/99/23 77/110/23 75/100/16
f 69/102/16 75/111/16 74/103/24
f 70/105/24 74/112/24 76/106/25
o Slide
v -0.343750 0.281250 -0.062500
v -0.387944 0.281250 -0.044194
v -0.406250 0.281250 0.000000
v -0.387944 0.281250 0.044194
v -0.343750 0.281250 0.062500
v -0.299556 0.281250 0.044194
v -0.281250 0.281250 0.000000
v -0.299556 0.281250 -0.044194
v -0.343750 0.250000 -0.062500
v -0.387944 0.250000 -0.044194
v -0.406250 0.250000 0.000000
v -0.387944 0.250000 0.044194
v -0.343750 0.250000 0.062500
v -0.299556 0.250000 0.044194
v -0.281250 0.250000 0.000000
v -0.299556 0.250000 -0.044194
v -0.343750 0.281250 -0.031250
v -0.365847 0.281250 -0.022097
v -0.375000 0.281250 0.000000
v -0.365847 0.281250 0.022097
v -0.343750 0.281250 0.031250
v -0.321653 0.281250 0.022097
v -0.312500 0.281250 0.000000
v -0.321653 0.281250 -0.022097
v -0.343750 0.656250 -0.031250
v -0.365847 0.656250 -0.022097
v -0.375000 0.656250 0.000000
v -0.365847 0.656250 0.022097
v -0.343750 0.656250 0.031250
v -0.321653 0.656250 0.022097
v -0.312500 0.656250 0.000000
v -0.321653 0.656250 -0.022097
v -0.343750 0.250000 -0.062500
v -0.387944 0.250000 -0.044194
v -0.406250 0.250000 0.000000
v -0.387944 0.250000 0.044194
v -0.343750 0.250000 0.062500
v -0.299556 0.250000 0.044194
v -0.281250 0.250000 0.000000
v -0.299556 0.250000 -0.044194
v -0.343750 0.281250 -0.062500
v -0.387944 0.281250 -0.044194
v -0.406250 0.281250 0.000000
v -0.387944 0.281250 0.044194
v -0.343750 0.281250 0.062500
v -0.299556 0.281250 0.044194
v -0.281250 0.281250 0.000000
v -0.299556 0.281250 -0.044194
v -0.343750 0.281250 -0.031250
v -0.365847 0.281250 -0.022097
v -0.375000 0.281250 0.000000
v -0.365847 0.281250 0.022097
v -0.343750 0.281250 0.031250
v -0.321653 0.281250 0.022097
v -0.312500 0.281250 0.000000
v -0.321653 0.281250 -0.022097
vt 0.151586 0.089245
vt 0.136010 0.052632
vt 0.242368 0.052632
vt 0.189189 0.131579
vt 0.216216 0.157895
vt 0.189189 0.157895
vt 0.162162 0.131579
vt 0.135135 0.157895
vt 0.135135 0.131579
vt 0.297297 0.131579
vt 0.324324 0.157895
vt 0.297297 0.157895
vt 0.270270 0.157895
vt 0.270270 0.131579
vt 0.243243 0.131579
vt 0.216216 0.131579
vt 0.162162 0.157895
vt 0.324324 0.131579
vt 0.351351 0.157895
vt 0.243243 0.157895
vt 0.151586 0.016018
vt 0.189189 0.000852
vt 0.226792 0.016018
vt 0.226792 0.089245
vt 0.189189 0.104411
vt 0.351351 0.131579
vt 0.135135 0.105263
vt 0.162162 0.131579
vt 0.135135 0.131579
vt 0.297297 0.105263
vt 0.324324 0.131579
vt 0.297297 0.131579
vt 0.270270 0.105263
vt 0.270270 0.131579
vt 0.216216 0.105263
vt 0.243243 0.131579
vt 0.216216 0.131579
vt 0.162162 0.105263
vt 0.189189 0.131579
vt 0.324324 0.105263
vt 0.351351 0.131579
vt 0.243243 0.105263
vt 0.189189 0.105263
vt 0.162162 0.157895
vt 0.135135 0.473684
vt 0.135135 0.157895
vt 0.324324 0.157895
vt 0.297297 0.473684
vt 0.297297 0.157895
vt 0.270270 0.473684
vt 0.270270 0.157895
vt 0.243243 0.157895
vt 0.216216 0.473684
vt 0.216216 0.157895
vt 0.189189 0.157895
vt 0.162162 0.473684
vt 0.351351 0.157895
vt 0.324324 0.473684
vt 0.243243 0.473684
vt 0.189189 0.473684
vt 0.351351 0.105263
vt 0.351351 0.473684
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
vn -1.0000 0.0000 0.0000
vn -0.7071 0.0000 0.7071
vn 0.0000 0.0000 -1.0000
vn -0.7071 0.0000 -0.7071
vn 0.7071 0.0000 -0.7071
vn 0.7071 0.0000 0.7071
vn 1.0000 0.0000 0.0000
vn 0.0000 0.0000 1.0000
s off
f 124/113/26 123/114/26 127/115/26
f 133/116/27 142/117/27 141/118/27
f 132/119/27 139/120/27 131/121/27
f 129/122/27 138/123/27 137/124/27
f 129/122/27 144/125/27 136/126/27
f 135/127/27 142/117/27 134/128/27
f 132/119/27 141/118/27 140/129/27
f 130/130/27 139/131/27 138/123/27
f 135/127/27 144/125/27 143/132/27
f 123/114/26 122/133/26 127/115/26
f 122/133/26 121/134/26 127/115/26
f 121/134/26 128/135/26 127/115/26
f 127/115/26 126/136/26 125/137/26
f 125/137/26 124/113/26 127/115/26
f 133/116/27 134/128/27 142/117/27
f 132/119/27 140/129/27 139/120/27
f 129/122/27 130/130/27 138/123/27
f 129/122/27 137/124/27 144/125/27
f 135/127/27 143/132/27 142/117/27
f 132/119/27 133/116/27 141/118/27
f 130/130/27 131/138/27 139/131/27
f 135/127/27 136/126/27 144/125/27
s 1
f 99/139/28 92/140/29 91/141/28
f 97/142/30 90/143/31 89/144/30
f 104/145/32 89/144/30 96/146/32
f 102/147/33 95/148/34 94/149/33
f 100/150/29 93/151/35 92/140/29
f 98/152/31 91/153/28 90/143/31
f 103/154/34 96/146/32 95/148/34
f 101/155/35 94/149/33 93/151/35
f 108/156/29 115/157/28 107/158/28
f 106/159/31 113/160/30 105/161/30
f 105/161/30 120/162/32 112/163/32
f 111/164/34 118/165/33 110/166/33
f 109/167/35 116/168/29 108/156/29
f 107/169/28 114/170/31 106/159/31
f 112/163/32 119/171/34 111/164/34
f 110/166/33 117/172/35 109/167/35
f 99/139/28 100/150/29 92/140/29
f 97/142/30 98/152/31 90/143/31
f 104/145/32 97/142/30 89/144/30
f 102/147/33 103/154/34 95/148/34
f 100/150/29 101/155/35 93/151/35
f 98/152/31 99/173/28 91/153/28
f 103/154/34 104/145/32 96/146/32
f 101/155/35 102/147/33 94/149/33
f 108/156/29 116/168/29 115/157/28
f 106/159/31 114/170/31 113/160/30
f 105/161/30 113/160/30 120/162/32
f 111/164/34 119/171/34 118/165/33
f 109/167/35 117/172/35 116/168/29
f 107/169/28 115/174/28 114/170/31
f 112/163/32 120/162/32 119/171/34
f 110/166/33 118/165/33 117/172/35
o Base
v -0.375000 0.468750 -0.187500
v -0.375000 0.468750 0.187500
v -0.375000 0.531250 0.187500
v -0.375000 0.531250 -0.187500
v -0.500000 0.750000 0.187500
v -0.500000 0.250000 0.187500
v -0.500000 0.750000 -0.187500
v -0.500000 0.250000 -0.187500
v -0.437500 0.750000 -0.187500
v -0.437500 0.750000 0.187500
v -0.437500 0.250000 0.187500
v -0.437500 0.250000 -0.187500
v -0.437500 0.406250 -0.187500
v -0.437500 0.406250 0.187500
v -0.437500 0.593750 0.187500
v -0.437500 0.593750 -0.187500
v -0.437500 0.718750 0.125000
v -0.437500 0.281250 0.125000
v -0.437500 0.718750 -0.125000
v -0.437500 0.281250 -0.125000
v -0.375000 0.718750 -0.125000
v -0.375000 0.718750 0.125000
v -0.312500 0.281250 0.125000
v -0.312500 0.281250 -0.125000
v -0.268306 0.281250 -0.088388
v -0.330806 0.718750 -0.088388
v -0.250000 0.281250 0.000000
v -0.312500 0.718750 0.000000
v -0.268306 0.281250 0.088388
v -0.330806 0.718750 0.088388
v -0.437500 0.625000 -0.125000
v -0.375000 0.625000 -0.125000
v -0.437500 0.625000 -0.156250
v -0.406250 0.625000 -0.156250
v -0.375000 0.656250 -0.125000
v -0.437500 0.656250 -0.156250
v -0.406250 0.656250 -0.156250
v -0.437500 0.656250 -0.125000
v -0.437500 0.343750 -0.125000
v -0.375000 0.343750 -0.125000
v -0.437500 0.343750 -0.156250
v -0.406250 0.343750 -0.156250
v -0.375000 0.375000 -0.125000
v -0.437500 0.375000 -0.156250
v -0.406250 0.375000 -0.156250
v -0.437500 0.375000 -0.125000
v -0.437500 0.625000 0.125000
v -0.375000 0.625000 0.125000
v -0.437500 0.625000 0.156250
v -0.406250 0.625000 0.156250
v -0.375000 0.656250 0.125000
v -0.437500 0.656250 0.156250
v -0.406250 0.656250 0.156250
v -0.437500 0.656250 0.125000
v -0.437500 0.343750 0.125000
v -0.375000 0.343750 0.125000
v -0.437500 0.343750 0.156250
v -0.406250 0.343750 0.156250
v -0.375000 0.375000 0.125000
v -0.437500 0.375000 0.156250
v -0.406250 0.375000 0.156250
v -0.437500 0.375000 0.125000
v -0.297708 0.497101 -0.046875
v -0.302321 0.529924 -0.033146
v -0.304231 0.543519 0.000000
v -0.302321 0.529924 0.033146
v -0.297708 0.497101 0.046875
v -0.293095 0.464278 0.033146
v -0.291184 0.450682 0.000000
v -0.293095 0.464278 -0.033146
v -0.266762 0.501450 -0.046875
v -0.271375 0.534273 -0.033146
v -0.273285 0.547869 0.000000
v -0.271375 0.534273 0.033146
v -0.266762 0.501450 0.046875
v -0.262149 0.468627 0.033146
v -0.260238 0.455031 0.000000
v -0.262149 0.468627 -0.033146
v -0.437500 0.281250 0.125000
v -0.437500 0.281250 -0.125000
v -0.312500 0.281250 0.125000
v -0.312500 0.281250 -0.125000
v -0.268306 0.281250 -0.088388
v -0.250000 0.281250 0.000000
v -0.268306 0.281250 0.088388
v -0.437500 0.718750 0.125000
v -0.437500 0.718750 -0.125000
v -0.375000 0.718750 -0.125000
v -0.375000 0.718750 0.125000
v -0.330806 0.718750 -0.088388
v -0.312500 0.718750 0.000000
v -0.330806 0.718750 0.088388
v -0.375000 0.468750 -0.187500
v -0.375000 0.468750 0.187500
v -0.375000 0.531250 0.187500
v -0.375000 0.531250 -0.187500
v -0.437500 0.406250 -0.187500
v -0.437500 0.406250 0.187500
v -0.437500 0.593750 0.187500
v -0.437500 0.593750 -0.187500
v -0.266762 0.501450 -0.046875
v -0.271375 0.534273 -0.033146
v -0.273285 0.547869 0.000000
v -0.271375 0.534273 0.033146
v -0.266762 0.501450 0.046875
v -0.262149 0.468627 0.033146
v -0.260238 0.455031 0.000000
v -0.262149 0.468627 -0.033146
v -0.266762 0.501450 -0.023437
v -0.269068 0.517861 -0.016573
v -0.270024 0.524659 0.000000
v -0.269068 0.517861 0.016573
v -0.266762 0.501450 0.023438
v -0.264455 0.485038 0.016573
v -0.263500 0.478240 0.000000
v -0.264455 0.485038 -0.016573
vt 0.027027 0.263158
vt 0.054054 0.289474
vt 0.027027 0.289474
vt 0.540541 0.947368
vt 0.864865 0.526316
vt 0.864865 0.947368
vt 0.432432 0.526316
vt 0.108108 0.657895
vt 0.108108 0.526316
vt 0.108108 0.815789
vt 0.432432 0.947368
vt 0.108108 0.947368
vt 0.432432 0.710526
vt 0.486486 0.815789
vt 0.432432 0.763158
vt 0.432432 0.473684
vt 0.108108 0.473684
vt 0.108108 1.000000
vt 0.432432 1.000000
vt 0.027027 0.447368
vt 0.054054 0.421053
vt 0.054054 0.447368
vt 0.027027 0.421053
vt 0.054054 0.394737
vt 0.054054 0.815789
vt 0.108108 0.710526
vt 0.108108 0.763158
vt 0.486486 0.657895
vt 0.486486 0.526316
vt 0.540541 0.526316
vt 0.000000 0.526316
vt 0.054054 0.657895
vt 0.891892 0.447368
vt 0.918919 0.473684
vt 0.918919 0.526316
vt 0.054054 0.263158
vt 0.081081 0.289474
vt 0.054054 0.315789
vt 0.108108 0.289474
vt 0.081081 0.315789
vt 0.108108 0.263158
vt 0.081081 0.263158
vt 0.135135 0.263158
vt 0.054054 0.263158
vt 0.081081 0.289474
vt 0.054054 0.315789
vt 0.108108 0.289474
vt 0.081081 0.315789
vt 0.108108 0.263158
vt 0.081081 0.263158
vt 0.135135 0.263158
vt 0.135135 0.263158
vt 0.108108 0.289474
vt 0.108108 0.263158
vt 0.108108 0.315789
vt 0.081081 0.289474
vt 0.081081 0.263158
vt 0.054054 0.263158
vt 0.054054 0.315789
vt 0.135135 0.263158
vt 0.108108 0.289474
vt 0.108108 0.263158
vt 0.108108 0.315789
vt 0.081081 0.289474
vt 0.081081 0.263158
vt 0.054054 0.263158
vt 0.054054 0.315789
vt 0.918919 0.184211
vt 0.891892 0.210526
vt 0.810811 0.236842
vt 0.027027 0.315789
vt 0.054054 0.342105
vt 0.027027 0.342105
vt 0.027027 0.394737
vt 0.054054 0.368421
vt 0.027027 0.473684
vt 0.054054 0.473684
vt 0.054054 0.315789
vt 0.027027 0.368421
vt 0.054054 0.263158
vt 0.432432 0.657895
vt 0.432432 0.815789
vt 0.486486 0.947368
vt 0.054054 0.947368
vt 0.000000 0.947368
vt 0.054054 0.526316
vt 0.702703 0.526316
vt 0.810811 0.421053
vt 0.702703 0.473684
vt 0.729730 0.447368
vt 0.108108 0.315789
vt 0.135135 0.315789
vt 0.108108 0.315789
vt 0.135135 0.315789
vt 0.135135 0.315789
vt 0.081081 0.315789
vt 0.135135 0.315789
vt 0.081081 0.315789
vt 0.729730 0.210526
vt 0.702703 0.184211
vt 0.702703 0.078947
vt 0.918919 0.078947
vt 0.621622 0.236842
vt 0.675676 0.421053
vt 0.621622 0.421053
vt 1.000000 0.236842
vt 0.945946 0.421053
vt 0.891892 0.236842
vt 0.864865 0.236842
vt 0.810811 0.421053
vt 0.810811 0.236842
vt 0.756757 0.236842
vt 0.864865 0.421053
vt 0.729730 0.236842
vt 0.756757 0.421053
vt 0.729730 0.421053
vt 0.000000 0.447368
vt 0.027027 0.473684
vt 0.000000 0.473684
vt 0.000000 0.315789
vt 0.027027 0.289474
vt 0.027027 0.315789
vt 0.000000 0.368421
vt 0.027027 0.342105
vt 0.027027 0.368421
vt 0.000000 0.394737
vt 0.027027 0.421053
vt 0.000000 0.421053
vt 0.027027 0.447368
vt 0.000000 0.289474
vt 0.027027 0.263158
vt 0.000000 0.342105
vt 0.027027 0.394737
vt 0.108108 0.710526
vt 0.432432 0.763158
vt 0.108108 0.763158
vt 0.108108 0.657895
vt 0.432432 0.710526
vt 0.432432 0.815789
vt 1.000000 0.421053
vt 0.891892 0.421053
vt 0.000000 0.263158
vt 0.432432 0.657895
vt 0.108108 0.815789
vn 0.9903 0.1392 0.0000
vn -1.0000 0.0000 0.0000
vn 1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
vn 0.0000 -1.0000 0.0000
vn 0.0000 1.0000 0.0000
vn 0.0000 0.0000 1.0000
vn 0.7071 0.0000 -0.7071
vn 0.7071 0.0000 0.7071
vn 0.3111 0.0444 0.9493
vn 0.3111 0.0444 -0.9493
vn 0.3651 0.0522 -0.9295
vn 0.8579 0.1225 -0.4989
vn 0.9899 0.1414 0.0000
vn 0.8579 0.1225 0.4989
vn 0.8424 0.1203 -0.5253
vn 0.3651 0.0522 0.9295
vn 0.8424 0.1203 0.5253
vn 0.0984 -0.7002 -0.7071
vn 0.1392 -0.9903 0.0000
vn 0.0984 -0.7002 0.7071
vn -0.1392 0.9903 0.0000
vn -0.0984 0.7002 0.7071
vn -0.0984 0.7002 -0.7071
vn 0.9239 -0.3827 0.0000
vn 0.9239 0.3827 0.0000
vn 0.7071 -0.7071 0.0000
vn 0.7071 0.7071 0.0000
s off
f 251/175/36 258/176/36 250/177/36
f 151/178/37 150/179/37 149/180/37
f 156/181/38 158/182/38 155/183/38
f 159/184/38 153/185/38 154/186/38
f 145/187/39 160/188/39 148/189/39
f 152/190/40 155/183/40 150/191/40
f 149/192/41 153/185/41 151/193/41
f 252/194/36 253/195/36 260/196/36
f 245/197/36 254/198/36 253/195/36
f 159/199/42 146/200/42 147/201/42
f 157/202/39 156/203/39 152/204/39
f 150/205/42 158/206/42 159/199/42
f 234/207/41 232/208/41 231/209/41
f 175/210/40 178/211/40 176/212/40
f 181/213/43 176/214/43 178/211/43
f 180/215/39 178/211/39 177/216/39
f 182/217/41 181/213/41 180/215/41
f 183/218/40 186/219/40 184/220/40
f 189/221/43 184/222/43 186/219/43
f 188/223/39 186/219/39 185/224/39
f 190/225/41 189/221/41 188/223/41
f 191/226/40 194/227/40 193/228/40
f 192/229/44 197/230/44 194/227/44
f 194/227/42 196/231/42 193/228/42
f 198/232/41 197/230/41 195/233/41
f 199/234/40 202/235/40 201/236/40
f 200/237/44 205/238/44 202/235/44
f 202/235/42 204/239/42 201/236/42
f 206/240/41 205/238/41 203/241/41
f 226/242/40 227/243/40 228/244/40
f 249/245/36 256/246/36 248/247/36
f 246/248/36 255/249/36 254/198/36
f 251/250/36 260/196/36 259/251/36
f 250/177/36 257/252/36 249/245/36
f 248/247/36 255/249/36 247/253/36
f 251/175/36 259/254/36 258/176/36
f 151/178/37 152/204/37 150/179/37
f 156/181/38 157/255/38 158/182/38
f 159/184/38 160/256/38 153/185/38
f 145/187/39 157/202/39 160/188/39
f 152/190/40 156/181/40 155/183/40
f 149/192/41 154/186/41 153/185/41
f 252/194/36 245/197/36 253/195/36
f 245/197/36 246/248/36 254/198/36
f 159/199/42 158/206/42 146/200/42
f 152/204/39 151/178/39 160/188/39
f 151/178/39 153/257/39 160/188/39
f 160/188/39 157/202/39 152/204/39
f 154/258/42 149/259/42 159/199/42
f 149/259/42 150/205/42 159/199/42
f 150/205/42 155/260/42 158/206/42
f 231/209/41 230/261/41 235/262/41
f 230/261/41 233/263/41 236/264/41
f 235/262/41 230/261/41 236/264/41
f 235/262/41 234/207/41 231/209/41
f 175/210/40 177/216/40 178/211/40
f 181/213/43 179/265/43 176/214/43
f 180/215/39 181/213/39 178/211/39
f 182/217/41 179/266/41 181/213/41
f 183/218/40 185/224/40 186/219/40
f 189/221/43 187/267/43 184/222/43
f 188/223/39 189/221/39 186/219/39
f 190/225/41 187/268/41 189/221/41
f 191/226/40 192/269/40 194/227/40
f 192/229/44 195/270/44 197/230/44
f 194/227/42 197/230/42 196/231/42
f 198/232/41 196/231/41 197/230/41
f 199/234/40 200/271/40 202/235/40
f 200/237/44 203/272/44 205/238/44
f 202/235/42 205/238/42 204/239/42
f 206/240/41 204/239/41 205/238/41
f 229/273/40 225/274/40 228/244/40
f 225/274/40 223/275/40 228/244/40
f 223/275/40 224/276/40 228/244/40
f 224/276/40 226/242/40 228/244/40
f 249/245/36 257/252/36 256/246/36
f 246/248/36 247/253/36 255/249/36
f 251/250/36 252/194/36 260/196/36
f 250/177/36 258/176/36 257/252/36
f 248/247/36 256/246/36 255/249/36
s 1
f 162/277/42 166/278/45 161/279/42
f 164/280/39 165/281/46 168/282/47
f 169/283/48 172/284/49 171/285/49
f 172/284/49 173/286/50 171/285/49
f 168/282/47 170/287/51 169/283/48
f 167/288/52 174/289/53 166/290/45
f 214/291/54 221/292/55 213/293/55
f 211/294/42 220/295/56 219/296/42
f 209/297/57 218/298/58 217/299/57
f 208/300/59 215/301/39 207/302/39
f 214/291/54 215/301/39 222/303/54
f 212/304/56 221/305/55 220/295/56
f 211/294/42 218/298/58 210/306/58
f 209/297/57 216/307/59 208/300/59
f 238/308/60 240/309/61 239/310/61
f 242/311/62 237/312/60 238/308/60
f 244/313/63 239/310/61 240/309/61
f 162/277/42 167/288/52 166/278/45
f 164/280/39 163/314/39 165/281/46
f 169/283/48 170/287/51 172/284/49
f 172/284/49 174/289/53 173/286/50
f 168/282/47 165/315/46 170/287/51
f 167/288/52 173/286/50 174/289/53
f 214/291/54 222/303/54 221/292/55
f 211/294/42 212/304/56 220/295/56
f 209/297/57 210/306/58 218/298/58
f 208/300/59 216/307/59 215/301/39
f 214/291/54 207/302/39 215/301/39
f 212/304/56 213/316/55 221/305/55
f 211/294/42 219/296/42 218/298/58
f 209/297/57 217/299/57 216/307/59
f 238/308/60 237/312/60 240/309/61
f 242/311/62 241/317/62 237/312/60
f 244/313/63 243/318/63 239/310/61

Binary file not shown.

After

Width:  |  Height:  |  Size: 679 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB