reworked the RadGen, updated swords, fixed hopper IO

This commit is contained in:
Bob 2021-10-17 22:03:25 +02:00
parent ba7a3084ba
commit c0fee87503
42 changed files with 8122 additions and 2064 deletions

View File

@ -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);
}
}

View File

@ -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));

View File

@ -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;
}
}
}

View File

@ -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);
}
}

View File

@ -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));

View File

@ -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());

View File

@ -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

View File

@ -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.");

View File

@ -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
}
}

View File

@ -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++){

View File

@ -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

View File

@ -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

View File

@ -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 });
}
}

View File

@ -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");

View File

@ -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);
}

View File

@ -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() {

View File

@ -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:

View File

@ -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();
}
}

View File

@ -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);
}

View File

@ -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;
}
}

View File

@ -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

View File

@ -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) { }
}

View File

@ -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

View File

@ -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

File diff suppressed because it is too large Load Diff

View 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

View File

@ -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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 353 B

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 320 B

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 B

After

Width:  |  Height:  |  Size: 993 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 340 B

After

Width:  |  Height:  |  Size: 981 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 400 B

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 299 B

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 316 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 370 B

After

Width:  |  Height:  |  Size: 823 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -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": "",