reworked the RadGen, updated swords, fixed hopper IO
@ -1,221 +1,70 @@
|
||||
package com.hbm.blocks.machine;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.BlockDummyable;
|
||||
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.TileEntityMachineRadGen;
|
||||
|
||||
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.inventory.ISidedInventory;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class MachineRadGen extends BlockContainer implements IMultiblock {
|
||||
public class MachineRadGen extends BlockDummyable {
|
||||
|
||||
public MachineRadGen(Material p_i45386_1_) {
|
||||
super(p_i45386_1_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
|
||||
return new TileEntityMachineRadGen();
|
||||
|
||||
public TileEntity createNewTileEntity(World world, int meta) {
|
||||
|
||||
if(meta >= 12)
|
||||
return new TileEntityMachineRadGen();
|
||||
|
||||
if(meta >= 6)
|
||||
return new TileEntityProxyCombo(true, true, false);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) {
|
||||
return Item.getItemFromBlock(ModBlocks.machine_radgen);
|
||||
public int[] getDimensions() {
|
||||
return new int[] {2, 0, 3, 2, 1, 1};
|
||||
}
|
||||
|
||||
@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, 5, 2);
|
||||
if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.radGenDimensionEast)) {
|
||||
MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.radGenDimensionEast, ModBlocks.dummy_block_radgen);
|
||||
|
||||
//
|
||||
DummyBlockRadGen.safeBreak = true;
|
||||
world.setBlock(x, y, z + 4, ModBlocks.dummy_port_radgen);
|
||||
TileEntity te = world.getTileEntity(x, y, z + 4);
|
||||
if(te instanceof TileEntityDummy) {
|
||||
TileEntityDummy dummy = (TileEntityDummy)te;
|
||||
dummy.targetX = x;
|
||||
dummy.targetY = y;
|
||||
dummy.targetZ = z;
|
||||
}
|
||||
DummyBlockRadGen.safeBreak = false;
|
||||
//
|
||||
|
||||
} else
|
||||
world.func_147480_a(x, y, z, true);
|
||||
}
|
||||
if (i == 1) {
|
||||
world.setBlockMetadataWithNotify(x, y, z, 3, 2);
|
||||
if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.radGenDimensionSouth)) {
|
||||
MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.radGenDimensionSouth, ModBlocks.dummy_block_radgen);
|
||||
|
||||
//
|
||||
DummyBlockRadGen.safeBreak = true;
|
||||
world.setBlock(x - 4, y, z, ModBlocks.dummy_port_radgen);
|
||||
TileEntity te = world.getTileEntity(x - 4, y, z);
|
||||
if(te instanceof TileEntityDummy) {
|
||||
TileEntityDummy dummy = (TileEntityDummy)te;
|
||||
dummy.targetX = x;
|
||||
dummy.targetY = y;
|
||||
dummy.targetZ = z;
|
||||
}
|
||||
DummyBlockRadGen.safeBreak = false;
|
||||
//
|
||||
|
||||
} else
|
||||
world.func_147480_a(x, y, z, true);
|
||||
}
|
||||
if (i == 2) {
|
||||
world.setBlockMetadataWithNotify(x, y, z, 4, 2);
|
||||
if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.radGenDimensionWest)) {
|
||||
MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.radGenDimensionWest, ModBlocks.dummy_block_radgen);
|
||||
|
||||
//
|
||||
DummyBlockRadGen.safeBreak = true;
|
||||
world.setBlock(x, y, z - 4, ModBlocks.dummy_port_radgen);
|
||||
TileEntity te = world.getTileEntity(x, y, z - 4);
|
||||
if(te instanceof TileEntityDummy) {
|
||||
TileEntityDummy dummy = (TileEntityDummy)te;
|
||||
dummy.targetX = x;
|
||||
dummy.targetY = y;
|
||||
dummy.targetZ = z;
|
||||
}
|
||||
DummyBlockRadGen.safeBreak = false;
|
||||
//
|
||||
|
||||
} else
|
||||
world.func_147480_a(x, y, z, true);
|
||||
}
|
||||
if (i == 3) {
|
||||
world.setBlockMetadataWithNotify(x, y, z, 2, 2);
|
||||
if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.radGenDimensionNorth)) {
|
||||
MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.radGenDimensionNorth, ModBlocks.dummy_block_radgen);
|
||||
|
||||
//
|
||||
DummyBlockRadGen.safeBreak = true;
|
||||
world.setBlock(x + 4, y, z, ModBlocks.dummy_port_radgen);
|
||||
TileEntity te = world.getTileEntity(x + 4, y, z);
|
||||
if(te instanceof TileEntityDummy) {
|
||||
TileEntityDummy dummy = (TileEntityDummy)te;
|
||||
dummy.targetX = x;
|
||||
dummy.targetY = y;
|
||||
dummy.targetZ = z;
|
||||
}
|
||||
DummyBlockRadGen.safeBreak = false;
|
||||
//
|
||||
|
||||
} else
|
||||
world.func_147480_a(x, y, z, true);
|
||||
}
|
||||
public int getOffset() {
|
||||
return 2;
|
||||
}
|
||||
|
||||
@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)
|
||||
{
|
||||
if(world.isRemote) {
|
||||
return true;
|
||||
} else if(!player.isSneaking())
|
||||
{
|
||||
TileEntityMachineRadGen entity = (TileEntityMachineRadGen) world.getTileEntity(x, y, z);
|
||||
if(entity != null)
|
||||
{
|
||||
FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_radgen, world, x, y, z);
|
||||
}
|
||||
} else if(!player.isSneaking()) {
|
||||
|
||||
int[] pos = this.findCore(world, x, y, z);
|
||||
|
||||
if(pos == null)
|
||||
return false;
|
||||
|
||||
FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_radgen, world, pos[0], pos[1], pos[2]);
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private final Random field_149933_a = new Random();
|
||||
private static boolean keepInventory;
|
||||
|
||||
@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)
|
||||
{
|
||||
ISidedInventory tileentityfurnace = (ISidedInventory)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_);
|
||||
}
|
||||
protected void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) {
|
||||
super.fillSpace(world, x, y, z, dir, o);
|
||||
|
||||
ForgeDirection rot = dir.getRotation(ForgeDirection.UP);
|
||||
this.makeExtra(world, x + dir.offsetX * -5, y, z + dir.offsetZ * -5);
|
||||
this.makeExtra(world, x + dir.offsetX * o + rot.offsetX, y, z + dir.offsetZ * o + rot.offsetZ);
|
||||
this.makeExtra(world, x + dir.offsetX * o - rot.offsetX, y, z + dir.offsetZ * o - rot.offsetZ);
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,10 +6,6 @@ import static com.hbm.items.ModItems.*;
|
||||
import com.hbm.hazard.modifier.*;
|
||||
import com.hbm.hazard.transformer.HazardTransformerRadiationNBT;
|
||||
import com.hbm.hazard.type.*;
|
||||
import com.hbm.items.special.ItemWasteLong;
|
||||
import com.hbm.items.special.ItemWasteShort;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.MainRegistry;
|
||||
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.init.Items;
|
||||
@ -154,6 +150,7 @@ public class HazardRegistry {
|
||||
HazardSystem.register(nuclear_waste_short_depleted, makeData(RADIATION, 3F));
|
||||
HazardSystem.register(nuclear_waste_short_depleted_tiny, makeData(RADIATION, 0.3F));
|
||||
|
||||
HazardSystem.register(scrap_nuclear, makeData(RADIATION, 1F));
|
||||
HazardSystem.register(trinitite, makeData(RADIATION, trn * ingot));
|
||||
HazardSystem.register(nuclear_waste, makeData(RADIATION, wst * ingot));
|
||||
HazardSystem.register(billet_nuclear_waste, makeData(RADIATION, wst * billet));
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.hbm.inventory.container;
|
||||
|
||||
import com.hbm.inventory.SlotMachineOutput;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineRadGen;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
@ -11,32 +12,29 @@ import net.minecraft.item.ItemStack;
|
||||
public class ContainerMachineRadGen extends Container {
|
||||
|
||||
private TileEntityMachineRadGen diFurnace;
|
||||
private int fuel;
|
||||
private int strength;
|
||||
private int mode;
|
||||
|
||||
public ContainerMachineRadGen(InventoryPlayer invPlayer, TileEntityMachineRadGen tedf) {
|
||||
fuel = 0;
|
||||
strength = 0;
|
||||
mode = 0;
|
||||
|
||||
diFurnace = tedf;
|
||||
|
||||
this.addSlotToContainer(new Slot(tedf, 0, 17, 17));
|
||||
this.addSlotToContainer(new Slot(tedf, 1, 17, 53));
|
||||
this.addSlotToContainer(new Slot(tedf, 2, 125, 53));
|
||||
|
||||
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));
|
||||
for(int i = 0; i < 4; i++) {
|
||||
for(int j = 0; j < 3; j++) {
|
||||
this.addSlotToContainer(new Slot(tedf, j + i * 3, 8 + j * 18, 17 + i * 18));
|
||||
}
|
||||
}
|
||||
for(int i = 0; i < 4; i++) {
|
||||
for(int j = 0; j < 3; j++) {
|
||||
this.addSlotToContainer(new SlotMachineOutput(tedf, j + i * 3 + 12, 116 + j * 18, 17 + i * 18));
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 0; i < 9; i++)
|
||||
{
|
||||
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142));
|
||||
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, 102 + i * 18));
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 0; i < 9; i++) {
|
||||
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 160));
|
||||
}
|
||||
}
|
||||
|
||||
@ -46,87 +44,34 @@ public class ContainerMachineRadGen extends Container {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2)
|
||||
{
|
||||
public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) {
|
||||
ItemStack var3 = null;
|
||||
Slot var4 = (Slot) this.inventorySlots.get(par2);
|
||||
|
||||
if (var4 != null && var4.getHasStack())
|
||||
{
|
||||
|
||||
if(var4 != null && var4.getHasStack()) {
|
||||
ItemStack var5 = var4.getStack();
|
||||
var3 = var5.copy();
|
||||
|
||||
if (par2 <= 0) {
|
||||
if (!this.mergeItemStack(var5, 1, this.inventorySlots.size(), true))
|
||||
{
|
||||
|
||||
if(par2 <= 23) {
|
||||
if(!this.mergeItemStack(var5, 24, this.inventorySlots.size(), true)) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else if (!this.mergeItemStack(var5, 0, 1, false))
|
||||
{
|
||||
} else if(!this.mergeItemStack(var5, 0, 12, false)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (var5.stackSize == 0)
|
||||
{
|
||||
|
||||
if(var5.stackSize == 0) {
|
||||
var4.putStack((ItemStack) null);
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
var4.onSlotChanged();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return var3;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInteractWith(EntityPlayer player) {
|
||||
return diFurnace.isUseableByPlayer(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void detectAndSendChanges() {
|
||||
super.detectAndSendChanges();
|
||||
|
||||
for(int i = 0; i < this.crafters.size(); i++)
|
||||
{
|
||||
ICrafting par1 = (ICrafting)this.crafters.get(i);
|
||||
|
||||
if(this.fuel != this.diFurnace.fuel)
|
||||
{
|
||||
par1.sendProgressBarUpdate(this, 0, this.diFurnace.fuel);
|
||||
}
|
||||
|
||||
if(this.strength != this.diFurnace.strength)
|
||||
{
|
||||
par1.sendProgressBarUpdate(this, 1, this.diFurnace.strength);
|
||||
}
|
||||
|
||||
if(this.mode != this.diFurnace.mode)
|
||||
{
|
||||
par1.sendProgressBarUpdate(this, 2, this.diFurnace.mode);
|
||||
}
|
||||
}
|
||||
|
||||
this.fuel = this.diFurnace.fuel;
|
||||
this.strength = this.diFurnace.strength;
|
||||
this.mode = this.diFurnace.mode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateProgressBar(int i, int j) {
|
||||
if(i == 0)
|
||||
{
|
||||
diFurnace.fuel = j;
|
||||
}
|
||||
if(i == 1)
|
||||
{
|
||||
diFurnace.strength = j;
|
||||
}
|
||||
if(i == 2)
|
||||
{
|
||||
diFurnace.mode = j;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -12,7 +12,7 @@ import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class GUIMachineRadGen extends GuiInfoContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_radgen.png");
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/reactors/gui_radgen.png");
|
||||
private TileEntityMachineRadGen radgen;
|
||||
|
||||
public GUIMachineRadGen(InventoryPlayer invPlayer, TileEntityMachineRadGen tedf) {
|
||||
@ -20,26 +20,25 @@ public class GUIMachineRadGen extends GuiInfoContainer {
|
||||
radgen = tedf;
|
||||
|
||||
this.xSize = 176;
|
||||
this.ySize = 166;
|
||||
this.ySize = 184;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawScreen(int mouseX, int mouseY, float f) {
|
||||
super.drawScreen(mouseX, mouseY, f);
|
||||
|
||||
this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 35, guiTop + 69 - 52, 16, 52, new String[] { "Fuel: " + radgen.getFuelScaled(100) + "%" });
|
||||
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 143, guiTop + 69 - 52, 16, 52, radgen.power, radgen.maxPower);
|
||||
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 64, guiTop + 83, 48, 4, radgen.power, radgen.maxPower);
|
||||
|
||||
String[] text = new String[] { "Accepted Fuels:",
|
||||
" About anything radioactive other than reactor fuel,",
|
||||
" even waste like dead grass!" };
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36, 16, 16, guiLeft - 8, guiTop + 36 + 16, text);
|
||||
|
||||
String[] text1 = new String[] { "Power generation rate:",
|
||||
" 1 kHE/t",
|
||||
" 20 kHE/s",
|
||||
"(Generation rate at maximum performance)" };
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36 + 16, 16, 16, guiLeft - 8, guiTop + 36 + 16, text1);
|
||||
for(int i = 0; i < 12; i++) {
|
||||
|
||||
if(radgen.maxProgress[i] <= 0)
|
||||
continue;
|
||||
|
||||
this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 65, guiTop + 18 + i * 5, 46, 5, new String[] {
|
||||
"Slot " + (i + 1) + ":",
|
||||
radgen.production[i] + "HE/t for",
|
||||
(radgen.maxProgress[i] - radgen.progress[i]) + " ticks. (" + ((radgen.maxProgress[i] - radgen.progress[i]) * 100 / radgen.maxProgress[i]) + "%)"
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -55,32 +54,16 @@ public class GUIMachineRadGen extends GuiInfoContainer {
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||
|
||||
int i = (int)radgen.getPowerScaled(52);
|
||||
drawTexturedModalRect(guiLeft + 143, guiTop + 69 - i, 16, 218 - i, 16, i);
|
||||
|
||||
int j = radgen.getFuelScaled(52);
|
||||
drawTexturedModalRect(guiLeft + 35, guiTop + 69 - j, 0, 218 - j, 16, j);
|
||||
|
||||
int k = radgen.mode;
|
||||
if(k == 1)
|
||||
drawTexturedModalRect(guiLeft + 106, guiTop + 16, 32, 166, 18, 18);
|
||||
if(k == 2)
|
||||
drawTexturedModalRect(guiLeft + 106, guiTop + 16, 32, 184, 18, 18);
|
||||
|
||||
int l = radgen.getStrengthScaled(12);
|
||||
int sx = 140;
|
||||
int sy = 166;
|
||||
if(l > 0 && l < 7) {
|
||||
sx = 176;
|
||||
sy = (l - 1) * 36;
|
||||
for(int i = 0; i < 12; i++) {
|
||||
|
||||
if(radgen.maxProgress[i] <= 0)
|
||||
continue;
|
||||
|
||||
int j = radgen.progress[i] * 44 / radgen.maxProgress[i];
|
||||
drawTexturedModalRect(guiLeft + 66, guiTop + 19 + i * 5, 176, 0, j, 3);
|
||||
}
|
||||
if(l > 6) {
|
||||
sx = 212;
|
||||
sy = (l - 7) * 36;
|
||||
}
|
||||
drawTexturedModalRect(guiLeft + 70, guiTop + 25, sx, sy, 36, 36);
|
||||
|
||||
this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2);
|
||||
this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 16, 16, 16, 3);
|
||||
int j = (int)(radgen.power * 48 / radgen.maxPower);
|
||||
drawTexturedModalRect(guiLeft + 64, guiTop + 83, 176, 3, j, 4);
|
||||
}
|
||||
}
|
||||
|
||||
@ -229,6 +229,13 @@ public class ShredderRecipes {
|
||||
ShredderRecipes.setRecipe(ModBlocks.steel_grate, new ItemStack(ModItems.powder_steel_tiny, 3));
|
||||
ShredderRecipes.setRecipe(ModItems.pipes_steel, new ItemStack(ModItems.powder_steel, 27));
|
||||
|
||||
ShredderRecipes.setRecipe(ModBlocks.sellafield_0, new ItemStack(ModItems.scrap_nuclear, 1));
|
||||
ShredderRecipes.setRecipe(ModBlocks.sellafield_1, new ItemStack(ModItems.scrap_nuclear, 2));
|
||||
ShredderRecipes.setRecipe(ModBlocks.sellafield_2, new ItemStack(ModItems.scrap_nuclear, 3));
|
||||
ShredderRecipes.setRecipe(ModBlocks.sellafield_3, new ItemStack(ModItems.scrap_nuclear, 5));
|
||||
ShredderRecipes.setRecipe(ModBlocks.sellafield_4, new ItemStack(ModItems.scrap_nuclear, 7));
|
||||
ShredderRecipes.setRecipe(ModBlocks.sellafield_core, new ItemStack(ModItems.scrap_nuclear, 15));
|
||||
|
||||
ShredderRecipes.setRecipe(ModBlocks.deco_pipe, new ItemStack(ModItems.powder_steel, 1));
|
||||
ShredderRecipes.setRecipe(ModBlocks.deco_pipe_rusted, new ItemStack(ModItems.powder_steel, 1));
|
||||
ShredderRecipes.setRecipe(ModBlocks.deco_pipe_green, new ItemStack(ModItems.powder_steel, 1));
|
||||
|
||||
@ -1067,6 +1067,7 @@ public class ModItems {
|
||||
public static ItemRBMKPellet rbmk_pellet_drx;
|
||||
|
||||
public static Item scrap;
|
||||
public static Item scrap_nuclear;
|
||||
public static Item trinitite;
|
||||
public static Item nuclear_waste_long;
|
||||
public static Item nuclear_waste_long_tiny;
|
||||
@ -3703,6 +3704,7 @@ public class ModItems {
|
||||
waste_mox_hot = new ItemNuclearWaste().setUnlocalizedName("waste_mox_hot").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_mox_hot");
|
||||
waste_schrabidium_hot = new ItemNuclearWaste().setUnlocalizedName("waste_schrabidium_hot").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":waste_schrabidium_hot");
|
||||
scrap = new Item().setUnlocalizedName("scrap").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":scrap");
|
||||
scrap_nuclear = new Item().setUnlocalizedName("scrap_nuclear").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":scrap_nuclear");
|
||||
containment_box = new ItemLeadBox().setUnlocalizedName("containment_box").setCreativeTab(null).setTextureName(RefStrings.MODID + ":containment_box");
|
||||
rod_thorium_fuel_depleted = new ItemHazard(10F, true).setUnlocalizedName("rod_thorium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_empty).setTextureName(RefStrings.MODID + ":rod_thorium_fuel_depleted");
|
||||
rod_dual_thorium_fuel_depleted = new ItemHazard(20F, true).setUnlocalizedName("rod_dual_thorium_fuel_depleted").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_dual_empty).setTextureName(RefStrings.MODID + ":rod_dual_thorium_fuel_depleted");
|
||||
@ -4391,7 +4393,7 @@ public class ModItems {
|
||||
fusion_core = new ItemFusionCore(2500000).setUnlocalizedName("fusion_core").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fusion_core");
|
||||
fusion_core_infinite = new Item().setUnlocalizedName("fusion_core_infinite").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fusion_core_infinite");
|
||||
energy_core = new ItemBattery(10000000, 0, 1000).setUnlocalizedName("energy_core").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":energy_core");
|
||||
fuse = new ItemCustomLore().setUnlocalizedName("fuse").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fuse");
|
||||
fuse = new ItemCustomLore().setUnlocalizedName("fuse").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fuse");
|
||||
redcoil_capacitor = new ItemCapacitor(10).setUnlocalizedName("redcoil_capacitor").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":redcoil_capacitor");
|
||||
titanium_filter = new ItemCapacitor(6 * 60 * 60 * 20).setUnlocalizedName("titanium_filter").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":titanium_filter");
|
||||
screwdriver = new ItemTooling(ToolType.SCREWDRIVER, 100).setUnlocalizedName("screwdriver").setTextureName(RefStrings.MODID + ":screwdriver");
|
||||
@ -6556,6 +6558,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(undefined, undefined.getUnlocalizedName());
|
||||
|
||||
GameRegistry.registerItem(scrap, scrap.getUnlocalizedName());
|
||||
GameRegistry.registerItem(scrap_nuclear, scrap_nuclear.getUnlocalizedName());
|
||||
GameRegistry.registerItem(waste_uranium_hot, waste_uranium_hot.getUnlocalizedName());
|
||||
GameRegistry.registerItem(waste_thorium_hot, waste_thorium_hot.getUnlocalizedName());
|
||||
GameRegistry.registerItem(waste_plutonium_hot, waste_plutonium_hot.getUnlocalizedName());
|
||||
|
||||
@ -343,7 +343,7 @@ public class ItemEnergy extends Item {
|
||||
list.add("The most delicious beverage in the wasteland!");
|
||||
list.add("[Requires bottle opener]");
|
||||
}
|
||||
if(this == ModItems.bottle_sparkle) {
|
||||
if(this == ModItems.bottle_rad) {
|
||||
if(MainRegistry.polaroidID == 11)
|
||||
list.add("Now with 400% more radiation!");
|
||||
else
|
||||
|
||||
@ -160,16 +160,6 @@ public class ItemCustomLore extends Item {
|
||||
list.add("It stopped ticking at 2:34.");
|
||||
}
|
||||
|
||||
if(this == ModItems.fuse)
|
||||
{
|
||||
list.add("This item is needed for every large");
|
||||
list.add("nuclear reactor, as it allows the");
|
||||
list.add("reactor to generate electricity and");
|
||||
list.add("use up it's fuel. Removing the fuse");
|
||||
list.add("from a reactor will instantly shut");
|
||||
list.add("it down.");
|
||||
}
|
||||
|
||||
if(this == ModItems.rod_lithium)
|
||||
{
|
||||
list.add("Turns into Tritium Rod");
|
||||
@ -252,18 +242,6 @@ public class ItemCustomLore extends Item {
|
||||
list.add("A piece of bark from an exploded golden oak tree.");
|
||||
}
|
||||
|
||||
if(this == ModItems.crystal_energy)
|
||||
{
|
||||
list.add("Densely packed energy powder.");
|
||||
list.add("Not edible.");
|
||||
}
|
||||
|
||||
if(this == ModItems.pellet_coolant)
|
||||
{
|
||||
list.add("Required for cyclotron operation.");
|
||||
list.add("Do NOT operate cyclotron without it!");
|
||||
}
|
||||
|
||||
if(this == ModItems.entanglement_kit)
|
||||
{
|
||||
list.add("Teleporter crafting item.");
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.hbm.items.tool;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.items.ModItems;
|
||||
@ -11,108 +12,119 @@ import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
|
||||
public class ItemSwordMeteorite extends ItemSwordAbility {
|
||||
|
||||
public static final List<ItemSwordMeteorite> swords = new ArrayList();
|
||||
|
||||
public ItemSwordMeteorite(float damage, double movement, ToolMaterial material) {
|
||||
super(damage, movement, material);
|
||||
this.setMaxDamage(0);
|
||||
swords.add(this);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
|
||||
super.addInformation(stack, player, list, ext);
|
||||
|
||||
if(this == ModItems.meteorite_sword) {
|
||||
list.add(EnumChatFormatting.ITALIC + "Forged from a fallen star");
|
||||
list.add(EnumChatFormatting.ITALIC + "Sharper than most terrestrial blades");
|
||||
}
|
||||
|
||||
if(this == ModItems.meteorite_sword_seared) {
|
||||
list.add(EnumChatFormatting.ITALIC + "Fire strengthens the blade");
|
||||
list.add(EnumChatFormatting.ITALIC + "Making it even more powerful");
|
||||
}
|
||||
|
||||
if(this == ModItems.meteorite_sword_reforged) {
|
||||
list.add(EnumChatFormatting.ITALIC + "The sword has been reforged");
|
||||
list.add(EnumChatFormatting.ITALIC + "To rectify past imperfections");
|
||||
}
|
||||
|
||||
if(this == ModItems.meteorite_sword_hardened) {
|
||||
list.add(EnumChatFormatting.ITALIC + "Extremely high pressure has been used");
|
||||
list.add(EnumChatFormatting.ITALIC + "To harden the blade further");
|
||||
}
|
||||
|
||||
if(this == ModItems.meteorite_sword_alloyed) {
|
||||
list.add(EnumChatFormatting.ITALIC + "Cobalt fills the fissures");
|
||||
list.add(EnumChatFormatting.ITALIC + "Strengthening the sword");
|
||||
}
|
||||
|
||||
if(this == ModItems.meteorite_sword_machined) {
|
||||
list.add(EnumChatFormatting.ITALIC + "Advanced machinery was used");
|
||||
list.add(EnumChatFormatting.ITALIC + "To refine the blade even more");
|
||||
}
|
||||
|
||||
if(this == ModItems.meteorite_sword_treated) {
|
||||
list.add(EnumChatFormatting.ITALIC + "Chemicals have been applied");
|
||||
list.add(EnumChatFormatting.ITALIC + "Making the sword more powerful");
|
||||
}
|
||||
|
||||
if(this == ModItems.meteorite_sword_etched) {
|
||||
list.add(EnumChatFormatting.ITALIC + "Acids clean the material");
|
||||
list.add(EnumChatFormatting.ITALIC + "To make this the perfect sword");
|
||||
}
|
||||
|
||||
if(this == ModItems.meteorite_sword_bred) {
|
||||
list.add(EnumChatFormatting.ITALIC + "Immense heat and radiation");
|
||||
list.add(EnumChatFormatting.ITALIC + "Compress the material");
|
||||
}
|
||||
|
||||
if(this == ModItems.meteorite_sword_irradiated) {
|
||||
list.add(EnumChatFormatting.ITALIC + "The power of the Atom");
|
||||
list.add(EnumChatFormatting.ITALIC + "Gives the sword might");
|
||||
}
|
||||
|
||||
if(this == ModItems.meteorite_sword_fused) {
|
||||
list.add(EnumChatFormatting.ITALIC + "This blade has met");
|
||||
list.add(EnumChatFormatting.ITALIC + "With the forces of the stars");
|
||||
}
|
||||
|
||||
if(this == ModItems.meteorite_sword_baleful) {
|
||||
list.add(EnumChatFormatting.ITALIC + "This sword has met temperatures");
|
||||
list.add(EnumChatFormatting.ITALIC + "Far beyond what normal material can endure");
|
||||
}
|
||||
|
||||
/*if(this == ModItems.meteorite_sword_subatomic) {
|
||||
|
||||
}*/
|
||||
|
||||
/*if(this == ModItems.meteorite_sword_void) {
|
||||
|
||||
}*/
|
||||
|
||||
/*if(this == ModItems.meteorite_sword_clouded) {
|
||||
list.add(EnumChatFormatting.ITALIC + "The sword to fell");
|
||||
list.add(EnumChatFormatting.ITALIC + "The capital");
|
||||
}*/
|
||||
|
||||
/*if(this == ModItems.meteorite_sword_enchanted) {
|
||||
list.add(EnumChatFormatting.ITALIC + "The sword to defeat");
|
||||
list.add(EnumChatFormatting.ITALIC + "The country");
|
||||
}*/
|
||||
|
||||
/*if(this == ModItems.meteorite_sword_fstbmb) {
|
||||
list.add(EnumChatFormatting.ITALIC + "The sword to end");
|
||||
list.add(EnumChatFormatting.ITALIC + "The world");
|
||||
}*/
|
||||
|
||||
/*if(this == ModItems.meteorite_sword_digama) {
|
||||
list.add(EnumChatFormatting.ITALIC + "The sword to extinguish");
|
||||
list.add(EnumChatFormatting.ITALIC + "The universe");
|
||||
}*/
|
||||
|
||||
//meteorite_sword_duchess
|
||||
//meteorite_sword_queen
|
||||
//meteorite_sword_storm
|
||||
//§k
|
||||
}
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
|
||||
super.addInformation(stack, player, list, ext);
|
||||
|
||||
if(this == ModItems.meteorite_sword) {
|
||||
list.add(EnumChatFormatting.ITALIC + "Forged from a fallen star");
|
||||
list.add(EnumChatFormatting.ITALIC + "Sharper than most terrestrial blades");
|
||||
}
|
||||
|
||||
if(this == ModItems.meteorite_sword_seared) {
|
||||
list.add(EnumChatFormatting.ITALIC + "Fire strengthens the blade");
|
||||
list.add(EnumChatFormatting.ITALIC + "Making it even more powerful");
|
||||
}
|
||||
|
||||
if(this == ModItems.meteorite_sword_reforged) {
|
||||
list.add(EnumChatFormatting.ITALIC + "The sword has been reforged");
|
||||
list.add(EnumChatFormatting.ITALIC + "To rectify past imperfections");
|
||||
}
|
||||
|
||||
if(this == ModItems.meteorite_sword_hardened) {
|
||||
list.add(EnumChatFormatting.ITALIC + "Extremely high pressure has been used");
|
||||
list.add(EnumChatFormatting.ITALIC + "To harden the blade further");
|
||||
}
|
||||
|
||||
if(this == ModItems.meteorite_sword_alloyed) {
|
||||
list.add(EnumChatFormatting.ITALIC + "Cobalt fills the fissures");
|
||||
list.add(EnumChatFormatting.ITALIC + "Strengthening the sword");
|
||||
}
|
||||
|
||||
if(this == ModItems.meteorite_sword_machined) {
|
||||
list.add(EnumChatFormatting.ITALIC + "Advanced machinery was used");
|
||||
list.add(EnumChatFormatting.ITALIC + "To refine the blade even more");
|
||||
}
|
||||
|
||||
if(this == ModItems.meteorite_sword_treated) {
|
||||
list.add(EnumChatFormatting.ITALIC + "Chemicals have been applied");
|
||||
list.add(EnumChatFormatting.ITALIC + "Making the sword more powerful");
|
||||
}
|
||||
|
||||
if(this == ModItems.meteorite_sword_etched) {
|
||||
list.add(EnumChatFormatting.ITALIC + "Acids clean the material");
|
||||
list.add(EnumChatFormatting.ITALIC + "To make this the perfect sword");
|
||||
}
|
||||
|
||||
if(this == ModItems.meteorite_sword_bred) {
|
||||
list.add(EnumChatFormatting.ITALIC + "Immense heat and radiation");
|
||||
list.add(EnumChatFormatting.ITALIC + "Compress the material");
|
||||
}
|
||||
|
||||
if(this == ModItems.meteorite_sword_irradiated) {
|
||||
list.add(EnumChatFormatting.ITALIC + "The power of the Atom");
|
||||
list.add(EnumChatFormatting.ITALIC + "Gives the sword might");
|
||||
}
|
||||
|
||||
if(this == ModItems.meteorite_sword_fused) {
|
||||
list.add(EnumChatFormatting.ITALIC + "This blade has met");
|
||||
list.add(EnumChatFormatting.ITALIC + "With the forces of the stars");
|
||||
}
|
||||
|
||||
if(this == ModItems.meteorite_sword_baleful) {
|
||||
list.add(EnumChatFormatting.ITALIC + "This sword has met temperatures");
|
||||
list.add(EnumChatFormatting.ITALIC + "Far beyond what normal material can endure");
|
||||
}
|
||||
|
||||
/*
|
||||
* if(this == ModItems.meteorite_sword_subatomic) {
|
||||
*
|
||||
* }
|
||||
*/
|
||||
|
||||
/*
|
||||
* if(this == ModItems.meteorite_sword_void) {
|
||||
*
|
||||
* }
|
||||
*/
|
||||
|
||||
/*
|
||||
* if(this == ModItems.meteorite_sword_clouded) {
|
||||
* list.add(EnumChatFormatting.ITALIC + "The sword to fell");
|
||||
* list.add(EnumChatFormatting.ITALIC + "The capital"); }
|
||||
*/
|
||||
|
||||
/*
|
||||
* if(this == ModItems.meteorite_sword_enchanted) {
|
||||
* list.add(EnumChatFormatting.ITALIC + "The sword to defeat");
|
||||
* list.add(EnumChatFormatting.ITALIC + "The country"); }
|
||||
*/
|
||||
|
||||
/*
|
||||
* if(this == ModItems.meteorite_sword_fstbmb) {
|
||||
* list.add(EnumChatFormatting.ITALIC + "The sword to end");
|
||||
* list.add(EnumChatFormatting.ITALIC + "The world"); }
|
||||
*/
|
||||
|
||||
/*
|
||||
* if(this == ModItems.meteorite_sword_digamma) {
|
||||
* list.add(EnumChatFormatting.ITALIC + "The sword to extinguish");
|
||||
* list.add(EnumChatFormatting.ITALIC + "The universe"); }
|
||||
*/
|
||||
|
||||
// meteorite_sword_duchess
|
||||
// meteorite_sword_queen
|
||||
// meteorite_sword_storm
|
||||
// §k
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -681,7 +681,7 @@ public class HbmWorldGen implements IWorldGenerator {
|
||||
|
||||
private void generateEnd(World world, Random rand, int i, int j) {
|
||||
|
||||
if(!WorldConfig.endOre) {
|
||||
if(WorldConfig.endOre) {
|
||||
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.endTikiteSpawn, 6, 0, 127, ModBlocks.ore_tikite, Blocks.end_stone);
|
||||
|
||||
/*for(int k = 0; k < 50; k++){
|
||||
|
||||
@ -3,7 +3,7 @@ package com.hbm.lib;
|
||||
public class RefStrings {
|
||||
public static final String MODID = "hbm";
|
||||
public static final String NAME = "Hbm's Nuclear Tech Mod";
|
||||
public static final String VERSION = "1.0.27 BETA (4018)";
|
||||
public static final String VERSION = "1.0.27 BETA (4025)";
|
||||
//HBM's Beta Naming Convention:
|
||||
//V T (X)
|
||||
//V -> next release version
|
||||
|
||||
@ -50,6 +50,7 @@ import com.hbm.entity.projectile.*;
|
||||
import com.hbm.handler.HbmKeybinds;
|
||||
import com.hbm.handler.HbmKeybinds.EnumKeybind;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.tool.ItemSwordMeteorite;
|
||||
import com.hbm.particle.*;
|
||||
import com.hbm.render.anim.*;
|
||||
import com.hbm.render.anim.HbmAnimations.Animation;
|
||||
@ -262,18 +263,29 @@ public class ClientProxy extends ServerProxy {
|
||||
MinecraftForgeClient.registerItemRenderer(entry.getKey(), entry.getValue());
|
||||
|
||||
//universal JSON translated items
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.cmb_sword, new ItemRenderTransformer(
|
||||
new double[] {0, -90, 55},
|
||||
new double[] {0, 7.0, 0},
|
||||
new double[] {1.7, 1.7, 0.85},
|
||||
|
||||
new double[] {-20, -90, -80},
|
||||
new double[] {1.13, 5.2, -0.26},
|
||||
new double[] {1.36, 1.36, 0.68},
|
||||
|
||||
new double[] {0, 0, 0},
|
||||
new double[] {0, 0, 0},
|
||||
new double[] {1.1, 1.1, 1.1}));
|
||||
double[] rtp = new double[] {0, 180, -90};
|
||||
double[] ttp_high = new double[] {0.125, 0.625, 0};
|
||||
double[] ttp_low = new double[] {0, 0.75, 0};
|
||||
double[] stp = new double[] {1.7, 1.7, 0.85};
|
||||
double[] rfp = new double[] {0, 180, -90};
|
||||
double[] tfp = new double[] {1.13, 5.2, -0.26};
|
||||
double[] sfp = new double[] {1.36, 1.36, 0.68};
|
||||
double[] rir = new double[] {0, 0, 0};
|
||||
double[] tir = new double[] {0, 0, 0};
|
||||
double[] sir = new double[] {1.1, 1.1, 1.1};
|
||||
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.titanium_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir));
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.alloy_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir));
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.desh_sword, new ItemRenderTransformer(rtp, ttp_low, stp, rfp, tfp, sfp, rir, tir, sir));
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.cobalt_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir));
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.cobalt_decorated_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir));
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.starmetal_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir));
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.schrabidium_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir));
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.cmb_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir));
|
||||
|
||||
for(ItemSwordMeteorite sword : ItemSwordMeteorite.swords) {
|
||||
// MinecraftForgeClient.registerItemRenderer(sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir));
|
||||
}
|
||||
|
||||
|
||||
//test crap
|
||||
|
||||
@ -727,7 +727,7 @@ public class CraftingManager {
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModBlocks.hadron_plating_striped, 1), new Object[] { ModBlocks.hadron_plating, "dyeBlack", "dyeYellow" }));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModBlocks.hadron_plating_glass, 1), new Object[] { ModBlocks.hadron_plating, "blockGlass" }));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModBlocks.hadron_plating_voltz, 1), new Object[] { ModBlocks.hadron_plating, "dyeRed" }));
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.hadron_power, 1), new Object[] { "STS", "CPC", "STS", 'S', ModItems.ingot_saturnite, 'T', ModBlocks.machine_transformer, 'C', ModItems.circuit_targeting_tier3, 'P', ModBlocks.hadron_plating_blue });
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.hadron_power, 1), new Object[] { "SFS", "FTF", "SFS", 'S', ModItems.ingot_saturnite, 'T', ModBlocks.machine_transformer, 'F', ModItems.fuse });
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.hadron_power_10m, 1), new Object[] { "HF", 'H', ModBlocks.hadron_power, 'F', ModItems.fuse });
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.hadron_power_100m, 1), new Object[] { "HF", 'H', ModBlocks.hadron_power_10m, 'F', ModItems.fuse });
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.hadron_power_1g, 1), new Object[] { "HF", 'H', ModBlocks.hadron_power_100m, 'F', ModItems.fuse });
|
||||
@ -755,6 +755,7 @@ public class CraftingManager {
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.rbmk_rod_reasim, 1), new Object[] { "ZCZ", "ZRZ", "ZCZ", 'C', ModItems.hull_small_steel, 'R', ModBlocks.rbmk_blank, 'Z', "ingotZirconium" }));
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_rod_reasim_mod, 1), new Object[] { "BGB", "GRG", "BGB", 'G', ModBlocks.block_graphite, 'R', ModBlocks.rbmk_rod_reasim, 'B', ModItems.ingot_tcalloy });
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_outgasser, 1), new Object[] { "GHG", "GRG", "GTG", 'G', ModBlocks.steel_grate, 'H', Blocks.hopper, 'T', ModItems.tank_steel, 'R', ModBlocks.rbmk_blank });
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_storage, 1), new Object[] { "C", "R", "C", 'C', ModBlocks.crate_steel, 'R', ModBlocks.rbmk_blank });
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.rbmk_loader, 1), new Object[] { "SCS", "CBC", "SCS", 'S', "plateSteel", 'C', "ingotCopper", 'B', ModItems.tank_steel }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.rbmk_steam_inlet, 1), new Object[] { "SCS", "CBC", "SCS", 'S', "ingotSteel", 'C', "plateIron", 'B', ModItems.tank_steel }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.rbmk_steam_outlet, 1), new Object[] { "SCS", "CBC", "SCS", 'S', "ingotSteel", 'C', "plateCopper", 'B', ModItems.tank_steel }));
|
||||
@ -859,11 +860,13 @@ public class CraftingManager {
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.reactor_sensor, 1), new Object[] { "WPW", "CMC", "PPP", 'W', ModItems.wire_tungsten, 'P', "plateLead", 'C', ModItems.circuit_targeting_tier3, 'M', ModItems.magnetron }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.reactor_ejector, 1), new Object[] { "CLC", "MHM", "CLC", 'C', ModBlocks.brick_concrete, 'L', "plateLead", 'M', ModItems.motor, 'H', ModBlocks.reactor_hatch }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.reactor_inserter, 1), new Object[] { "CLC", "MHM", "CLC", 'C', ModBlocks.brick_concrete, 'L', "plateCopper", 'M', ModItems.motor, 'H', ModBlocks.reactor_hatch }));
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_console, 1), new Object[] { "PPP", "PCP", "PPP", 'C', ModItems.circuit_targeting_tier3, 'P', Items.potato });
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.rbmk_console, 1), new Object[] { "BBB", "DGD", "DCD", 'B', "ingotBoron", 'D', ModBlocks.deco_rbmk, 'G', "paneGlass", 'C', ModItems.circuit_targeting_tier3 }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.rbmk_crane_console, 1), new Object[] { "BCD", "DDD", 'B', "ingotBoron", 'D', ModBlocks.deco_rbmk, 'C', ModItems.circuit_targeting_tier3 }));
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.hadron_core, 1), new Object[] { "CCC", "DSD", "CCC", 'C', ModBlocks.hadron_coil_alloy, 'D', ModBlocks.hadron_diode, 'S', ModItems.circuit_schrabidium });
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_rod, 1), new Object[] { "C", "R", "C", 'C', ModItems.hull_small_steel, 'R', ModBlocks.rbmk_blank });
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_rod_mod, 1), new Object[] { "BGB", "GRG", "BGB", 'G', ModBlocks.block_graphite, 'R', ModBlocks.rbmk_rod, 'B', ModItems.nugget_bismuth });
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_boiler, 1), new Object[] { "CPC", "CRC", "CPC", 'C', ModItems.board_copper, 'P', ModItems.pipes_steel, 'R', ModBlocks.rbmk_blank });
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.rbmk_cooler, 1), new Object[] { "IGI", "GCG", "IGI", 'C', ModBlocks.rbmk_blank, 'I', ModItems.plate_polymer, 'G', ModBlocks.steel_grate });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -167,8 +167,7 @@ public class ResourceManager {
|
||||
public static final IModelCustom meteor = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/weapons/meteor.obj"));
|
||||
|
||||
//Radgen
|
||||
public static final IModelCustom radgen_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/rad_gen_body.obj"));
|
||||
public static final IModelCustom radgen_rotor = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/rad_gen_rotor.obj"));
|
||||
public static final IModelCustom radgen = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/radgen.obj"));
|
||||
|
||||
//Small Reactor
|
||||
public static final IModelCustom reactor_small_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/reactors/reactor_small_base.obj"));
|
||||
@ -440,7 +439,7 @@ public class ResourceManager {
|
||||
public static final ResourceLocation dfc_stabilizer_tex = new ResourceLocation(RefStrings.MODID, "textures/models/core_stabilizer.png");
|
||||
|
||||
//Radgen
|
||||
public static final ResourceLocation radgen_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/rad_gen_body.png");
|
||||
public static final ResourceLocation radgen_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/radgen.png");
|
||||
|
||||
//Small Reactor
|
||||
public static final ResourceLocation reactor_small_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/reactor_small_base.png");
|
||||
|
||||
@ -40,7 +40,7 @@ public class RenderBlocksCT extends RenderBlocks {
|
||||
|
||||
private void initSideInfo() {
|
||||
|
||||
if(!this.enableAO)
|
||||
if(!this.enableAO || true)
|
||||
return;
|
||||
|
||||
/*this.tl = new VertInfo(this.colorRedTopLeft, this.colorGreenTopLeft, this.colorBlueTopLeft, this.brightnessTopLeft);
|
||||
@ -223,7 +223,7 @@ public class RenderBlocksCT extends RenderBlocks {
|
||||
|
||||
private void drawVert(double x, double y, double z, double u, double v, VertInfo info) {
|
||||
|
||||
if(this.enableAO) {
|
||||
if(this.enableAO && false) {
|
||||
tess.setColorOpaque_F(info.red, info.green, info.blue);
|
||||
tess.setBrightness(info.brightness);
|
||||
}
|
||||
|
||||
@ -184,29 +184,35 @@ public class ItemRenderLibrary {
|
||||
}
|
||||
public void renderCommon() {
|
||||
GL11.glScaled(0.25, 0.25, 0.25);
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
bindTexture(ResourceManager.igen_tex); ResourceManager.igen.renderPart("Base");
|
||||
bindTexture(ResourceManager.igen_rotor); ResourceManager.igen.renderPart("Rotor");
|
||||
bindTexture(ResourceManager.igen_cog); ResourceManager.igen.renderPart("CogLeft"); ResourceManager.igen.renderPart("CogRight");
|
||||
bindTexture(ResourceManager.igen_pistons); ResourceManager.igen.renderPart("Pistons");
|
||||
bindTexture(ResourceManager.igen_arm); ResourceManager.igen.renderPart("ArmLeft"); ResourceManager.igen.renderPart("ArmRight");
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
bindTexture(ResourceManager.igen_tex); ResourceManager.igen.renderPart("Base");
|
||||
bindTexture(ResourceManager.igen_rotor); ResourceManager.igen.renderPart("Rotor");
|
||||
bindTexture(ResourceManager.igen_cog); ResourceManager.igen.renderPart("CogLeft"); ResourceManager.igen.renderPart("CogRight");
|
||||
bindTexture(ResourceManager.igen_pistons); ResourceManager.igen.renderPart("Pistons");
|
||||
bindTexture(ResourceManager.igen_arm); ResourceManager.igen.renderPart("ArmLeft"); ResourceManager.igen.renderPart("ArmRight");
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
}});
|
||||
|
||||
renderers.put(Item.getItemFromBlock(ModBlocks.machine_radgen), new ItemRenderBase() {
|
||||
public void renderInventory() {
|
||||
GL11.glTranslated(0, -1, 0);
|
||||
GL11.glRotated(90, 0, 1, 0);
|
||||
GL11.glScaled(4.5, 4.5, 4.5);
|
||||
}
|
||||
public void renderCommon() {
|
||||
GL11.glScaled(0.5, 0.5, 0.5);
|
||||
GL11.glTranslated(0, 0, 1.5);
|
||||
bindTexture(ResourceManager.radgen_body_tex); ResourceManager.radgen_body.renderAll();
|
||||
GL11.glTranslated(0, 1.5, 0);
|
||||
bindTexture(ResourceManager.turbofan_blades_tex); ResourceManager.radgen_rotor.renderAll();
|
||||
GL11.glTranslated(0.5, 0, 0);
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
bindTexture(ResourceManager.radgen_tex);
|
||||
ResourceManager.radgen.renderPart("Base");
|
||||
ResourceManager.radgen.renderPart("Rotor");
|
||||
GL11.glDisable(GL11.GL_TEXTURE_2D);
|
||||
GL11.glColor3f(0F, 1F, 0F);
|
||||
ResourceManager.radgen.renderPart("Light");
|
||||
GL11.glColor3f(1F, 1F, 1F);
|
||||
GL11.glEnable(GL11.GL_TEXTURE_2D);
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
}});
|
||||
|
||||
renderers.put(Item.getItemFromBlock(ModBlocks.machine_fensu), new ItemRenderBase() {
|
||||
|
||||
@ -53,21 +53,25 @@ public class ItemRenderTransformer implements IItemRenderer {
|
||||
switch(type) {
|
||||
|
||||
case EQUIPPED_FIRST_PERSON:
|
||||
GL11.glRotated(rfp[1], 0, 1, 0);
|
||||
GL11.glRotated(rfp[2], 0, 0, 1);
|
||||
GL11.glRotated(rfp[0], 1, 0, 0);
|
||||
GL11.glTranslated(0.5, 0.5, 0);
|
||||
GL11.glTranslated(-0.5, -0.5, 0);
|
||||
GL11.glRotated(180, 0, 1, 0);
|
||||
GL11.glRotated(-90, 0, 0, 1);
|
||||
//GL11.glRotated(rfp[1], 0, 1, 0);
|
||||
//GL11.glRotated(rfp[0], 1, 0, 0);
|
||||
//GL11.glRotated(rfp[2], 0, 0, 1);
|
||||
//GL11.glTranslated(tfp[0] * 0.0625, tfp[1] * 0.0625, tfp[2] * 0.0625);
|
||||
GL11.glTranslated(0.5, 0.5, 0);
|
||||
GL11.glScaled(sfp[0] * 2, sfp[1] * 2, sfp[2] * 2);
|
||||
GL11.glTranslated(-0.5, -0.5, 0);
|
||||
GL11.glTranslated(-0.5, -0.25, 0);
|
||||
GL11.glTranslated(-0.5, -0.5, 0.25);
|
||||
break;
|
||||
case EQUIPPED:
|
||||
GL11.glRotated(rtp[1], 0, 1, 0);
|
||||
GL11.glRotated(rtp[2], 0, 0, 1);
|
||||
GL11.glRotated(rtp[0], 1, 0, 0);
|
||||
GL11.glTranslated(ttp[0], ttp[1], ttp[2]);
|
||||
GL11.glRotated(45, 0, 0, 1);
|
||||
GL11.glRotated(180, 0, 1, 0);
|
||||
GL11.glRotated(-90, 0, 0, 1);
|
||||
GL11.glTranslated(-1.5, -1.125, 0);
|
||||
GL11.glRotated(-45, 0, 0, 1);
|
||||
GL11.glScaled(stp[0], stp[1], stp[2]);
|
||||
break;
|
||||
case INVENTORY:
|
||||
|
||||
@ -2,67 +2,87 @@ package com.hbm.render.tileentity;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineRadGen;
|
||||
|
||||
import net.minecraft.client.renderer.OpenGlHelper;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.MathHelper;
|
||||
|
||||
public class RenderRadGen extends TileEntitySpecialRenderer {
|
||||
|
||||
public RenderRadGen() { }
|
||||
|
||||
@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.glRotatef(180, 0F, 1F, 0F);
|
||||
switch(tileEntity.getBlockMetadata())
|
||||
{
|
||||
case 2:
|
||||
GL11.glRotatef(90, 0F, 1F, 0F); break;
|
||||
case 4:
|
||||
GL11.glRotatef(180, 0F, 1F, 0F); break;
|
||||
case 3:
|
||||
GL11.glRotatef(270, 0F, 1F, 0F); break;
|
||||
case 5:
|
||||
GL11.glRotatef(0, 0F, 1F, 0F); break;
|
||||
}
|
||||
|
||||
bindTexture(ResourceManager.radgen_body_tex);
|
||||
|
||||
ResourceManager.radgen_body.renderAll();
|
||||
|
||||
GL11.glPopMatrix();
|
||||
|
||||
renderTileEntityAt2(tileEntity, x, y, z, f);
|
||||
}
|
||||
|
||||
public void renderTileEntityAt2(TileEntity tileEntity, double x, double y, double z, float f)
|
||||
{
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(x + 0.5D, y + 1.5D, z + 0.5D);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
GL11.glRotatef(180, 0F, 1F, 0F);
|
||||
switch(tileEntity.getBlockMetadata())
|
||||
{
|
||||
case 2:
|
||||
GL11.glRotatef(90, 0F, 1F, 0F); break;
|
||||
case 4:
|
||||
GL11.glRotatef(180, 0F, 1F, 0F); break;
|
||||
case 3:
|
||||
GL11.glRotatef(270, 0F, 1F, 0F); break;
|
||||
case 5:
|
||||
GL11.glRotatef(0, 0F, 1F, 0F); break;
|
||||
}
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) {
|
||||
|
||||
GL11.glRotatef((System.currentTimeMillis() / 10) % 360, 0F, 0F, 1F);
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
|
||||
TileEntityMachineRadGen radgen = (TileEntityMachineRadGen) tileEntity;
|
||||
|
||||
switch(tileEntity.getBlockMetadata() - BlockDummyable.offset) {
|
||||
case 2: GL11.glRotatef(90, 0F, 1F, 0F); break;
|
||||
case 4: GL11.glRotatef(180, 0F, 1F, 0F); break;
|
||||
case 3: GL11.glRotatef(270, 0F, 1F, 0F); break;
|
||||
case 5: GL11.glRotatef(0, 0F, 1F, 0F); break;
|
||||
}
|
||||
|
||||
bindTexture(ResourceManager.turbofan_blades_tex);
|
||||
ResourceManager.radgen_rotor.renderAll();
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
bindTexture(ResourceManager.radgen_tex);
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
ResourceManager.radgen.renderPart("Base");
|
||||
|
||||
GL11.glPushMatrix();
|
||||
if(radgen.isOn) {
|
||||
GL11.glTranslated(0, 1.5, 0);
|
||||
GL11.glRotatef((System.currentTimeMillis() % 3600) * -0.1F, 1F, 0F, 0F);
|
||||
GL11.glTranslated(0, -1.5, 0);
|
||||
}
|
||||
ResourceManager.radgen.renderPart("Rotor");
|
||||
GL11.glPopMatrix();
|
||||
|
||||
GL11.glDisable(GL11.GL_TEXTURE_2D);
|
||||
|
||||
GL11.glPushAttrib(GL11.GL_LIGHTING_BIT);
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F);
|
||||
if(radgen.isOn)
|
||||
GL11.glColor3f(0F, 1F, 0F);
|
||||
else
|
||||
GL11.glColor3f(0F, 0.1F, 0F);
|
||||
ResourceManager.radgen.renderPart("Light");
|
||||
GL11.glColor3f(1F, 1F, 1F);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glPopAttrib();
|
||||
|
||||
int brightness = radgen.getWorldObj().getLightBrightnessForSkyBlocks(MathHelper.floor_double(radgen.xCoord), MathHelper.floor_double(radgen.yCoord), MathHelper.floor_double(radgen.zCoord), 0);
|
||||
int lX = brightness % 65536;
|
||||
int lY = brightness / 65536;
|
||||
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)lX / 1.0F, (float)lY / 1.0F);
|
||||
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glAlphaFunc(GL11.GL_GREATER, 0);
|
||||
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
GL11.glDepthMask(false);
|
||||
|
||||
GL11.glColor4f(0.5F, 0.75F, 1F, 0.3F);
|
||||
ResourceManager.radgen.renderPart("Glass");
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
|
||||
GL11.glDepthMask(true);
|
||||
GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F);
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
|
||||
GL11.glEnable(GL11.GL_TEXTURE_2D);
|
||||
|
||||
ResourceManager.radgen.renderPart("Glass");
|
||||
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
@ -185,7 +185,6 @@ public class TileEntityMachineDiesel extends TileEntityMachineBase implements IS
|
||||
|
||||
@Override
|
||||
public void ffgeua(int x, int y, int z, boolean newTact) {
|
||||
|
||||
Library.ffgeua(x, y, z, newTact, this, worldObj);
|
||||
}
|
||||
|
||||
|
||||
@ -3,440 +3,272 @@ package com.hbm.tileentity.machine;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.interfaces.IConsumer;
|
||||
import com.hbm.interfaces.ISource;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.packet.AuxElectricityPacket;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.ISidedInventory;
|
||||
import net.minecraft.item.Item;
|
||||
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.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class TileEntityMachineRadGen extends TileEntity implements ISidedInventory, ISource {
|
||||
|
||||
private ItemStack slots[];
|
||||
public class TileEntityMachineRadGen extends TileEntityMachineBase implements ISource {
|
||||
|
||||
public int[] progress = new int[12];
|
||||
public int[] maxProgress = new int[12];
|
||||
public int[] production = new int[12];
|
||||
public ItemStack[] processing = new ItemStack[12];
|
||||
|
||||
public long power;
|
||||
public int fuel;
|
||||
public int strength;
|
||||
public int mode;
|
||||
public int soundCycle = 0;
|
||||
public float rotation;
|
||||
public static final long maxPower = 100000;
|
||||
public static final int maxFuel = 10000;
|
||||
public static final int maxStrength = 1000;
|
||||
public int age = 0;
|
||||
public static final long maxPower = 1000000;
|
||||
public List<IConsumer> list = new ArrayList();
|
||||
|
||||
private static final int[] slots_top = new int[] { 0 };
|
||||
private static final int[] slots_bottom = new int[] { 0, 0 };
|
||||
private static final int[] slots_side = new int[] { 0 };
|
||||
|
||||
private String customName;
|
||||
|
||||
public boolean isOn = false;
|
||||
|
||||
public TileEntityMachineRadGen() {
|
||||
slots = new ItemStack[3];
|
||||
super(24);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSizeInventory() {
|
||||
return slots.length;
|
||||
}
|
||||
|
||||
@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.radGen";
|
||||
}
|
||||
|
||||
@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) <= 64;
|
||||
}
|
||||
}
|
||||
|
||||
// You scrubs aren't needed for anything (right now)
|
||||
@Override
|
||||
public void openInventory() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void closeInventory() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int i, ItemStack stack) {
|
||||
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("power");
|
||||
this.fuel = nbt.getInteger("fuel");
|
||||
this.strength = nbt.getInteger("strength");
|
||||
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("power", power);
|
||||
nbt.setInteger("fuel", fuel);
|
||||
nbt.setInteger("strength", strength);
|
||||
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 String getName() {
|
||||
return "container.radGen";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
|
||||
if (!worldObj.isRemote) {
|
||||
|
||||
age++;
|
||||
if(age >= 20)
|
||||
{
|
||||
age = 0;
|
||||
}
|
||||
|
||||
if(age == 9 || age == 19)
|
||||
ffgeuaInit();
|
||||
}
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
|
||||
int r = getRads(slots[0]);
|
||||
if(r > 0) {
|
||||
if(slots[0].getItem().hasContainerItem()) {
|
||||
if(slots[1] == null) {
|
||||
if(fuel + r <= maxFuel) {
|
||||
if(worldObj.getTotalWorldTime() % 10 == 0) {
|
||||
ffgeuaInit();
|
||||
}
|
||||
|
||||
//check if reload necessary for any queues
|
||||
for(int i = 0; i < 12; i++) {
|
||||
|
||||
if(processing[i] == null && slots[i] != null && getDurationFromItem(slots[i]) > 0 &&
|
||||
(getOutputFromItem(slots[i]) == null || slots[i + 12] == null ||
|
||||
(getOutputFromItem(slots[i]).getItem() == slots[i + 12].getItem() && getOutputFromItem(slots[i]).getItemDamage() == slots[i + 12].getItemDamage() &&
|
||||
getOutputFromItem(slots[i]).stackSize + slots[i + 12].stackSize <= slots[i + 12].getMaxStackSize()))) {
|
||||
|
||||
progress[i] = 0;
|
||||
maxProgress[i] = this.getDurationFromItem(slots[i]);
|
||||
production[i] = this.getPowerFromItem(slots[i]);
|
||||
processing[i] = new ItemStack(slots[i].getItem(), 1, slots[i].getItemDamage());
|
||||
this.decrStackSize(i, 1);
|
||||
this.markDirty();
|
||||
}
|
||||
}
|
||||
|
||||
this.isOn = false;
|
||||
|
||||
for(int i = 0; i < 12; i++) {
|
||||
|
||||
if(processing[i] != null) {
|
||||
|
||||
this.isOn = true;
|
||||
this.power += production[i];
|
||||
progress[i]++;
|
||||
|
||||
if(progress[i] >= maxProgress[i]) {
|
||||
progress[i] = 0;
|
||||
ItemStack out = getOutputFromItem(processing[i]);
|
||||
|
||||
if(out != null) {
|
||||
|
||||
slots[1] = new ItemStack(slots[0].getItem().getContainerItem());
|
||||
|
||||
slots[0].stackSize--;
|
||||
if(slots[0].stackSize <= 0)
|
||||
slots[0] = null;
|
||||
fuel += r;
|
||||
if(slots[i + 12] == null) {
|
||||
slots[i + 12] = out;
|
||||
} else {
|
||||
slots[i + 12].stackSize += out.stackSize;
|
||||
}
|
||||
}
|
||||
} else if(slots[0].getItem().getContainerItem() == slots[1].getItem() && slots[1].stackSize < slots[1].getMaxStackSize()) {
|
||||
if(fuel + r <= maxFuel) {
|
||||
|
||||
slots[1].stackSize++;
|
||||
|
||||
slots[0].stackSize--;
|
||||
if(slots[0].stackSize <= 0)
|
||||
slots[0] = null;
|
||||
fuel += r;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if(fuel + r <= maxFuel) {
|
||||
slots[0].stackSize--;
|
||||
if(slots[0].stackSize <= 0)
|
||||
slots[0] = null;
|
||||
fuel += r;
|
||||
|
||||
processing[i] = null;
|
||||
this.markDirty();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(fuel > 0) {
|
||||
fuel--;
|
||||
if(strength < maxStrength)
|
||||
strength += Math.ceil(fuel / 1000);
|
||||
} else {
|
||||
if(strength > 0)
|
||||
strength -= (strength * 0.1);
|
||||
}
|
||||
|
||||
if(strength > maxStrength)
|
||||
strength = maxStrength;
|
||||
|
||||
if(strength < 0)
|
||||
strength = 0;
|
||||
if(this.power > maxPower)
|
||||
this.power = maxPower;
|
||||
|
||||
power += strength;
|
||||
|
||||
if(power > maxPower)
|
||||
power = maxPower;
|
||||
|
||||
mode = 0;
|
||||
if(strength > 0)
|
||||
mode = 1;
|
||||
if(strength > 800)
|
||||
mode = 2;
|
||||
|
||||
//PacketDispatcher.wrapper.sendToAll(new TEIGeneratorPacket(xCoord, yCoord, zCoord, rotation, torque));
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50));
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setIntArray("progress", this.progress);
|
||||
data.setIntArray("maxProgress", this.maxProgress);
|
||||
data.setIntArray("production", this.production);
|
||||
data.setLong("power", this.power);
|
||||
data.setBoolean("isOn", this.isOn);
|
||||
this.networkPack(data, 50);
|
||||
}
|
||||
}
|
||||
|
||||
private int getRads(ItemStack stack) {
|
||||
if(stack == null)
|
||||
return 0;
|
||||
@Override
|
||||
public void networkUnpack(NBTTagCompound nbt) {
|
||||
this.progress = nbt.getIntArray("progress");
|
||||
this.maxProgress = nbt.getIntArray("maxProgress");
|
||||
this.production = nbt.getIntArray("production");
|
||||
this.power = nbt.getLong("power");
|
||||
this.isOn = nbt.getBoolean("isOn");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
super.readFromNBT(nbt);
|
||||
this.progress = nbt.getIntArray("progress");
|
||||
|
||||
if(progress.length != 12) {
|
||||
progress = new int[12];
|
||||
return;
|
||||
}
|
||||
|
||||
this.maxProgress = nbt.getIntArray("maxProgress");
|
||||
this.production = nbt.getIntArray("production");
|
||||
this.power = nbt.getLong("power");
|
||||
this.isOn = nbt.getBoolean("isOn");
|
||||
|
||||
NBTTagList list = nbt.getTagList("progressing", 10);
|
||||
for(int i = 0; i < list.tagCount(); i++) {
|
||||
NBTTagCompound nbt1 = list.getCompoundTagAt(i);
|
||||
byte b0 = nbt1.getByte("slot");
|
||||
if(b0 >= 0 && b0 < processing.length) {
|
||||
processing[b0] = ItemStack.loadItemStackFromNBT(nbt1);
|
||||
}
|
||||
}
|
||||
|
||||
this.power = nbt.getLong("power");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound nbt) {
|
||||
super.writeToNBT(nbt);
|
||||
nbt.setIntArray("progress", this.progress);
|
||||
nbt.setIntArray("maxProgress", this.maxProgress);
|
||||
nbt.setIntArray("production", this.production);
|
||||
nbt.setLong("power", this.power);
|
||||
nbt.setBoolean("isOn", this.isOn);
|
||||
|
||||
NBTTagList list = new NBTTagList();
|
||||
for(int i = 0; i < processing.length; i++) {
|
||||
if(processing[i] != null) {
|
||||
NBTTagCompound nbt1 = new NBTTagCompound();
|
||||
nbt1.setByte("slot", (byte) i);
|
||||
processing[i].writeToNBT(nbt1);
|
||||
list.appendTag(nbt1);
|
||||
}
|
||||
}
|
||||
nbt.setTag("progressing", list);
|
||||
|
||||
nbt.setLong("power", this.power);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int i, ItemStack stack) {
|
||||
|
||||
if(i >= 12 || getDurationFromItem(stack) <= 0)
|
||||
return false;
|
||||
|
||||
if(slots[i] == null)
|
||||
return true;
|
||||
|
||||
int size = slots[i].stackSize;
|
||||
|
||||
for(int j = 0; j < 12; j++) {
|
||||
if(slots[j] == null)
|
||||
return false;
|
||||
|
||||
if(slots[j].getItem() == stack.getItem() && slots[j].getItemDamage() == stack.getItemDamage() && slots[j].stackSize < size)
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getAccessibleSlotsFromSide(int i) {
|
||||
return new int[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
|
||||
12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23};
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canExtractItem(int i, ItemStack itemStack, int j) {
|
||||
return i >= 12;
|
||||
}
|
||||
|
||||
private int getPowerFromItem(ItemStack stack) {
|
||||
Item item = stack.getItem();
|
||||
|
||||
if(item == ModItems.nugget_uranium) return 5;
|
||||
if(item == ModItems.ingot_uranium) return 50;
|
||||
if(item == Item.getItemFromBlock(ModBlocks.block_uranium)) return 500;
|
||||
if(item == ModItems.rod_uranium) return 30;
|
||||
if(item == ModItems.rod_dual_uranium) return 60;
|
||||
if(item == ModItems.rod_quad_uranium) return 90;
|
||||
if(item == ModItems.nuclear_waste_short)
|
||||
return 150;
|
||||
if(item == ModItems.nuclear_waste_long)
|
||||
return 50;
|
||||
|
||||
if(item == ModItems.nugget_u235) return 50;
|
||||
if(item == ModItems.ingot_u235) return 500;
|
||||
if(item == ModItems.rod_u235) return 300;
|
||||
if(item == ModItems.rod_dual_u235) return 600;
|
||||
if(item == ModItems.rod_quad_u235) return 900;
|
||||
|
||||
if(item == ModItems.nugget_u238) return 10;
|
||||
if(item == ModItems.ingot_u238) return 100;
|
||||
if(item == ModItems.rod_u238) return 60;
|
||||
if(item == ModItems.rod_dual_u238) return 120;
|
||||
if(item == ModItems.rod_quad_u238) return 240;
|
||||
if(item == ModItems.nuclear_waste_short_tiny)
|
||||
return 15;
|
||||
if(item == ModItems.nuclear_waste_long_tiny)
|
||||
return 5;
|
||||
|
||||
if(item == ModItems.nugget_pu238) return 40;
|
||||
if(item == ModItems.ingot_pu238) return 400;
|
||||
if(item == ModItems.rod_pu238) return 240;
|
||||
if(item == ModItems.rod_dual_pu238) return 480;
|
||||
if(item == ModItems.rod_quad_pu238) return 960;
|
||||
|
||||
if(item == ModItems.nugget_pu239) return 70;
|
||||
if(item == ModItems.ingot_pu239) return 700;
|
||||
if(item == ModItems.rod_pu239) return 420;
|
||||
if(item == ModItems.rod_dual_pu239) return 840;
|
||||
if(item == ModItems.rod_quad_pu239) return 1680;
|
||||
|
||||
if(item == ModItems.nugget_pu240) return 20;
|
||||
if(item == ModItems.ingot_pu240) return 200;
|
||||
if(item == ModItems.rod_pu240) return 120;
|
||||
if(item == ModItems.rod_dual_pu240) return 240;
|
||||
if(item == ModItems.rod_quad_pu240) return 480;
|
||||
|
||||
if(item == ModItems.nugget_neptunium) return 60;
|
||||
if(item == ModItems.ingot_neptunium) return 600;
|
||||
if(item == ModItems.rod_neptunium) return 360;
|
||||
if(item == ModItems.rod_dual_neptunium) return 720;
|
||||
if(item == ModItems.rod_quad_neptunium) return 1440;
|
||||
|
||||
if(item == ModItems.nugget_schrabidium) return 100;
|
||||
if(item == ModItems.ingot_schrabidium) return 1000;
|
||||
if(item == Item.getItemFromBlock(ModBlocks.block_schrabidium)) return 10000;
|
||||
if(item == ModItems.rod_schrabidium) return 600;
|
||||
if(item == ModItems.rod_dual_schrabidium) return 1200;
|
||||
if(item == ModItems.rod_quad_schrabidium) return 2400;
|
||||
|
||||
if(item == ModItems.nugget_solinium) return 120;
|
||||
if(item == ModItems.ingot_solinium) return 1200;
|
||||
if(item == ModItems.rod_schrabidium) return 720;
|
||||
if(item == ModItems.rod_dual_schrabidium) return 1440;
|
||||
if(item == ModItems.rod_quad_schrabidium) return 2880;
|
||||
|
||||
if(item == ModItems.nuclear_waste) return 100;
|
||||
if(item == ModItems.waste_uranium) return 150;
|
||||
if(item == ModItems.waste_plutonium) return 150;
|
||||
if(item == ModItems.waste_mox) return 150;
|
||||
if(item == ModItems.waste_schrabidium) return 150;
|
||||
if(item == Item.getItemFromBlock(ModBlocks.block_waste)) return 1000;
|
||||
if(item == Item.getItemFromBlock(ModBlocks.yellow_barrel)) return 900;
|
||||
if(item == ModItems.trinitite) return 80;
|
||||
if(item == Item.getItemFromBlock(ModBlocks.block_trinitite)) return 800;
|
||||
|
||||
if(item == Item.getItemFromBlock(ModBlocks.sellafield_0)) return 1000;
|
||||
if(item == Item.getItemFromBlock(ModBlocks.sellafield_1)) return 2000;
|
||||
if(item == Item.getItemFromBlock(ModBlocks.sellafield_2)) return 3000;
|
||||
if(item == Item.getItemFromBlock(ModBlocks.sellafield_3)) return 4000;
|
||||
if(item == Item.getItemFromBlock(ModBlocks.sellafield_4)) return 5000;
|
||||
if(item == Item.getItemFromBlock(ModBlocks.sellafield_core)) return 10000;
|
||||
|
||||
if(item == ModItems.rod_uranium_fuel_depleted) return 400;
|
||||
if(item == ModItems.rod_dual_uranium_fuel_depleted) return 800;
|
||||
if(item == ModItems.rod_quad_uranium_fuel_depleted) return 1600;
|
||||
|
||||
if(item == ModItems.rod_mox_fuel_depleted) return 550;
|
||||
if(item == ModItems.rod_dual_mox_fuel_depleted) return 1100;
|
||||
if(item == ModItems.rod_quad_mox_fuel_depleted) return 2200;
|
||||
|
||||
if(item == ModItems.rod_plutonium_fuel_depleted) return 600;
|
||||
if(item == ModItems.rod_dual_plutonium_fuel_depleted) return 1200;
|
||||
if(item == ModItems.rod_quad_plutonium_fuel_depleted) return 2400;
|
||||
|
||||
if(item == ModItems.rod_schrabidium_fuel_depleted) return 800;
|
||||
if(item == ModItems.rod_dual_schrabidium_fuel_depleted) return 1600;
|
||||
if(item == ModItems.rod_quad_schrabidium_fuel_depleted) return 3200;
|
||||
|
||||
if(item == ModItems.rod_quad_euphemium) return 5000;
|
||||
|
||||
if(item == ModItems.rod_waste) return 600;
|
||||
if(item == ModItems.rod_dual_waste) return 1200;
|
||||
if(item == ModItems.rod_quad_waste) return 4800;
|
||||
|
||||
if(item == Item.getItemFromBlock(ModBlocks.block_yellowcake)) return 1000;
|
||||
if(item == Item.getItemFromBlock(ModBlocks.mush)) return 10;
|
||||
if(item == ModItems.fallout) return 25;
|
||||
if(item == Item.getItemFromBlock(ModBlocks.block_fallout)) return 250;
|
||||
if(item == Item.getItemFromBlock(ModBlocks.waste_mycelium)) return 150;
|
||||
if(item == ModItems.scrap_nuclear)
|
||||
return 5;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int getFuelScaled(int i) {
|
||||
return (fuel * i) / maxFuel;
|
||||
}
|
||||
|
||||
public long getPowerScaled(long i) {
|
||||
return (power * i) / maxPower;
|
||||
}
|
||||
|
||||
public int getStrengthScaled(int i) {
|
||||
return (strength * i) / maxStrength;
|
||||
}
|
||||
private int getDurationFromItem(ItemStack stack) {
|
||||
Item item = stack.getItem();
|
||||
|
||||
@Override
|
||||
public void ffgeua(int x, int y, int z, boolean newTact) {
|
||||
if(item == ModItems.nuclear_waste_short)
|
||||
return 30 * 60 * 20;
|
||||
if(item == ModItems.nuclear_waste_long)
|
||||
return 2 * 60 * 60 * 20;
|
||||
|
||||
if(item == ModItems.nuclear_waste_short_tiny)
|
||||
return 3 * 60 * 20;
|
||||
if(item == ModItems.nuclear_waste_long_tiny)
|
||||
return 12 * 60 * 20;
|
||||
|
||||
if(item == ModItems.scrap_nuclear)
|
||||
return 5 * 60 * 20;
|
||||
|
||||
Library.ffgeua(x, y, z, newTact, this, worldObj);
|
||||
return 0;
|
||||
}
|
||||
|
||||
private ItemStack getOutputFromItem(ItemStack stack) {
|
||||
Item item = stack.getItem();
|
||||
|
||||
if(item == ModItems.nuclear_waste_short)
|
||||
return new ItemStack(ModItems.nuclear_waste_short_depleted, 1, stack.getItemDamage());
|
||||
if(item == ModItems.nuclear_waste_long)
|
||||
return new ItemStack(ModItems.nuclear_waste_long_depleted, 1, stack.getItemDamage());
|
||||
if(item == ModItems.nuclear_waste_short_tiny)
|
||||
return new ItemStack(ModItems.nuclear_waste_short_depleted_tiny, 1, stack.getItemDamage());
|
||||
if(item == ModItems.nuclear_waste_long_tiny)
|
||||
return new ItemStack(ModItems.nuclear_waste_long_depleted_tiny, 1, stack.getItemDamage());
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ffgeuaInit() {
|
||||
int i = this.worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord);
|
||||
|
||||
switch(i) {
|
||||
case 2:
|
||||
ffgeua(this.xCoord + 5, this.yCoord, this.zCoord, getTact()); break;
|
||||
case 3:
|
||||
ffgeua(this.xCoord - 5, this.yCoord, this.zCoord, getTact()); break;
|
||||
case 4:
|
||||
ffgeua(this.xCoord, this.yCoord, this.zCoord - 5, getTact()); break;
|
||||
case 5:
|
||||
ffgeua(this.xCoord, this.yCoord, this.zCoord + 5, getTact()); break;
|
||||
}
|
||||
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset);
|
||||
ffgeua(this.xCoord - dir.offsetX * 4, this.yCoord, this.zCoord - dir.offsetZ * 4, getTact());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ffgeua(int x, int y, int z, boolean newTact) {
|
||||
Library.ffgeua(x, y, z, newTact, this, worldObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getTact() {
|
||||
if (age >= 0 && age < 10) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getRenderBoundingBox() {
|
||||
return TileEntity.INFINITE_EXTENT_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public double getMaxRenderDistanceSquared()
|
||||
{
|
||||
return 65536.0D;
|
||||
return worldObj.getTotalWorldTime() % 20 < 10;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -458,4 +290,15 @@ public class TileEntityMachineRadGen extends TileEntity implements ISidedInvento
|
||||
public void clearList() {
|
||||
this.list.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getRenderBoundingBox() {
|
||||
return TileEntity.INFINITE_EXTENT_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public double getMaxRenderDistanceSquared() {
|
||||
return 65536.0D;
|
||||
}
|
||||
}
|
||||
|
||||
@ -105,10 +105,14 @@ public class TileEntityMachineShredder extends TileEntity implements ISidedInven
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int i, ItemStack stack) {
|
||||
if(i == 0)
|
||||
if(i < 9)
|
||||
return true;
|
||||
if(i == 2)
|
||||
if(stack.getItem() instanceof IBatteryItem || stack.getItem() instanceof ItemBlades)
|
||||
if(i == 29)
|
||||
if(stack.getItem() instanceof IBatteryItem)
|
||||
return true;
|
||||
|
||||
if(i == 27 || i == 28)
|
||||
if(stack.getItem() instanceof ItemBlades)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
@ -175,14 +179,35 @@ public class TileEntityMachineShredder extends TileEntity implements ISidedInven
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getAccessibleSlotsFromSide(int p_94128_1_)
|
||||
{
|
||||
return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side);
|
||||
}
|
||||
public int[] getAccessibleSlotsFromSide(int side) {
|
||||
return side == 0 ? slots_bottom : (side == 1 ? slots_top : slots_side);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInsertItem(int i, ItemStack itemStack, int j) {
|
||||
return this.isItemValidForSlot(i, itemStack);
|
||||
|
||||
if(j != 1)
|
||||
return this.isItemValidForSlot(i, itemStack);
|
||||
|
||||
if(i >= 9 || !this.isItemValidForSlot(i, itemStack))
|
||||
return false;
|
||||
|
||||
if(slots[i] == null)
|
||||
return true;
|
||||
|
||||
int size = slots[i].stackSize;
|
||||
|
||||
for(int k = 0; k < 9; k++) {
|
||||
if(slots[k] == null)
|
||||
return false;
|
||||
|
||||
if(slots[k].getItem() == itemStack.getItem() && slots[k].getItemDamage() == itemStack.getItemDamage() && slots[k].stackSize < size)
|
||||
return false;
|
||||
}
|
||||
|
||||
System.out.println("ass");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -35,15 +35,9 @@ public class Sellafield {
|
||||
int dep = (int)depthFunc(r, radius, depth);
|
||||
dig(world, x + a, z + b, dep);
|
||||
|
||||
if(r + rand.nextInt(3) <= radius / 6D) {
|
||||
place(world, x + a, z + b, 3, ModBlocks.sellafield_4);
|
||||
} else if(r - rand.nextInt(3) <= radius / 6D * 2D) {
|
||||
place(world, x + a, z + b, 3, ModBlocks.sellafield_3);
|
||||
} else if(r - rand.nextInt(3) <= radius / 6D * 3D) {
|
||||
place(world, x + a, z + b, 3, ModBlocks.sellafield_2);
|
||||
} else if(r - rand.nextInt(3) <= radius / 6D * 4D) {
|
||||
if(r + rand.nextInt(3) <= radius / 3D) {
|
||||
place(world, x + a, z + b, 3, ModBlocks.sellafield_1);
|
||||
} else if(r - rand.nextInt(3) <= radius / 6D * 5D) {
|
||||
} else if(r - rand.nextInt(3) <= radius / 3D * 2D) {
|
||||
place(world, x + a, z + b, 3, ModBlocks.sellafield_0);
|
||||
} else {
|
||||
place(world, x + a, z + b, 3, ModBlocks.sellafield_slaked);
|
||||
@ -51,8 +45,6 @@ public class Sellafield {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
placeCore(world, x, z, radius * 0.3D);
|
||||
}
|
||||
|
||||
private void dig(World world, int x, int z, int depth) {
|
||||
@ -74,17 +66,5 @@ public class Sellafield {
|
||||
world.setBlock(x, y - i, z, block);
|
||||
}
|
||||
|
||||
private void placeCore(World world, int x, int z, double rad) {
|
||||
|
||||
int y = world.getHeightValue(x, z) - 1;
|
||||
|
||||
world.setBlock(x, y, z, ModBlocks.sellafield_core);
|
||||
|
||||
try {
|
||||
|
||||
TileEntitySellafield te = (TileEntitySellafield) world.getTileEntity(x, y, z);
|
||||
te.radius = rad;
|
||||
|
||||
} catch(Exception ex) { }
|
||||
}
|
||||
private void placeCore(World world, int x, int z, double rad) { }
|
||||
}
|
||||
|
||||
@ -266,6 +266,7 @@ container.rbmkControlAuto=RBMK Automatische Steuerstäbe
|
||||
container.rbmkOutgasser=RBMK Bestrahlungskanal
|
||||
container.rbmkReaSim=RBMK Brennstäbe (ReaSim)
|
||||
container.rbmkRod=RBMK Brennstäbe
|
||||
container.rbmkStorage=RBMK Lagerteil
|
||||
container.reactor=Brutreaktor
|
||||
container.reactorControl=Reaktorfernsteuerung
|
||||
container.reactorLarge=Großer Atomreaktor
|
||||
@ -1624,6 +1625,7 @@ item.memespoon.name=§eLuftschlag
|
||||
item.memory.name=item.null.name
|
||||
item.mese_gavel.name=Mese-Richterhammer
|
||||
item.mese_pickaxe.name=Mesespitzhacke
|
||||
item.meteor_charm.name=Meteoritenamulett
|
||||
item.meteor_remote.name=Meteoritenkontroller
|
||||
item.meteorite_sword.name=Meteoritenschwert
|
||||
item.meteorite_sword_seared.name=Meteoritenschwert (Versengt)
|
||||
@ -2095,6 +2097,7 @@ item.primer_44.name=.44 Magnum-Zündhütchen (x24)
|
||||
item.primer_50.name=Großkaliber-Zündhütchen (x12)
|
||||
item.primer_9.name=Kleinkaliber-Zündhütchen (x32)
|
||||
item.primer_buckshot.name=Schrot-Zündhütchen (x12)
|
||||
item.protection_charm.name=Schutzamulett
|
||||
item.prototype_kit.name=Prototyp Kit
|
||||
item.pudding.name=Pudding
|
||||
item.quartz_plutonium.name=Plutonisches Quarz
|
||||
@ -2336,6 +2339,7 @@ item.schrabidium_plate.name=Schrabidiumbrustpanzer
|
||||
item.schrabidium_shovel.name=Schrabidiumschaufel
|
||||
item.schrabidium_sword.name=Schrabidiumschwert
|
||||
item.scrap.name=Schrott
|
||||
item.scrap_nuclear.name=Radioaktiver Schutt
|
||||
item.screwdriver.name=Schraubenzieher
|
||||
item.scrumpy.name=Flasche Scrumpy
|
||||
item.security_boots.name=Sicherheitsstiefel
|
||||
@ -3233,10 +3237,12 @@ tile.rail_highspeed.name=Hochgeschwindigkeitsschienen
|
||||
tile.rbmk_absorber.name=RBMK Bor-Neutronenabsorber
|
||||
tile.rbmk_blank.name=RBMK Strukturteil
|
||||
tile.rbmk_boiler.name=RBMK Dampfkanal
|
||||
tile.rbmk_cooler.name=RBMK Kühler
|
||||
tile.rbmk_console.name=RBMK Konsole
|
||||
tile.rbmk_control.name=RBMK Steuerstäbe
|
||||
tile.rbmk_control_auto.name=RBMK Automatische Steuerstäbe
|
||||
tile.rbmk_control_mod.name=RBMK Moderierte Steuerstäbe
|
||||
tile.rbmk_crane_console.name=RBMK Kransteuerung
|
||||
tile.rbmk_loader.name=RBMK-Dampfadapter
|
||||
tile.rbmk_moderator.name=RBMK Graphitmoderator
|
||||
tile.rbmk_outgasser.name=RBMK Bestrahlungskanal
|
||||
@ -3247,6 +3253,7 @@ tile.rbmk_rod_reasim.name=RBMK Brennstäbe (ReaSim)
|
||||
tile.rbmk_rod_reasim_mod.name=RBMK Moderierte Brennstäbe (ReaSim)
|
||||
tile.rbmk_steam_inlet.name=RBMK ReaSim Wassereinlass
|
||||
tile.rbmk_steam_outlet.name=RBMK ReaSim Dampfabnehmer
|
||||
tile.rbmk_storage.name=RBMK Lagerteil
|
||||
tile.reactor_computer.name=Reaktorsteuerung
|
||||
tile.reactor_conductor.name=Reaktorboiler
|
||||
tile.reactor_control.name=Steuerstäbe
|
||||
|
||||
@ -334,6 +334,7 @@ container.rbmkControlAuto=RBMK Automatic Control Rods
|
||||
container.rbmkOutgasser=RBMK Irradiation Channel
|
||||
container.rbmkReaSim=RBMK Fuel Rod (ReaSim)
|
||||
container.rbmkRod=RBMK Fuel Rod
|
||||
container.rbmkStorage=RBMK Storage Column
|
||||
container.reactor=Breeding Reactor
|
||||
container.reactorControl=Reactor Remote Control Block
|
||||
container.reactorLarge=Big Nuclear Reactor
|
||||
@ -1692,6 +1693,7 @@ item.memespoon.name=§eMarket Gardener
|
||||
item.memory.name=item.null.name
|
||||
item.mese_gavel.name=Mese Gavel
|
||||
item.mese_pickaxe.name=Mese Pickaxe
|
||||
item.meteor_charm.name=Meteor Charm
|
||||
item.meteor_remote.name=Meteorite Remote
|
||||
item.meteorite_sword.name=Meteorite Sword
|
||||
item.meteorite_sword_seared.name=Meteorite Sword (Seared)
|
||||
@ -2164,6 +2166,7 @@ item.primer_44.name=.44 Magnum Primer (x24)
|
||||
item.primer_50.name=Large Caliber Primer (x12)
|
||||
item.primer_9.name=Small Caliber Primer (x32)
|
||||
item.primer_buckshot.name=Buckshot Primer (x12)
|
||||
item.protection_charm.name=Charm of Protection
|
||||
item.prototype_kit.name=Prototype Kit
|
||||
item.pudding.name=Pudding
|
||||
item.quartz_plutonium.name=Plutonic Quartz
|
||||
@ -2403,6 +2406,7 @@ item.schrabidium_plate.name=Schrabidium Chestplate
|
||||
item.schrabidium_shovel.name=Schrabidium Shovel
|
||||
item.schrabidium_sword.name=Schrabidium Sword
|
||||
item.scrap.name=Scrap
|
||||
item.scrap_nuclear.name=Radioactive Scraps
|
||||
item.screwdriver.name=Screwdriver
|
||||
item.scrumpy.name=Bottle of Scrumpy
|
||||
item.security_boots.name=Security Boots
|
||||
@ -3301,9 +3305,11 @@ tile.rbmk_absorber.name=RBMK Boron Neutron Absorber
|
||||
tile.rbmk_blank.name=RBMK Structural Column
|
||||
tile.rbmk_boiler.name=RBMK Steam Channel
|
||||
tile.rbmk_console.name=RBMK Console
|
||||
tile.rbmk_cooler.name=RBMK Cooler
|
||||
tile.rbmk_control.name=RBMK Control Rods
|
||||
tile.rbmk_control_auto.name=RBMK Automatic Control Rods
|
||||
tile.rbmk_control_mod.name=RBMK Moderated Control Rods
|
||||
tile.rbmk_crane_console.name=RBMK Crane Console
|
||||
tile.rbmk_loader.name=RBMK Steam Connector
|
||||
tile.rbmk_moderator.name=RBMK Graphite Moderator
|
||||
tile.rbmk_outgasser.name=RBMK Irradiation Channel
|
||||
@ -3314,6 +3320,7 @@ tile.rbmk_rod_reasim.name=RBMK Fuel Rod (ReaSim)
|
||||
tile.rbmk_rod_reasim_mod.name=RBMK Moderated Fuel Rod (ReaSim)
|
||||
tile.rbmk_steam_inlet.name=RBMK ReaSim Water Inlet
|
||||
tile.rbmk_steam_outlet.name=RBMK ReaSim Steam Outlet
|
||||
tile.rbmk_storage.name=RBMK Storage Column
|
||||
tile.reactor_computer.name=Reactor Control
|
||||
tile.reactor_conductor.name=Reactor Boiler
|
||||
tile.reactor_control.name=Control Rods
|
||||
|
||||
7503
src/main/resources/assets/hbm/models/machines/radgen.obj
Normal file
@ -1,904 +0,0 @@
|
||||
# Blender v2.76 (sub 0) OBJ File: 'rad_gen_body.blend'
|
||||
# www.blender.org
|
||||
o Cube
|
||||
v 1.500000 0.000000 1.500000
|
||||
v -1.500000 0.000000 1.500000
|
||||
v -1.500000 0.000000 -2.500000
|
||||
v 1.500000 3.000000 -2.500000
|
||||
v 1.499999 3.000000 1.500000
|
||||
v -1.500000 3.000000 1.500000
|
||||
v -1.500000 3.000000 -2.500000
|
||||
v 1.500000 0.000000 -2.500000
|
||||
v 1.500000 1.500000 -2.500000
|
||||
v 1.500000 0.000000 -4.500000
|
||||
v -1.500000 0.000000 -4.500000
|
||||
v 1.500000 1.500000 -4.500000
|
||||
v -1.500000 1.500000 -4.500000
|
||||
v -1.500000 2.500000 -2.500000
|
||||
v -1.500000 2.500000 -4.500000
|
||||
v -1.000000 3.000000 -2.500000
|
||||
v -1.000000 3.000000 -4.500000
|
||||
v 0.000000 2.500000 -2.500000
|
||||
v 0.000000 2.500000 -4.500000
|
||||
v -0.500000 3.000000 -2.500000
|
||||
v -0.500000 3.000000 -4.500000
|
||||
v 0.000000 1.500000 -2.500000
|
||||
v 0.000000 1.500000 -4.500000
|
||||
v 0.156250 0.343750 -4.500000
|
||||
v -0.156250 0.343750 -4.500000
|
||||
v 0.156250 0.656250 -4.500000
|
||||
v -0.156250 0.656250 -4.500000
|
||||
v -0.375000 0.875000 -4.500000
|
||||
v 0.375000 0.875000 -4.500000
|
||||
v -0.375000 0.125000 -4.500000
|
||||
v 0.375000 0.125000 -4.500000
|
||||
v -0.375000 0.875000 -4.375000
|
||||
v 0.375000 0.875000 -4.375000
|
||||
v -0.375000 0.125000 -4.375000
|
||||
v 0.375000 0.125000 -4.375000
|
||||
v 0.156250 0.343750 -4.375000
|
||||
v -0.156250 0.343750 -4.375000
|
||||
v 0.156250 0.656250 -4.375000
|
||||
v -0.156250 0.656250 -4.375000
|
||||
v 0.750000 2.661612 -3.088388
|
||||
v 0.750000 2.750000 -3.125000
|
||||
v 1.000000 1.500000 -3.125000
|
||||
v 1.000000 2.500000 -3.125000
|
||||
v 1.088388 1.500000 -3.088388
|
||||
v 1.088388 2.500000 -3.088388
|
||||
v 1.125000 1.500000 -3.000000
|
||||
v 1.125000 2.500000 -3.000000
|
||||
v 1.088388 1.500000 -2.911612
|
||||
v 1.088388 2.500000 -2.911612
|
||||
v 1.000000 1.500000 -2.875000
|
||||
v 1.000000 2.500000 -2.875000
|
||||
v 0.911612 1.500000 -2.911612
|
||||
v 0.911612 2.500000 -2.911612
|
||||
v 0.875000 1.500000 -3.000000
|
||||
v 0.875000 2.500000 -3.000000
|
||||
v 0.911612 1.500000 -3.088388
|
||||
v 0.911612 2.500000 -3.088388
|
||||
v 0.750000 2.625000 -3.000000
|
||||
v 0.750000 2.661612 -2.911612
|
||||
v 0.750000 2.750000 -2.875000
|
||||
v 0.750000 2.838388 -2.911612
|
||||
v 0.750000 2.875000 -3.000000
|
||||
v 0.750000 2.838388 -3.088388
|
||||
v -0.400000 2.750000 -3.125000
|
||||
v -0.400000 2.838388 -3.088388
|
||||
v -0.400000 2.875000 -3.000000
|
||||
v -0.400000 2.838388 -2.911612
|
||||
v -0.400000 2.750000 -2.875000
|
||||
v -0.400000 2.661612 -2.911612
|
||||
v -0.400000 2.625000 -3.000000
|
||||
v -0.400000 2.661612 -3.088388
|
||||
v 0.750000 2.661612 -3.588388
|
||||
v 0.750000 2.750000 -3.625000
|
||||
v 1.000000 1.500000 -3.625000
|
||||
v 1.000000 2.500000 -3.625000
|
||||
v 1.088388 1.500000 -3.588388
|
||||
v 1.088388 2.500000 -3.588388
|
||||
v 1.125000 1.500000 -3.500000
|
||||
v 1.125000 2.500000 -3.500000
|
||||
v 1.088388 1.500000 -3.411612
|
||||
v 1.088388 2.500000 -3.411612
|
||||
v 1.000000 1.500000 -3.375000
|
||||
v 1.000000 2.500000 -3.375000
|
||||
v 0.911612 1.500000 -3.411612
|
||||
v 0.911612 2.500000 -3.411612
|
||||
v 0.875000 1.500000 -3.500000
|
||||
v 0.875000 2.500000 -3.500000
|
||||
v 0.911612 1.500000 -3.588388
|
||||
v 0.911612 2.500000 -3.588388
|
||||
v 0.750000 2.625000 -3.500000
|
||||
v 0.750000 2.661612 -3.411612
|
||||
v 0.750000 2.750000 -3.375000
|
||||
v 0.750000 2.838388 -3.411612
|
||||
v 0.750000 2.875000 -3.500000
|
||||
v 0.750000 2.838388 -3.588388
|
||||
v -0.400000 2.750000 -3.625000
|
||||
v -0.400000 2.838388 -3.588388
|
||||
v -0.400000 2.875000 -3.500000
|
||||
v -0.400000 2.838388 -3.411612
|
||||
v -0.400000 2.750000 -3.375000
|
||||
v -0.400000 2.661612 -3.411612
|
||||
v -0.400000 2.625000 -3.500000
|
||||
v -0.400000 2.661612 -3.588388
|
||||
v 0.750000 2.661612 -4.088388
|
||||
v 0.750000 2.750000 -4.125000
|
||||
v 1.000000 1.500000 -4.125000
|
||||
v 1.000000 2.500000 -4.125000
|
||||
v 1.088388 1.500000 -4.088388
|
||||
v 1.088388 2.500000 -4.088388
|
||||
v 1.125000 1.500000 -4.000000
|
||||
v 1.125000 2.500000 -4.000000
|
||||
v 1.088388 1.500000 -3.911612
|
||||
v 1.088388 2.500000 -3.911612
|
||||
v 1.000000 1.500000 -3.875000
|
||||
v 1.000000 2.500000 -3.875000
|
||||
v 0.911612 1.500000 -3.911612
|
||||
v 0.911612 2.500000 -3.911612
|
||||
v 0.875000 1.500000 -4.000000
|
||||
v 0.875000 2.500000 -4.000000
|
||||
v 0.911612 1.500000 -4.088388
|
||||
v 0.911612 2.500000 -4.088388
|
||||
v 0.750000 2.625000 -4.000000
|
||||
v 0.750000 2.661612 -3.911612
|
||||
v 0.750000 2.750000 -3.875000
|
||||
v 0.750000 2.838388 -3.911612
|
||||
v 0.750000 2.875000 -4.000000
|
||||
v 0.750000 2.838388 -4.088388
|
||||
v -0.400000 2.750000 -4.125000
|
||||
v -0.400000 2.838388 -4.088388
|
||||
v -0.400000 2.875000 -4.000000
|
||||
v -0.400000 2.838388 -3.911612
|
||||
v -0.400000 2.750000 -3.875000
|
||||
v -0.400000 2.661612 -3.911612
|
||||
v -0.400000 2.625000 -4.000000
|
||||
v -0.400000 2.661612 -4.088388
|
||||
v 1.500000 2.500000 -0.250000
|
||||
v 1.500000 0.500000 -0.250000
|
||||
v 1.500000 2.500000 -0.750000
|
||||
v 1.500000 0.500000 -0.750000
|
||||
v 1.500000 2.500000 0.750000
|
||||
v 1.500000 0.500000 0.750000
|
||||
v 1.500000 2.500000 0.250000
|
||||
v 1.500000 0.500000 0.250000
|
||||
v 1.500000 2.500000 -1.250000
|
||||
v 1.500000 0.500000 -1.250000
|
||||
v 1.500000 2.500000 -1.750000
|
||||
v 1.500000 0.500000 -1.750000
|
||||
v -1.500000 0.500000 -0.250000
|
||||
v -1.500000 2.500000 -0.250000
|
||||
v -1.500000 0.500000 -0.750000
|
||||
v -1.500000 2.500000 -0.750000
|
||||
v -1.500000 0.500000 0.750000
|
||||
v -1.500000 2.500000 0.750000
|
||||
v -1.500000 0.500000 0.250000
|
||||
v -1.500000 2.500000 0.250000
|
||||
v -1.500000 0.500000 -1.250000
|
||||
v -1.500000 2.500000 -1.250000
|
||||
v -1.500000 0.500000 -1.750000
|
||||
v -1.500000 2.500000 -1.750000
|
||||
v -1.250000 0.500000 -0.250000
|
||||
v -1.250000 2.500000 -0.250000
|
||||
v -1.250000 2.500000 -0.750000
|
||||
v -1.250000 0.500000 -0.750000
|
||||
v 1.250000 2.500000 -0.250000
|
||||
v 1.250000 0.500000 -0.250000
|
||||
v 1.250000 0.500000 -0.750000
|
||||
v 1.250000 2.500000 -0.750000
|
||||
v 1.250000 2.500000 0.750000
|
||||
v 1.250000 0.500000 0.750000
|
||||
v 1.250000 0.500000 0.250000
|
||||
v 1.250000 2.500000 0.250000
|
||||
v 1.250000 2.500000 -1.250000
|
||||
v 1.250000 0.500000 -1.250000
|
||||
v 1.250000 0.500000 -1.750000
|
||||
v 1.250000 2.500000 -1.750000
|
||||
v -1.250000 0.500000 0.750000
|
||||
v -1.250000 2.500000 0.750000
|
||||
v -1.250000 2.500000 0.250000
|
||||
v -1.250000 0.500000 0.250000
|
||||
v -1.250000 0.500000 -1.250000
|
||||
v -1.250000 2.500000 -1.250000
|
||||
v -1.250000 2.500000 -1.750000
|
||||
v -1.250000 0.500000 -1.750000
|
||||
v 0.000000 2.500000 1.500000
|
||||
v -0.382683 2.423880 1.500000
|
||||
v -0.707107 2.207107 1.500000
|
||||
v -0.923880 1.882683 1.500000
|
||||
v -1.000000 1.500000 1.500000
|
||||
v -0.923880 1.117316 1.500000
|
||||
v -0.707107 0.792893 1.500000
|
||||
v -0.382683 0.576120 1.500000
|
||||
v -0.000000 0.500000 1.500000
|
||||
v 0.382683 0.576120 1.500000
|
||||
v 0.707107 0.792893 1.500000
|
||||
v 0.923880 1.117316 1.500000
|
||||
v 1.000000 1.500000 1.500000
|
||||
v 0.923879 1.882684 1.500000
|
||||
v 0.707107 2.207107 1.500000
|
||||
v 0.382683 2.423880 1.500000
|
||||
v -0.382683 2.423880 1.000000
|
||||
v 0.000000 2.500000 1.000000
|
||||
v -0.707107 2.207107 1.000000
|
||||
v -0.923880 1.882683 1.000000
|
||||
v -1.000000 1.500000 1.000000
|
||||
v -0.923880 1.117316 1.000000
|
||||
v -0.707107 0.792893 1.000000
|
||||
v -0.382683 0.576120 1.000000
|
||||
v -0.000000 0.500000 1.000000
|
||||
v 0.382683 0.576120 1.000000
|
||||
v 0.707107 0.792893 1.000000
|
||||
v 0.923880 1.117316 1.000000
|
||||
v 1.000000 1.500000 1.000000
|
||||
v 0.923879 1.882684 1.000000
|
||||
v 0.707107 2.207107 1.000000
|
||||
v 0.382683 2.423880 1.000000
|
||||
v 0.000000 1.650000 1.000000
|
||||
v -0.106066 1.606066 1.000000
|
||||
v -0.150000 1.500000 1.000000
|
||||
v -0.106066 1.393934 1.000000
|
||||
v 0.000000 1.350000 1.000000
|
||||
v 0.106066 1.393934 1.000000
|
||||
v 0.150000 1.500000 1.000000
|
||||
v 0.106066 1.606066 1.000000
|
||||
v -0.106066 1.606066 1.500000
|
||||
v 0.000000 1.650000 1.500000
|
||||
v -0.150000 1.500000 1.500000
|
||||
v -0.106066 1.393934 1.500000
|
||||
v 0.000000 1.350000 1.500000
|
||||
v 0.106066 1.393934 1.500000
|
||||
v 0.150000 1.500000 1.500000
|
||||
v 0.106066 1.606066 1.500000
|
||||
vt 0.182692 0.230769
|
||||
vt 0.182692 0.269231
|
||||
vt 0.153846 0.269231
|
||||
vt 0.384615 0.461538
|
||||
vt 0.538462 0.461538
|
||||
vt 0.538462 0.538462
|
||||
vt 0.774038 0.538462
|
||||
vt 0.774038 0.576923
|
||||
vt 0.735577 0.576923
|
||||
vt 0.000000 0.384615
|
||||
vt 0.153846 0.384615
|
||||
vt 0.153846 0.500000
|
||||
vt 0.384615 0.682692
|
||||
vt 0.384615 0.629808
|
||||
vt 0.538462 0.629808
|
||||
vt 0.384615 0.591346
|
||||
vt 0.538462 0.591346
|
||||
vt 0.384615 0.538462
|
||||
vt 0.923077 0.461538
|
||||
vt 0.923077 0.576923
|
||||
vt 0.326923 0.192308
|
||||
vt 0.326923 0.038462
|
||||
vt 0.365385 0.038462
|
||||
vt 0.269231 0.653846
|
||||
vt 0.269231 0.576923
|
||||
vt 0.384615 0.653846
|
||||
vt 0.697115 0.576923
|
||||
vt 0.538462 0.576923
|
||||
vt 0.663462 0.543269
|
||||
vt 0.187500 0.355769
|
||||
vt 0.187500 0.379808
|
||||
vt 0.163462 0.379808
|
||||
vt 0.163462 0.336538
|
||||
vt 0.221154 0.336538
|
||||
vt 0.221154 0.346154
|
||||
vt 0.221154 0.278846
|
||||
vt 0.230769 0.278846
|
||||
vt 0.163462 0.278846
|
||||
vt 0.163462 0.269231
|
||||
vt 0.153846 0.336538
|
||||
vt 0.153846 0.379808
|
||||
vt 0.153846 0.355769
|
||||
vt 0.163462 0.355769
|
||||
vt 0.163462 0.346154
|
||||
vt 0.187500 0.346154
|
||||
vt 0.197115 0.355769
|
||||
vt 0.197115 0.379808
|
||||
vt 0.187500 0.389423
|
||||
vt 0.163462 0.389423
|
||||
vt 0.182692 0.317308
|
||||
vt 0.201923 0.317308
|
||||
vt 0.201923 0.298077
|
||||
vt 0.182692 0.298077
|
||||
vt 0.298077 0.528846
|
||||
vt 0.384615 0.576923
|
||||
vt 0.298077 0.471154
|
||||
vt 0.240385 0.471154
|
||||
vt 0.153846 0.461538
|
||||
vt 0.240385 0.528846
|
||||
vt 0.067308 0.769231
|
||||
vt 0.062500 0.769231
|
||||
vt 0.062500 0.692308
|
||||
vt 0.057692 0.769231
|
||||
vt 0.057692 0.692308
|
||||
vt 0.052885 0.769231
|
||||
vt 0.052885 0.692308
|
||||
vt 0.048077 0.769231
|
||||
vt 0.048077 0.692308
|
||||
vt 0.043269 0.769231
|
||||
vt 0.043269 0.692308
|
||||
vt 0.038462 0.769231
|
||||
vt 0.038462 0.692308
|
||||
vt 0.072115 0.769231
|
||||
vt 0.067308 0.692308
|
||||
vt 0.076923 0.769231
|
||||
vt 0.072115 0.692308
|
||||
vt 0.110577 0.730769
|
||||
vt 0.110577 0.692308
|
||||
vt 0.115385 0.692308
|
||||
vt 0.105769 0.730769
|
||||
vt 0.105769 0.692308
|
||||
vt 0.100962 0.730769
|
||||
vt 0.100962 0.692308
|
||||
vt 0.096154 0.730769
|
||||
vt 0.096154 0.692308
|
||||
vt 0.081731 0.730769
|
||||
vt 0.076923 0.730769
|
||||
vt 0.076923 0.692308
|
||||
vt 0.081731 0.692308
|
||||
vt 0.086538 0.692308
|
||||
vt 0.086538 0.730769
|
||||
vt 0.091346 0.692308
|
||||
vt 0.091346 0.730769
|
||||
vt 0.009615 0.692308
|
||||
vt 0.009615 0.778846
|
||||
vt 0.004808 0.778846
|
||||
vt 0.024038 0.692308
|
||||
vt 0.024038 0.778846
|
||||
vt 0.019231 0.778846
|
||||
vt 0.014423 0.692308
|
||||
vt 0.014423 0.778846
|
||||
vt 0.019231 0.692308
|
||||
vt 0.033654 0.692308
|
||||
vt 0.033654 0.778846
|
||||
vt 0.028846 0.778846
|
||||
vt 0.038462 0.778846
|
||||
vt 0.028846 0.692308
|
||||
vt 0.004808 0.692308
|
||||
vt -0.000000 0.778846
|
||||
vt 0.442308 0.038462
|
||||
vt 0.442308 0.192308
|
||||
vt 0.403846 0.192308
|
||||
vt 0.538462 0.115385
|
||||
vt 0.480769 0.192308
|
||||
vt 0.480769 0.038462
|
||||
vt 0.538462 0.230769
|
||||
vt 0.230769 0.000000
|
||||
vt 0.288462 0.038462
|
||||
vt 0.288462 0.192308
|
||||
vt 0.230769 0.230769
|
||||
vt 0.326923 0.423077
|
||||
vt 0.326923 0.269231
|
||||
vt 0.365385 0.269231
|
||||
vt 0.442308 0.269231
|
||||
vt 0.442308 0.423077
|
||||
vt 0.403846 0.423077
|
||||
vt 0.480769 0.423077
|
||||
vt 0.480769 0.269231
|
||||
vt 0.153846 0.692308
|
||||
vt -0.000000 0.692308
|
||||
vt 0.903846 0.403846
|
||||
vt 0.865385 0.403846
|
||||
vt 0.865385 0.250000
|
||||
vt 0.903846 0.250000
|
||||
vt 0.923077 0.250000
|
||||
vt 0.903846 0.423077
|
||||
vt 0.846154 0.403846
|
||||
vt 0.865385 0.230769
|
||||
vt 0.086538 0.187500
|
||||
vt 0.000000 0.230769
|
||||
vt 0.057692 0.168269
|
||||
vt 0.187500 0.144231
|
||||
vt 0.168269 0.168269
|
||||
vt 0.144231 0.043269
|
||||
vt 0.168269 0.062500
|
||||
vt 0.000000 0.000000
|
||||
vt 0.057692 0.062500
|
||||
vt 0.043269 0.086538
|
||||
vt 0.134615 0.254808
|
||||
vt 0.153846 0.307692
|
||||
vt 0.076923 0.384615
|
||||
vt 0.153846 0.230769
|
||||
vt 0.168269 0.389423
|
||||
vt 0.177885 0.403846
|
||||
vt 0.163462 0.413462
|
||||
vt 0.153846 0.451923
|
||||
vt 0.153846 0.413462
|
||||
vt 0.177885 0.413462
|
||||
vt 0.288462 0.423077
|
||||
vt 0.230769 0.461538
|
||||
vt 0.230769 0.423077
|
||||
vt 0.115385 0.192308
|
||||
vt 0.144231 0.187500
|
||||
vt 0.192308 0.115385
|
||||
vt 0.187500 0.086538
|
||||
vt 0.115385 0.038462
|
||||
vt 0.086538 0.043269
|
||||
vt 0.043269 0.144231
|
||||
vt 0.038462 0.115385
|
||||
vt 0.846154 0.000000
|
||||
vt 1.000000 0.230769
|
||||
vt 0.846154 0.230769
|
||||
vt 0.846154 0.384615
|
||||
vt 0.000000 0.500000
|
||||
vt 0.538462 0.682692
|
||||
vt 0.774038 0.461538
|
||||
vt 0.365385 0.192308
|
||||
vt 0.346154 0.692308
|
||||
vt 0.307692 0.692308
|
||||
vt 0.663462 0.461538
|
||||
vt 0.230769 0.336538
|
||||
vt 0.221154 0.269231
|
||||
vt 0.153846 0.278846
|
||||
vt 0.153846 0.576923
|
||||
vt 0.115385 0.730769
|
||||
vt 0.403846 0.038462
|
||||
vt 0.538462 0.000000
|
||||
vt 0.365385 0.423077
|
||||
vt 0.403846 0.269231
|
||||
vt 0.288462 0.269231
|
||||
vt 0.923077 0.403846
|
||||
vt 0.865385 0.423077
|
||||
vt 0.846154 0.250000
|
||||
vt 0.903846 0.230769
|
||||
vt 0.043269 0.379808
|
||||
vt 0.019231 0.360577
|
||||
vt 0.004808 0.336538
|
||||
vt 0.000000 0.307692
|
||||
vt 0.004808 0.274038
|
||||
vt 0.076923 0.230769
|
||||
vt 0.024038 0.250000
|
||||
vt 0.048077 0.235577
|
||||
vt 0.110577 0.235577
|
||||
vt 0.149038 0.278846
|
||||
vt 0.149038 0.341346
|
||||
vt 0.129808 0.365385
|
||||
vt 0.105769 0.379808
|
||||
vt 0.153846 0.399038
|
||||
vt 0.153846 0.389423
|
||||
vt 0.177885 0.389423
|
||||
vt 0.177885 0.451923
|
||||
vt 1.000000 0.000000
|
||||
vt 0.846154 0.423077
|
||||
vt 0.846154 0.461538
|
||||
vn 0.195100 -0.980800 0.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn -0.000000 0.000000 -1.000000
|
||||
vn -0.707100 0.707100 0.000000
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn 0.707100 0.707100 0.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
vn 0.382700 0.000000 -0.923900
|
||||
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.923900 0.000000 0.382700
|
||||
vn -0.382700 0.000000 -0.923900
|
||||
vn -0.923900 0.000000 -0.382700
|
||||
vn -0.678600 -0.678600 -0.281100
|
||||
vn -0.357400 -0.357400 -0.862900
|
||||
vn 0.357400 0.357400 -0.862900
|
||||
vn 0.678600 0.678600 -0.281100
|
||||
vn -0.678600 -0.678600 0.281100
|
||||
vn -0.357400 -0.357400 0.862900
|
||||
vn 0.357400 0.357400 0.862900
|
||||
vn 0.678600 0.678600 0.281100
|
||||
vn 0.000000 -0.382700 0.923900
|
||||
vn 0.000000 0.923900 -0.382700
|
||||
vn 0.000000 0.382700 0.923900
|
||||
vn 0.000000 0.923900 0.382700
|
||||
vn 0.000000 -0.382700 -0.923900
|
||||
vn 0.000000 -0.923900 -0.382700
|
||||
vn 0.000000 0.382700 -0.923900
|
||||
vn 0.000000 -0.923900 0.382700
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn -0.195100 -0.980800 0.000000
|
||||
vn -0.195100 0.980800 0.000000
|
||||
vn 0.555600 -0.831500 0.000000
|
||||
vn -0.555600 0.831500 0.000000
|
||||
vn 0.831500 -0.555600 0.000000
|
||||
vn -0.831500 0.555600 0.000000
|
||||
vn 0.980800 -0.195100 0.000000
|
||||
vn -0.980800 0.195100 0.000000
|
||||
vn 0.980800 0.195100 0.000000
|
||||
vn -0.980800 -0.195100 0.000000
|
||||
vn 0.831500 0.555600 0.000000
|
||||
vn -0.831500 -0.555600 0.000000
|
||||
vn 0.555600 0.831500 0.000000
|
||||
vn -0.555600 -0.831500 0.000000
|
||||
vn 0.195100 0.980800 0.000000
|
||||
vn -0.382700 0.923900 0.000000
|
||||
vn 0.382700 0.923900 0.000000
|
||||
vn 0.923900 -0.382700 0.000000
|
||||
vn -0.382700 -0.923900 0.000000
|
||||
vn -0.923900 0.382700 0.000000
|
||||
vn 0.923900 0.382700 0.000000
|
||||
vn 0.382700 -0.923900 0.000000
|
||||
vn -0.923900 -0.382700 0.000000
|
||||
s off
|
||||
f 185/1/1 200/2/1 201/3/1
|
||||
f 22/4/2 23/5/2 19/6/2
|
||||
f 14/7/3 7/8/3 16/9/3
|
||||
f 8/10/2 10/11/2 12/12/2
|
||||
f 14/13/4 16/14/4 17/15/4
|
||||
f 16/14/5 20/16/5 21/17/5
|
||||
f 21/17/6 20/16/6 18/18/6
|
||||
f 22/19/5 9/20/5 12/8/5
|
||||
f 142/21/2 143/22/2 137/23/2
|
||||
f 19/24/3 23/25/3 15/26/3
|
||||
f 20/27/3 4/28/3 18/29/3
|
||||
f 18/29/3 4/28/3 9/5/3
|
||||
f 25/30/3 27/31/3 26/32/3
|
||||
f 33/33/7 32/34/7 28/35/7
|
||||
f 32/34/2 34/36/2 30/37/2
|
||||
f 34/36/5 35/38/5 31/39/5
|
||||
f 35/38/8 33/33/8 29/40/8
|
||||
f 26/32/2 38/41/2 36/42/2
|
||||
f 24/43/7 36/44/7 37/45/7
|
||||
f 25/30/8 37/46/8 39/47/8
|
||||
f 27/31/5 39/48/5 38/49/5
|
||||
f 38/50/3 39/51/3 32/34/3
|
||||
f 39/51/3 37/52/3 34/36/3
|
||||
f 37/52/3 36/53/3 35/38/3
|
||||
f 36/53/3 38/50/3 33/33/3
|
||||
f 28/54/3 13/55/3 23/25/3
|
||||
f 11/4/3 30/56/3 31/57/3
|
||||
f 10/58/3 31/57/3 29/59/3
|
||||
f 28/54/3 30/56/3 11/4/3
|
||||
f 43/60/9 45/61/9 44/62/9
|
||||
f 45/61/10 47/63/10 46/64/10
|
||||
f 47/63/11 49/65/11 48/66/11
|
||||
f 49/65/12 51/67/12 50/68/12
|
||||
f 51/67/13 53/69/13 52/70/13
|
||||
f 53/69/14 55/71/14 54/72/14
|
||||
f 57/73/15 43/60/15 42/74/15
|
||||
f 55/75/16 57/73/16 56/76/16
|
||||
f 40/77/17 57/78/17 55/79/17
|
||||
f 40/77/18 41/80/18 43/81/18
|
||||
f 41/80/19 63/82/19 45/83/19
|
||||
f 62/84/20 47/85/20 45/83/20
|
||||
f 59/86/21 58/87/21 55/88/21
|
||||
f 59/86/22 53/89/22 51/90/22
|
||||
f 60/91/23 51/90/23 49/92/23
|
||||
f 61/93/24 49/92/24 47/85/24
|
||||
f 60/94/25 68/95/25 69/96/25
|
||||
f 75/60/9 77/61/9 76/62/9
|
||||
f 63/97/26 65/98/26 66/99/26
|
||||
f 61/100/27 67/101/27 68/95/27
|
||||
f 62/102/28 66/99/28 67/101/28
|
||||
f 40/103/29 71/104/29 64/105/29
|
||||
f 58/72/30 70/106/30 71/104/30
|
||||
f 41/107/31 64/105/31 65/98/31
|
||||
f 59/108/32 69/96/32 70/109/32
|
||||
f 77/61/10 79/63/10 78/64/10
|
||||
f 79/63/11 81/65/11 80/66/11
|
||||
f 81/65/12 83/67/12 82/68/12
|
||||
f 83/67/13 85/69/13 84/70/13
|
||||
f 85/69/14 87/71/14 86/72/14
|
||||
f 89/73/15 75/60/15 74/74/15
|
||||
f 87/75/16 89/73/16 88/76/16
|
||||
f 72/77/17 89/78/17 87/79/17
|
||||
f 72/77/18 73/80/18 75/81/18
|
||||
f 73/80/19 95/82/19 77/83/19
|
||||
f 94/84/20 79/85/20 77/83/20
|
||||
f 91/86/21 90/87/21 87/88/21
|
||||
f 91/86/22 85/89/22 83/90/22
|
||||
f 92/91/23 83/90/23 81/92/23
|
||||
f 93/93/24 81/92/24 79/85/24
|
||||
f 92/94/25 100/95/25 101/96/25
|
||||
f 95/97/26 97/98/26 98/99/26
|
||||
f 93/100/27 99/101/27 100/95/27
|
||||
f 94/102/28 98/99/28 99/101/28
|
||||
f 72/103/29 103/104/29 96/105/29
|
||||
f 90/72/30 102/106/30 103/104/30
|
||||
f 73/107/31 96/105/31 97/98/31
|
||||
f 91/108/32 101/96/32 102/109/32
|
||||
f 107/60/9 109/61/9 108/62/9
|
||||
f 109/61/10 111/63/10 110/64/10
|
||||
f 111/63/11 113/65/11 112/66/11
|
||||
f 113/65/12 115/67/12 114/68/12
|
||||
f 115/67/13 117/69/13 116/70/13
|
||||
f 117/69/14 119/71/14 118/72/14
|
||||
f 121/73/15 107/60/15 106/74/15
|
||||
f 119/75/16 121/73/16 120/76/16
|
||||
f 104/77/17 121/78/17 119/79/17
|
||||
f 104/77/18 105/80/18 107/81/18
|
||||
f 105/80/19 127/82/19 109/83/19
|
||||
f 126/84/20 111/85/20 109/83/20
|
||||
f 123/86/21 122/87/21 119/88/21
|
||||
f 123/86/22 117/89/22 115/90/22
|
||||
f 124/91/23 115/90/23 113/92/23
|
||||
f 125/93/24 113/92/24 111/85/24
|
||||
f 124/94/25 132/95/25 133/96/25
|
||||
f 127/97/26 129/98/26 130/99/26
|
||||
f 125/100/27 131/101/27 132/95/27
|
||||
f 126/102/28 130/99/28 131/101/28
|
||||
f 104/103/29 135/104/29 128/105/29
|
||||
f 122/72/30 134/106/30 135/104/30
|
||||
f 105/107/31 128/105/31 129/98/31
|
||||
f 123/108/32 133/96/32 134/109/32
|
||||
f 145/110/2 144/111/2 138/112/2
|
||||
f 9/113/2 146/114/2 147/115/2
|
||||
f 138/112/2 144/111/2 4/116/2
|
||||
f 137/23/2 143/22/2 1/117/2
|
||||
f 141/118/2 140/119/2 5/120/2
|
||||
f 157/121/8 156/122/8 150/123/8
|
||||
f 154/124/8 155/125/8 149/126/8
|
||||
f 153/127/8 152/128/8 2/116/8
|
||||
f 149/126/8 155/125/8 6/5/8
|
||||
f 3/12/8 14/129/8 15/130/8
|
||||
f 150/123/8 156/122/8 3/120/8
|
||||
f 161/131/8 162/132/8 163/133/8
|
||||
f 161/131/3 160/134/3 148/135/3
|
||||
f 162/132/7 161/131/7 149/136/7
|
||||
f 163/133/33 162/132/33 151/137/33
|
||||
f 160/134/5 163/133/5 150/138/5
|
||||
f 165/133/2 166/134/2 167/131/2
|
||||
f 165/133/3 164/132/3 136/137/3
|
||||
f 166/134/5 165/133/5 137/138/5
|
||||
f 167/131/33 166/134/33 139/135/33
|
||||
f 164/132/7 167/131/7 138/136/7
|
||||
f 169/133/2 170/134/2 171/131/2
|
||||
f 169/133/3 168/132/3 140/137/3
|
||||
f 170/134/5 169/133/5 141/138/5
|
||||
f 171/131/33 170/134/33 143/135/33
|
||||
f 168/132/7 171/131/7 142/136/7
|
||||
f 173/133/2 174/134/2 175/131/2
|
||||
f 173/133/3 172/132/3 144/137/3
|
||||
f 174/134/5 173/133/5 145/138/5
|
||||
f 175/131/33 174/134/33 147/135/33
|
||||
f 172/132/7 175/131/7 146/136/7
|
||||
f 177/131/8 178/132/8 179/133/8
|
||||
f 177/131/3 176/134/3 152/135/3
|
||||
f 178/132/7 177/131/7 153/136/7
|
||||
f 179/133/33 178/132/33 155/137/33
|
||||
f 176/134/5 179/133/5 154/138/5
|
||||
f 181/131/8 182/132/8 183/133/8
|
||||
f 181/131/3 180/134/3 156/135/3
|
||||
f 182/132/7 181/131/7 157/136/7
|
||||
f 183/133/33 182/132/33 159/137/33
|
||||
f 180/134/5 183/133/5 158/138/5
|
||||
f 185/139/33 6/140/33 186/141/33
|
||||
f 197/142/33 5/120/33 198/143/33
|
||||
f 193/144/33 1/117/33 194/145/33
|
||||
f 2/146/33 190/147/33 189/148/33
|
||||
f 210/149/33 212/150/33 201/151/33
|
||||
f 184/1/34 201/2/34 215/3/34
|
||||
f 193/1/35 209/2/35 208/3/35
|
||||
f 185/152/36 186/1/36 202/2/36
|
||||
f 194/1/37 210/2/37 209/3/37
|
||||
f 187/1/38 203/2/38 202/3/38
|
||||
f 195/1/39 211/2/39 210/3/39
|
||||
f 188/1/40 204/2/40 203/3/40
|
||||
f 196/1/41 212/2/41 211/3/41
|
||||
f 189/1/42 205/2/42 204/3/42
|
||||
f 197/1/43 213/2/43 212/3/43
|
||||
f 190/1/44 206/2/44 205/3/44
|
||||
f 198/1/45 214/2/45 213/3/45
|
||||
f 191/1/46 207/2/46 206/3/46
|
||||
f 199/1/47 215/2/47 214/3/47
|
||||
f 192/1/48 208/2/48 207/3/48
|
||||
f 228/153/33 230/154/33 225/155/33
|
||||
f 217/156/49 224/157/49 225/158/49
|
||||
f 216/156/50 225/157/50 231/158/50
|
||||
f 222/156/51 230/157/51 229/158/51
|
||||
f 220/156/52 228/157/52 227/158/52
|
||||
f 218/156/53 226/157/53 224/158/53
|
||||
f 223/156/54 231/157/54 230/158/54
|
||||
f 221/156/55 229/157/55 228/158/55
|
||||
f 219/156/56 227/157/56 226/158/56
|
||||
f 159/159/8 7/160/8 14/161/8
|
||||
f 184/162/33 6/140/33 185/139/33
|
||||
f 5/120/33 6/140/33 184/162/33
|
||||
f 198/143/33 5/120/33 199/163/33
|
||||
f 199/163/33 5/120/33 184/162/33
|
||||
f 196/164/33 5/120/33 197/142/33
|
||||
f 1/117/33 5/120/33 196/164/33
|
||||
f 194/145/33 1/117/33 195/165/33
|
||||
f 195/165/33 1/117/33 196/164/33
|
||||
f 192/166/33 1/117/33 193/144/33
|
||||
f 2/146/33 1/117/33 192/166/33
|
||||
f 190/147/33 2/146/33 191/167/33
|
||||
f 191/167/33 2/146/33 192/166/33
|
||||
f 186/141/33 6/140/33 187/168/33
|
||||
f 187/168/33 6/140/33 188/169/33
|
||||
f 2/146/33 189/148/33 188/169/33
|
||||
f 6/140/33 2/146/33 188/169/33
|
||||
f 3/170/7 10/171/7 8/172/7
|
||||
f 20/173/5 6/5/5 5/116/5
|
||||
f 184/152/1 185/1/1 201/3/1
|
||||
f 18/18/2 22/4/2 19/6/2
|
||||
f 9/174/2 8/10/2 12/12/2
|
||||
f 15/175/4 14/13/4 17/15/4
|
||||
f 17/15/5 16/14/5 21/17/5
|
||||
f 19/6/6 21/17/6 18/18/6
|
||||
f 23/176/5 22/19/5 12/8/5
|
||||
f 136/177/2 142/21/2 137/23/2
|
||||
f 15/26/3 17/178/3 21/179/3
|
||||
f 21/179/3 19/24/3 15/26/3
|
||||
f 23/25/3 13/55/3 15/26/3
|
||||
f 22/180/3 18/29/3 9/5/3
|
||||
f 24/43/3 25/30/3 26/32/3
|
||||
f 29/44/7 33/33/7 28/35/7
|
||||
f 28/181/2 32/34/2 30/37/2
|
||||
f 30/182/5 34/36/5 31/39/5
|
||||
f 31/183/8 35/38/8 29/40/8
|
||||
f 24/43/2 26/32/2 36/42/2
|
||||
f 25/30/7 24/43/7 37/45/7
|
||||
f 27/31/8 25/30/8 39/47/8
|
||||
f 26/32/5 27/31/5 38/49/5
|
||||
f 33/33/3 38/50/3 32/34/3
|
||||
f 32/34/3 39/51/3 34/36/3
|
||||
f 34/36/3 37/52/3 35/38/3
|
||||
f 35/38/3 36/53/3 33/33/3
|
||||
f 23/25/3 12/184/3 29/59/3
|
||||
f 29/59/3 28/54/3 23/25/3
|
||||
f 10/58/3 11/4/3 31/57/3
|
||||
f 12/184/3 10/58/3 29/59/3
|
||||
f 13/55/3 28/54/3 11/4/3
|
||||
f 42/74/9 43/60/9 44/62/9
|
||||
f 44/62/10 45/61/10 46/64/10
|
||||
f 46/64/11 47/63/11 48/66/11
|
||||
f 48/66/12 49/65/12 50/68/12
|
||||
f 50/68/13 51/67/13 52/70/13
|
||||
f 52/70/14 53/69/14 54/72/14
|
||||
f 56/76/15 57/73/15 42/74/15
|
||||
f 54/88/16 55/75/16 56/76/16
|
||||
f 58/185/17 40/77/17 55/79/17
|
||||
f 57/78/18 40/77/18 43/81/18
|
||||
f 43/81/19 41/80/19 45/83/19
|
||||
f 63/82/20 62/84/20 45/83/20
|
||||
f 53/89/21 59/86/21 55/88/21
|
||||
f 60/91/22 59/86/22 51/90/22
|
||||
f 61/93/23 60/91/23 49/92/23
|
||||
f 62/84/24 61/93/24 47/85/24
|
||||
f 59/108/25 60/94/25 69/96/25
|
||||
f 74/74/9 75/60/9 76/62/9
|
||||
f 62/102/26 63/97/26 66/99/26
|
||||
f 60/94/27 61/100/27 68/95/27
|
||||
f 61/100/28 62/102/28 67/101/28
|
||||
f 41/107/29 40/103/29 64/105/29
|
||||
f 40/103/30 58/72/30 71/104/30
|
||||
f 63/97/31 41/107/31 65/98/31
|
||||
f 58/130/32 59/108/32 70/109/32
|
||||
f 76/62/10 77/61/10 78/64/10
|
||||
f 78/64/11 79/63/11 80/66/11
|
||||
f 80/66/12 81/65/12 82/68/12
|
||||
f 82/68/13 83/67/13 84/70/13
|
||||
f 84/70/14 85/69/14 86/72/14
|
||||
f 88/76/15 89/73/15 74/74/15
|
||||
f 86/88/16 87/75/16 88/76/16
|
||||
f 90/185/17 72/77/17 87/79/17
|
||||
f 89/78/18 72/77/18 75/81/18
|
||||
f 75/81/19 73/80/19 77/83/19
|
||||
f 95/82/20 94/84/20 77/83/20
|
||||
f 85/89/21 91/86/21 87/88/21
|
||||
f 92/91/22 91/86/22 83/90/22
|
||||
f 93/93/23 92/91/23 81/92/23
|
||||
f 94/84/24 93/93/24 79/85/24
|
||||
f 91/108/25 92/94/25 101/96/25
|
||||
f 94/102/26 95/97/26 98/99/26
|
||||
f 92/94/27 93/100/27 100/95/27
|
||||
f 93/100/28 94/102/28 99/101/28
|
||||
f 73/107/29 72/103/29 96/105/29
|
||||
f 72/103/30 90/72/30 103/104/30
|
||||
f 95/97/31 73/107/31 97/98/31
|
||||
f 90/130/32 91/108/32 102/109/32
|
||||
f 106/74/9 107/60/9 108/62/9
|
||||
f 108/62/10 109/61/10 110/64/10
|
||||
f 110/64/11 111/63/11 112/66/11
|
||||
f 112/66/12 113/65/12 114/68/12
|
||||
f 114/68/13 115/67/13 116/70/13
|
||||
f 116/70/14 117/69/14 118/72/14
|
||||
f 120/76/15 121/73/15 106/74/15
|
||||
f 118/88/16 119/75/16 120/76/16
|
||||
f 122/185/17 104/77/17 119/79/17
|
||||
f 121/78/18 104/77/18 107/81/18
|
||||
f 107/81/19 105/80/19 109/83/19
|
||||
f 127/82/20 126/84/20 109/83/20
|
||||
f 117/89/21 123/86/21 119/88/21
|
||||
f 124/91/22 123/86/22 115/90/22
|
||||
f 125/93/23 124/91/23 113/92/23
|
||||
f 126/84/24 125/93/24 111/85/24
|
||||
f 123/108/25 124/94/25 133/96/25
|
||||
f 126/102/26 127/97/26 130/99/26
|
||||
f 124/94/27 125/100/27 132/95/27
|
||||
f 125/100/28 126/102/28 131/101/28
|
||||
f 105/107/29 104/103/29 128/105/29
|
||||
f 104/103/30 122/72/30 135/104/30
|
||||
f 127/97/31 105/107/31 129/98/31
|
||||
f 122/130/32 123/108/32 134/109/32
|
||||
f 139/186/2 145/110/2 138/112/2
|
||||
f 147/115/2 8/187/2 9/113/2
|
||||
f 9/113/2 4/116/2 146/114/2
|
||||
f 4/116/2 5/120/2 138/112/2
|
||||
f 142/21/2 136/177/2 5/120/2
|
||||
f 5/120/2 140/119/2 142/21/2
|
||||
f 144/111/2 146/114/2 4/116/2
|
||||
f 136/177/2 138/112/2 5/120/2
|
||||
f 1/117/2 8/187/2 139/186/2
|
||||
f 147/115/2 145/110/2 8/187/2
|
||||
f 139/186/2 137/23/2 1/117/2
|
||||
f 143/22/2 141/118/2 1/117/2
|
||||
f 8/187/2 145/110/2 139/186/2
|
||||
f 1/117/2 141/118/2 5/120/2
|
||||
f 151/188/8 157/121/8 150/123/8
|
||||
f 148/189/8 154/124/8 149/126/8
|
||||
f 6/5/8 153/127/8 2/116/8
|
||||
f 6/5/8 7/160/8 151/188/8
|
||||
f 159/159/8 157/121/8 7/160/8
|
||||
f 151/188/8 149/126/8 6/5/8
|
||||
f 155/125/8 153/127/8 6/5/8
|
||||
f 7/160/8 157/121/8 151/188/8
|
||||
f 11/174/8 3/12/8 15/130/8
|
||||
f 3/120/8 2/116/8 148/189/8
|
||||
f 152/128/8 154/124/8 2/116/8
|
||||
f 148/189/8 150/123/8 3/120/8
|
||||
f 156/122/8 158/190/8 3/120/8
|
||||
f 2/116/8 154/124/8 148/189/8
|
||||
f 160/134/8 161/131/8 163/133/8
|
||||
f 149/191/3 161/131/3 148/135/3
|
||||
f 151/192/7 162/132/7 149/136/7
|
||||
f 150/193/33 163/133/33 151/137/33
|
||||
f 148/194/5 160/134/5 150/138/5
|
||||
f 164/132/2 165/133/2 167/131/2
|
||||
f 137/193/3 165/133/3 136/137/3
|
||||
f 139/194/5 166/134/5 137/138/5
|
||||
f 138/191/33 167/131/33 139/135/33
|
||||
f 136/192/7 164/132/7 138/136/7
|
||||
f 168/132/2 169/133/2 171/131/2
|
||||
f 141/193/3 169/133/3 140/137/3
|
||||
f 143/194/5 170/134/5 141/138/5
|
||||
f 142/191/33 171/131/33 143/135/33
|
||||
f 140/192/7 168/132/7 142/136/7
|
||||
f 172/132/2 173/133/2 175/131/2
|
||||
f 145/193/3 173/133/3 144/137/3
|
||||
f 147/194/5 174/134/5 145/138/5
|
||||
f 146/191/33 175/131/33 147/135/33
|
||||
f 144/192/7 172/132/7 146/136/7
|
||||
f 176/134/8 177/131/8 179/133/8
|
||||
f 153/191/3 177/131/3 152/135/3
|
||||
f 155/192/7 178/132/7 153/136/7
|
||||
f 154/193/33 179/133/33 155/137/33
|
||||
f 152/194/5 176/134/5 154/138/5
|
||||
f 180/134/8 181/131/8 183/133/8
|
||||
f 157/191/3 181/131/3 156/135/3
|
||||
f 159/192/7 182/132/7 157/136/7
|
||||
f 158/193/33 183/133/33 159/137/33
|
||||
f 156/194/5 180/134/5 158/138/5
|
||||
f 201/151/33 200/195/33 202/196/33
|
||||
f 202/196/33 203/197/33 201/151/33
|
||||
f 204/198/33 205/199/33 208/200/33
|
||||
f 206/201/33 207/202/33 208/200/33
|
||||
f 208/200/33 209/203/33 210/149/33
|
||||
f 210/149/33 211/204/33 212/150/33
|
||||
f 212/150/33 213/205/33 214/206/33
|
||||
f 214/206/33 215/207/33 212/150/33
|
||||
f 201/151/33 203/197/33 204/198/33
|
||||
f 205/199/33 206/201/33 208/200/33
|
||||
f 208/200/33 210/149/33 201/151/33
|
||||
f 212/150/33 215/207/33 201/151/33
|
||||
f 201/151/33 204/198/33 208/200/33
|
||||
f 199/152/34 184/1/34 215/3/34
|
||||
f 192/152/35 193/1/35 208/3/35
|
||||
f 200/3/36 185/152/36 202/2/36
|
||||
f 193/152/37 194/1/37 209/3/37
|
||||
f 186/152/38 187/1/38 202/3/38
|
||||
f 194/152/39 195/1/39 210/3/39
|
||||
f 187/152/40 188/1/40 203/3/40
|
||||
f 195/152/41 196/1/41 211/3/41
|
||||
f 188/152/42 189/1/42 204/3/42
|
||||
f 196/152/43 197/1/43 212/3/43
|
||||
f 189/152/44 190/1/44 205/3/44
|
||||
f 197/152/45 198/1/45 213/3/45
|
||||
f 190/152/46 191/1/46 206/3/46
|
||||
f 198/152/47 199/1/47 214/3/47
|
||||
f 191/152/48 192/1/48 207/3/48
|
||||
f 225/155/33 224/157/33 226/208/33
|
||||
f 226/208/33 227/209/33 228/153/33
|
||||
f 228/153/33 229/210/33 230/154/33
|
||||
f 230/154/33 231/158/33 225/155/33
|
||||
f 225/155/33 226/208/33 228/153/33
|
||||
f 216/211/49 217/156/49 225/158/49
|
||||
f 223/211/50 216/156/50 231/158/50
|
||||
f 221/211/51 222/156/51 229/158/51
|
||||
f 219/211/52 220/156/52 227/158/52
|
||||
f 217/211/53 218/156/53 224/158/53
|
||||
f 222/211/54 223/156/54 230/158/54
|
||||
f 220/211/55 221/156/55 228/158/55
|
||||
f 218/211/56 219/156/56 226/158/56
|
||||
f 14/161/8 3/120/8 158/190/8
|
||||
f 158/190/8 159/159/8 14/161/8
|
||||
f 8/172/7 1/116/7 3/170/7
|
||||
f 3/170/7 11/212/7 10/171/7
|
||||
f 1/116/7 2/187/7 3/170/7
|
||||
f 5/116/5 4/172/5 20/173/5
|
||||
f 20/173/5 16/213/5 6/5/5
|
||||
f 7/214/5 6/5/5 16/213/5
|
||||
@ -1,220 +0,0 @@
|
||||
# Blender v2.76 (sub 0) OBJ File: 'rad_gen_rotor.blend'
|
||||
# www.blender.org
|
||||
o Plane.021
|
||||
v -0.046985 -0.081380 1.434202
|
||||
v 0.046985 0.081380 1.365798
|
||||
v -0.913010 0.418620 1.434202
|
||||
v -0.819041 0.581380 1.365798
|
||||
v -0.066446 -0.066446 1.434202
|
||||
v 0.066446 0.066446 1.365798
|
||||
v -0.773553 0.640660 1.434202
|
||||
v -0.640661 0.773553 1.365798
|
||||
v -0.090767 -0.024321 1.434202
|
||||
v 0.090767 0.024321 1.365798
|
||||
v -0.349586 0.941605 1.434202
|
||||
v -0.168052 0.990247 1.365798
|
||||
v -0.081380 -0.046985 1.434202
|
||||
v 0.081380 0.046985 1.365798
|
||||
v -0.581380 0.819041 1.434202
|
||||
v -0.418620 0.913010 1.365798
|
||||
v -0.000000 -0.093969 1.434202
|
||||
v 0.000000 0.093969 1.365798
|
||||
v -1.000000 -0.093969 1.434202
|
||||
v -1.000000 0.093970 1.365798
|
||||
v -0.024321 -0.090767 1.434202
|
||||
v 0.024321 0.090767 1.365798
|
||||
v -0.990247 0.168052 1.434202
|
||||
v -0.941605 0.349586 1.365798
|
||||
v 0.024321 -0.090767 1.434202
|
||||
v -0.024321 0.090767 1.365798
|
||||
v -0.941605 -0.349587 1.434202
|
||||
v -0.990247 -0.168052 1.365798
|
||||
v 0.046985 -0.081380 1.434202
|
||||
v -0.046985 0.081380 1.365798
|
||||
v -0.819041 -0.581380 1.434202
|
||||
v -0.913010 -0.418620 1.365798
|
||||
v 0.046985 0.081380 1.434202
|
||||
v -0.046985 -0.081380 1.365798
|
||||
v 0.913010 -0.418620 1.434202
|
||||
v 0.819041 -0.581380 1.365798
|
||||
v 0.066446 0.066446 1.434202
|
||||
v -0.066446 -0.066446 1.365798
|
||||
v 0.773553 -0.640660 1.434202
|
||||
v 0.640661 -0.773553 1.365798
|
||||
v 0.090767 0.024321 1.434202
|
||||
v -0.090767 -0.024321 1.365798
|
||||
v 0.349586 -0.941605 1.434202
|
||||
v 0.168052 -0.990247 1.365798
|
||||
v 0.081380 0.046985 1.434202
|
||||
v -0.081380 -0.046985 1.365798
|
||||
v 0.581380 -0.819041 1.434202
|
||||
v 0.418620 -0.913010 1.365798
|
||||
v 0.081380 -0.046985 1.434202
|
||||
v -0.081380 0.046985 1.365798
|
||||
v -0.418620 -0.913010 1.434202
|
||||
v -0.581380 -0.819041 1.365798
|
||||
v 0.066446 -0.066446 1.434202
|
||||
v -0.066446 0.066446 1.365798
|
||||
v -0.640661 -0.773553 1.434202
|
||||
v -0.773553 -0.640660 1.365798
|
||||
v 0.090767 -0.024321 1.434202
|
||||
v -0.090767 0.024321 1.365798
|
||||
v -0.168052 -0.990247 1.434202
|
||||
v -0.349586 -0.941605 1.365798
|
||||
v 0.093969 0.000000 1.434202
|
||||
v -0.093969 -0.000000 1.365798
|
||||
v 0.093969 -1.000000 1.434202
|
||||
v -0.093969 -1.000000 1.365798
|
||||
v -0.046985 0.081380 1.434202
|
||||
v 0.046985 -0.081380 1.365798
|
||||
v 0.819041 0.581380 1.434202
|
||||
v 0.913010 0.418620 1.365798
|
||||
v -0.024321 0.090767 1.434202
|
||||
v 0.024321 -0.090767 1.365798
|
||||
v 0.941605 0.349586 1.434202
|
||||
v 0.990247 0.168052 1.365798
|
||||
v 0.024321 0.090767 1.434202
|
||||
v -0.024321 -0.090767 1.365798
|
||||
v 0.990247 -0.168052 1.434202
|
||||
v 0.941605 -0.349587 1.365798
|
||||
v -0.000000 0.093969 1.434202
|
||||
v -0.000000 -0.093969 1.365798
|
||||
v 1.000000 0.093969 1.434202
|
||||
v 1.000000 -0.093969 1.365798
|
||||
v -0.081380 0.046985 1.434202
|
||||
v 0.081380 -0.046985 1.365798
|
||||
v 0.418620 0.913010 1.434202
|
||||
v 0.581380 0.819041 1.365798
|
||||
v -0.066446 0.066446 1.434202
|
||||
v 0.066446 -0.066446 1.365798
|
||||
v 0.640661 0.773553 1.434202
|
||||
v 0.773553 0.640660 1.365798
|
||||
v -0.090767 0.024321 1.434202
|
||||
v 0.090767 -0.024321 1.365798
|
||||
v 0.168052 0.990247 1.434202
|
||||
v 0.349586 0.941605 1.365798
|
||||
v -0.093969 -0.000000 1.434202
|
||||
v 0.093969 -0.000000 1.365798
|
||||
v -0.093969 1.000000 1.434202
|
||||
v 0.093969 1.000000 1.365798
|
||||
vt 0.999999 0.250000
|
||||
vt 0.999999 0.666666
|
||||
vt 0.916666 0.666666
|
||||
vt 0.000000 0.083334
|
||||
vt 0.416666 0.083333
|
||||
vt 0.416666 0.166667
|
||||
vt 0.000000 0.833334
|
||||
vt 0.416666 0.833334
|
||||
vt 0.416666 0.916667
|
||||
vt 0.416666 0.750000
|
||||
vt 0.833332 0.750000
|
||||
vt 0.416666 0.583334
|
||||
vt 0.416666 0.666667
|
||||
vt 0.000000 0.666667
|
||||
vt 0.416666 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.916666 0.500000
|
||||
vt 0.916666 0.583333
|
||||
vt 0.500000 0.583333
|
||||
vt 0.000000 0.750000
|
||||
vt 0.416666 0.250000
|
||||
vt 0.499999 0.250000
|
||||
vt 0.000000 0.250000
|
||||
vt 0.000000 0.166667
|
||||
vt 0.833333 0.166667
|
||||
vt 0.916666 0.333334
|
||||
vt 0.500000 0.333334
|
||||
vt 0.416666 0.416667
|
||||
vt 0.000000 0.416667
|
||||
vt 0.000000 0.333334
|
||||
vt 0.000000 0.583334
|
||||
vt 0.000000 0.500000
|
||||
vt 0.833333 0.083333
|
||||
vt 0.416666 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.916666 0.416667
|
||||
vt 0.500000 0.416667
|
||||
vt 0.416666 0.333333
|
||||
vt 0.833332 0.833334
|
||||
vt 0.833332 0.916667
|
||||
vt 0.833332 0.250000
|
||||
vt 0.833332 0.666667
|
||||
vt 0.416666 0.500000
|
||||
vt 0.916666 0.250000
|
||||
vt 0.000000 0.916667
|
||||
vt 0.500000 0.500000
|
||||
vt 0.500000 0.666667
|
||||
vt 0.833333 0.000000
|
||||
vn 0.171000 0.296200 0.939700
|
||||
vn 0.241800 0.241800 0.939700
|
||||
vn 0.330400 0.088500 0.939700
|
||||
vn 0.296200 0.171000 0.939700
|
||||
vn 0.000000 0.342000 0.939700
|
||||
vn 0.088500 0.330400 0.939700
|
||||
vn -0.088500 0.330400 0.939700
|
||||
vn -0.171000 0.296200 0.939700
|
||||
vn -0.171000 -0.296200 0.939700
|
||||
vn -0.241800 -0.241800 0.939700
|
||||
vn -0.330400 -0.088500 0.939700
|
||||
vn -0.296200 -0.171000 0.939700
|
||||
vn -0.296200 0.171000 0.939700
|
||||
vn -0.241800 0.241800 0.939700
|
||||
vn -0.330400 0.088500 0.939700
|
||||
vn -0.342000 -0.000000 0.939700
|
||||
vn 0.171000 -0.296200 0.939700
|
||||
vn 0.088500 -0.330400 0.939700
|
||||
vn -0.088500 -0.330400 0.939700
|
||||
vn 0.000000 -0.342000 0.939700
|
||||
vn 0.296200 -0.171000 0.939700
|
||||
vn 0.241800 -0.241800 0.939700
|
||||
vn 0.330400 -0.088500 0.939700
|
||||
vn 0.342000 0.000000 0.939700
|
||||
s off
|
||||
f 2/1/1 4/2/1 3/3/1
|
||||
f 6/4/2 8/5/2 7/6/2
|
||||
f 10/7/3 12/8/3 11/9/3
|
||||
f 13/8/4 14/10/4 16/11/4
|
||||
f 17/12/5 18/13/5 20/14/5
|
||||
f 21/9/6 22/15/6 24/16/6
|
||||
f 25/17/7 26/18/7 28/19/7
|
||||
f 30/10/8 32/20/8 31/14/8
|
||||
f 34/13/9 36/21/9 35/22/9
|
||||
f 38/21/10 40/23/10 39/24/10
|
||||
f 42/25/11 44/6/11 43/5/11
|
||||
f 46/26/12 48/27/12 47/22/12
|
||||
f 50/28/13 52/29/13 51/30/13
|
||||
f 54/12/14 56/31/14 55/32/14
|
||||
f 58/33/15 60/5/15 59/34/15
|
||||
f 62/5/16 64/4/16 63/35/16
|
||||
f 66/27/17 68/26/17 67/36/17
|
||||
f 70/37/18 72/36/18 71/17/18
|
||||
f 74/20/19 76/10/19 75/8/19
|
||||
f 78/23/20 80/21/20 79/38/20
|
||||
f 82/8/21 84/39/21 83/40/21
|
||||
f 86/6/22 88/25/22 87/41/22
|
||||
f 90/13/23 92/42/23 91/11/23
|
||||
f 94/29/24 96/28/24 95/43/24
|
||||
f 1/44/1 2/1/1 3/3/1
|
||||
f 5/24/2 6/4/2 7/6/2
|
||||
f 9/45/3 10/7/3 11/9/3
|
||||
f 15/39/4 13/8/4 16/11/4
|
||||
f 19/31/5 17/12/5 20/14/5
|
||||
f 23/45/6 21/9/6 24/16/6
|
||||
f 27/46/7 25/17/7 28/19/7
|
||||
f 29/13/8 30/10/8 31/14/8
|
||||
f 33/47/9 34/13/9 35/22/9
|
||||
f 37/6/10 38/21/10 39/24/10
|
||||
f 41/33/11 42/25/11 43/5/11
|
||||
f 45/44/12 46/26/12 47/22/12
|
||||
f 49/38/13 50/28/13 51/30/13
|
||||
f 53/43/14 54/12/14 55/32/14
|
||||
f 57/48/15 58/33/15 59/34/15
|
||||
f 61/34/16 62/5/16 63/35/16
|
||||
f 65/37/17 66/27/17 67/36/17
|
||||
f 69/46/18 70/37/18 71/17/18
|
||||
f 73/7/19 74/20/19 75/8/19
|
||||
f 77/30/20 78/23/20 79/38/20
|
||||
f 81/9/21 82/8/21 83/40/21
|
||||
f 85/21/22 86/6/22 87/41/22
|
||||
f 89/10/23 90/13/23 91/11/23
|
||||
f 93/32/24 94/29/24 95/43/24
|
||||
|
Before Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 353 B After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 320 B After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 406 B After Width: | Height: | Size: 993 B |
|
Before Width: | Height: | Size: 340 B After Width: | Height: | Size: 981 B |
|
Before Width: | Height: | Size: 400 B After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 299 B After Width: | Height: | Size: 1.1 KiB |
BIN
src/main/resources/assets/hbm/textures/items/scrap_nuclear.png
Normal file
|
After Width: | Height: | Size: 628 B |
|
Before Width: | Height: | Size: 316 B After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 370 B After Width: | Height: | Size: 823 B |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 1.5 KiB |
@ -3,7 +3,7 @@
|
||||
"modid": "hbm",
|
||||
"name": "Hbm's Nuclear Tech",
|
||||
"description": "A mod that adds weapons, nuclear themed stuff and machines",
|
||||
"version":"1.0.27_X4018",
|
||||
"version":"1.0.27_X4025",
|
||||
"mcversion": "1.7.10",
|
||||
"url": "",
|
||||
"updateUrl": "",
|
||||
|
||||